use of org.n52.io.IoStyleContext in project series-rest-api by 52North.
the class ChartRendererTest method shouldHaveUTCTimezoneIncludedInDomainAxisLabel.
@Test
public void shouldHaveUTCTimezoneIncludedInDomainAxisLabel() {
IoStyleContext context = IoStyleContext.createEmpty();
context.getChartStyleDefinitions().setTimespan(VALID_ISO8601_ABSOLUTE_START);
MyChartRenderer chartRenderer = new MyChartRenderer(context);
String label = chartRenderer.getXYPlot().getDomainAxis().getLabel();
ISODateTimeFormat.dateTimeParser().withOffsetParsed().parseDateTime(VALID_ISO8601_ABSOLUTE_START.split("/")[1]);
assertThat(label, is("Time (UTC)"));
}
use of org.n52.io.IoStyleContext in project series-rest-api by 52North.
the class IoStyleContext method createContextForSingleSeries.
public static IoStyleContext createContextForSingleSeries(DatasetOutput metadata, IoParameters ioConfig) {
RequestStyledParameterSet parameters = ioConfig.toStyledParameterSet();
parameters.addSeriesWithStyleOptions(metadata.getId(), ioConfig.getStyle());
return createContextWith(parameters, Collections.singletonList(metadata));
}
use of org.n52.io.IoStyleContext in project series-rest-api by 52North.
the class ChartRendererTest method shouldPrintExplicitlySetOutputTimezoneInDomainAxisLabel.
@Test
public void shouldPrintExplicitlySetOutputTimezoneInDomainAxisLabel() {
IoParameters config = IoParameters.createDefaults().removeAllOf("outputTimezone").extendWith("outputTimezone", "America/Los_Angeles");
IoStyleContext context = IoStyleContext.create(config);
String label = new MyChartRenderer(context).getXYPlot().getDomainAxis().getLabel();
assertThat(label, is("Time (PDT)"));
}
use of org.n52.io.IoStyleContext in project series-rest-api by 52North.
the class PreRenderingJob method renderWithStyle.
private void renderWithStyle(String datasetId, RenderingConfig renderingConfig, String interval) throws IOException, DatasetFactoryException, URISyntaxException {
IntervalWithTimeZone timespan = createTimespanFromInterval(datasetId, interval);
IoParameters config = createConfig(timespan.toString(), renderingConfig);
DatasetOutput<?, ?> metadata = datasetService.getParameter(datasetId, config);
IoStyleContext context = IoStyleContext.createContextForSingleSeries(metadata, config);
RequestStyledParameterSet styleDefinition = context.getChartStyleDefinitions();
context.setDimensions(new ChartDimension(styleDefinition.getWidth(), styleDefinition.getHeight()));
RequestSimpleParameterSet parameters = RequestSimpleParameterSet.createForSingleSeries(datasetId, config);
String chartQualifier = renderingConfig.getChartQualifier();
FileOutputStream fos = createFile(datasetId, interval, chartQualifier);
try (FileOutputStream out = fos) {
createIoFactory(parameters).createHandler(IMAGE_EXTENSION).writeBinary(out);
fos.flush();
} catch (IoHandlerException | IOException e) {
LOGGER.error("Image creation occures error.", e);
}
}
use of org.n52.io.IoStyleContext 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