/** * Copyright (C) 2012-2017 52°North Initiative for Geospatial Open Source * Software GmbH * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published * by the Free Software Foundation. * * If the program is linked with libraries which are licensed under one of * the following licenses, the combination of the program with the linked * library is not considered a "derivative work" of the program: * * - Apache License, version 2.0 * - Apache Software License, version 1.0 * - GNU Lesser General Public License, version 3 * - Mozilla Public License, versions 1.0, 1.1 and 2.0 * - Common Development and Distribution License (CDDL), version 1.0 * * Therefore the distribution of the program linked with libraries licensed * under the aforementioned licenses, is permitted by the copyright holders * if the distribution is compliant with both the GNU General Public * License version 2 and the aforementioned licenses. * * This program 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 General * Public License for more details. */ package org.n52.sos.binding.rest; import java.net.URI; import java.util.Collections; import java.util.Set; import org.n52.sos.config.SettingDefinition; import org.n52.sos.config.SettingDefinitionGroup; import org.n52.sos.config.SettingDefinitionProvider; import org.n52.sos.config.settings.IntegerSettingDefinition; import org.n52.sos.config.settings.StringSettingDefinition; import org.n52.sos.config.settings.UriSettingDefinition; import com.google.common.collect.ImmutableSet; /** * @author <a href="mailto:e.h.juerrens@52north.org">Eike Hinderk Jürrens</a> * */ public class RestSettings implements SettingDefinitionProvider { private static final SettingDefinitionGroup SETTINGS_GROUP = new SettingDefinitionGroup(). setTitle("RESTful Binding"). setDescription("Configuration for the RESTful binding"). setOrder(4.2f); public static final String REST_CONFORMANCE_CLASS = "rest.conformanceClass"; public static final String REST_CONTENT_TYPE_DEFAULT = "rest.contentType.default"; public static final String REST_CONTENT_TYPE_UNDEFINED = "rest.contentType.undefined"; public static final String REST_BINDING_END_POINT_RESOURCE = "rest.bindingEndPointResource"; public static final String REST_EPSG_CODE_DEFAULT = "rest.epsgcode.default"; public static final String REST_URL_ENCODING = "rest.urlEncoding"; public static final String REST_ENCODING_NAMESPACE = "rest.encodingNamspace"; public static final String REST_ENCODING_PREFIX = "rest.encodingPrefix"; public static final String REST_ERROR_MSG_BAD_GET_REQUEST = "rest.errorMsg.badGetRequest"; public static final String REST_ERROR_MSG_BAD_GET_REQUEST_BY_ID = "rest.errorMsg.badGetRequest.byId"; public static final String REST_ERROR_MSG_BAD_GET_REQUEST_GLOBAL_RESOURCE = "rest.errorMsg.badGetRequest.globalResource"; public static final String REST_ERROR_MSG_BAD_GET_REQUEST_NO_VALID_KVP_PARAMETER = "rest.errorMsg.badGetRequest.noValidKvpParameter"; public static final String REST_ERROR_MSG_BAD_GET_REQUEST_SEARCH = "rest.errorMsg.badGetRequest.search"; public static final String REST_ERROR_MSG_HTTP_METHOD_NOT_ALLOWED_FOR_RESOURCE = "rest.errorMsg.HttpMethodNotAllowedForResource"; public static final String REST_ERROR_MSG_WRONG_CONTENT_TYPE = "rest.errorMsg.wrongContentType"; public static final String REST_ERROR_MSG_WRONG_CONTENT_TYPE_IN_ACCEPT_HEADER = "rest.errorMSg.wrongContentType.inAcceptHeader"; public static final String REST_HTTP_GET_PARAMETERNAME_FOI = "rest.http.get.parametername.foi"; public static final String REST_HTTP_GET_PARAMETERNAME_NAMESPACES = "rest.http.get.parametername.namespaces"; public static final String REST_HTTP_GET_PARAMETERNAME_OBSERVEDPROPERTY = "rest.http.get.parametername.observedproperty"; public static final String REST_HTTP_GET_PARAMETERNAME_OFFERING = "rest.http.get.parametername.offering"; public static final String REST_HTTP_GET_PARAMETERNAME_PROCEDURES = "rest.http.get.parametername.procedures"; public static final String REST_HTTP_GET_PARAMETERNAME_SPATIALFILTER = "rest.http.get.parametername.spatialfilter"; public static final String REST_HTTP_GET_PARAMETERNAME_TEMPORALFILTER = "rest.http.get.parametername.temporalfilter"; public static final String REST_HTTP_HEADER_IDENTIFIER_XDELETEDRESOURCEID = "rest.http.header.identifier.XDeletedResourceId"; public static final String REST_HTTP_OPERATIONNOTALLOWEDFORRESOURCETYPE_MESSAGE_START = "rest.http.operationNotAllowedForResourceType.message.start"; public static final String REST_KVP_ENCODING_VALUESPLITTER = "rest.kvp.encoding.valuesplitter"; public static final String REST_RESOURCE_CAPABILITIES = "rest.resource.capabilities"; public static final String REST_RESOURCE_FEATURES = "rest.resource.features"; public static final String REST_RESOURCE_OBSERVABLEPROPERTIES = "rest.resource.observableproperties"; public static final String REST_RESOURCE_OBSERVATIONS = "rest.resource.observations"; public static final String REST_RESOURCE_OFFERINGS = "rest.resource.offerings"; public static final String REST_RESOURCE_RELATION_FEATURE_GET = "rest.resource.relation.feature.get"; public static final String REST_RESOURCE_RELATION_FEATURES_GET = "rest.resource.relation.features.get"; public static final String REST_RESOURCE_RELATION_OBSERVABLEPROPERTY_GET = "rest.resource.relation.observableproperty.get"; public static final String REST_RESOURCE_RELATION_OBSERVATION_CREATE = "rest.resource.relation.observation.create"; public static final String REST_RESOURCE_RELATION_OBSERVATION_DELETE = "rest.resource.relation.observation.delete"; public static final String REST_RESOURCE_RELATION_OBSERVATION_GET = "rest.resource.relation.observation.get"; public static final String REST_RESOURCE_RELATION_OBSERVATIONS_GET = "rest.resource.relation.observations.get"; public static final String REST_RESOURCE_RELATION_OFFERING_GET = "rest.resource.relation.offering.get"; public static final String REST_RESOURCE_RELATION_OFFERINGS_GET = "rest.resource.relation.offerings.get"; public static final String REST_RESOURCE_RELATION_SELF = "rest.resource.relation.self"; public static final String REST_RESOURCE_RELATION_SENSOR_CREATE = "rest.resource.relation.sensor.create"; public static final String REST_RESOURCE_RELATION_SENSOR_DELETE = "rest.resource.relation.sensor.delete"; public static final String REST_RESOURCE_RELATION_SENSOR_GET = "rest.resource.relation.sensor.get"; public static final String REST_RESOURCE_RELATION_SENSORS_GET = "rest.resource.relation.sensors.get"; public static final String REST_RESOURCE_RELATION_SENSOR_UPDATE = "rest.resource.relation.sensor.update"; public static final String REST_RESOURCE_SENSORS = "rest.resource.sensors"; public static final String REST_RESOURCE_TYPE = "rest.resource.type"; public static final String REST_SML_CAPABILITY_FEATUREOFINTERESTTYPE_NAME = "rest.sml.capability.featureofinteresttype.name"; public static final String REST_SML_CAPABILITY_INSERTIONMETADATA_NAME = "rest.sml.capability.insertionmetadata.name"; public static final String REST_SML_CAPABILITY_OBSERVATIONTYPE_NAME = "rest.sml.capability.observationtype.name"; public static final String REST_SOS_CAPABILITIES_SECTION_NAME_CONTENTS = "rest.sos.capabilities.section.name.contents"; public static final String REST_SOS_ERRORMESSAGE_OPERATIONNOTSUPPORTED_END = "rest.sos.errormessage.operationNotSupported.end"; public static final String REST_SOS_ERRORMESSAGE_OPERATIONNOTSUPPORTED_START = "rest.sos.errormessage.operationNotSupported.start"; public static final String REST_SOS_SERVICE = "rest.sos.service"; public static final String REST_SOS_TERMS_PROCEDUREIDENTIFIER = "rest.sos.terms.procedureidentifier"; public static final String REST_SOS_VERSION = "rest.sos.version"; public static final String REST_URLPATTERN = "rest.urlpattern"; public static final String REST_ENCODING_SCHEMA_URL = "rest.encodingSchemaUrl"; private static final Set<SettingDefinition<?, ?>> DEFINITIONS = ImmutableSet.<SettingDefinition<?,?>>of( new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_CONFORMANCE_CLASS). setTitle("Conformance Class"). setDefaultValue("http://www.opengis.net/spec/SOS/2.0/conf/rest"). setDescription("The conformance class for the RESTful binding."). setOptional(false). setOrder(0), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_CONTENT_TYPE_DEFAULT). setDefaultValue("application/gml+xml"). setTitle("Content type - default"). setDescription("Default content type returned by this binding"). setOptional(false). setOrder(1), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_CONTENT_TYPE_UNDEFINED). setDefaultValue("unknown/unknown"). setTitle("Content type - undefined"). setDescription("Content type used in the case of not knowing the content type of a externally linked resource."). setOptional(false). setOrder(2), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_BINDING_END_POINT_RESOURCE). setDefaultValue("capabilities"). setTitle("Binding Endpoint Resource"). setDescription("The resource any client is redirected to when accessing the binding endpoint."). setOptional(false). setOrder(3), new IntegerSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_EPSG_CODE_DEFAULT). setDefaultValue(4326). setTitle("EPSG Code - default"). setDescription("The default value of the EPSG code."). setOptional(false). setOrder(4), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_URL_ENCODING). setDefaultValue("UTF-8"). setTitle("URL encoding - default"). setDescription("The default value fo the URL encoding."). setOptional(false). setOrder(5), new UriSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_ENCODING_NAMESPACE). setDefaultValue(URI.create("http://www.opengis.net/sosREST/1.0")). setTitle("RESTful encoding - namespace URI"). setDescription("The URI of the RESTful encoding namespace."). setOptional(false). setOrder(6), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_ENCODING_PREFIX). setDefaultValue("sosREST"). setTitle("RESTful encoding - prefix"). setDescription("The prefix of the RESTful encoding used within XML documents."). setOptional(false). setOrder(7), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_ERROR_MSG_BAD_GET_REQUEST). setDefaultValue("Received GET request invalid for resource type \"%s\". Try "). setTitle("Error Message - Bad GET request"). setDescription("The start of the bad GET request error message."). setOptional(false). setOrder(8), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_ERROR_MSG_BAD_GET_REQUEST_BY_ID). setDefaultValue("\"../%s/$RESOURCE_ID\""). setTitle("Error Message - Bad GET request by id"). setDescription("The bad GET request by id error message"). setOptional(false). setOrder(9), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_ERROR_MSG_BAD_GET_REQUEST_GLOBAL_RESOURCE). setDefaultValue("\"..%s\""). setTitle("Error Message - Bad GET request global resource"). setDescription("The bad GET request global resource error message"). setOptional(false). setOrder(10), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_ERROR_MSG_BAD_GET_REQUEST_NO_VALID_KVP_PARAMETER). setDefaultValue("No valid parameter at all."). setTitle("Error Message - No valid KVP parameter"). setDescription("The bad GET request error message when no valid KVP paramter is found."). setOptional(false). setOrder(11), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_ERROR_MSG_BAD_GET_REQUEST_SEARCH). setDefaultValue("\"../%s?$SEARCH_REQUEST\". Please refer to the documentation regarding allowed parameters"). setTitle("Error Message - Bad search request"). setDescription("The bad GET request error message when the search request is not valid"). setOptional(false). setOrder(12), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_ERROR_MSG_HTTP_METHOD_NOT_ALLOWED_FOR_RESOURCE). setDefaultValue("HTTP method \"%s\" not allowed for \"%s\" resources."). setTitle("Error Message - HTTP method not allowed for resource"). setDescription("The error message when the used HTTP method is not allowed for the requested resource type."). setOptional(false). setOrder(13), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_ERROR_MSG_WRONG_CONTENT_TYPE). setDefaultValue("request with wrong content type received."). setTitle("Error Message - wrong content type"). setDescription("The error message when using the wrong content type in the request body."). setOptional(false). setOrder(14), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_ERROR_MSG_WRONG_CONTENT_TYPE_IN_ACCEPT_HEADER). setDefaultValue("Requested content type as specified in Accept header not supported."). setTitle("Error Message - not supported content type in accept header"). setDescription("The content type requested could not be supported."). setOptional(false). setOrder(15), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_HTTP_GET_PARAMETERNAME_FOI). setDefaultValue("feature"). setTitle("Http Get Parametername Foi"). setDescription("TODO: Add description."). setOptional(false). setOrder(18), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_HTTP_GET_PARAMETERNAME_NAMESPACES). setDefaultValue("namespaces"). setTitle("Http Get Parametername Namespaces"). setDescription("TODO: Add description."). setOptional(false). setOrder(19), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_HTTP_GET_PARAMETERNAME_OBSERVEDPROPERTY). setDefaultValue("observedproperties"). setTitle("Http Get Parametername Observedproperty"). setDescription("TODO: Add description."). setOptional(false). setOrder(20), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_HTTP_GET_PARAMETERNAME_OFFERING). setDefaultValue("offering"). setTitle("Http Get Parametername Offering"). setDescription("TODO: Add description."). setOptional(false). setOrder(21), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_HTTP_GET_PARAMETERNAME_PROCEDURES). setDefaultValue("procedures"). setTitle("Http Get Parametername Procedures"). setDescription("TODO: Add description."). setOptional(false). setOrder(22), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_HTTP_GET_PARAMETERNAME_SPATIALFILTER). setDefaultValue("spatialfilter"). setTitle("Http Get Parametername Spatialfilter"). setDescription("TODO: Add description."). setOptional(false). setOrder(23), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_HTTP_GET_PARAMETERNAME_TEMPORALFILTER). setDefaultValue("temporalfilter"). setTitle("Http Get Parametername Temporalfilter"). setDescription("TODO: Add description."). setOptional(false). setOrder(24), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_HTTP_HEADER_IDENTIFIER_XDELETEDRESOURCEID). setDefaultValue("X-Deleted-Resource-Id"). setTitle("Http Header Identifier XDeletedResourceId"). setDescription("TODO: Add description."). setOptional(false). setOrder(29), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_HTTP_OPERATIONNOTALLOWEDFORRESOURCETYPE_MESSAGE_START). setDefaultValue("operation is not allowed for the resource type"). setTitle("Http OperationNotAllowedForResourceType Message Start"). setDescription("TODO: Add description."). setOptional(false). setOrder(30), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_KVP_ENCODING_VALUESPLITTER). setDefaultValue(","). setTitle("Kvp Encoding Valuesplitter"). setDescription("TODO: Add description."). setOptional(false). setOrder(34), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_CAPABILITIES). setDefaultValue("capabilities"). setTitle("Resource Capabilities"). setDescription("TODO: Add description."). setOptional(false). setOrder(35), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_FEATURES). setDefaultValue("features"). setTitle("Resource Features"). setDescription("TODO: Add description."). setOptional(false). setOrder(36), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_OBSERVABLEPROPERTIES). setDefaultValue("properties"). setTitle("Resource Observableproperties"). setDescription("TODO: Add description."). setOptional(false). setOrder(37), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_OBSERVATIONS). setDefaultValue("observations"). setTitle("Resource Observations"). setDescription("TODO: Add description."). setOptional(false). setOrder(38), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_OFFERINGS). setDefaultValue("offerings"). setTitle("Resource Offerings"). setDescription("TODO: Add description."). setOptional(false). setOrder(39), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_FEATURE_GET). setDefaultValue("feature-get"). setTitle("Resource Relation Feature Get"). setDescription("TODO: Add description."). setOptional(false). setOrder(40), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_FEATURES_GET). setDefaultValue("features-get"). setTitle("Resource Relation Features Get"). setDescription("TODO: Add description."). setOptional(false). setOrder(41), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_OBSERVABLEPROPERTY_GET). setDefaultValue("property-get"). setTitle("Resource Relation Observableproperty Get"). setDescription("TODO: Add description."). setOptional(false). setOrder(42), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_OBSERVATION_CREATE). setDefaultValue("observation-create"). setTitle("Resource Relation Observation Create"). setDescription("TODO: Add description."). setOptional(false). setOrder(43), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_OBSERVATION_DELETE). setDefaultValue("observation-delete"). setTitle("Resource Relation Observation Delete"). setDescription("TODO: Add description."). setOptional(false). setOrder(44), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_OBSERVATION_GET). setDefaultValue("observation-get"). setTitle("Resource Relation Observation Get"). setDescription("TODO: Add description."). setOptional(false). setOrder(45), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_OBSERVATIONS_GET). setDefaultValue("observations-get"). setTitle("Resource Relation Observations Get"). setDescription("TODO: Add description."). setOptional(false). setOrder(46), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_OFFERING_GET). setDefaultValue("offering-get"). setTitle("Resource Relation Offering Get"). setDescription("TODO: Add description."). setOptional(false). setOrder(47), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_OFFERINGS_GET). setDefaultValue("offerings-get"). setTitle("Resource Relation Offerings Get"). setDescription("TODO: Add description."). setOptional(false). setOrder(48), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_SELF). setDefaultValue("self"). setTitle("Resource Relation Self"). setDescription("TODO: Add description."). setOptional(false). setOrder(49), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_SENSOR_CREATE). setDefaultValue("sensor-create"). setTitle("Resource Relation Sensor Create"). setDescription("TODO: Add description."). setOptional(false). setOrder(50), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_SENSOR_DELETE). setDefaultValue("sensor-delete"). setTitle("Resource Relation Sensor Delete"). setDescription("TODO: Add description."). setOptional(false). setOrder(51), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_SENSOR_GET). setDefaultValue("sensor-get"). setTitle("Resource Relation Sensor Get"). setDescription("TODO: Add description."). setOptional(false). setOrder(52), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_SENSORS_GET). setDefaultValue("sensors-get"). setTitle("Resource Relation Sensors Get"). setDescription("TODO: Add description."). setOptional(false). setOrder(53), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_RELATION_SENSOR_UPDATE). setDefaultValue("sensor-update"). setTitle("Resource Relation Sensor Update"). setDescription("TODO: Add description."). setOptional(false). setOrder(54), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_SENSORS). setDefaultValue("sensors"). setTitle("Resource Sensors"). setDescription("TODO: Add description."). setOptional(false). setOrder(55), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_RESOURCE_TYPE). setDefaultValue("resource type"). setTitle("Resource Type"). setDescription("TODO: Add description."). setOptional(false). setOrder(56), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_SML_CAPABILITY_FEATUREOFINTERESTTYPE_NAME). setDefaultValue("sos:FeatureOfInterestType"). setTitle("Sml Capability Featureofinteresttype Name"). setDescription("TODO: Add description."). setOptional(false). setOrder(57), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_SML_CAPABILITY_INSERTIONMETADATA_NAME). setDefaultValue("InsertionMetadata"). setTitle("Sml Capability Insertionmetadata Name"). setDescription("TODO: Add description."). setOptional(false). setOrder(58), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_SML_CAPABILITY_OBSERVATIONTYPE_NAME). setDefaultValue("sos:ObservationType"). setTitle("Sml Capability Observationtype Name"). setDescription("TODO: Add description."). setOptional(false). setOrder(59), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_SOS_CAPABILITIES_SECTION_NAME_CONTENTS). setDefaultValue("Contents"). setTitle("Sos Capabilities Section Name Contents"). setDescription("TODO: Add description."). setOptional(false). setOrder(60), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_SOS_ERRORMESSAGE_OPERATIONNOTSUPPORTED_END). setDefaultValue(" is not supported by this service!"). setTitle("Sos Errormessage OperationNotSupported End"). setDescription("TODO: Add description."). setOptional(false). setOrder(61), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_SOS_ERRORMESSAGE_OPERATIONNOTSUPPORTED_START). setDefaultValue("The requested operation "). setTitle("Sos Errormessage OperationNotSupported Start"). setDescription("TODO: Add description."). setOptional(false). setOrder(62), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_SOS_SERVICE). setDefaultValue("SOS"). setTitle("Sos Service"). setDescription("TODO: Add description."). setOptional(false). setOrder(63), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_SOS_TERMS_PROCEDUREIDENTIFIER). setDefaultValue("procedure"). setTitle("Sos Terms Procedureidentifier"). setDescription("TODO: Add description."). setOptional(false). setOrder(64), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_SOS_VERSION). setDefaultValue("2.0.0"). setTitle("Sos Version"). setDescription("TODO: Add description."). setOptional(false). setOrder(65), new StringSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_URLPATTERN). setDefaultValue("/rest"). setTitle("Urlpattern"). setDescription("The URL identifier of the RESTful binding."). setOptional(false). setOrder(66), new UriSettingDefinition(). setGroup(SETTINGS_GROUP). setKey(REST_ENCODING_SCHEMA_URL). setDefaultValue(URI.create("https://raw.githubusercontent.com/52North/SOS/master/bindings/rest/xml/src/main/xsd/sosREST.xsd")). setTitle("Encoding Schema URL"). setDescription("The URL to the encoding schema. Should be a web accessible URL returning a XSD file"). setOptional(false). setOrder(67) ); @Override public Set<SettingDefinition<?, ?>> getSettingDefinitions() { return Collections.unmodifiableSet(DEFINITIONS); } }