use of org.n52.svalbard.decode.exception.UnsupportedDecoderInputException in project arctic-sea by 52North.
the class CapabilitiesDocumentDecoder method decode.
@Override
@SuppressFBWarnings("NP_LOAD_OF_KNOWN_NULL_VALUE")
public GetCapabilitiesResponse decode(CapabilitiesDocument cd) throws DecodingException {
if (cd != null) {
GetCapabilitiesResponse response = new GetCapabilitiesResponse();
OwsCapabilities capabilities = (OwsCapabilities) decodeXmlObject(cd.getCapabilities());
response.setCapabilities(capabilities);
return response;
}
throw new UnsupportedDecoderInputException(this, cd);
}
use of org.n52.svalbard.decode.exception.UnsupportedDecoderInputException in project arctic-sea by 52North.
the class DeleteObservationDecoder method decode.
@Override
public DeleteObservationRequest decode(XmlObject xmlObject) throws DecodingException {
LOGGER.debug("REQUESTTYPE: {}", xmlObject != null ? xmlObject.getClass() : "null recevied");
// XmlHelper.validateDocument(xmlObject);
if (xmlObject instanceof DeleteObservationDocument) {
DeleteObservationDocument delObsDoc = (DeleteObservationDocument) xmlObject;
DeleteObservationRequest decodedRequest = parseDeleteObservation(delObsDoc);
LOGGER.debug("Decoded request: {}", decodedRequest);
return decodedRequest;
} else {
throw new UnsupportedDecoderInputException(this, xmlObject);
}
}
use of org.n52.svalbard.decode.exception.UnsupportedDecoderInputException in project arctic-sea by 52North.
the class DocumentCitationTypeDecoder method decode.
@Override
public DocumentCitation decode(XmlObject xmlObject) throws DecodingException {
if (xmlObject instanceof DocumentCitationType) {
DocumentCitation documentCitation = new DocumentCitation();
DocumentCitationType dct = (DocumentCitationType) xmlObject;
documentCitation.setDescription(dct.getDescription().getStringValue());
if (dct.isNilDate()) {
if (dct.getDate().isSetNilReason()) {
documentCitation.setDate(Nillable.<DateTime>nil(dct.getDate().getNilReason().toString()));
}
} else {
documentCitation.setDate(new DateTime(dct.getDate().getCIDate().getDate().getDate().getTime()));
}
if (dct.getLinkArray() != null) {
for (Link link : dct.getLinkArray()) {
if (link.isNil() && link.isSetNilReason()) {
documentCitation.addLink(Nillable.<String>nil(link.getNilReason().toString()));
} else {
documentCitation.addLink(link.getStringValue());
}
}
}
return documentCitation;
}
throw new UnsupportedDecoderInputException(this, xmlObject);
}
use of org.n52.svalbard.decode.exception.UnsupportedDecoderInputException in project arctic-sea by 52North.
the class AbstractGmlDecoderv321 method parseNamedValueValue.
protected NamedValue<?> parseNamedValueValue(XmlObject xml) throws DecodingException {
XmlObject xmlObject = xml;
if (xmlObject.schemaType() == XmlAnyTypeImpl.type) {
try {
xmlObject = XmlObject.Factory.parse(xml.xmlText().trim());
} catch (XmlException e) {
LOGGER.error("Error while parsing NamedValueValue", e);
}
}
Object value;
if (XmlBoolean.Factory.newInstance().schemaType().equals(xmlObject.schemaType())) {
value = ((XmlBoolean) xmlObject).getBooleanValue();
} else if (XmlString.Factory.newInstance().schemaType().equals(xmlObject.schemaType())) {
value = ((XmlString) xmlObject).getStringValue();
} else if (XmlInt.Factory.newInstance().schemaType().equals(xmlObject.schemaType())) {
value = ((XmlInt) xmlObject).getIntValue();
} else if (XmlInteger.Factory.newInstance().schemaType().equals(xmlObject.schemaType())) {
value = ((XmlInteger) xmlObject).getBigIntegerValue().intValue();
} else if (XmlDouble.Factory.newInstance().schemaType().equals(xmlObject.schemaType())) {
value = ((XmlDouble) xmlObject).getDoubleValue();
} else {
value = decodeXmlObject(xmlObject);
}
if (value instanceof BooleanValue) {
NamedValue<Boolean> namedValue = new NamedValue<>();
namedValue.setValue((BooleanValue) value);
return namedValue;
} else if (value instanceof SweBoolean) {
NamedValue<Boolean> namedValue = new NamedValue<>();
namedValue.setValue(new BooleanValue(((SweBoolean) value).getValue()));
return namedValue;
} else if (value instanceof Boolean) {
NamedValue<Boolean> namedValue = new NamedValue<>();
namedValue.setValue(new BooleanValue((Boolean) value));
return namedValue;
} else if (value instanceof CategoryValue) {
NamedValue<String> namedValue = new NamedValue<>();
namedValue.setValue((CategoryValue) value);
return namedValue;
} else if (value instanceof SweCategory) {
NamedValue<String> namedValue = new NamedValue<>();
namedValue.setValue(new CategoryValue(((SweCategory) value).getValue(), ((SweCategory) value).getCodeSpace()));
return namedValue;
} else if (value instanceof CountValue) {
NamedValue<Integer> namedValue = new NamedValue<>();
namedValue.setValue((CountValue) value);
return namedValue;
} else if (value instanceof SweCount) {
NamedValue<Integer> namedValue = new NamedValue<>();
namedValue.setValue(new CountValue(((SweCount) value).getValue()));
return namedValue;
} else if (value instanceof Integer) {
NamedValue<Integer> namedValue = new NamedValue<>();
namedValue.setValue(new CountValue((Integer) value));
return namedValue;
} else if (value instanceof GeometryValue) {
NamedValue<Geometry> namedValue = new NamedValue<>();
namedValue.setValue((GeometryValue) value);
return namedValue;
} else if (value instanceof QuantityValue) {
NamedValue<BigDecimal> namedValue = new NamedValue<>();
namedValue.setValue((QuantityValue) value);
return namedValue;
} else if (value instanceof GmlMeasureType) {
NamedValue<BigDecimal> namedValue = new NamedValue<>();
namedValue.setValue(new QuantityValue(((GmlMeasureType) value).getValue(), ((GmlMeasureType) value).getUnit()));
return namedValue;
} else if (value instanceof SweQuantity) {
NamedValue<BigDecimal> namedValue = new NamedValue<>();
namedValue.setValue(new QuantityValue(((SweQuantity) value).getValue(), ((SweQuantity) value).getUom()));
return namedValue;
} else if (value instanceof Double) {
NamedValue<BigDecimal> namedValue = new NamedValue<>();
namedValue.setValue(new QuantityValue((Double) value));
return namedValue;
} else if (value instanceof TextValue) {
NamedValue<String> namedValue = new NamedValue<>();
namedValue.setValue((TextValue) value);
return namedValue;
} else if (value instanceof SweText) {
NamedValue<String> namedValue = new NamedValue<>();
namedValue.setValue(new TextValue(((SweText) value).getValue()));
return namedValue;
} else if (value instanceof String) {
NamedValue<String> namedValue = new NamedValue<>();
namedValue.setValue(new TextValue((String) value));
return namedValue;
} else if (value instanceof AbstractGeometry) {
NamedValue<Geometry> namedValue = new NamedValue<>();
namedValue.setValue(new GeometryValue((AbstractGeometry) value));
return namedValue;
} else if (value instanceof org.n52.shetland.ogc.gml.ReferenceType) {
NamedValue<org.n52.shetland.ogc.gml.ReferenceType> namedValue = new NamedValue<>();
namedValue.setValue(new ReferenceValue((org.n52.shetland.ogc.gml.ReferenceType) value));
return namedValue;
} else if (value instanceof W3CHrefAttribute) {
NamedValue<W3CHrefAttribute> namedValue = new NamedValue<>();
namedValue.setValue(new HrefAttributeValue((W3CHrefAttribute) value));
return namedValue;
} else {
throw new UnsupportedDecoderInputException(this, xmlObject);
}
}
use of org.n52.svalbard.decode.exception.UnsupportedDecoderInputException in project arctic-sea by 52North.
the class InsertFeatureOfInterestDecoder method decode.
public InsertFeatureOfInterestRequest decode(XmlObject xmlObject) throws DecodingException {
LOGGER.debug(String.format("REQUESTTYPE: %s", xmlObject != null ? xmlObject.getClass() : "null recevied"));
// XmlHelper.validateDocument(xmlObject);
if (xmlObject instanceof InsertFeatureOfInterestDocument) {
InsertFeatureOfInterestDocument ifoid = (InsertFeatureOfInterestDocument) xmlObject;
InsertFeatureOfInterestRequest decodedRequest = parseInsertFeatureOfInterest(ifoid);
LOGGER.debug(String.format("Decoded request: %s", decodedRequest));
return decodedRequest;
} else {
throw new UnsupportedDecoderInputException(this, xmlObject);
}
}
Aggregations