@Override
protected RestRequest decodePostRequest(HttpServletRequest httpRequest,
String pathPayload) throws OwsExceptionReport
{
if (isContentOfPostRequestValid(httpRequest))
{
InsertSensorRequest insertSensorRequest = new InsertSensorRequest();
insertSensorRequest.setVersion(bindingConstants.getSosVersion());
insertSensorRequest.setService(bindingConstants.getSosService());
insertSensorRequest.setProcedureDescriptionFormat(bindingConstants.getDefaultDescribeSensorOutputFormat());
XmlObject sensorPostContent = XmlHelper.parseXmlSosRequest(httpRequest);
if (sensorPostContent instanceof SensorDocument)
{
SensorDocument xb_SensorRestDoc = (SensorDocument) sensorPostContent;
SensorType xb_SensorRest = xb_SensorRestDoc.getSensor();
AbstractProcessType xb_ProcessRest = xb_SensorRest.getProcess();
SystemType xb_system = (SystemType) xb_ProcessRest.substitute(SensorMLConstants.SYSTEM_QNAME, SystemType.type);
SosProcedureDescription procedureDescription = createSosProcedureDescriptionFromSmlSystem(xb_system);
insertSensorRequest.setProcedureDescription(procedureDescription);
SosInsertionMetadata insertionMetadata = setInsertionMetadata(insertSensorRequest, xb_system);
insertSensorRequest.setMetadata(insertionMetadata);
return new SensorsPostRequest(insertSensorRequest,xb_system);
}
}
return null;
}