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);