void exportOperationsMetadata() throws XMLStreamException { List<Operation> operations = new LinkedList<Operation>(); List<DCP> dcps = null; try { DCP dcp = new DCP( new URL( OGCFrontController.getHttpGetURL() ), null ); dcps = Collections.singletonList( dcp ); } catch ( MalformedURLException e ) { // should never happen } List<Domain> params = new ArrayList<Domain>(); List<Domain> constraints = new ArrayList<Domain>(); constraints.add( new Domain( "GetEncoding", Collections.singletonList( "KVP" ) ) ); List<OMElement> mdEls = new ArrayList<OMElement>(); operations.add( new Operation( "GetCapabilities", dcps, params, constraints, mdEls ) ); operations.add( new Operation( "GetTile", dcps, params, constraints, mdEls ) ); operations.add( new Operation( "GetFeatureInfo", dcps, params, constraints, mdEls ) ); OperationsMetadata operationsMd = new OperationsMetadata( operations, params, constraints, null ); exportOperationsMetadata110( writer, operationsMd ); }
if ( domain.getName() != null ) { writer.writeAttribute( "name", domain.getName() ); PossibleValues values = domain.getPossibleValues(); if ( values instanceof AllowedValues ) { writer.writeStartElement( OWS110_NS, "AllowedValues" ); if ( domain.getDefaultValue() != null ) { writer.writeStartElement( OWS110_NS, "DefaultValue" ); writer.writeCharacters( domain.getDefaultValue() ); writer.writeEndElement(); if ( domain.getMeaning() != null ) { writer.writeStartElement( OWS110_NS, "Meaning" ); if ( domain.getMeaning().getRef() != null ) { writer.writeAttribute( OWS110_NS, "reference", domain.getMeaning().getRef() ); writer.writeCharacters( domain.getMeaning().getString() ); writer.writeEndElement(); if ( domain.getDataType() != null ) { writer.writeStartElement( OWS110_NS, "DataType" ); if ( domain.getDataType().getRef() != null ) { writer.writeAttribute( OWS110_NS, "reference", domain.getDataType().getRef() ); writer.writeCharacters( domain.getDataType().getString() ); writer.writeEndElement(); if ( domain.getValuesUnitUom() != null ) {
public static void exportDomainType100( XMLStreamWriter writer, Domain domain ) throws XMLStreamException { if ( domain.getName() != null ) { writer.writeAttribute( "name", domain.getName() ); PossibleValues values = domain.getPossibleValues(); if ( values instanceof AllowedValues ) { for ( Values value : ( (AllowedValues) values ).getValues() ) { if ( domain.getDefaultValue() != null ) { writer.writeStartElement( OWS110_NS, "DefaultValue" ); writer.writeCharacters( domain.getDefaultValue() ); writer.writeEndElement(); if ( domain.getMetadata() != null ) { for ( OMElement metadataEl : domain.getMetadata() ) { copy( writer, metadataEl.getXMLStreamReader() );
for ( Pair<URL, List<Domain>> pe : dcp.getPostEndpoints() ) { for ( Domain d : pe.second ) { if ( "PostEncoding".equals( d.getName() ) ) { PossibleValues pv = d.getPossibleValues(); if ( pv instanceof AllowedValues ) { AllowedValues av = (AllowedValues) pv;
params.add( new Domain( "AcceptVersions", offeredVersionStrings ) ); params.add( new Domain( "AcceptFormats", Collections.singletonList( "text/xml" ) ) ); List<String> sections = new ArrayList<String>(); sections.add( "ServiceIdentification" ); sections.add( "FeatureTypeList" ); sections.add( "Filter_Capabilities" ); params.add( new Domain( "Sections", sections ) ); constraints.add( new Domain( "AutomaticDataLocking", "TRUE" ) ); constraints.add( new Domain( "PreservesSiblingOrder", "TRUE" ) ); if ( supportedEncodings.isEncodingSupported( Transaction, "POST" ) ) operations.add( new Operation( Transaction.name(), post, null, constraints, null ) ); globalParams.add( new Domain( "version", offeredVersionStrings ) ); globalParams.add( new Domain( "srsName", srsNames ) ); globalParams.add( new Domain( "outputFormat", new ArrayList<String>( master.getOutputFormats() ) ) ); resolve.add( "remote" ); resolve.add( "all" ); globalParams.add( new Domain( "resolve", resolve ) ); constraints.add( new Domain( "ImplementsSimpleWFS", "TRUE" ) ); constraints.add( new Domain( "ImplementsBasicWFS", "TRUE" ) ); if ( enableTransactions ) { constraints.add( new Domain( "ImplementsTransactionalWFS", "TRUE" ) ); constraints.add( new Domain( "ImplementsLockingWFS", "TRUE" ) );
params.add( new Domain( "outputFormat", outputFormats ) ); addOperation( DescribeFeatureType, params, getAndPost, post, get, operations ); params.add( new Domain( "AcceptVersions", offeredVersionStrings ) ); params.add( new Domain( "AcceptFormats", Collections.singletonList( "text/xml" ) ) ); params.add( new Domain( "resultType", Arrays.asList( new String[] { "results", "hits" } ) ) ); params.add( new Domain( "outputFormat", outputFormats ) ); addOperation( GetFeature, params, getAndPost, post, get, operations ); params.add( new Domain( "resultType", Arrays.asList( new String[] { "results", "hits" } ) ) ); params.add( new Domain( "outputFormat", outputFormats ) ); addOperation( GetFeatureWithLock, params, getAndPost, post, get, operations ); params.add( new Domain( "outputFormat", outputFormats ) ); addOperation( GetGmlObject, params, getAndPost, post, get, operations ); params.add( new Domain( "lockAction", Arrays.asList( new String[] { "ALL", "SOME" } ) ) ); addOperation( LockFeature, params, getAndPost, post, get, operations ); params.add( new Domain( "inputFormat", outputFormats ) ); params.add( new Domain( "idgen", Arrays.asList( new String[] { "GenerateNew", "UseExisting", "ReplaceDuplicate" } ) ) ); params.add( new Domain( "releaseAction", Arrays.asList( new String[] { "ALL", "SOME" } ) ) ); addOperation( Transaction, params, getAndPost, post, get, operations );
@Override protected Domain parseDomain( OMElement domainEl ) { // <attribute name="name" type="string" use="required"> String name = getNodeAsString( domainEl, new XPath( "@name", nsContext ), null ); // <element name="Value" type="string" maxOccurs="unbounded"> String[] valuesArray = getNodesAsStrings( domainEl, new XPath( "ows:Value", nsContext ) ); List<Values> values = new ArrayList<Values>( valuesArray.length ); for ( String value : valuesArray ) { values.add( new Value( value ) ); } PossibleValues possibleValues = new AllowedValues( values ); // <element ref="ows:Metadata" minOccurs="0" maxOccurs="unbounded"> List<OMElement> metadataEls = getElements( domainEl, new XPath( "ows:Metadata", nsContext ) ); return new Domain( name, possibleValues, null, null, null, null, null, metadataEls ); }
return new Domain( name, possibleValues, defaultValue, meaning, dataType, valuesUnitUom, valuesUnitRefSys, metadataEls );