You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2019/08/27 13:58:12 UTC

[plc4x] 24/44: remove job pojo

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 <st...@codecentric.de>
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);