use of org.n52.shetland.ogc.om.series.wml.Metadata in project arctic-sea by 52North.
the class SensorMLDecoderV101 method parseCapabilities.
/**
* Parses the capabilities, processing and removing special insertion metadata
*
* @param abstractProcess The AbstractProcess to which capabilities and insertion metadata are added
* @param capabilitiesArray XML capabilities
*
* @throws DecodingException if an error occurs
*/
private void parseCapabilities(final AbstractProcess abstractProcess, final Capabilities[] capabilitiesArray) throws DecodingException {
for (final Capabilities xbcaps : capabilitiesArray) {
final SmlCapabilities caps = new SmlCapabilities();
if (xbcaps.isSetName()) {
caps.setName(xbcaps.getName());
}
if (xbcaps.isSetAbstractDataRecord()) {
final Object o = decodeXmlElement(xbcaps.getAbstractDataRecord());
if (o instanceof DataRecord) {
final DataRecord record = (DataRecord) o;
caps.setDataRecord(record).setName(xbcaps.getName());
} else {
throw new DecodingException(XmlHelper.getLocalName(xbcaps), "Error while parsing the capabilities of the SensorML (the " + "capabilities data record is not of type DataRecordPropertyType)!");
}
} else if (xbcaps.isSetHref()) {
caps.setHref(xbcaps.getHref());
if (xbcaps.isSetTitle()) {
caps.setTitle(xbcaps.getTitle());
}
}
if (caps.isSetName()) {
abstractProcess.addCapabilities(caps);
}
}
}
use of org.n52.shetland.ogc.om.series.wml.Metadata in project arctic-sea by 52North.
the class InsertSensorRequestEncoderTest method shouldThrowExceptionWhenMetadataIsMissing.
@Test
public void shouldThrowExceptionWhenMetadataIsMissing() throws EncodingException {
thrown.expect(UnsupportedEncoderInputException.class);
thrown.expectMessage(Is.is("Encoder " + InsertSensorRequestEncoder.class.getSimpleName() + " can not encode 'metadata field missing'"));
InsertSensorRequest request = new InsertSensorRequest("service", "version");
request.setProcedureDescriptionFormat("test-format");
request.setProcedureDescription(createProcedureDescription());
request.setObservableProperty(CollectionHelper.list("test-property"));
encoder.create(request);
}
use of org.n52.shetland.ogc.om.series.wml.Metadata in project arctic-sea by 52North.
the class InsertSensorRequestEncoderTest method prepare.
@Before
public void prepare() {
request = new InsertSensorRequest("service", "version");
request.setProcedureDescriptionFormat(SensorML20Constants.SENSORML_20_OUTPUT_FORMAT_URL);
request.setProcedureDescription(createProcedureDescription());
SosInsertionMetadata metadata = new SosInsertionMetadata();
metadata.setFeatureOfInterestTypes(CollectionHelper.list("test-foi-type-1", "test-foi-type-2"));
metadata.setObservationTypes(CollectionHelper.list("test-observation-type-1", "test-observation-type-2"));
request.setMetadata(metadata);
request.setObservableProperty(CollectionHelper.list("test-property-1", "test-property-2"));
encoder = new InsertSensorRequestEncoder();
encoder.setXmlOptions(() -> new XmlOptions());
SensorMLEncoderv20 sensorMLEncoderv20 = new SensorMLEncoderv20();
sensorMLEncoderv20.setXmlOptions(() -> new XmlOptions());
GmlEncoderv321 gmlEncoder = new GmlEncoderv321();
gmlEncoder.setXmlOptions(() -> new XmlOptions());
SosInsertionMetadataTypeEncoder metadataEncoder = new SosInsertionMetadataTypeEncoder();
metadataEncoder.setXmlOptions(() -> new XmlOptions());
EncoderRepository encoderRepository = new EncoderRepository();
encoderRepository.setEncoders(Arrays.asList(encoder, sensorMLEncoderv20, gmlEncoder, metadataEncoder));
encoderRepository.init();
encoder.setEncoderRepository(encoderRepository);
sensorMLEncoderv20.setEncoderRepository(encoderRepository);
gmlEncoder.setEncoderRepository(encoderRepository);
metadataEncoder.setEncoderRepository(encoderRepository);
}
use of org.n52.shetland.ogc.om.series.wml.Metadata in project arctic-sea by 52North.
the class WmlTVPEncoderv20Test method shouldEncodeCumulativeProperty.
@Test
public void shouldEncodeCumulativeProperty() throws EncodingException {
mv.setMetadata(new Metadata().setTimeseriesmetadata(new MeasurementTimeseriesMetadata().setCumulative(true)));
XmlObject encodedElement = encoder.encode(mv);
Assert.assertThat(((MeasurementTimeseriesMetadataType) ((MeasurementTimeseriesDocument) encodedElement).getTimeseries().getMetadata().getTimeseriesMetadata()).getCumulative(), Is.is(true));
}
use of org.n52.shetland.ogc.om.series.wml.Metadata in project series-rest-api by 52North.
the class ChartRendererTest method shouldFormatTitleTemplateWhenPrerenderingTriggerIsActive.
@Test
public void shouldFormatTitleTemplateWhenPrerenderingTriggerIsActive() {
QuantityDatasetOutput metadata = new QuantityDatasetOutput();
SeriesParameters parameters = new SeriesParameters();
parameters.setCategory(createParameter(new CategoryOutput(), "cat_1", "category"));
parameters.setFeature(createParameter(new FeatureOutput(), "feat_1", "feature"));
parameters.setOffering(createParameter(new OfferingOutput(), "off_1", "offering"));
parameters.setPhenomenon(createParameter(new PhenomenonOutput(), "phen_1", "phenomenon"));
parameters.setProcedure(createParameter(new ProcedureOutput(), "proc_1", "procedure"));
parameters.setService(createParameter(new ServiceOutput(), "ser_1", "service"));
metadata.setSeriesParameters(parameters);
metadata.setId("timeseries");
metadata.setUom("");
PlatformOutput platformOutput = new PlatformOutput(PlatformType.STATIONARY_INSITU);
platformOutput.setId("sta_1");
platformOutput.setLabel("station");
parameters.setPlatform(platformOutput);
// build expected title
StringBuilder expected = new StringBuilder();
expected.append(parameters.getPlatform().getLabel());
expected.append(" ").append(parameters.getPhenomenon().getLabel());
expected.append(" ").append(parameters.getProcedure().getLabel());
// expected.append(" ").append(parameters.getCategory().getLabel());
expected.append(" (4 opted-out)");
expected.append(" ").append(parameters.getOffering().getLabel());
expected.append(" ").append(parameters.getFeature().getLabel());
expected.append(" ").append(parameters.getService().getLabel());
expected.append(" ").append(metadata.getUom());
IoParameters ioConfig = createDefaults().extendWith("rendering_trigger", "prerendering");
IoStyleContext context = IoStyleContext.createContextForSingleSeries(metadata, ioConfig);
MyChartRenderer chartRenderer = new MyChartRenderer(context);
// String template = "%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s";
String template = "%1$s %2$s %3$s (4 opted-out) %5$s %6$s %7$s %8$s";
String actual = chartRenderer.formatTitle(metadata, template);
assertThat(actual, is(expected.toString()));
}
Aggregations