element( "MetadataURL", ResponseUtils.proxifyMetadataLink(link, request.getBaseUrl()),
element("Operation", "Query"); .getOps() .contains(WFSInfo.Operation.TRANSACTION_INSERT))) { element("Operation", "Insert"); .getOps() .contains(WFSInfo.Operation.TRANSACTION_UPDATE))) { element("Operation", "Update"); .getOps() .contains(WFSInfo.Operation.TRANSACTION_DELETE))) { element("Operation", "Delete"); element("Operation", "Lock");
element("Name", featureType.getPrefixedName()); element("Title", featureType.getTitle()); element("Abstract", featureType.getAbstract()); keywords(featureType.getKeywords()); element("DefaultCRS", srs); } else { element("DefaultSRS", srs); if (!otherSRS.equals(srs)) { if (crs) { element("OtherCRS", otherSRS); } else { element("OtherSRS", otherSRS); element("ows:LowerCorner", bbox.getMinX() + " " + bbox.getMinY()); element("ows:UpperCorner", bbox.getMaxX() + " " + bbox.getMaxY());
start("ows:ServiceProvider"); element("ows:ProviderName", contact.getContactOrganization()); start("ows:ServiceContact"); element("ows:IndividualName", contact.getContactPerson()); element("ows:PositionName", contact.getContactPosition()); element("ows:Voice", contact.getContactVoice()); element("ows:Facsimile", contact.getContactFacsimile()); end("ows:Phone"); element("ows:DeliveryPoint", contact.getAddressDeliveryPoint()); element("ows:City", contact.getAddressCity()); element("ows:AdministrativeArea", contact.getAddressState()); element("ows:PostalCode", contact.getAddressPostalCode()); element("ows:Country", contact.getAddressCountry()); element("ows:ElectronicMailAddress", contact.getContactEmail());
element("ogc:GeometryOperand", "gml:Envelope"); element("ogc:GeometryOperand", "gml:Point"); element("ogc:GeometryOperand", "gml:LineString"); element("ogc:GeometryOperand", "gml:Polygon"); end("ogc:GeometryOperands"); element("ogc:SpatialOperator", null, attributes(new String[] {"name", "Disjoint"})); element("ogc:SpatialOperator", null, attributes(new String[] {"name", "Equals"})); element("ogc:SpatialOperator", null, attributes(new String[] {"name", "DWithin"})); element("ogc:SpatialOperator", null, attributes(new String[] {"name", "Beyond"})); element( "ogc:SpatialOperator", null, attributes(new String[] {"name", "Intersects"})); element("ogc:SpatialOperator", null, attributes(new String[] {"name", "Touches"})); element("ogc:SpatialOperator", null, attributes(new String[] {"name", "Crosses"})); element("ogc:SpatialOperator", null, attributes(new String[] {"name", "Within"})); element("ogc:SpatialOperator", null, attributes(new String[] {"name", "Contains"})); element("ogc:SpatialOperator", null, attributes(new String[] {"name", "Overlaps"})); element("ogc:SpatialOperator", null, attributes(new String[] {"name", "BBOX"})); end("ogc:SpatialOperators"); element("ogc:LogicalOperators", null); element("ogc:ComparisonOperator", "LessThan"); element("ogc:ComparisonOperator", "GreaterThan"); element("ogc:ComparisonOperator", "LessThanEqualTo"); element("ogc:ComparisonOperator", "GreaterThanEqualTo"); element("ogc:ComparisonOperator", "EqualTo");
/** * Encodes the ows:Keywords element. * * <p> * * <pre> * <complexType name="KeywordsType"> * <annotation> * <documentation>Unordered list of one or more commonly used or formalised word(s) or phrase(s) used to describe the subject. When needed, the optional "type" can name the type of the associated list of keywords that shall all have the same type. Also when needed, the codeSpace attribute of that "type" can reference the type name authority and/or thesaurus. </documentation> * <documentation>For OWS use, the optional thesaurusName element was omitted as being complex information that could be referenced by the codeSpace attribute of the Type element. </documentation> * </annotation> * <sequence> * <element name="Keyword" type="string" maxOccurs="unbounded"/> * <element name="Type" type="ows:CodeType" minOccurs="0"/> * </sequence> * </complexType> * </pre> * * @param keywords */ protected void keywords(KeywordInfo[] keywords) { if ((keywords == null) || (keywords.length == 0)) { return; } start("ows:Keywords"); for (int i = 0; i < keywords.length; i++) { element("ows:Keyword", keywords[i].getValue()); } end("ows:Keywords"); }
protected void serviceIdentification(String version) { start("ows:ServiceIdentification"); element("ows:Title", wfs.getTitle()); element("ows:Abstract", wfs.getAbstract()); keywords(wfs.getKeywords()); element("ows:ServiceType", "WFS"); element("ows:ServiceTypeVersion", version); // advertise eventual profiles that might be implemented (only since OWS 1.1, thus // WFS 2.0) Version gtVersion = new Version(version); if (gtVersion.compareTo(new Version("2")) >= 0) { LinkedHashSet<String> profiles = new LinkedHashSet<>(); for (WFSExtendedCapabilitiesProvider provider : extCapsProviders) { List<String> providerProfiles = provider.getProfiles(gtVersion); profiles.addAll(providerProfiles); } for (String profile : profiles) { element("ows:Profile", profile); } } element("ows:Fees", wfs.getFees()); element("ows:AccessConstraints", wfs.getAccessConstraints()); end("ows:ServiceIdentification"); }
/** * Encodes the wfs:SupportsGMLObjectTypeList element. * * <p> * * <pre> * <xsd:complexType name="GMLObjectTypeListType"> * <xsd:sequence> * <xsd:element name="GMLObjectType" type="wfs:GMLObjectTypeType" * maxOccurs="unbounded"> * <xsd:annotation> * <xsd:documentation> * Name of this GML object type, including any namespace prefix * </xsd:documentation> * </xsd:annotation> * </xsd:element> * </xsd:sequence> * </xsd:complexType> * </pre> */ protected void supportsGMLObjectTypeList() { element("SupportsGMLObjectTypeList", null); }
protected void domainType(String elementName, DomainType domainType) { start(elementName, attributes(new String[] {"name", domainType.getName()})); if (domainType.getDefaultValue() != null) { element("ows:Value", domainType.getDefaultValue()); } if (!domainType.getAllowedValues().isEmpty()) { for (String v : domainType.getAllowedValues()) { element("ows:Value", v); } } end(elementName); } }
protected void functions() { start("ogc:Functions"); Set<FunctionName> functions = getAvailableFunctionNames(); if (!functions.isEmpty()) { start("ogc:FunctionNames"); for (FunctionName fe : functions) { element( "ogc:FunctionName", fe.getName(), attributes(new String[] {"nArgs", "" + fe.getArgumentCount()})); } end("ogc:FunctionNames"); } end("ogc:Functions"); }
protected void dcp(String serviceURL, boolean get, boolean post) { start("ows:DCP"); start("ows:HTTP"); if (get) { element("ows:Get", null, attributes(new String[] {"xlink:href", serviceURL})); } if (post) { element("ows:Post", null, attributes(new String[] {"xlink:href", serviceURL})); } end("ows:HTTP"); end("ows:DCP"); }