package org.jvalue.ods.sources; import com.fasterxml.jackson.core.JsonPointer; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; import org.jvalue.ods.api.processors.ExecutionInterval; import org.jvalue.ods.api.processors.ProcessorReference; import org.jvalue.ods.api.processors.ProcessorReferenceChainDescription; import org.jvalue.ods.api.sources.DataSourceDescription; import org.jvalue.ods.api.sources.DataSourceMetaData; import java.util.concurrent.TimeUnit; public final class PegelOnlineTest extends AbstractDataSourceTest { @Override public DataSourceDescription getSourceDescription() { return new DataSourceDescription( JsonPointer.compile("/uuid"), new ObjectNode(JsonNodeFactory.instance), new DataSourceMetaData("", "", "", "", "", "", "")); } @Override public String getStartId() { return "47174d8f-1b8e-4599-8a59-b580dd55bc87"; } @Override public ProcessorReferenceChainDescription getProcessorChainDescription() { return new ProcessorReferenceChainDescription.Builder( new ExecutionInterval(100, TimeUnit.SECONDS)) .processor(new ProcessorReference.Builder("JsonSourceAdapter") .argument("sourceUrl", "http://pegelonline.wsv.de/webservices/rest-api/v2/stations.json?includeTimeseries=true&includeCurrentMeasurement=true&includeCharacteristicValues=true&waters=ELBE") .build()) .processor(new ProcessorReference.Builder("DbInsertionFilter") .argument("updateData", true) .build()) .build(); } @Override public long getSleepDuration() { return 2000; } }