/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2012, Open Source Geospatial Foundation (OSGeo)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotools.csw;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.Map;
import javax.xml.namespace.QName;
import net.opengis.cat.csw20.Csw20Factory;
import net.opengis.cat.csw20.ElementSetType;
import net.opengis.cat.csw20.ResultType;
import org.geotools.csw.bindings.ElementSetNameTypeBinding;
import org.geotools.csw.bindings.RecordBinding;
import org.geotools.csw.bindings.TypeNameListTypeBinding;
import org.geotools.filter.v1_1.OGCConfiguration;
import org.geotools.ows.OWSConfiguration;
import org.geotools.xml.ComplexEMFBinding;
import org.geotools.xml.Configuration;
import org.geotools.xml.EnumSimpleBinding;
import org.geotools.xml.SimpleContentComplexEMFBinding;
import org.picocontainer.MutablePicoContainer;
/**
* Parser configuration for the http://www.opengis.net/cat/csw/2.0.2 schema.
*
* @author Andrea Aime - GeoSolutions
*/
public class CSWConfiguration extends Configuration {
/**
* Creates a new configuration.
*
* @generated
*/
public CSWConfiguration() {
super(CSW.getInstance());
// add dependencies on OWS 1.0 and Filter 1.1
addDependency(new OWSConfiguration());
addDependency(new OGCConfiguration());
addDependency(new DCTConfiguration());
}
/**
* Registers the bindings for the configuration.
*
* @generated
*/
protected void registerBindings(Map bindings) {
// generated code, see the main method
bindings.put(CSW.AbstractQueryType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.AbstractQueryType));
bindings.put(CSW.AbstractRecordType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.AbstractRecordType));
bindings.put(CSW.AcknowledgementType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.AcknowledgementType));
bindings.put(CSW.BriefRecordType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.BriefRecordType));
bindings.put(CSW.CapabilitiesType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.CapabilitiesType));
bindings.put(CSW.ConceptualSchemeType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.ConceptualSchemeType));
bindings.put(CSW.DCMIRecordType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.DCMIRecordType));
bindings.put(CSW.DeleteType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.DeleteType));
bindings.put(CSW.DescribeRecordResponseType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.DescribeRecordResponseType));
bindings.put(CSW.DescribeRecordType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.DescribeRecordType));
bindings.put(CSW.DistributedSearchType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.DistributedSearchType));
bindings.put(CSW.DomainValuesType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.DomainValuesType));
bindings.put(CSW.EchoedRequestType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.EchoedRequestType));
bindings.put(CSW.ElementSetNameType, new ElementSetNameTypeBinding());
bindings.put(CSW.ElementSetType, new EnumSimpleBinding(ElementSetType.class, CSW.ElementSetType));
bindings.put(CSW.EmptyType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.EmptyType));
bindings.put(CSW.GetCapabilitiesType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetCapabilitiesType));
bindings.put(CSW.GetDomainResponseType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetDomainResponseType));
bindings.put(CSW.GetDomainType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetDomainType));
bindings.put(CSW.GetRecordByIdResponseType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetRecordByIdResponseType));
bindings.put(CSW.GetRecordByIdType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetRecordByIdType));
bindings.put(CSW.GetRecordsResponseType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetRecordsResponseType));
bindings.put(CSW.GetRecordsType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetRecordsType));
bindings.put(CSW.HarvestResponseType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.HarvestResponseType));
bindings.put(CSW.HarvestType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.HarvestType));
bindings.put(CSW.InsertResultType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.InsertResultType));
bindings.put(CSW.InsertType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.InsertType));
bindings.put(CSW.ListOfValuesType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.ListOfValuesType));
bindings.put(CSW.QueryConstraintType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.QueryConstraintType));
bindings.put(CSW.QueryType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.QueryType));
bindings.put(CSW.RangeOfValuesType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.RangeOfValuesType));
bindings.put(CSW.RecordPropertyType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.RecordPropertyType));
bindings.put(CSW.RecordType, new RecordBinding());
bindings.put(CSW.RequestBaseType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.RequestBaseType));
bindings.put(CSW.RequestStatusType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.RequestStatusType));
bindings.put(CSW.ResultType, new EnumSimpleBinding(ResultType.class, CSW.ResultType));
bindings.put(CSW.SchemaComponentType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.SchemaComponentType));
bindings.put(CSW.SearchResultsType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.SearchResultsType));
bindings.put(CSW.SummaryRecordType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.SummaryRecordType));
bindings.put(CSW.TransactionResponseType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.TransactionResponseType));
bindings.put(CSW.TransactionSummaryType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.TransactionSummaryType));
bindings.put(CSW.TransactionType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.TransactionType));
bindings.put(CSW.TypeNameListType, new TypeNameListTypeBinding());
/**
bindings.put(CSW.UpdateType, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.UpdateType));
bindings.put(CSW.AbstractQuery, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.AbstractQuery));
bindings.put(CSW.AbstractRecord, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.AbstractRecord));
bindings.put(CSW.Acknowledgement, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.Acknowledgement));
bindings.put(CSW.BriefRecord, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.BriefRecord));
bindings.put(CSW.Capabilities, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.Capabilities));
bindings.put(CSW.Constraint, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.Constraint));
bindings.put(CSW.DCMIRecord, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.DCMIRecord));
bindings.put(CSW.DescribeRecord, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.DescribeRecord));
bindings.put(CSW.DescribeRecordResponse, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.DescribeRecordResponse));
bindings.put(CSW.ElementSetName, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.ElementSetName));
bindings.put(CSW.GetCapabilities, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetCapabilities));
bindings.put(CSW.GetDomain, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetDomain));
bindings.put(CSW.GetDomainResponse, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetDomainResponse));
bindings.put(CSW.GetRecordById, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetRecordById));
bindings.put(CSW.GetRecordByIdResponse, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetRecordByIdResponse));
bindings.put(CSW.GetRecords, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetRecords));
bindings.put(CSW.GetRecordsResponse, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.GetRecordsResponse));
bindings.put(CSW.Harvest, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.Harvest));
bindings.put(CSW.HarvestResponse, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.HarvestResponse));
bindings.put(CSW.Query, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.Query));
bindings.put(CSW.Record, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.Record));
bindings.put(CSW.RecordProperty, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.RecordProperty));
bindings.put(CSW.SummaryRecord, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.SummaryRecord));
bindings.put(CSW.Transaction, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.Transaction));
bindings.put(CSW.TransactionResponse, new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW.TransactionResponse));
**/
}
protected void configureContext(MutablePicoContainer container) {
container.registerComponentInstance(Csw20Factory.eINSTANCE);
}
/**
* Generates the bindings registrations for this class
* @param args
*/
public static void main(String[] args) {
for(Field f : CSW.class.getFields()) {
if((f.getModifiers() & (Modifier.STATIC | Modifier.FINAL)) != 0 && f.getType().equals(QName.class)) {
System.out.println("bindings.put(CSW." + f.getName() + ", new ComplexEMFBinding(Csw20Factory.eINSTANCE, CSW." + f.getName() + "));");
}
}
}
}