This is an automated email from the ASF dual-hosted git repository. cdutz pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 6c44764e66cef2c579898e98845840a59952360a Author: Stefan Herrmann <[email protected]> AuthorDate: Mon Aug 19 10:19:52 2019 +0200 remove job pojo --- .../java/org/apache/plc4x/logstash/Plc4xInput.java | 40 ++++++++++++---------- .../apache/plc4x/logstash/configuration/Job.java | 36 ------------------- .../org/apache/plc4x/logstash/Plc4xInputTest.java | 11 ++++-- 3 files changed, 30 insertions(+), 57 deletions(-) diff --git a/plc4j/integrations/logstash-plugin/src/main/java/org/apache/plc4x/logstash/Plc4xInput.java b/plc4j/integrations/logstash-plugin/src/main/java/org/apache/plc4x/logstash/Plc4xInput.java index 6be394a..65acc0f 100644 --- a/plc4j/integrations/logstash-plugin/src/main/java/org/apache/plc4x/logstash/Plc4xInput.java +++ b/plc4j/integrations/logstash-plugin/src/main/java/org/apache/plc4x/logstash/Plc4xInput.java @@ -29,7 +29,6 @@ import org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl; import org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.collector.TriggerCollector; import org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.collector.TriggerCollectorImpl; import org.apache.plc4x.java.utils.connectionpool.PooledPlcDriverManager; -import org.apache.plc4x.logstash.configuration.Job; import java.util.Arrays; import java.util.Collection; @@ -86,25 +85,30 @@ public class Plc4xInput implements Input { } for (String jobName : jobs.keySet()) { - Job job = ((Job) jobs.get(jobName)); - JobConfigurationTriggeredImplBuilder jobBuilder = builder.job( - jobName, String.format("(SCHEDULED,%s)", job.getRate())); - for (String source : job.getSources()) { - jobBuilder.source(source); - } - for (String query : job.getQueries()) { - String[] fieldSegments = query.split("="); - if(fieldSegments.length != 2) { - System.err.println(String.format("Error in job configuration '%s'. " + - "The field segment expects a format {field-alias}={field-address}, but got '%s'", - jobName, query)); - continue; + Object o = jobs.get(jobName); + if (o instanceof Map) { + Map job = (Map<String, Object>) o; + JobConfigurationTriggeredImplBuilder jobBuilder = builder.job( + jobName, String.format("(SCHEDULED,%s)", job.get("rate"))); + for (String source : ((List<String>) job.get("sources"))) { + jobBuilder.source(source); + } + for (String query : ((List<String>) job.get("queries"))) { + String[] fieldSegments = query.split("="); + if (fieldSegments.length != 2) { + System.err.println(String.format("Error in job configuration '%s'. " + + "The field segment expects a format {field-alias}={field-address}, but got '%s'", + jobName, query)); + continue; + } + String fieldAlias = fieldSegments[0]; + String fieldAddress = fieldSegments[1]; + jobBuilder.field(fieldAlias, fieldAddress); } - String fieldAlias = fieldSegments[0]; - String fieldAddress = fieldSegments[1]; - jobBuilder.field(fieldAlias, fieldAddress); + jobBuilder.build(); + } else { + System.err.println("Jobs of wrong Type!"); } - jobBuilder.build(); } ScraperConfigurationTriggeredImpl scraperConfig = builder.build(); diff --git a/plc4j/integrations/logstash-plugin/src/main/java/org/apache/plc4x/logstash/configuration/Job.java b/plc4j/integrations/logstash-plugin/src/main/java/org/apache/plc4x/logstash/configuration/Job.java deleted file mode 100644 index ee86bdb..0000000 --- a/plc4j/integrations/logstash-plugin/src/main/java/org/apache/plc4x/logstash/configuration/Job.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.apache.plc4x.logstash.configuration; - -import java.util.List; - -public class Job { - private final Integer rate; - private final List<String> queries; - private final List<String> sources; - - public Job(Integer rate, List<String> queries, List<String> sources) { - this.rate = rate; - this.queries = queries; - this.sources = sources; - } - - @Override - public String toString() { - return "Job{" + - "rate=" + rate + - ", queries=" + queries + - ", sources=" + sources + - '}'; - } - - public Integer getRate() { - return rate; - } - - public List<String> getQueries() { - return queries; - } - - public List<String> getSources() { - return sources; - } -} diff --git a/plc4j/integrations/logstash-plugin/src/test/java/org/apache/plc4x/logstash/Plc4xInputTest.java b/plc4j/integrations/logstash-plugin/src/test/java/org/apache/plc4x/logstash/Plc4xInputTest.java index 16977f4..144c6c1 100644 --- a/plc4j/integrations/logstash-plugin/src/test/java/org/apache/plc4x/logstash/Plc4xInputTest.java +++ b/plc4j/integrations/logstash-plugin/src/test/java/org/apache/plc4x/logstash/Plc4xInputTest.java @@ -19,7 +19,6 @@ under the License. package org.apache.plc4x.logstash; import co.elastic.logstash.api.Configuration; -import org.apache.plc4x.logstash.configuration.Job; import org.assertj.core.util.Maps; import org.junit.jupiter.api.Test; import org.logstash.plugins.ConfigurationImpl; @@ -32,11 +31,17 @@ public class Plc4xInputTest { @Test public void testPlc4xInput() { Map<String, Object> configValues = new HashMap<>(); + Map<String, Object> jobValues = new HashMap<>(); - Job job1 = new Job(300, Arrays.asList("testfield=RANDOM/foo:INTEGER"), Arrays.asList("TestConnection")); + List<String> queries = Arrays.asList("testfield=RANDOM/foo:INTEGER"); + List<String> sources = Arrays.asList("TestConnection"); + + jobValues.put("rate", 300); + jobValues.put("queries", queries); + jobValues.put("sources", sources); configValues.put(Plc4xInput.SOURCE_CONFIG.name(), Maps.newHashMap("TestConnection", "test:hurzpurzfurz")); - configValues.put(Plc4xInput.JOB_CONFIG.name(), Maps.newHashMap("job1", job1)); + configValues.put(Plc4xInput.JOB_CONFIG.name(), Maps.newHashMap("job1", jobValues)); Configuration config = new ConfigurationImpl(configValues);
