private void processOptionalBasicAuthParameter(ParameterContainer parameterContainer) throws OXFException { if (basicAuthHost != null && !basicAuthHost.isEmpty() && basicAuthUser != null && !basicAuthUser.isEmpty() && basicAuthPassword != null && !basicAuthPassword.isEmpty()) { parameterContainer.addParameterShell(ISOSRequestBuilder.BASIC_AUTH_HOST, basicAuthHost); parameterContainer.addParameterShell(ISOSRequestBuilder.BASIC_AUTH_USER, basicAuthUser); parameterContainer.addParameterShell(ISOSRequestBuilder.BASIC_AUTH_PASSWORD, basicAuthPassword); } }
private void processOptionalMimetypeParameter(final Map<String, ?> parameters, final ParameterContainer parameterContainer) throws OXFException { if (parameters.get(MIME_TYPE) != null && parameters.get(CHARSET) != null) { final String mimeType = (String) parameters.get(MIME_TYPE); final String charSet = (String) parameters.get(CHARSET); if (!mimeType.isEmpty() && !charSet.isEmpty()) { final Charset charset = Charset.forName(charSet); final ContentType contentType = ContentType.create(mimeType, charset); parameterContainer.addParameterShell(MIMETYPE, contentType.getMimeType()); parameterContainer.addParameterShell(ENCODING, charSet); } } }
private ParameterContainer createParameterContainerWithCommonServiceParameters() throws OXFException { final ParameterContainer parameterContainer = new ParameterContainer(); parameterContainer.addParameterShell(SERVICE, SERVICE_TYPE); parameterContainer.addParameterShell(VERSION, serviceDescriptor.getVersion()); if (binding != null) { parameterContainer.addParameterShell(BINDING, binding.name()); } return parameterContainer; }
private ParameterContainer createParameterContainerForGetObservationById(final Map<String, String> parameters) throws OXFException, ExceptionReport { final ParameterContainer parameterContainer = createParameterContainerWithCommonServiceParameters(); // mandatory parameters from builder parameterContainer.addParameterShell(GET_OBSERVATION_BY_ID_OBSERVATION_ID_PARAMETER, parameters.get(GET_OBSERVATION_BY_ID_OBSERVATION_ID_PARAMETER)); parameterContainer.addParameterShell(GET_OBSERVATION_BY_ID_RESPONSE_FORMAT_PARAMETER, parameters.get(GET_OBSERVATION_BY_ID_RESPONSE_FORMAT_PARAMETER)); // optional parameters from builder if (parameters.get(ISOSRequestBuilder.GET_OBSERVATION_BY_ID_SRS_NAME_PARAMETER) != null) { parameterContainer.addParameterShell(ISOSRequestBuilder.GET_OBSERVATION_BY_ID_SRS_NAME_PARAMETER, parameters.get(ISOSRequestBuilder.GET_OBSERVATION_BY_ID_SRS_NAME_PARAMETER)); } if (parameters.get(GET_OBSERVATION_BY_ID_RESULT_MODEL_PARAMETER) != null) { parameterContainer.addParameterShell(GET_OBSERVATION_BY_ID_RESULT_MODEL_PARAMETER, parameters.get(GET_OBSERVATION_BY_ID_RESULT_MODEL_PARAMETER)); } if (parameters.get(GET_OBSERVATION_BY_ID_RESPONSE_MODE_PARAMETER) != null) { parameterContainer.addParameterShell(GET_OBSERVATION_BY_ID_RESPONSE_MODE_PARAMETER, parameters.get(GET_OBSERVATION_BY_ID_RESPONSE_MODE_PARAMETER)); } processOptionalMimetypeParameter(parameters, parameterContainer); processOptionalBasicAuthParameter(parameterContainer); return parameterContainer; }
private ParameterContainer createParameterContainerForGetFeatureOfInterest(final Map<String, String> parameters) throws OXFException, ExceptionReport { final ParameterContainer parameterContainer = createParameterContainerWithCommonServiceParameters(); // mandatory parameters from builder if (parameters.get(GET_FOI_ID_PARAMETER) != null) { parameterContainer.addParameterShell(GET_FOI_ID_PARAMETER, parameters.get(GET_FOI_ID_PARAMETER)); } else { parameterContainer.addParameterShell(GET_FOI_LOCATION_PARAMETER, parameters.get(GET_FOI_LOCATION_PARAMETER)); } // optional parameters from builder if (parameters.get(GET_FOI_EVENT_TIME_PARAMETER) != null) { parameterContainer.addParameterShell(GET_FOI_EVENT_TIME_PARAMETER, parameters.get(GET_FOI_EVENT_TIME_PARAMETER)); } processOptionalMimetypeParameter(parameters, parameterContainer); processOptionalBasicAuthParameter(parameterContainer); return parameterContainer; }
private Callable<OperationResult> createGetFoiAccess(String sosUrl, String sosVersion, String procedureID) throws OXFException { ParameterContainer container = new ParameterContainer(); container.addParameterShell(GET_FOI_SERVICE_PARAMETER, "SOS"); container.addParameterShell(GET_FOI_VERSION_PARAMETER, sosVersion); container.addParameterShell("procedure", procedureID); Operation operation = new Operation(GET_FEATURE_OF_INTEREST, sosUrl, sosUrl); return new OperationAccessor(getSosAdapter(), operation, container); }
@Override public ServiceDescriptor initService(String url) throws ExceptionReport, OXFException { ParameterContainer paramCon = new ParameterContainer(); paramCon.addParameterShell("version", serviceVersion); paramCon.addParameterShell("service", "SOS"); Operation operation = new Operation("GetCapabilities", url.toString(), url.toString()); OperationResult opResult = doOperation(operation, paramCon); return initService(opResult); }
private void processOptionalMimetypeParameter(final MimetypeAwareRequestParameters parameters, final ParameterContainer parameterContainer) throws OXFException { if (parameters.isSetMimetype() && parameters.isValid()) { final String type = parameters.getSingleValue(MimetypeAwareRequestParameters.MIME_TYPE); final String charSet = parameters.getSingleValue(MimetypeAwareRequestParameters.CHARSET); final ContentType contentType = ContentType.create(type, Charset.forName(charSet)); parameterContainer.addParameterShell(MIMETYPE,contentType.getMimeType()); parameterContainer.addParameterShell(ENCODING, charSet); } }
private void addAuthtokenParameter(SosRequestParameters parameters, ParameterContainer parameterContainer) throws OXFException { if (parameters.isSetAuthtoken()) { parameterContainer.addParameterShell(AUTH_TOKEN, parameters.getAuthToken()); } }
@Override public ServiceDescriptor initService(String url) throws ExceptionReport, OXFException { ParameterContainer paramCon = new ParameterContainer(); paramCon.addParameterShell(GET_CAPABILITIES_SERVICE_PARAMETER, "SOS"); paramCon.addParameterShell(GET_CAPABILITIES_ACCEPT_VERSIONS_PARAMETER, serviceVersion); Operation operation = new Operation(SOSAdapter.GET_CAPABILITIES, url, url); OperationResult opResult = doOperation(operation, paramCon); return initService(opResult); }
/** * initializes the ServiceDescriptor by requesting the capabilities document of the SOS using the binding specified. * * @param serviceEndpoint * @param binding * @return * @throws OXFException * @throws ExceptionReport */ public ServiceDescriptor initService(final String serviceEndpoint, final Binding binding) throws OXFException, ExceptionReport { final ParameterContainer paramContainer = new ParameterContainer(); paramContainer.addParameterShell(GET_CAPABILITIES_ACCEPT_VERSIONS_PARAMETER, serviceVersion); paramContainer.addParameterShell(SERVICE, "SOS"); paramContainer.addParameterShell(BINDING, binding != null? binding.name() : DEFAULT_BINDING); final String baseUrlGet = serviceEndpoint + "?"; final Operation operation = new Operation("GetCapabilities", baseUrlGet, serviceEndpoint); return initService(doOperation(operation, paramContainer)); }
private ParameterContainer createParameterContainerForDoDescribeSensor(final DescribeSensorParameters parameters) throws OXFException, ExceptionReport { final ParameterContainer parameterContainer = createParameterContainerWithCommonServiceParameters(); final String procedure = parameters.getSingleValue(DESCRIBE_SENSOR_PROCEDURE_PARAMETER); parameterContainer.addParameterShell(DESCRIBE_SENSOR_PROCEDURE_PARAMETER, procedure); final String outputFormat = parameters.getSingleValue(DESCRIBE_SENSOR_OUTPUT_FORMAT); parameterContainer.addParameterShell(DESCRIBE_SENSOR_OUTPUT_FORMAT, outputFormat); processOptionalMimetypeParameter(parameters, parameterContainer); processOptionalBasicAuthParameter(parameterContainer); return parameterContainer; }
private Callable<OperationResult> createGDAAccess(String sosUrl, String version, SosTimeseries timeserie) throws OXFException { ParameterContainer container = new ParameterContainer(); container.addParameterShell("procedure", timeserie.getProcedure()); container.addParameterShell("version", version); Operation operation = new Operation(GET_DATA_AVAILABILITY, sosUrl, sosUrl); return new OperationAccessor(getSosAdapter(), operation, container); }
/** * Adds a new ParameterShell with a 'required' {@link Parameter} with name <code>parameterName</code> and * a {@link StringValueDomain} containing only the specified <code>parameterValue</code>(s). */ public void addParameterShell(final String parameterName, final String... parameterValue) throws OXFException { final Parameter parameter = new Parameter(parameterName, true, new StringValueDomain(parameterValue), parameterName); addParameterShell(new ParameterShell(parameter, parameterValue)); }
/** * Adds a new ParameterShell with a 'required' {@link Parameter} with name <code>parameterName</code> and * an {@link IntegerDiscreteValueDomain}eValueDomain containing only the specified <code>parameterValue</code>(s). */ public void addParameterShell(final String parameterName, final Integer... parameterValue) throws OXFException { final Parameter parameter = new Parameter(parameterName, true, new IntegerDiscreteValueDomain(parameterValue), parameterName); addParameterShell(new ParameterShell(parameter, parameterValue)); }
/** * Adds a new ParameterShell with a 'required' {@link Parameter} with name <code>parameterName</code> and * a {@link TemporalValueDomain} containing only the specified <code>parameterValue</code>(s). */ public void addParameterShell(final String parameterName, final ITime... parameterValue) throws OXFException { final Parameter parameter = new Parameter(parameterName, true, new TemporalValueDomain(parameterValue), parameterName); addParameterShell(new ParameterShell(parameter, parameterValue)); }
/** * Adds a new ParameterShell with a 'required' {@link Parameter} with name <code>parameterName</code> and * an {@link OpenValueDomain} containing only the specified <code>parameterValue</code>(s). */ public void addParameterShell(final String parameterName, final ParameterContainer... parameterValue) throws OXFException { final Parameter parameter = new Parameter(parameterName, true, new OpenValueDomain(), parameterName); addParameterShell(new ParameterShell(parameter, parameterValue)); }
public OperationResult doDeleteSensor(final String sensorId, final String authtoken) throws OXFException, ExceptionReport { final SOSAdapter adapter = new SOSAdapter(serviceDescriptor.getVersion()); if (checkOperationAvailability(DELETE_SENSOR)) { final Operation operation = serviceDescriptor.getOperationsMetadata().getOperationByName(DELETE_SENSOR); final ParameterContainer pc = new ParameterContainer(); pc.addParameterShell(ISOSRequestBuilder.SERVICE, "SOS"); pc.addParameterShell(ISOSRequestBuilder.VERSION, serviceDescriptor.getVersion()); pc.addParameterShell(ISOSRequestBuilder.DELETE_SENSOR_PROCEDURE, sensorId); if (authtoken != null && !authtoken.isEmpty()) { SosRequestParameters params = new SosRequestParameters() {}; params.setAuthtoken(authtoken); addAuthtokenParameter(params, pc); } return adapter.doOperation(operation, pc, connectionTimeout, readTimeout); }else { throw new OXFException("Operation: '" + DELETE_SENSOR + "' not supported by the SOS instance!"); } }
public static void main(String[] args) throws OXFException { Operation operation = new Operation("GetCapabilities", "http://divenos.meraka.csir.co.za:8080/geoserver/wms", null); String version = "1.1.1"; ParameterContainer paramCon = new ParameterContainer(); paramCon.addParameterShell(new ParameterShell(new Parameter("version", true, new StringValueDomain(new String[] {"1.1.1", "1.1.0", "1.0.0"}), Parameter.COMMON_NAME_VERSION), version)); String requestString = new WMSRequestBuilder().buildGetCapabilitiesRequest(operation, paramCon); LOGGER.info(requestString); } }
@Override public ServiceDescriptor initService(String serviceURL) throws ExceptionReport, OXFException { ParameterContainer parameters = new ParameterContainer(); parameters.addParameterShell(ISESRequestBuilder.GET_CAPABILITIES_SES_URL, serviceURL); OperationResult opResult = doOperation(new Operation(SESAdapter.GET_CAPABILITIES, serviceURL, serviceURL), parameters); try { // free OWS Response from SOAP-Envelope EnvelopeDocument envDoc = EnvelopeDocument.Factory.parse(opResult.getIncomingResultAsAutoCloseStream()); String owsResponse = envDoc.getEnvelope().getBody().xmlText(); CapabilitiesDocument capsDoc = CapabilitiesDocument.Factory.parse(owsResponse); return handleCapabilities(capsDoc); } catch (XmlException | IOException e) { throw new OXFException(e); } }