maven: cleaning dependencies (#241)

* cleaning dependencies

* increasing app version

* fixing version

* reworking parsing pom

* cleaning dependencies in pom files

* reworkign POM files, enable xlint all, mitigate warnings

* minor cleaning

* minor cleaning
This commit is contained in:
Marian Novotny
2021-04-14 13:21:05 +01:00
committed by GitHub Enterprise
parent 8c7731acca
commit 824ac43d58
92 changed files with 581 additions and 608 deletions

View File

@@ -11,13 +11,31 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>alerting</artifactId> <artifactId>alerting</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol-common</artifactId> <artifactId>siembol-common</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.adrianwalker</groupId> <groupId>org.adrianwalker</groupId>
@@ -39,60 +57,5 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${shade_version}</version>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<artifactSet>
<excludes>
<exclude>*slf4j*</exclude>
</excludes>
</artifactSet>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>false</shadedArtifactAttached>
<shadedClassifierName>uber</shadedClassifierName>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<artifactSet>
<excludes>
<exclude>org.slf4j.impl*</exclude>
<exclude>org.slf4j:slf4j-log4j*</exclude>
</excludes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -4,6 +4,7 @@ import org.apache.commons.lang3.tuple.Pair;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito; import org.mockito.Mockito;
import uk.co.gresearch.siembol.common.utils.TimeProvider; import uk.co.gresearch.siembol.common.utils.TimeProvider;
import uk.co.gresearch.siembol.alerts.common.*; import uk.co.gresearch.siembol.alerts.common.*;
@@ -13,7 +14,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static org.mockito.Matchers.any; import static org.mockito.ArgumentMatchers.anyMap;
import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import static org.mockito.internal.verification.VerificationModeFactory.times; import static org.mockito.internal.verification.VerificationModeFactory.times;
@@ -54,11 +55,11 @@ public class CorrelationEngineTest {
resultRule2 = AlertingResult.fromEvaluationResult(EvaluationResult.MATCH, outEvent); resultRule2 = AlertingResult.fromEvaluationResult(EvaluationResult.MATCH, outEvent);
when(rule1.getAlertNames()).thenReturn(Arrays.asList("alert1", "alert2")); when(rule1.getAlertNames()).thenReturn(Arrays.asList("alert1", "alert2"));
when(rule1.match(any())).thenReturn(resultRule1); when(rule1.match(ArgumentMatchers.<Map<String, Object>>any())).thenReturn(resultRule1);
when(rule2.getAlertNames()).thenReturn(Arrays.asList("alert2")); when(rule2.getAlertNames()).thenReturn(Arrays.asList("alert2"));
when(rule2.match(any())).thenReturn(resultRule2); when(rule2.match(ArgumentMatchers.<Map<String, Object>>any())).thenReturn(resultRule2);
when(timeProvider.getCurrentTimeInMs()).thenReturn(currentTime); when(timeProvider.getCurrentTimeInMs()).thenReturn(currentTime);
doNothing().when(rule1).clean(currentTime); doNothing().when(rule1).clean(currentTime);
@@ -109,7 +110,7 @@ public class CorrelationEngineTest {
@Test @Test
public void testMatchFirstRule() { public void testMatchFirstRule() {
when(rule2.match(any())).thenReturn(AlertingResult.fromEvaluationResult(NO_MATCH, outEvent)); when(rule2.match(ArgumentMatchers.<Map<String, Object>>any())).thenReturn(AlertingResult.fromEvaluationResult(NO_MATCH, outEvent));
alert.put(AlertingFields.RULE_NAME.getAlertingName(), "alert2"); alert.put(AlertingFields.RULE_NAME.getAlertingName(), "alert2");
AlertingResult result = engine.evaluate(alert); AlertingResult result = engine.evaluate(alert);
Assert.assertEquals(OK, result.getStatusCode()); Assert.assertEquals(OK, result.getStatusCode());
@@ -124,7 +125,7 @@ public class CorrelationEngineTest {
@Test @Test
public void testMatchFirstAndExceptionSecond() { public void testMatchFirstAndExceptionSecond() {
resultRule2 = new AlertingResult(ERROR, resultRule2.getAttributes()); resultRule2 = new AlertingResult(ERROR, resultRule2.getAttributes());
when(rule2.match(any())).thenReturn(resultRule2); when(rule2.match(ArgumentMatchers.<Map<String, Object>>any())).thenReturn(resultRule2);
alert.put(AlertingFields.RULE_NAME.getAlertingName(), "alert2"); alert.put(AlertingFields.RULE_NAME.getAlertingName(), "alert2");
AlertingResult result = engine.evaluate(alert); AlertingResult result = engine.evaluate(alert);

View File

@@ -5,6 +5,7 @@ import org.apache.commons.lang3.tuple.Pair;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito; import org.mockito.Mockito;
import uk.co.gresearch.siembol.alerts.common.EvaluationResult; import uk.co.gresearch.siembol.alerts.common.EvaluationResult;
import uk.co.gresearch.siembol.alerts.common.AlertingEngine; import uk.co.gresearch.siembol.alerts.common.AlertingEngine;
@@ -13,7 +14,7 @@ import uk.co.gresearch.siembol.alerts.common.AlertingResult;
import java.util.*; import java.util.*;
import static org.mockito.Matchers.any; import static org.mockito.ArgumentMatchers.anyMap;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
public class AlertingEngineImplTest { public class AlertingEngineImplTest {
@@ -46,10 +47,10 @@ public class AlertingEngineImplTest {
when(rule1.getRuleName()).thenReturn("rule1"); when(rule1.getRuleName()).thenReturn("rule1");
when(rule1.getFullRuleName()).thenReturn("rule1_v1"); when(rule1.getFullRuleName()).thenReturn("rule1_v1");
when(rule1.match(any())).thenReturn(resultRule1); when(rule1.match(ArgumentMatchers.<Map<String, Object>>any())).thenReturn(resultRule1);
when(rule2.getRuleName()).thenReturn("rule2"); when(rule2.getRuleName()).thenReturn("rule2");
when(rule2.getFullRuleName()).thenReturn("rule2_v1"); when(rule2.getFullRuleName()).thenReturn("rule2_v1");
when(rule2.match(any())).thenReturn(resultRule2); when(rule2.match(ArgumentMatchers.<Map<String, Object>>any())).thenReturn(resultRule2);
rules = Arrays.asList(Pair.of(sourceType, rule1), rules = Arrays.asList(Pair.of(sourceType, rule1),
Pair.of("*", rule2)); Pair.of("*", rule2));
@@ -141,7 +142,7 @@ public class AlertingEngineImplTest {
@Test @Test
public void testMatchAndException() { public void testMatchAndException() {
when(rule1.match(any())).thenThrow(new RuntimeException()); when(rule1.match(ArgumentMatchers.<Map<String, Object>>any())).thenThrow(new RuntimeException());
AlertingResult ret = engine.evaluate(knownSourceType); AlertingResult ret = engine.evaluate(knownSourceType);
Assert.assertEquals(AlertingResult.StatusCode.OK, ret.getStatusCode()); Assert.assertEquals(AlertingResult.StatusCode.OK, ret.getStatusCode());
Assert.assertEquals(EvaluationResult.MATCH, ret.getAttributes().getEvaluationResult()); Assert.assertEquals(EvaluationResult.MATCH, ret.getAttributes().getEvaluationResult());

View File

@@ -4,6 +4,7 @@ import org.apache.commons.lang3.tuple.Pair;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito; import org.mockito.Mockito;
import uk.co.gresearch.siembol.alerts.common.EvaluationResult; import uk.co.gresearch.siembol.alerts.common.EvaluationResult;
import uk.co.gresearch.siembol.alerts.common.AlertingFields; import uk.co.gresearch.siembol.alerts.common.AlertingFields;
@@ -11,7 +12,8 @@ import uk.co.gresearch.siembol.alerts.common.AlertingResult;
import java.util.*; import java.util.*;
import static org.mockito.Matchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyMap;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
public class RuleTest { public class RuleTest {
@@ -30,7 +32,7 @@ public class RuleTest {
constants = Arrays.asList(Pair.of("detection_source", "alerts")); constants = Arrays.asList(Pair.of("detection_source", "alerts"));
protections = Arrays.asList(Pair.of(AlertingFields.MAX_PER_HOUR_FIELD.toString(), Integer.valueOf(1))); protections = Arrays.asList(Pair.of(AlertingFields.MAX_PER_HOUR_FIELD.toString(), Integer.valueOf(1)));
matcher = Mockito.mock(RuleMatcher.class); matcher = Mockito.mock(RuleMatcher.class);
when(matcher.match(any())).thenReturn(EvaluationResult.MATCH); when(matcher.match(ArgumentMatchers.<Map<String, Object>>any())).thenReturn(EvaluationResult.MATCH);
} }
@Test @Test
@@ -120,7 +122,7 @@ public class RuleTest {
@Test @Test
public void testGoodNoMatch() { public void testGoodNoMatch() {
when(matcher.match(any())).thenReturn(EvaluationResult.NO_MATCH); when(matcher.match(ArgumentMatchers.<Map<String, Object>>any())).thenReturn(EvaluationResult.NO_MATCH);
rule = Rule.builder() rule = Rule.builder()
.matchers(Arrays.asList(matcher)) .matchers(Arrays.asList(matcher))
.name(name) .name(name)
@@ -136,7 +138,7 @@ public class RuleTest {
@Test(expected = RuntimeException.class) @Test(expected = RuntimeException.class)
public void testThrowsException() throws RuntimeException { public void testThrowsException() throws RuntimeException {
when(matcher.match(any())).thenThrow(new RuntimeException()); when(matcher.match(ArgumentMatchers.<Map<String, Object>>any())).thenThrow(new RuntimeException());
rule = Rule.builder() rule = Rule.builder()
.matchers(Arrays.asList(matcher)) .matchers(Arrays.asList(matcher))
.name(name) .name(name)

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>alerting</artifactId> <artifactId>alerting</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>
@@ -23,7 +23,7 @@
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>alerting-core</artifactId> <artifactId>alerting-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
@@ -82,12 +82,17 @@
<shadedClassifierName>uber</shadedClassifierName> <shadedClassifierName>uber</shadedClassifierName>
<filters> <filters>
<filter> <filter>
<!-- Sometimes these get added and confuse the uber jar out of shade -->
<artifact>*:*</artifact> <artifact>*:*</artifact>
<excludes> <excludes>
<exclude>module-info.class</exclude>
<exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude> <exclude>META-INF/*.RSA</exclude>
<exclude>META-INF/*.MF</exclude>
<exclude>META-INF/*.txt</exclude>
<exclude>META-INF/*/schema</exclude>
<exclude>META-INF/LICENSE</exclude>
<exclude>*/schema</exclude>
</excludes> </excludes>
</filter> </filter>
</filters> </filters>
@@ -112,18 +117,6 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

View File

@@ -9,6 +9,7 @@ import java.io.ObjectOutputStream;
import java.io.Serializable; import java.io.Serializable;
public class AlertingSparkEngine implements Serializable { public class AlertingSparkEngine implements Serializable {
private static final long serialVersionUID = 1L;
private transient AlertingEngine alertingEngine; private transient AlertingEngine alertingEngine;
private String rules; private String rules;

View File

@@ -11,6 +11,7 @@ import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class AlertingSparkJob implements Serializable { public class AlertingSparkJob implements Serializable {
private static final long serialVersionUID = 1L;
private final JavaRDD<String> rdd; private final JavaRDD<String> rdd;
private final AlertingSparkEngine alertingSparkEngine; private final AlertingSparkEngine alertingSparkEngine;
private final int maxResult; private final int maxResult;
@@ -89,7 +90,7 @@ public class AlertingSparkJob implements Serializable {
return this; return this;
} }
@SuppressWarnings("unchecked") @SuppressWarnings({"rawtypes", "unchecked"})
public AlertingSparkJob build() throws Exception { public AlertingSparkJob build() throws Exception {
if (rules == null if (rules == null
|| logPath == null || logPath == null

View File

@@ -13,6 +13,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
public class AlertingSparkResult implements Serializable { public class AlertingSparkResult implements Serializable {
private static final long serialVersionUID = 1L;
private static final ObjectWriter JSON_WRITER = new ObjectMapper() private static final ObjectWriter JSON_WRITER = new ObjectMapper()
.writerFor(new TypeReference<Map<String, Object>>() { }); .writerFor(new TypeReference<Map<String, Object>>() { });
private static final String ERROR_STATUS_CODE_MSG = "Status code: %s"; private static final String ERROR_STATUS_CODE_MSG = "Status code: %s";

View File

@@ -9,23 +9,23 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>alerting</artifactId> <artifactId>alerting</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>alerting-core</artifactId> <artifactId>jackson-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>${jackson_version}</version>
<exclusions> </dependency>
<exclusion> <dependency>
<groupId>org.slf4j</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>slf4j-log4j12</artifactId> <artifactId>jackson-annotations</artifactId>
</exclusion> <version>${jackson_version}</version>
<exclusion> </dependency>
<groupId>log4j</groupId> <dependency>
<artifactId>log4j</artifactId> <groupId>com.fasterxml.jackson.core</groupId>
</exclusion> <artifactId>jackson-databind</artifactId>
</exclusions> <version>${jackson_version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.kafka</groupId> <groupId>org.apache.kafka</groupId>
@@ -43,6 +43,21 @@
<version>${storm_version}</version> <version>${storm_version}</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>uk.co.gresearch.siembol</groupId>
<artifactId>alerting-core</artifactId>
<version>1.80-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
@@ -137,13 +152,30 @@
<filter> <filter>
<artifact>*:*</artifact> <artifact>*:*</artifact>
<excludes> <excludes>
<exclude>module-info.class</exclude>
<exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude> <exclude>META-INF/*.RSA</exclude>
<exclude>META-INF/*.MF</exclude>
<exclude>META-INF/*.txt</exclude>
<exclude>META-INF/*/schema</exclude>
<exclude>META-INF/LICENSE</exclude>
<exclude>META-INF/NOTICE</exclude>
<exclude>META-INF/DEPENDENCIES</exclude>
<exclude>*/schema</exclude>
<exclude>LICENSE.txt</exclude>
</excludes> </excludes>
</filter> </filter>
</filters> </filters>
<relocations> <relocations>
<relocation>
<pattern>com</pattern>
<shadedPattern>repackaged.com</shadedPattern>
<includes>
<include>com.fasterxml.jackson.*</include>
<include>com.google.guava.*</include>
</includes>
</relocation>
</relocations> </relocations>
<artifactSet> <artifactSet>
<excludes> <excludes>
@@ -157,18 +189,6 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

View File

@@ -25,12 +25,14 @@ import uk.co.gresearch.siembol.alerts.storm.model.AlertMessage;
import uk.co.gresearch.siembol.alerts.storm.model.AlertMessages; import uk.co.gresearch.siembol.alerts.storm.model.AlertMessages;
import uk.co.gresearch.siembol.alerts.storm.model.ExceptionMessages; import uk.co.gresearch.siembol.alerts.storm.model.ExceptionMessages;
import uk.co.gresearch.siembol.common.model.AlertingStormAttributesDto; import uk.co.gresearch.siembol.common.model.AlertingStormAttributesDto;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactoryImpl;
import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodHandles;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
public class AlertingEngineBolt extends BaseRichBolt { public class AlertingEngineBolt extends BaseRichBolt {
private static final long serialVersionUID = 1L;
private static final String EXCEPTION_MSG_FORMAT = "Alerting Engine exception: %s during evaluating event: %s"; private static final String EXCEPTION_MSG_FORMAT = "Alerting Engine exception: %s during evaluating event: %s";
private static final String INIT_EXCEPTION_MSG_FORMAT = "Alerting Engine exception: %s during initialising alerts engine"; private static final String INIT_EXCEPTION_MSG_FORMAT = "Alerting Engine exception: %s during initialising alerts engine";
private static final String UPDATE_EXCEPTION_LOG = "Exception during alerts rules update: {}"; private static final String UPDATE_EXCEPTION_LOG = "Exception during alerts rules update: {}";
@@ -59,9 +61,10 @@ public class AlertingEngineBolt extends BaseRichBolt {
} }
AlertingEngineBolt(AlertingStormAttributesDto attributes) { AlertingEngineBolt(AlertingStormAttributesDto attributes) {
this(attributes, new ZookeeperConnectorFactory() {}); this(attributes, new ZookeeperConnectorFactoryImpl());
} }
@SuppressWarnings("rawtypes")
@Override @Override
public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) { public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) {
this.collector = outputCollector; this.collector = outputCollector;

View File

@@ -17,6 +17,7 @@ import uk.co.gresearch.siembol.common.storm.StormHelper;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory;
import uk.co.gresearch.siembol.alerts.storm.model.AlertingEngineType; import uk.co.gresearch.siembol.alerts.storm.model.AlertingEngineType;
import uk.co.gresearch.siembol.common.model.AlertingStormAttributesDto; import uk.co.gresearch.siembol.common.model.AlertingStormAttributesDto;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactoryImpl;
import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodHandles;
import java.util.Base64; import java.util.Base64;
@@ -104,7 +105,7 @@ public class AlertingStorm {
Config config = new Config(); Config config = new Config();
config.putAll(attributes.getStormAttributes().getStormConfig().getRawMap()); config.putAll(attributes.getStormAttributes().getStormConfig().getRawMap());
ZookeeperConnectorFactory zookeeperConnectorFactory = new ZookeeperConnectorFactory() {}; ZookeeperConnectorFactory zookeeperConnectorFactory = new ZookeeperConnectorFactoryImpl();
StormTopology topology = engineType == AlertingEngineType.SIEMBOL_ALERTS StormTopology topology = engineType == AlertingEngineType.SIEMBOL_ALERTS

View File

@@ -16,6 +16,7 @@ import static org.apache.storm.utils.TupleUtils.isTick;
import static org.apache.storm.utils.TupleUtils.putTickFrequencyIntoComponentConfig; import static org.apache.storm.utils.TupleUtils.putTickFrequencyIntoComponentConfig;
public class CorrelationAlertingEngineBolt extends AlertingEngineBolt { public class CorrelationAlertingEngineBolt extends AlertingEngineBolt {
private static final long serialVersionUID = 1L;
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private final int cleanIntervalSec; private final int cleanIntervalSec;

View File

@@ -25,8 +25,8 @@ import uk.co.gresearch.siembol.alerts.storm.model.*;
import uk.co.gresearch.siembol.common.model.AlertingStormAttributesDto; import uk.co.gresearch.siembol.common.model.AlertingStormAttributesDto;
public class KafkaWriterBolt extends BaseRichBolt { public class KafkaWriterBolt extends BaseRichBolt {
private static final Logger LOG = private static final long serialVersionUID = 1L;
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final String WRONG_ALERTS_FIELD_MESSAGE = "Wrong alerts type in tuple"; private static final String WRONG_ALERTS_FIELD_MESSAGE = "Wrong alerts type in tuple";
private static final String WRONG_EXCEPTION_FIELD_MESSAGE = "Wrong exceptions type in tuple"; private static final String WRONG_EXCEPTION_FIELD_MESSAGE = "Wrong exceptions type in tuple";
@@ -121,6 +121,7 @@ public class KafkaWriterBolt extends BaseRichBolt {
collector.ack(tuple); collector.ack(tuple);
} }
@SuppressWarnings("rawtypes")
@Override @Override
public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) { public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) {
this.collector = outputCollector; this.collector = outputCollector;

View File

@@ -9,13 +9,15 @@ import java.util.Map;
import java.util.Optional; import java.util.Optional;
public class AlertMessage implements Serializable { public class AlertMessage implements Serializable {
private static final long serialVersionUID = 1L;
private static final String MISSING_FIELDS_MSG = "Missing siembol alerting fields in alert: %s"; private static final String MISSING_FIELDS_MSG = "Missing siembol alerting fields in alert: %s";
private static final String MISSING_CORRELATION_KEY = "Missing correlation key field in alert: %s"; private static final String MISSING_CORRELATION_KEY = "Missing correlation key field in alert: %s";
public enum Flags implements Serializable { public enum Flags implements Serializable {
CORRELATION_ENGINE, CORRELATION_ENGINE,
CORRELATION_ALERT, CORRELATION_ALERT,
VISIBLE_ALERT VISIBLE_ALERT;
private static final long serialVersionUID = 1L;
} }
private final String fullRuleName; private final String fullRuleName;

View File

@@ -3,4 +3,5 @@ package uk.co.gresearch.siembol.alerts.storm.model;
import java.util.ArrayList; import java.util.ArrayList;
public class AlertMessages extends ArrayList<AlertMessage> { public class AlertMessages extends ArrayList<AlertMessage> {
private static final long serialVersionUID = 1L;
} }

View File

@@ -6,6 +6,7 @@ public enum AlertingEngineType implements Serializable {
SIEMBOL_ALERTS("siembol_alerts"), SIEMBOL_ALERTS("siembol_alerts"),
SIEMBOL_CORRELATION_ALERTS("siembol_correlation_alerts"); SIEMBOL_CORRELATION_ALERTS("siembol_correlation_alerts");
private static final long serialVersionUID = 1L;
private static final String ENGINE_STR = "%s_engine"; private static final String ENGINE_STR = "%s_engine";
private static final String UNKNOWN_MSG = "unknown type: %s"; private static final String UNKNOWN_MSG = "unknown type: %s";
private final String name; private final String name;

View File

@@ -3,4 +3,5 @@ package uk.co.gresearch.siembol.alerts.storm.model;
import java.util.ArrayList; import java.util.ArrayList;
public class ExceptionMessages extends ArrayList<String> { public class ExceptionMessages extends ArrayList<String> {
private static final long serialVersionUID = 1L;
} }

View File

@@ -11,6 +11,7 @@ import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.mockito.ArgumentCaptor; import org.mockito.ArgumentCaptor;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito; import org.mockito.Mockito;
import uk.co.gresearch.siembol.common.constants.SiembolMessageFields; import uk.co.gresearch.siembol.common.constants.SiembolMessageFields;
import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto; import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto;
@@ -23,10 +24,10 @@ import uk.co.gresearch.siembol.common.model.AlertingStormAttributesDto;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.never; import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
@@ -187,7 +188,7 @@ public class AlertingEngineBoltTest {
.thenReturn(event.replaceAll("is_alert", "unknown")); .thenReturn(event.replaceAll("is_alert", "unknown"));
AlertingEngineBolt.execute(tuple); AlertingEngineBolt.execute(tuple);
verify(collector, never()).emit(any()); verify(collector, never()).emit(ArgumentMatchers.<List<Object>>any());
verify(collector, times(1)).ack(eq(tuple)); verify(collector, times(1)).ack(eq(tuple));
} }

View File

@@ -11,6 +11,7 @@ import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.mockito.ArgumentCaptor; import org.mockito.ArgumentCaptor;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito; import org.mockito.Mockito;
import uk.co.gresearch.siembol.common.constants.SiembolMessageFields; import uk.co.gresearch.siembol.common.constants.SiembolMessageFields;
import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto; import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto;
@@ -24,6 +25,7 @@ import uk.co.gresearch.siembol.common.model.AlertingStormAttributesDto;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
@@ -208,6 +210,6 @@ public class CorrelationEngineBoltTest {
correlationAlertingEngineBolt.execute(tuple); correlationAlertingEngineBolt.execute(tuple);
} }
verify(collector, times(10)).ack(eq(tuple)); verify(collector, times(10)).ack(eq(tuple));
verify(collector, never()).emit(any()); verify(collector, never()).emit(ArgumentMatchers.<List<Object>>any());
} }
} }

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol</artifactId> <artifactId>siembol</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<modules> <modules>
<module>alerting-core</module> <module>alerting-core</module>
@@ -21,19 +21,5 @@
<dependencies> <dependencies>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -9,18 +9,18 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>config-editor</artifactId> <artifactId>config-editor</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol-common</artifactId> <artifactId>siembol-common</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId> <artifactId>commons-lang3</artifactId>
<version>3.8.1</version> <version>${commons_lang3_version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.eclipse.jgit</groupId> <groupId>org.eclipse.jgit</groupId>
@@ -103,17 +103,5 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-Xlint:unchecked</compilerArgument>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -1,6 +1,7 @@
package uk.co.gresearch.siembol.configeditor.common; package uk.co.gresearch.siembol.configeditor.common;
public class AuthorisationException extends RuntimeException { public class AuthorisationException extends RuntimeException {
private static final long serialVersionUID = 1L;
public AuthorisationException(String msg) { public AuthorisationException(String msg) {
super(msg); super(msg);
} }

View File

@@ -3,6 +3,7 @@ package uk.co.gresearch.siembol.configeditor.configstore;
import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.api.errors.GitAPIException;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.junit.Before; import org.junit.Before;
@@ -18,11 +19,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.*;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import static org.mockito.internal.verification.VerificationModeFactory.times; import static org.mockito.internal.verification.VerificationModeFactory.times;
import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.BAD_REQUEST; import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.BAD_REQUEST;
@@ -54,9 +54,9 @@ public class ConfigItemsTest {
configInfo.setName("test"); configInfo.setName("test");
configInfo.setVersion(1); configInfo.setVersion(1);
when(configInfoProvider.getConfigInfo(any(), any())).thenReturn(configInfo); when(configInfoProvider.getConfigInfo(any(UserInfo.class), anyString())).thenReturn(configInfo);
when(configInfoProvider.isStoreFile(any())).thenReturn(true); when(configInfoProvider.isStoreFile(anyString())).thenReturn(true);
when(configInfoProvider.getFileContentType()).thenReturn(ConfigEditorFile.ContentType.STRING); when(configInfoProvider.getFileContentType()).thenReturn(ConfigEditorFile.ContentType.STRING);
filesContent.put("File.json", "DUMMY_CONTENT"); filesContent.put("File.json", "DUMMY_CONTENT");
files = new ArrayList<>(); files = new ArrayList<>();
@@ -67,7 +67,8 @@ public class ConfigItemsTest {
attr.setFiles(files); attr.setFiles(files);
getFilesResult = new ConfigEditorResult(OK, attr); getFilesResult = new ConfigEditorResult(OK, attr);
when(gitRepo.getFiles(eq(directory), any())).thenReturn(getFilesResult); when(gitRepo.getFiles(eq(directory), ArgumentMatchers.<Function<String, Boolean>>any()))
.thenReturn(getFilesResult);
when(gitRepo.getRepoUri()).thenReturn(dummyRepoUrl); when(gitRepo.getRepoUri()).thenReturn(dummyRepoUrl);
when(gitRepo.getDirectoryUrl(eq(directory))).thenReturn(dummyDirectoryRepoUrl); when(gitRepo.getDirectoryUrl(eq(directory))).thenReturn(dummyDirectoryRepoUrl);
@@ -78,7 +79,10 @@ public class ConfigItemsTest {
ConfigEditorAttributes attrTransact = new ConfigEditorAttributes(); ConfigEditorAttributes attrTransact = new ConfigEditorAttributes();
attrTransact.setFiles(transactFiles); attrTransact.setFiles(transactFiles);
transactGetFilesResult = new ConfigEditorResult(OK, attrTransact); transactGetFilesResult = new ConfigEditorResult(OK, attrTransact);
when(gitRepo.transactCopyAndCommit(eq(configInfo), eq(directory), any())).thenReturn(transactGetFilesResult); when(gitRepo.transactCopyAndCommit(any(ConfigInfo.class),
eq(directory),
ArgumentMatchers.<Function<String, Boolean>>any()))
.thenReturn(transactGetFilesResult);
configItems = new ConfigItems(gitRepo, configInfoProvider, directory); configItems = new ConfigItems(gitRepo, configInfoProvider, directory);
user = new UserInfo(); user = new UserInfo();
@@ -103,7 +107,8 @@ public class ConfigItemsTest {
@Test @Test
public void initOK() throws IOException, GitAPIException { public void initOK() throws IOException, GitAPIException {
configItems.init(); configItems.init();
verify(gitRepo, times(1)).getFiles(eq(directory), any()); verify(gitRepo, times(1))
.getFiles(eq(directory), ArgumentMatchers.<Function<String, Boolean>>any());
ConfigEditorResult result = configItems.getFiles(); ConfigEditorResult result = configItems.getFiles();
Assert.assertEquals(OK, result.getStatusCode()); Assert.assertEquals(OK, result.getStatusCode());
Assert.assertNotNull(result.getAttributes().getFiles()); Assert.assertNotNull(result.getAttributes().getFiles());

View File

@@ -16,13 +16,11 @@ import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import static org.springframework.boot.actuate.health.Status.DOWN; import static org.springframework.boot.actuate.health.Status.DOWN;
import static org.springframework.boot.actuate.health.Status.UP; import static org.springframework.boot.actuate.health.Status.UP;
import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.BAD_REQUEST;
import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.ERROR; import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.ERROR;
import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.OK; import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.OK;
@@ -159,7 +157,7 @@ public class ConfigStoreImplTest {
@Test @Test
public void checkHealthDown() throws Exception { public void checkHealthDown() throws Exception {
when(configs.addConfigItem(any(), any())).thenThrow(new IllegalStateException("exception")); when(configs.addConfigItem(any(UserInfo.class), anyString())).thenThrow(new IllegalStateException("exception"));
ConfigEditorResult ret = configStore.addConfig(user, "dummy"); ConfigEditorResult ret = configStore.addConfig(user, "dummy");
Assert.assertEquals(ERROR, ret.getStatusCode()); Assert.assertEquals(ERROR, ret.getStatusCode());
Assert.assertNotNull(ret.getAttributes().getException()); Assert.assertNotNull(ret.getAttributes().getException());

View File

@@ -17,8 +17,7 @@ import uk.co.gresearch.siembol.configeditor.model.ConfigEditorService;
import java.util.List; import java.util.List;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.*;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import static org.mockito.internal.verification.VerificationModeFactory.times; import static org.mockito.internal.verification.VerificationModeFactory.times;
@@ -40,7 +39,7 @@ public class ServiceAggregatorImplTest {
when(schemaService.getAdminConfigurationSchema()).thenReturn( when(schemaService.getAdminConfigurationSchema()).thenReturn(
new ConfigEditorResult(ConfigEditorResult.StatusCode.OK, new ConfigEditorAttributes())); new ConfigEditorResult(ConfigEditorResult.StatusCode.OK, new ConfigEditorAttributes()));
builder = new ServiceAggregatorImpl.Builder(authProvider); builder = new ServiceAggregatorImpl.Builder(authProvider);
when(authProvider.getUserAuthorisation(any(), any())) when(authProvider.getUserAuthorisation(any(UserInfo.class), anyString()))
.thenReturn(AuthorisationProvider.AuthorisationResult.ALLOWED); .thenReturn(AuthorisationProvider.AuthorisationResult.ALLOWED);
builder.addService("a", serviceType, store, schemaService); builder.addService("a", serviceType, store, schemaService);
builder.addService("b", serviceType, store, schemaService); builder.addService("b", serviceType, store, schemaService);

View File

@@ -9,7 +9,7 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>config-editor</artifactId> <artifactId>config-editor</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
@@ -51,7 +51,7 @@
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol-common</artifactId> <artifactId>siembol-common</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
@@ -62,22 +62,22 @@
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>config-editor-core</artifactId> <artifactId>config-editor-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>config-editor-services</artifactId> <artifactId>config-editor-services</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>config-editor-sync</artifactId> <artifactId>config-editor-sync</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>alerting-core</artifactId> <artifactId>alerting-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
@@ -88,7 +88,7 @@
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>parsing-app</artifactId> <artifactId>parsing-app</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
@@ -99,7 +99,7 @@
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>enriching-core</artifactId> <artifactId>enriching-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
@@ -110,7 +110,7 @@
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>responding-core</artifactId> <artifactId>responding-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
@@ -209,20 +209,6 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-Xlint:unchecked</compilerArgument>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
</plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

View File

@@ -9,6 +9,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.util.ResourceUtils; import org.springframework.util.ResourceUtils;
import uk.co.gresearch.siembol.common.testing.TestingZookeeperConnectorFactory; import uk.co.gresearch.siembol.common.testing.TestingZookeeperConnectorFactory;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactoryImpl;
import uk.co.gresearch.siembol.configeditor.common.AuthorisationProvider; import uk.co.gresearch.siembol.configeditor.common.AuthorisationProvider;
import uk.co.gresearch.siembol.configeditor.common.ConfigEditorUtils; import uk.co.gresearch.siembol.configeditor.common.ConfigEditorUtils;
import uk.co.gresearch.siembol.configeditor.common.ConfigSchemaService; import uk.co.gresearch.siembol.configeditor.common.ConfigSchemaService;
@@ -110,7 +111,7 @@ public class ConfigEditorConfiguration implements DisposableBean {
@ConditionalOnProperty(prefix = "config-editor", value = "synchronisation") @ConditionalOnProperty(prefix = "config-editor", value = "synchronisation")
ZookeeperConnectorFactory zookeeperConnectorFactory() throws Exception { ZookeeperConnectorFactory zookeeperConnectorFactory() throws Exception {
if (properties.getTestingZookeeperFiles() == null) { if (properties.getTestingZookeeperFiles() == null) {
return new ZookeeperConnectorFactory() {}; return new ZookeeperConnectorFactoryImpl();
} }
TestingZookeeperConnectorFactory ret = new TestingZookeeperConnectorFactory(); TestingZookeeperConnectorFactory ret = new TestingZookeeperConnectorFactory();

View File

@@ -10,53 +10,53 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>config-editor</artifactId> <artifactId>config-editor</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol-common</artifactId> <artifactId>siembol-common</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>config-editor-core</artifactId> <artifactId>config-editor-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>alerting-core</artifactId> <artifactId>alerting-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>alerting-storm</artifactId> <artifactId>alerting-storm</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>parsing-storm</artifactId> <artifactId>parsing-storm</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>enriching-storm</artifactId> <artifactId>enriching-storm</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>parsing-app</artifactId> <artifactId>parsing-app</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>enriching-core</artifactId> <artifactId>enriching-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>responding-core</artifactId> <artifactId>responding-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
@@ -78,17 +78,5 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-Xlint:unchecked</compilerArgument>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -14,10 +14,8 @@ import uk.co.gresearch.siembol.alerts.common.AlertingResult;
import uk.co.gresearch.siembol.alerts.compiler.AlertingCompiler; import uk.co.gresearch.siembol.alerts.compiler.AlertingCompiler;
import uk.co.gresearch.siembol.configeditor.service.common.ConfigSchemaServiceContext; import uk.co.gresearch.siembol.configeditor.service.common.ConfigSchemaServiceContext;
import java.util.Optional; import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import static org.mockito.internal.verification.VerificationModeFactory.times; import static org.mockito.internal.verification.VerificationModeFactory.times;
@@ -71,8 +69,8 @@ public class AlertingRuleSchemaServiceTest {
alertingAttributes = new AlertingAttributes(); alertingAttributes = new AlertingAttributes();
alertingResult = new AlertingResult(AlertingResult.StatusCode.OK, alertingAttributes); alertingResult = new AlertingResult(AlertingResult.StatusCode.OK, alertingAttributes);
Mockito.when(alertingCompiler.validateRules(any())).thenReturn(alertingResult); Mockito.when(alertingCompiler.validateRules(anyString())).thenReturn(alertingResult);
Mockito.when(alertingCompiler.validateRule(any())).thenReturn(alertingResult); Mockito.when(alertingCompiler.validateRule(anyString())).thenReturn(alertingResult);
Mockito.when(alertingCompiler.testRule(testRule, testEvent.trim())).thenReturn(alertingResult); Mockito.when(alertingCompiler.testRule(testRule, testEvent.trim())).thenReturn(alertingResult);
Mockito.when(alertingCompiler.testRule(testRules, testEvent.trim())).thenReturn(alertingResult); Mockito.when(alertingCompiler.testRule(testRules, testEvent.trim())).thenReturn(alertingResult);
} }
@@ -140,7 +138,7 @@ public class AlertingRuleSchemaServiceTest {
alertingAttributes.setMessage("error"); alertingAttributes.setMessage("error");
alertingAttributes.setException("exception"); alertingAttributes.setException("exception");
alertingResult = new AlertingResult(AlertingResult.StatusCode.ERROR, alertingAttributes); alertingResult = new AlertingResult(AlertingResult.StatusCode.ERROR, alertingAttributes);
Mockito.when(alertingCompiler.validateRules(any())).thenReturn(alertingResult); Mockito.when(alertingCompiler.validateRules(anyString())).thenReturn(alertingResult);
ConfigEditorResult ret = alertingRuleSchemaService.validateConfigurations(testRules); ConfigEditorResult ret = alertingRuleSchemaService.validateConfigurations(testRules);
verify(alertingCompiler, times(1)).validateRules(testRules); verify(alertingCompiler, times(1)).validateRules(testRules);
Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode());
@@ -153,7 +151,7 @@ public class AlertingRuleSchemaServiceTest {
alertingAttributes.setMessage("error"); alertingAttributes.setMessage("error");
alertingAttributes.setException("exception"); alertingAttributes.setException("exception");
alertingResult = new AlertingResult(AlertingResult.StatusCode.ERROR, alertingAttributes); alertingResult = new AlertingResult(AlertingResult.StatusCode.ERROR, alertingAttributes);
Mockito.when(alertingCompiler.validateRule(any())).thenReturn(alertingResult); Mockito.when(alertingCompiler.validateRule(anyString())).thenReturn(alertingResult);
ConfigEditorResult ret = alertingRuleSchemaService.validateConfiguration(testRule); ConfigEditorResult ret = alertingRuleSchemaService.validateConfiguration(testRule);
verify(alertingCompiler, times(1)).validateRule(testRule); verify(alertingCompiler, times(1)).validateRule(testRule);
Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode());

View File

@@ -16,8 +16,8 @@ import uk.co.gresearch.siembol.enrichments.common.EnrichmentAttributes;
import uk.co.gresearch.siembol.enrichments.common.EnrichmentResult; import uk.co.gresearch.siembol.enrichments.common.EnrichmentResult;
import uk.co.gresearch.siembol.enrichments.compiler.EnrichmentCompiler; import uk.co.gresearch.siembol.enrichments.compiler.EnrichmentCompiler;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -60,12 +60,12 @@ public class EnrichmentSchemaServiceTest {
this.enrichmentsSchemaService = new EnrichmentSchemaService(compiler, context); this.enrichmentsSchemaService = new EnrichmentSchemaService(compiler, context);
enrichmentAttributes = new EnrichmentAttributes(); enrichmentAttributes = new EnrichmentAttributes();
enrichmentResult = new EnrichmentResult(OK, enrichmentAttributes); enrichmentResult = new EnrichmentResult(OK, enrichmentAttributes);
Mockito.when(compiler.compile(any())).thenReturn(enrichmentResult); Mockito.when(compiler.compile(anyString())).thenReturn(enrichmentResult);
Mockito.when(compiler.validateConfiguration(any())).thenReturn(enrichmentResult); Mockito.when(compiler.validateConfiguration(anyString())).thenReturn(enrichmentResult);
Mockito.when(compiler.validateConfigurations(any())).thenReturn(enrichmentResult); Mockito.when(compiler.validateConfigurations(anyString())).thenReturn(enrichmentResult);
Mockito.when(compiler.testConfiguration(any(), any())).thenReturn(enrichmentResult); Mockito.when(compiler.testConfiguration(anyString(), anyString())).thenReturn(enrichmentResult);
Mockito.when(compiler.testConfigurations(any(), any())).thenReturn(enrichmentResult); Mockito.when(compiler.testConfigurations(anyString(), anyString())).thenReturn(enrichmentResult);
} }
@Test @Test
@@ -100,7 +100,7 @@ public class EnrichmentSchemaServiceTest {
public void validateConfigurationsError() { public void validateConfigurationsError() {
enrichmentAttributes.setMessage("error"); enrichmentAttributes.setMessage("error");
enrichmentResult = new EnrichmentResult(ERROR, enrichmentAttributes); enrichmentResult = new EnrichmentResult(ERROR, enrichmentAttributes);
Mockito.when(compiler.validateConfigurations(any())).thenReturn(enrichmentResult); Mockito.when(compiler.validateConfigurations(anyString())).thenReturn(enrichmentResult);
ConfigEditorResult ret = enrichmentsSchemaService.validateConfigurations(testConfigs); ConfigEditorResult ret = enrichmentsSchemaService.validateConfigurations(testConfigs);
Mockito.verify(compiler, times(1)).validateConfigurations(testConfigs); Mockito.verify(compiler, times(1)).validateConfigurations(testConfigs);
Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode());
@@ -111,7 +111,7 @@ public class EnrichmentSchemaServiceTest {
public void validateConfigurationError() { public void validateConfigurationError() {
enrichmentAttributes.setMessage("error"); enrichmentAttributes.setMessage("error");
enrichmentResult = new EnrichmentResult(ERROR, enrichmentAttributes); enrichmentResult = new EnrichmentResult(ERROR, enrichmentAttributes);
Mockito.when(compiler.validateConfiguration(any())).thenReturn(enrichmentResult); Mockito.when(compiler.validateConfiguration(anyString())).thenReturn(enrichmentResult);
ConfigEditorResult ret = enrichmentsSchemaService.validateConfiguration(testConfigs); ConfigEditorResult ret = enrichmentsSchemaService.validateConfiguration(testConfigs);
Mockito.verify(compiler, times(1)).validateConfiguration(testConfigs); Mockito.verify(compiler, times(1)).validateConfiguration(testConfigs);
Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode());
@@ -122,7 +122,7 @@ public class EnrichmentSchemaServiceTest {
public void testConfigurationOK() { public void testConfigurationOK() {
enrichmentAttributes.setTestResult(testResult); enrichmentAttributes.setTestResult(testResult);
enrichmentAttributes.setTestRawResult(testRawResult); enrichmentAttributes.setTestRawResult(testRawResult);
Mockito.when(compiler.testConfiguration(any(), any())).thenReturn(enrichmentResult); Mockito.when(compiler.testConfiguration(anyString(), anyString())).thenReturn(enrichmentResult);
ConfigEditorResult ret = enrichmentsSchemaService.testConfiguration(testConfig, testSpecification); ConfigEditorResult ret = enrichmentsSchemaService.testConfiguration(testConfig, testSpecification);
Mockito.verify(compiler, times(1)).testConfiguration(testConfig, testSpecification); Mockito.verify(compiler, times(1)).testConfiguration(testConfig, testSpecification);
Assert.assertEquals(ConfigEditorResult.StatusCode.OK, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.OK, ret.getStatusCode());
@@ -136,7 +136,7 @@ public class EnrichmentSchemaServiceTest {
public void testConfigurationsOK() { public void testConfigurationsOK() {
enrichmentAttributes.setTestResult(testResult); enrichmentAttributes.setTestResult(testResult);
enrichmentAttributes.setTestRawResult(testRawResult); enrichmentAttributes.setTestRawResult(testRawResult);
Mockito.when(compiler.testConfiguration(any(), any())).thenReturn(enrichmentResult); Mockito.when(compiler.testConfiguration(anyString(), anyString())).thenReturn(enrichmentResult);
ConfigEditorResult ret = enrichmentsSchemaService.testConfigurations(testConfigs, testSpecification); ConfigEditorResult ret = enrichmentsSchemaService.testConfigurations(testConfigs, testSpecification);
Mockito.verify(compiler, times(1)).testConfigurations(testConfigs, testSpecification); Mockito.verify(compiler, times(1)).testConfigurations(testConfigs, testSpecification);
Assert.assertEquals(ConfigEditorResult.StatusCode.OK, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.OK, ret.getStatusCode());
@@ -150,7 +150,7 @@ public class EnrichmentSchemaServiceTest {
public void testConfigurationError() { public void testConfigurationError() {
enrichmentAttributes.setMessage("error"); enrichmentAttributes.setMessage("error");
enrichmentResult = new EnrichmentResult(ERROR, enrichmentAttributes); enrichmentResult = new EnrichmentResult(ERROR, enrichmentAttributes);
Mockito.when(compiler.testConfiguration(any(), any())).thenReturn(enrichmentResult); Mockito.when(compiler.testConfiguration(anyString(), anyString())).thenReturn(enrichmentResult);
ConfigEditorResult ret = enrichmentsSchemaService.testConfiguration(testConfig, testSpecification); ConfigEditorResult ret = enrichmentsSchemaService.testConfiguration(testConfig, testSpecification);
Mockito.verify(compiler, times(1)).testConfiguration(testConfig, testSpecification); Mockito.verify(compiler, times(1)).testConfiguration(testConfig, testSpecification);
Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode());
@@ -161,7 +161,7 @@ public class EnrichmentSchemaServiceTest {
public void testConfigurationsError() { public void testConfigurationsError() {
enrichmentAttributes.setMessage("error"); enrichmentAttributes.setMessage("error");
enrichmentResult = new EnrichmentResult(ERROR, enrichmentAttributes); enrichmentResult = new EnrichmentResult(ERROR, enrichmentAttributes);
Mockito.when(compiler.testConfigurations(any(), any())).thenReturn(enrichmentResult); Mockito.when(compiler.testConfigurations(anyString(), anyString())).thenReturn(enrichmentResult);
ConfigEditorResult ret = enrichmentsSchemaService.testConfigurations(testConfigs, testSpecification); ConfigEditorResult ret = enrichmentsSchemaService.testConfigurations(testConfigs, testSpecification);
Mockito.verify(compiler, times(1)).testConfigurations(testConfigs, testSpecification); Mockito.verify(compiler, times(1)).testConfigurations(testConfigs, testSpecification);
Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode());

View File

@@ -4,6 +4,7 @@ import org.adrianwalker.multilinestring.Multiline;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito; import org.mockito.Mockito;
import uk.co.gresearch.siembol.configeditor.common.ConfigSchemaService; import uk.co.gresearch.siembol.configeditor.common.ConfigSchemaService;
import uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult; import uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult;
@@ -16,7 +17,8 @@ import uk.co.gresearch.siembol.parsers.factory.ParserFactoryResult;
import java.util.ArrayList; import java.util.ArrayList;
import static org.mockito.Matchers.any; import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
public class ParserConfigSchemaServiceTest { public class ParserConfigSchemaServiceTest {
@@ -62,11 +64,11 @@ public class ParserConfigSchemaServiceTest {
parserFactoryAttributes = new ParserFactoryAttributes(); parserFactoryAttributes = new ParserFactoryAttributes();
parserFactoryResult = new ParserFactoryResult(ParserFactoryResult.StatusCode.OK, parserFactoryAttributes); parserFactoryResult = new ParserFactoryResult(ParserFactoryResult.StatusCode.OK, parserFactoryAttributes);
parserResult = new ParserResult(); parserResult = new ParserResult();
Mockito.when(parserFactory.create(any())).thenReturn(parserFactoryResult); Mockito.when(parserFactory.create(anyString())).thenReturn(parserFactoryResult);
Mockito.when(parserFactory.validateConfiguration(any())).thenReturn(parserFactoryResult); Mockito.when(parserFactory.validateConfiguration(anyString())).thenReturn(parserFactoryResult);
Mockito.when(parserFactory.validateConfigurations(any())).thenReturn(parserFactoryResult); Mockito.when(parserFactory.validateConfigurations(anyString())).thenReturn(parserFactoryResult);
Mockito.when(parserFactory.test(any(), any(), any())).thenReturn(parserFactoryResult); Mockito.when(parserFactory.test(anyString(), eq(null), ArgumentMatchers.<byte[]>any())).thenReturn(parserFactoryResult);
} }
@Test @Test
@@ -108,7 +110,7 @@ public class ParserConfigSchemaServiceTest {
public void validateRulesError() { public void validateRulesError() {
parserFactoryAttributes.setMessage("error"); parserFactoryAttributes.setMessage("error");
parserFactoryResult = new ParserFactoryResult(ParserFactoryResult.StatusCode.ERROR, parserFactoryAttributes); parserFactoryResult = new ParserFactoryResult(ParserFactoryResult.StatusCode.ERROR, parserFactoryAttributes);
Mockito.when(parserFactory.validateConfigurations(any())).thenReturn(parserFactoryResult); Mockito.when(parserFactory.validateConfigurations(anyString())).thenReturn(parserFactoryResult);
ConfigEditorResult ret = parserConfigSchemaService.validateConfigurations(testConfigs); ConfigEditorResult ret = parserConfigSchemaService.validateConfigurations(testConfigs);
Mockito.verify(parserFactory, times(1)).validateConfigurations(testConfigs); Mockito.verify(parserFactory, times(1)).validateConfigurations(testConfigs);
Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode());
@@ -120,7 +122,7 @@ public class ParserConfigSchemaServiceTest {
parserFactoryAttributes.setMessage("error"); parserFactoryAttributes.setMessage("error");
parserFactoryResult = new ParserFactoryResult(ParserFactoryResult.StatusCode.ERROR, parserFactoryAttributes); parserFactoryResult = new ParserFactoryResult(ParserFactoryResult.StatusCode.ERROR, parserFactoryAttributes);
Mockito.when(parserFactory.validateConfiguration(any())).thenReturn(parserFactoryResult); Mockito.when(parserFactory.validateConfiguration(anyString())).thenReturn(parserFactoryResult);
ConfigEditorResult ret = parserConfigSchemaService.validateConfiguration(testConfig); ConfigEditorResult ret = parserConfigSchemaService.validateConfiguration(testConfig);
Mockito.verify(parserFactory, times(1)).validateConfiguration(testConfig); Mockito.verify(parserFactory, times(1)).validateConfiguration(testConfig);
Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode());

View File

@@ -15,8 +15,8 @@ import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFac
import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryResult; import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryResult;
import uk.co.gresearch.siembol.parsers.common.ParserResult; import uk.co.gresearch.siembol.parsers.common.ParserResult;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -53,8 +53,8 @@ public class ParsingAppConfigSchemaServiceTest {
factoryAttributes = new ParsingApplicationFactoryAttributes(); factoryAttributes = new ParsingApplicationFactoryAttributes();
factoryResult = new ParsingApplicationFactoryResult(OK, factoryAttributes); factoryResult = new ParsingApplicationFactoryResult(OK, factoryAttributes);
parsingAppResult = new ParserResult(); parsingAppResult = new ParserResult();
Mockito.when(parsingAppFactory.validateConfiguration(any())).thenReturn(factoryResult); Mockito.when(parsingAppFactory.validateConfiguration(anyString())).thenReturn(factoryResult);
Mockito.when(parsingAppFactory.validateConfigurations(any())).thenReturn(factoryResult); Mockito.when(parsingAppFactory.validateConfigurations(anyString())).thenReturn(factoryResult);
} }
@Test @Test
@@ -90,7 +90,7 @@ public class ParsingAppConfigSchemaServiceTest {
public void validateConfigsError() { public void validateConfigsError() {
factoryAttributes.setMessage("error"); factoryAttributes.setMessage("error");
factoryResult = new ParsingApplicationFactoryResult(ERROR, factoryAttributes); factoryResult = new ParsingApplicationFactoryResult(ERROR, factoryAttributes);
Mockito.when(parsingAppFactory.validateConfigurations(any())).thenReturn(factoryResult); Mockito.when(parsingAppFactory.validateConfigurations(anyString())).thenReturn(factoryResult);
ConfigEditorResult ret = parserConfigSchemaService.validateConfigurations(testConfigs); ConfigEditorResult ret = parserConfigSchemaService.validateConfigurations(testConfigs);
Mockito.verify(parsingAppFactory, times(1)).validateConfigurations(testConfigs); Mockito.verify(parsingAppFactory, times(1)).validateConfigurations(testConfigs);
Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode());
@@ -101,7 +101,7 @@ public class ParsingAppConfigSchemaServiceTest {
public void validateCongfigError() { public void validateCongfigError() {
factoryAttributes.setMessage("error"); factoryAttributes.setMessage("error");
factoryResult = new ParsingApplicationFactoryResult(ERROR, factoryAttributes); factoryResult = new ParsingApplicationFactoryResult(ERROR, factoryAttributes);
Mockito.when(parsingAppFactory.validateConfiguration(any())).thenReturn(factoryResult); Mockito.when(parsingAppFactory.validateConfiguration(anyString())).thenReturn(factoryResult);
ConfigEditorResult ret = parserConfigSchemaService.validateConfiguration(testConfig); ConfigEditorResult ret = parserConfigSchemaService.validateConfiguration(testConfig);
Mockito.verify(parsingAppFactory, times(1)).validateConfiguration(testConfig); Mockito.verify(parsingAppFactory, times(1)).validateConfiguration(testConfig);
Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode()); Assert.assertEquals(ConfigEditorResult.StatusCode.ERROR, ret.getStatusCode());

View File

@@ -12,8 +12,7 @@ import uk.co.gresearch.siembol.response.common.ResponseApplicationPaths;
import java.io.IOException; import java.io.IOException;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.*;
import static org.mockito.ArgumentMatchers.eq;
import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.BAD_REQUEST; import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.BAD_REQUEST;
import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.ERROR; import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.ERROR;
import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.OK; import static uk.co.gresearch.siembol.configeditor.model.ConfigEditorResult.StatusCode.OK;
@@ -210,9 +209,9 @@ public class ResponseSchemaServiceTest {
.thenReturn(rulesSchema); .thenReturn(rulesSchema);
Mockito.when(httpProvider.get(eq(ResponseApplicationPaths.GET_TEST_SCHEMA.toString()))) Mockito.when(httpProvider.get(eq(ResponseApplicationPaths.GET_TEST_SCHEMA.toString())))
.thenReturn(testSchema); .thenReturn(testSchema);
Mockito.when(httpProvider.post(eq(ResponseApplicationPaths.VALIDATE_RULES.toString()), any())) Mockito.when(httpProvider.post(eq(ResponseApplicationPaths.VALIDATE_RULES.toString()), anyString()))
.thenReturn(okMessage); .thenReturn(okMessage);
Mockito.when(httpProvider.post(eq(ResponseApplicationPaths.TEST_RULES.toString()), any())) Mockito.when(httpProvider.post(eq(ResponseApplicationPaths.TEST_RULES.toString()), anyString()))
.thenReturn(okMessage); .thenReturn(okMessage);
builder = new ResponseSchemaService.Builder(httpProvider); builder = new ResponseSchemaService.Builder(httpProvider);
@@ -270,7 +269,7 @@ public class ResponseSchemaServiceTest {
@Test @Test
public void validateRulesError() throws Exception { public void validateRulesError() throws Exception {
Mockito.when(httpProvider.post(eq(ResponseApplicationPaths.VALIDATE_RULES.toString()), any())) Mockito.when(httpProvider.post(eq(ResponseApplicationPaths.VALIDATE_RULES.toString()), anyString()))
.thenReturn(errorMessage); .thenReturn(errorMessage);
responseSchemaService = builder.build(); responseSchemaService = builder.build();
ConfigEditorResult result = responseSchemaService.validateConfigurations(dummyJsonObject); ConfigEditorResult result = responseSchemaService.validateConfigurations(dummyJsonObject);
@@ -279,7 +278,7 @@ public class ResponseSchemaServiceTest {
@Test @Test
public void validateRulesException() throws Exception { public void validateRulesException() throws Exception {
Mockito.when(httpProvider.post(eq(ResponseApplicationPaths.VALIDATE_RULES.toString()), any())) Mockito.when(httpProvider.post(eq(ResponseApplicationPaths.VALIDATE_RULES.toString()), anyString()))
.thenThrow(new IOException()); .thenThrow(new IOException());
responseSchemaService = builder.build(); responseSchemaService = builder.build();
ConfigEditorResult result = responseSchemaService.validateConfigurations(dummyJsonObject); ConfigEditorResult result = responseSchemaService.validateConfigurations(dummyJsonObject);
@@ -295,7 +294,7 @@ public class ResponseSchemaServiceTest {
@Test @Test
public void validateRuleError() throws Exception { public void validateRuleError() throws Exception {
Mockito.when(httpProvider.post(eq(ResponseApplicationPaths.VALIDATE_RULES.toString()), any())) Mockito.when(httpProvider.post(eq(ResponseApplicationPaths.VALIDATE_RULES.toString()), anyString()))
.thenReturn(errorMessage); .thenReturn(errorMessage);
responseSchemaService = builder.build(); responseSchemaService = builder.build();
ConfigEditorResult result = responseSchemaService.validateConfiguration(dummyJsonObject); ConfigEditorResult result = responseSchemaService.validateConfiguration(dummyJsonObject);

View File

@@ -9,28 +9,28 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>config-editor</artifactId> <artifactId>config-editor</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId> <artifactId>commons-lang3</artifactId>
<version>3.8.1</version> <version>${commons_lang3_version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol-common</artifactId> <artifactId>siembol-common</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>config-editor-core</artifactId> <artifactId>config-editor-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>parsing-app</artifactId> <artifactId>parsing-app</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
@@ -85,12 +85,6 @@
<artifactId>slf4j-api</artifactId> <artifactId>slf4j-api</artifactId>
<version>1.7.21</version> <version>1.7.21</version>
</dependency> </dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
@@ -111,17 +105,5 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-Xlint:unchecked</compilerArgument>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol</artifactId> <artifactId>siembol</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<modules> <modules>
<module>config-editor-core</module> <module>config-editor-core</module>
@@ -22,19 +22,5 @@
<dependencies> <dependencies>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -9,7 +9,7 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol</artifactId> <artifactId>siembol</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<dependencyManagement> <dependencyManagement>
@@ -29,10 +29,16 @@
<artifactId>spring-boot-starter-logging</artifactId> <artifactId>spring-boot-starter-logging</artifactId>
<version>${spring_boot_version}</version> <version>${spring_boot_version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${http_client_version}</version>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol-common</artifactId> <artifactId>siembol-common</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
@@ -172,20 +178,6 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-Xlint:unchecked</compilerArgument>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
</plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

View File

@@ -7,6 +7,7 @@ import org.springframework.context.annotation.Configuration;
import uk.co.gresearch.siembol.common.utils.HttpProvider; import uk.co.gresearch.siembol.common.utils.HttpProvider;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnector; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnector;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactoryImpl;
import uk.co.gresearch.siembol.deployment.storm.providers.KubernetesProvider; import uk.co.gresearch.siembol.deployment.storm.providers.KubernetesProvider;
import uk.co.gresearch.siembol.deployment.storm.providers.KubernetesProviderImpl; import uk.co.gresearch.siembol.deployment.storm.providers.KubernetesProviderImpl;
import uk.co.gresearch.siembol.deployment.storm.providers.StormProvider; import uk.co.gresearch.siembol.deployment.storm.providers.StormProvider;
@@ -40,13 +41,13 @@ class TopologyManagerConfiguration {
@Bean @Bean
ZookeeperConnector desiredStateZkConnector() throws Exception { ZookeeperConnector desiredStateZkConnector() throws Exception {
ZookeeperConnectorFactory factory = new ZookeeperConnectorFactory(){}; ZookeeperConnectorFactory factory = new ZookeeperConnectorFactoryImpl();
return factory.createZookeeperConnector(properties.getDesiredState()); return factory.createZookeeperConnector(properties.getDesiredState());
} }
@Bean @Bean
ZookeeperConnector savedStateZkConnector() throws Exception { ZookeeperConnector savedStateZkConnector() throws Exception {
ZookeeperConnectorFactory factory = new ZookeeperConnectorFactory() {}; ZookeeperConnectorFactory factory = new ZookeeperConnectorFactoryImpl();
return factory.createZookeeperConnector(properties.getSavedState()); return factory.createZookeeperConnector(properties.getSavedState());
} }

View File

@@ -11,18 +11,36 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>enriching</artifactId> <artifactId>enriching</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol-common</artifactId> <artifactId>siembol-common</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>alerting-core</artifactId> <artifactId>alerting-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.adrianwalker</groupId> <groupId>org.adrianwalker</groupId>
@@ -39,7 +57,7 @@
<dependency> <dependency>
<groupId>com.github.java-json-tools</groupId> <groupId>com.github.java-json-tools</groupId>
<artifactId>json-schema-core</artifactId> <artifactId>json-schema-core</artifactId>
<version>1.2.10</version> <version>${json_schema_core_version}</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
@@ -55,12 +73,13 @@
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId> <artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version> <version>${slf4j_version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>log4j</groupId> <groupId>log4j</groupId>
<artifactId>log4j</artifactId> <artifactId>log4j</artifactId>
<version>1.2.17</version> <version>1.2.17</version>
<scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.mockito</groupId> <groupId>org.mockito</groupId>
@@ -70,20 +89,6 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -9,6 +9,7 @@ import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class EnrichmentCommand implements Serializable { public class EnrichmentCommand implements Serializable {
private static final long serialVersionUID = 1L;
private String tableName; private String tableName;
private String key; private String key;
private ArrayList<Pair<String, String>> tags; private ArrayList<Pair<String, String>> tags;

View File

@@ -7,10 +7,12 @@ import org.apache.commons.lang3.tuple.Pair;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.Serializable;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class EnrichmentMemoryTable implements EnrichmentTable { public class EnrichmentMemoryTable implements EnrichmentTable, Serializable {
private static final long serialVersionUID = 1L;
private static final String INVALID_JSON_TABLE_OBJECT = "Json table should be a json object"; private static final String INVALID_JSON_TABLE_OBJECT = "Json table should be a json object";
private static final String INVALID_JSON_TABLE_FIELD_MSG = "Invalid json table field: %s key: %s, " + private static final String INVALID_JSON_TABLE_FIELD_MSG = "Invalid json table field: %s key: %s, " +
"only strings fields are supported "; "only strings fields are supported ";

View File

@@ -9,7 +9,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
public interface EnrichmentTable extends Serializable { public interface EnrichmentTable {
boolean containsKey(String key); boolean containsKey(String key);

View File

@@ -4,6 +4,7 @@ import org.apache.commons.lang3.tuple.Pair;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito; import org.mockito.Mockito;
import uk.co.gresearch.siembol.enrichments.common.EnrichmentCommand; import uk.co.gresearch.siembol.enrichments.common.EnrichmentCommand;
import uk.co.gresearch.siembol.alerts.common.EvaluationResult; import uk.co.gresearch.siembol.alerts.common.EvaluationResult;
@@ -17,6 +18,7 @@ import java.util.Map;
import java.util.HashMap; import java.util.HashMap;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyMap;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
public class EnrichingRuleTest { public class EnrichingRuleTest {
@@ -39,7 +41,7 @@ public class EnrichingRuleTest {
enrichmentTags.add(Pair.of("is_test", "true")); enrichmentTags.add(Pair.of("is_test", "true"));
matcher = Mockito.mock(RuleMatcher.class); matcher = Mockito.mock(RuleMatcher.class);
event = new HashMap<>(); event = new HashMap<>();
when(matcher.match(any())).thenReturn(EvaluationResult.MATCH); when(matcher.match(ArgumentMatchers.<Map<String, Object>>any())).thenReturn(EvaluationResult.MATCH);
} }
@Test @Test

View File

@@ -9,9 +9,24 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>enriching</artifactId> <artifactId>enriching</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson_version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson_version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson_version}</version>
</dependency>
<dependency> <dependency>
<groupId>org.apache.kafka</groupId> <groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId> <artifactId>kafka_2.11</artifactId>
@@ -28,21 +43,6 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency>
<groupId>uk.co.gresearch.siembol</groupId>
<artifactId>enriching-core</artifactId>
<version>1.79-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency> <dependency>
<groupId>org.apache.kafka</groupId> <groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId> <artifactId>kafka-clients</artifactId>
@@ -59,6 +59,21 @@
<version>${storm_version}</version> <version>${storm_version}</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>uk.co.gresearch.siembol</groupId>
<artifactId>enriching-core</artifactId>
<version>1.80-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
@@ -102,6 +117,24 @@
<groupId>org.apache.hadoop</groupId> <groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId> <artifactId>hadoop-common</artifactId>
<version>${hadoop_version}</version> <version>${hadoop_version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.woodstox</groupId>
<artifactId>stax2-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.htrace</groupId>
<artifactId>htrace-core4</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.mockito</groupId> <groupId>org.mockito</groupId>
@@ -142,13 +175,34 @@
<filter> <filter>
<artifact>*:*</artifact> <artifact>*:*</artifact>
<excludes> <excludes>
<exclude>module-info.class</exclude>
<exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude> <exclude>META-INF/*.RSA</exclude>
<exclude>META-INF/*.MF</exclude>
<exclude>META-INF/*.txt</exclude>
<exclude>META-INF/*/schema</exclude>
<exclude>META-INF/LICENSE</exclude>
<exclude>META-INF/NOTICE</exclude>
<exclude>META-INF/DEPENDENCIES</exclude>
<exclude>META-INF/ASL2.0</exclude>
<exclude>META-INF/services/javax.ws.rs.ext.*</exclude>
<exclude>META-INF/jersey-module-version</exclude>
<exclude>*/schema</exclude>
<exclude>LICENSE.txt</exclude>
<exclude>about.html</exclude>
</excludes> </excludes>
</filter> </filter>
</filters> </filters>
<relocations> <relocations>
<relocation>
<pattern>com</pattern>
<shadedPattern>repackaged.com</shadedPattern>
<includes>
<include>com.fasterxml.jackson.*</include>
<include>com.google.guava.*</include>
</includes>
</relocation>
</relocations> </relocations>
<artifactSet> <artifactSet>
<excludes> <excludes>

View File

@@ -15,6 +15,7 @@ import uk.co.gresearch.siembol.common.error.ErrorType;
import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto; import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnector; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnector;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactoryImpl;
import uk.co.gresearch.siembol.enrichments.common.EnrichmentResult; import uk.co.gresearch.siembol.enrichments.common.EnrichmentResult;
import uk.co.gresearch.siembol.enrichments.compiler.EnrichmentCompilerImpl; import uk.co.gresearch.siembol.enrichments.compiler.EnrichmentCompilerImpl;
import uk.co.gresearch.siembol.enrichments.evaluation.EnrichmentEvaluator; import uk.co.gresearch.siembol.enrichments.evaluation.EnrichmentEvaluator;
@@ -30,6 +31,7 @@ import java.util.concurrent.atomic.AtomicReference;
import static uk.co.gresearch.siembol.enrichments.common.EnrichmentResult.StatusCode.OK; import static uk.co.gresearch.siembol.enrichments.common.EnrichmentResult.StatusCode.OK;
public class EnrichmentEvaluatorBolt extends BaseRichBolt { public class EnrichmentEvaluatorBolt extends BaseRichBolt {
private static final long serialVersionUID = 1L;
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final String INIT_EXCEPTION_MSG_FORMAT = "Enriching rule engine exception: %s during initialising alerts engine"; private static final String INIT_EXCEPTION_MSG_FORMAT = "Enriching rule engine exception: %s during initialising alerts engine";
@@ -56,9 +58,10 @@ public class EnrichmentEvaluatorBolt extends BaseRichBolt {
} }
public EnrichmentEvaluatorBolt(StormEnrichmentAttributesDto attributes) { public EnrichmentEvaluatorBolt(StormEnrichmentAttributesDto attributes) {
this(attributes, new ZookeeperConnectorFactory() {}); this(attributes, new ZookeeperConnectorFactoryImpl());
} }
@SuppressWarnings("rawtypes")
@Override @Override
public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) { public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) {
this.collector = outputCollector; this.collector = outputCollector;

View File

@@ -25,6 +25,7 @@ import java.util.Map;
import java.util.Optional; import java.util.Optional;
public class EnrichmentMergerBolt extends BaseRichBolt { public class EnrichmentMergerBolt extends BaseRichBolt {
private static final long serialVersionUID = 1L;
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final String INVALID_TYPE_IN_TUPLES = "Invalid type in tuple provided"; private static final String INVALID_TYPE_IN_TUPLES = "Invalid type in tuple provided";
private static final String MERGING_ERROR = "Unable to merge the event: {} with the enrichments : {}"; private static final String MERGING_ERROR = "Unable to merge the event: {} with the enrichments : {}";
@@ -39,6 +40,7 @@ public class EnrichmentMergerBolt extends BaseRichBolt {
this.errorTopic = attributes.getEnrichingErrorTopic(); this.errorTopic = attributes.getEnrichingErrorTopic();
} }
@SuppressWarnings("rawtypes")
@Override @Override
public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) { public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) {
collector = outputCollector; collector = outputCollector;

View File

@@ -22,6 +22,7 @@ import uk.co.gresearch.siembol.common.model.StormEnrichmentAttributesDto;
import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto; import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnector; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnector;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactoryImpl;
import uk.co.gresearch.siembol.enrichments.common.EnrichmentCommand; import uk.co.gresearch.siembol.enrichments.common.EnrichmentCommand;
import uk.co.gresearch.siembol.enrichments.storm.common.*; import uk.co.gresearch.siembol.enrichments.storm.common.*;
import uk.co.gresearch.siembol.enrichments.table.EnrichmentMemoryTable; import uk.co.gresearch.siembol.enrichments.table.EnrichmentMemoryTable;
@@ -36,6 +37,7 @@ import java.util.Optional;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
public class MemoryTableEnrichmentBolt extends BaseRichBolt { public class MemoryTableEnrichmentBolt extends BaseRichBolt {
private static final long serialVersionUID = 1L;
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final ObjectReader TABLES_UPDATE_READER = new ObjectMapper() private static final ObjectReader TABLES_UPDATE_READER = new ObjectMapper()
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
@@ -71,10 +73,11 @@ public class MemoryTableEnrichmentBolt extends BaseRichBolt {
public MemoryTableEnrichmentBolt(StormEnrichmentAttributesDto attributes) { public MemoryTableEnrichmentBolt(StormEnrichmentAttributesDto attributes) {
this(attributes, this(attributes,
new ZookeeperConnectorFactory() {}, new ZookeeperConnectorFactoryImpl(),
new HdfsFileSystemFactory(attributes.getEnrichingTablesHdfsUri())); new HdfsFileSystemFactory(attributes.getEnrichingTablesHdfsUri()));
} }
@SuppressWarnings("rawtypes")
@Override @Override
public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) { public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) {
this.collector = outputCollector; this.collector = outputCollector;

View File

@@ -18,6 +18,7 @@ import uk.co.gresearch.siembol.common.storm.KafkaBatchWriterBolt;
import uk.co.gresearch.siembol.common.model.StormAttributesDto; import uk.co.gresearch.siembol.common.model.StormAttributesDto;
import uk.co.gresearch.siembol.common.storm.StormHelper; import uk.co.gresearch.siembol.common.storm.StormHelper;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactoryImpl;
import uk.co.gresearch.siembol.enrichments.storm.common.EnrichmentTuples; import uk.co.gresearch.siembol.enrichments.storm.common.EnrichmentTuples;
import uk.co.gresearch.siembol.common.model.StormEnrichmentAttributesDto; import uk.co.gresearch.siembol.common.model.StormEnrichmentAttributesDto;
@@ -99,7 +100,7 @@ public class StormEnrichingApplication {
Config config = new Config(); Config config = new Config();
config.putAll(attributes.getStormAttributes().getStormConfig().getRawMap()); config.putAll(attributes.getStormAttributes().getStormConfig().getRawMap());
StormTopology topology = createTopology(attributes, StormTopology topology = createTopology(attributes,
new ZookeeperConnectorFactory() {}, new ZookeeperConnectorFactoryImpl(),
new HdfsFileSystemFactory(attributes.getEnrichingTablesHdfsUri())); new HdfsFileSystemFactory(attributes.getEnrichingTablesHdfsUri()));
LOG.info(SUBMIT_INFO_MSG, attributesStr); LOG.info(SUBMIT_INFO_MSG, attributesStr);

View File

@@ -5,4 +5,5 @@ import uk.co.gresearch.siembol.enrichments.common.EnrichmentCommand;
import java.util.ArrayList; import java.util.ArrayList;
public class EnrichmentCommands extends ArrayList<EnrichmentCommand> { public class EnrichmentCommands extends ArrayList<EnrichmentCommand> {
private static final long serialVersionUID = 1L;
} }

View File

@@ -3,4 +3,5 @@ package uk.co.gresearch.siembol.enrichments.storm.common;
import java.util.ArrayList; import java.util.ArrayList;
public class EnrichmentExceptions extends ArrayList<String> { public class EnrichmentExceptions extends ArrayList<String> {
private static final long serialVersionUID = 1L;
} }

View File

@@ -4,4 +4,5 @@ import org.apache.commons.lang3.tuple.Pair;
import java.util.ArrayList; import java.util.ArrayList;
public class EnrichmentPairs extends ArrayList<Pair<String, String>> { public class EnrichmentPairs extends ArrayList<Pair<String, String>> {
private static final long serialVersionUID = 1L;
} }

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol</artifactId> <artifactId>siembol</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<modules> <modules>
<module>enriching-core</module> <module>enriching-core</module>
@@ -20,19 +20,5 @@
<dependencies> <dependencies>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -11,18 +11,40 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>parsing</artifactId> <artifactId>parsing</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j_version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.github.reinert</groupId>
<artifactId>jjschema</artifactId>
<version>1.16</version>
</dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol-common</artifactId> <artifactId>siembol-common</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>parsing-core</artifactId> <artifactId>parsing-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.adrianwalker</groupId> <groupId>org.adrianwalker</groupId>
@@ -39,12 +61,14 @@
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId> <artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version> <version>${slf4j_version}</version>
<scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>log4j</groupId> <groupId>log4j</groupId>
<artifactId>log4j</artifactId> <artifactId>log4j</artifactId>
<version>1.2.17</version> <version>1.2.17</version>
<scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.mockito</groupId> <groupId>org.mockito</groupId>
@@ -54,63 +78,6 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${shade_version}</version>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<artifactSet>
<excludes>
<exclude>*slf4j*</exclude>
</excludes>
</artifactSet>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>false</shadedArtifactAttached>
<shadedClassifierName>uber</shadedClassifierName>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<relocations>
</relocations>
<artifactSet>
<excludes>
<exclude>org.slf4j.impl*</exclude>
<exclude>org.slf4j:slf4j-log4j*</exclude>
</excludes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -22,9 +22,11 @@ import java.util.stream.Collectors;
public abstract class ParsingApplicationParser implements Serializable { public abstract class ParsingApplicationParser implements Serializable {
public enum Flags implements Serializable { public enum Flags implements Serializable {
PARSE_METADATA, PARSE_METADATA,
ADD_GUID_TO_MESSAGES ADD_GUID_TO_MESSAGES;
private static final long serialVersionUID = 1L;
} }
private static final long serialVersionUID = 1L;
private static final Logger LOG = LoggerFactory private static final Logger LOG = LoggerFactory
.getLogger(MethodHandles.lookup().lookupClass()); .getLogger(MethodHandles.lookup().lookupClass());
private static final ObjectWriter JSON_WRITER = new ObjectMapper() private static final ObjectWriter JSON_WRITER = new ObjectMapper()
@@ -35,7 +37,6 @@ public abstract class ParsingApplicationParser implements Serializable {
"metadata: {}, exception: {}"; "metadata: {}, exception: {}";
private static final String MISSING_ARGUMENTS = "Missing arguments required for Parsing application parser"; private static final String MISSING_ARGUMENTS = "Missing arguments required for Parsing application parser";
private final EnumSet<Flags> flags; private final EnumSet<Flags> flags;
private final String name; private final String name;
private final String metadataFormatMsg; private final String metadataFormatMsg;
@@ -132,6 +133,7 @@ public abstract class ParsingApplicationParser implements Serializable {
} }
public static abstract class Builder<T extends ParsingApplicationParser> implements Serializable { public static abstract class Builder<T extends ParsingApplicationParser> implements Serializable {
private static final long serialVersionUID = 1L;
private static final String METADATA_FORMAT_MSG = "%s"; private static final String METADATA_FORMAT_MSG = "%s";
protected EnumSet<Flags> flags = EnumSet.noneOf(Flags.class); protected EnumSet<Flags> flags = EnumSet.noneOf(Flags.class);
protected String name; protected String name;

View File

@@ -4,6 +4,7 @@ import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
public class ParsingApplicationResult implements Serializable { public class ParsingApplicationResult implements Serializable {
private static final long serialVersionUID = 1L;
private final String topic; private final String topic;
private final ArrayList<String> messages; private final ArrayList<String> messages;

View File

@@ -11,10 +11,11 @@ import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class RoutingParsingApplicationParser extends ParsingApplicationParser { public class RoutingParsingApplicationParser extends ParsingApplicationParser {
private static final long serialVersionUID = 1L;
private static final Logger LOG = LoggerFactory private static final Logger LOG = LoggerFactory
.getLogger(MethodHandles.lookup().lookupClass()); .getLogger(MethodHandles.lookup().lookupClass());
private static final String MISSING_ROUTER_FIELDS = "Missing routing fields: %s, %s, in the parsed message: %s"; private static final String MISSING_ROUTER_FIELDS = "Missing routing fields: %s, %s, in the parsed message: %s";
static final String MISSING_ARGUMENTS = "Missing arguments in routing parsing application"; private static final String MISSING_ARGUMENTS = "Missing arguments in routing parsing application";
private final String routingConditionField; private final String routingConditionField;
private final String routingMessageField; private final String routingMessageField;
@@ -77,6 +78,7 @@ public class RoutingParsingApplicationParser extends ParsingApplicationParser {
public static Builder<RoutingParsingApplicationParser> builder() { public static Builder<RoutingParsingApplicationParser> builder() {
return new Builder<RoutingParsingApplicationParser>() { return new Builder<RoutingParsingApplicationParser>() {
private static final long serialVersionUID = 1L;
@Override @Override
public RoutingParsingApplicationParser build() { public RoutingParsingApplicationParser build() {
if (routerParser == null if (routerParser == null
@@ -95,6 +97,8 @@ public class RoutingParsingApplicationParser extends ParsingApplicationParser {
public static abstract class Builder<T extends RoutingParsingApplicationParser> extends public static abstract class Builder<T extends RoutingParsingApplicationParser> extends
ParsingApplicationParser.Builder<T> { ParsingApplicationParser.Builder<T> {
private static final long serialVersionUID = 1L;
protected String routingConditionField; protected String routingConditionField;
protected String routingMessageField; protected String routingMessageField;
protected ArrayList<String> mergedFields = new ArrayList<>(); protected ArrayList<String> mergedFields = new ArrayList<>();

View File

@@ -9,6 +9,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
public class SiembolParserWrapper implements SiembolParser, Serializable { public class SiembolParserWrapper implements SiembolParser, Serializable {
private static final long serialVersionUID = 1L;
private final RouterCondition condition; private final RouterCondition condition;
private final SerializableSiembolParser parser; private final SerializableSiembolParser parser;
private final String topic; private final String topic;

View File

@@ -9,6 +9,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class SingleApplicationParser extends ParsingApplicationParser { public class SingleApplicationParser extends ParsingApplicationParser {
private static final long serialVersionUID = 1L;
private static final Logger LOG = LoggerFactory private static final Logger LOG = LoggerFactory
.getLogger(MethodHandles.lookup().lookupClass()); .getLogger(MethodHandles.lookup().lookupClass());
static final String MISSING_ARGUMENTS = "Missing arguments in single application parser"; static final String MISSING_ARGUMENTS = "Missing arguments in single application parser";
@@ -29,6 +30,7 @@ public class SingleApplicationParser extends ParsingApplicationParser {
public static Builder<SingleApplicationParser> builder() { public static Builder<SingleApplicationParser> builder() {
return new Builder<SingleApplicationParser>() { return new Builder<SingleApplicationParser>() {
private static final long serialVersionUID = 1L;
@Override @Override
public SingleApplicationParser build() { public SingleApplicationParser build() {
if (parser == null) { if (parser == null) {
@@ -43,6 +45,7 @@ public class SingleApplicationParser extends ParsingApplicationParser {
public static abstract class Builder<T extends SingleApplicationParser> extends public static abstract class Builder<T extends SingleApplicationParser> extends
ParsingApplicationParser.Builder<T> { ParsingApplicationParser.Builder<T> {
private static final long serialVersionUID = 1L;
protected SiembolParserWrapper parser; protected SiembolParserWrapper parser;
public Builder<T> parser(String topic, SerializableSiembolParser siembolParser) throws Exception { public Builder<T> parser(String topic, SerializableSiembolParser siembolParser) throws Exception {

View File

@@ -11,13 +11,41 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>parsing</artifactId> <artifactId>parsing</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j_version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons_lang3_version}</version>
</dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol-common</artifactId> <artifactId>siembol-common</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>joda-time</groupId> <groupId>joda-time</groupId>
@@ -36,47 +64,12 @@
<version>${junit_version}</version> <version>${junit_version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>com.github.java-json-tools</groupId>
<artifactId>json-schema-core</artifactId>
<version>1.2.10</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.java-json-tools</groupId>
<artifactId>json-schema-validator</artifactId>
<version>${json_schema_validator_version}</version>
</dependency>
<dependency> <dependency>
<groupId>com.github.reinert</groupId> <groupId>com.github.reinert</groupId>
<artifactId>jjschema</artifactId> <artifactId>jjschema</artifactId>
<version>1.16</version> <version>1.16</version>
</dependency> </dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -13,6 +13,7 @@ import java.util.Map;
import static uk.co.gresearch.siembol.parsers.factory.ParserFactoryResult.StatusCode.OK; import static uk.co.gresearch.siembol.parsers.factory.ParserFactoryResult.StatusCode.OK;
public class SerializableSiembolParser implements SiembolParser, Serializable { public class SerializableSiembolParser implements SiembolParser, Serializable {
private static final long serialVersionUID = 1L;
private static final String WRONG_CONFIG_EXCEPTION_MSG = "Unable to create parser from config %s, Message: %s"; private static final String WRONG_CONFIG_EXCEPTION_MSG = "Unable to create parser from config %s, Message: %s";
private transient SiembolParser parser; private transient SiembolParser parser;
private String parserConfig; private String parserConfig;

View File

@@ -15,22 +15,22 @@ public class NetflowParsingResult {
private final StatusCode code; private final StatusCode code;
private final NetflowHeader header; private final NetflowHeader header;
private final NetflowTransportMessage transportMessage; private final NetflowTransportMessage<?> transportMessage;
private final List<List<Pair<String, Object>>> dataFlowSet; private final List<List<Pair<String, Object>>> dataFlowSet;
NetflowParsingResult(StatusCode code, NetflowParsingResult(StatusCode code,
NetflowTransportMessage transportMessage) { NetflowTransportMessage<?> transportMessage) {
this(code, transportMessage, null, null); this(code, transportMessage, null, null);
} }
NetflowParsingResult(StatusCode code, NetflowParsingResult(StatusCode code,
NetflowTransportMessage transportMessage, NetflowTransportMessage<?> transportMessage,
NetflowHeader header) { NetflowHeader header) {
this(code, transportMessage, header, null); this(code, transportMessage, header, null);
} }
NetflowParsingResult(StatusCode code, NetflowParsingResult(StatusCode code,
NetflowTransportMessage transportMessage, NetflowTransportMessage<?> transportMessage,
NetflowHeader header, NetflowHeader header,
List<List<Pair<String, Object>>> dataFlowSet){ List<List<Pair<String, Object>>> dataFlowSet){
this.code = code; this.code = code;

View File

@@ -19,7 +19,7 @@ public class SiembolNetflowParser implements SiembolParser {
public static final String NETFLOW_UNKNOWN_TEMPLATE = "netflow_unknown_template"; public static final String NETFLOW_UNKNOWN_TEMPLATE = "netflow_unknown_template";
public static final String UNSUPPORTED_MSG = "The method is unsupported because netflow parsing requires metadata"; public static final String UNSUPPORTED_MSG = "The method is unsupported because netflow parsing requires metadata";
private final NetflowParser netflowParser; private final NetflowParser<?> netflowParser;
private Map<String, Object> getUnknownTemplateObject(NetflowParsingResult parsingResult, byte[] bytes) { private Map<String, Object> getUnknownTemplateObject(NetflowParsingResult parsingResult, byte[] bytes) {
Map<String, Object> ret = new HashMap<>(); Map<String, Object> ret = new HashMap<>();

View File

@@ -9,9 +9,24 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>parsing</artifactId> <artifactId>parsing</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson_version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson_version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson_version}</version>
</dependency>
<dependency> <dependency>
<groupId>org.apache.kafka</groupId> <groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId> <artifactId>kafka_2.11</artifactId>
@@ -28,21 +43,6 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency>
<groupId>uk.co.gresearch.siembol</groupId>
<artifactId>parsing-app</artifactId>
<version>1.79-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency> <dependency>
<groupId>org.apache.kafka</groupId> <groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId> <artifactId>kafka-clients</artifactId>
@@ -59,6 +59,25 @@
<version>${storm_version}</version> <version>${storm_version}</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>uk.co.gresearch.siembol</groupId>
<artifactId>parsing-app</artifactId>
<version>1.80-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
@@ -137,13 +156,29 @@
<filter> <filter>
<artifact>*:*</artifact> <artifact>*:*</artifact>
<excludes> <excludes>
<exclude>module-info.class</exclude>
<exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude> <exclude>META-INF/*.RSA</exclude>
<exclude>META-INF/*.MF</exclude>
<exclude>META-INF/*.txt</exclude>
<exclude>*/schema</exclude>
<exclude>META-INF/LICENSE</exclude>
<exclude>META-INF/DEPENDENCIES</exclude>
<exclude>META-INF/NOTICE</exclude>
<exclude>LICENSE.txt</exclude>
</excludes> </excludes>
</filter> </filter>
</filters> </filters>
<relocations> <relocations>
<relocation>
<pattern>com</pattern>
<shadedPattern>repackaged.com</shadedPattern>
<includes>
<include>com.fasterxml.jackson.*</include>
<include>com.google.guava.*</include>
</includes>
</relocation>
</relocations> </relocations>
<artifactSet> <artifactSet>
<excludes> <excludes>

View File

@@ -16,6 +16,7 @@ import uk.co.gresearch.siembol.common.storm.KafkaBatchWriterMessages;
import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto; import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnector; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnector;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactoryImpl;
import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactory; import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactory;
import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryAttributes; import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryAttributes;
import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryImpl; import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryImpl;
@@ -28,6 +29,7 @@ import java.util.*;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
public class ParsingApplicationBolt extends BaseRichBolt { public class ParsingApplicationBolt extends BaseRichBolt {
private static final long serialVersionUID = 1L;
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final String PARSERCONFIG_UPDATE_TRY_MSG_FORMAT = "Trying to update parsing app: %s, " + private static final String PARSERCONFIG_UPDATE_TRY_MSG_FORMAT = "Trying to update parsing app: %s, " +
"by parser configs: %s, "; "by parser configs: %s, ";
@@ -59,9 +61,10 @@ public class ParsingApplicationBolt extends BaseRichBolt {
public ParsingApplicationBolt(StormParsingApplicationAttributesDto attributes, public ParsingApplicationBolt(StormParsingApplicationAttributesDto attributes,
ParsingApplicationFactoryAttributes parsingAttributes) throws Exception { ParsingApplicationFactoryAttributes parsingAttributes) throws Exception {
this(attributes, parsingAttributes, new ZookeeperConnectorFactory() {}); this(attributes, parsingAttributes, new ZookeeperConnectorFactoryImpl());
} }
@SuppressWarnings("rawtypes")
@Override @Override
public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) { public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) {
this.collector = outputCollector; this.collector = outputCollector;

View File

@@ -18,6 +18,7 @@ import uk.co.gresearch.siembol.common.storm.KafkaBatchWriterBolt;
import uk.co.gresearch.siembol.common.model.StormAttributesDto; import uk.co.gresearch.siembol.common.model.StormAttributesDto;
import uk.co.gresearch.siembol.common.storm.StormHelper; import uk.co.gresearch.siembol.common.storm.StormHelper;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactoryImpl;
import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryAttributes; import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryAttributes;
import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryImpl; import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryImpl;
import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryResult; import uk.co.gresearch.siembol.parsers.application.factory.ParsingApplicationFactoryResult;
@@ -105,7 +106,7 @@ public class StormParsingApplication {
ParsingApplicationFactoryAttributes parsingAttributes = result.getAttributes(); ParsingApplicationFactoryAttributes parsingAttributes = result.getAttributes();
Config config = new Config(); Config config = new Config();
config.putAll(stormAttributes.getStormAttributes().getStormConfig().getRawMap()); config.putAll(stormAttributes.getStormAttributes().getStormConfig().getRawMap());
StormTopology topology = createTopology(stormAttributes, parsingAttributes, new ZookeeperConnectorFactory() {}); StormTopology topology = createTopology(stormAttributes, parsingAttributes, new ZookeeperConnectorFactoryImpl());
String topologyName = stormAttributes.getTopologyName(parsingAttributes.getName()); String topologyName = stormAttributes.getTopologyName(parsingAttributes.getName());
LOG.info(SUBMIT_INFO_LOG, topologyName, stormAttributesStr, parsingAttributesStr); LOG.info(SUBMIT_INFO_LOG, topologyName, stormAttributesStr, parsingAttributesStr);
StormSubmitter.submitTopology(topologyName, config, topology); StormSubmitter.submitTopology(topologyName, config, topology);

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol</artifactId> <artifactId>siembol</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<modules> <modules>
<module>parsing-core</module> <module>parsing-core</module>
@@ -21,19 +21,5 @@
<dependencies> <dependencies>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

30
pom.xml
View File

@@ -6,7 +6,7 @@
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol</artifactId> <artifactId>siembol</artifactId>
<name>siembol</name> <name>siembol</name>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
<description>A scalable, advanced security analytics framework based on open-source big data technologies.</description> <description>A scalable, advanced security analytics framework based on open-source big data technologies.</description>
<inceptionYear>2019</inceptionYear> <inceptionYear>2019</inceptionYear>
<url>https://github.com/G-Research</url> <url>https://github.com/G-Research</url>
@@ -39,23 +39,26 @@
<maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.target>1.8</maven.compiler.target>
<java_version>1.8</java_version> <java_version>1.8</java_version>
<jackson_version>2.9.8</jackson_version> <jackson_version>2.12.2</jackson_version>
<junit_version>4.12</junit_version> <junit_version>4.12</junit_version>
<mockito_version>3.2.4</mockito_version> <mockito_version>3.9.0</mockito_version>
<shade_version>2.4.3</shade_version> <shade_version>3.2.4</shade_version>
<curator_version>2.12.0</curator_version> <curator_version>2.12.0</curator_version>
<storm_version>1.2.1</storm_version> <storm_version>1.2.1</storm_version>
<kafka_version>0.10.2.2</kafka_version> <kafka_version>0.10.2.2</kafka_version>
<kafka_junit_version>3.0.4</kafka_junit_version> <kafka_junit_version>3.0.4</kafka_junit_version>
<spark_version>2.2.0</spark_version> <spark_version>2.2.0</spark_version>
<hadoop_version>3.1.1</hadoop_version> <hadoop_version>3.1.1</hadoop_version>
<json_schema_validator_version>2.2.10</json_schema_validator_version> <json_schema_validator_version>2.2.14</json_schema_validator_version>
<json_schema_core_version>1.2.14</json_schema_core_version>
<spring_boot_version>2.3.1.RELEASE</spring_boot_version> <spring_boot_version>2.3.1.RELEASE</spring_boot_version>
<guava_version>29.0-jre</guava_version> <guava_version>29.0-jre</guava_version>
<springdoc_openapi_version>1.4.8</springdoc_openapi_version> <springdoc_openapi_version>1.4.8</springdoc_openapi_version>
<commons_beanutils_version>1.9.4</commons_beanutils_version> <commons_beanutils_version>1.9.4</commons_beanutils_version>
<multiline_string_version>0.1.2</multiline_string_version> <multiline_string_version>0.1.2</multiline_string_version>
<http_client_version>4.5.12</http_client_version> <http_client_version>4.5.12</http_client_version>
<slf4j_version>1.7.25</slf4j_version>
<commons_lang3_version>3.8.1</commons_lang3_version>
</properties> </properties>
<modules> <modules>
<module>siembol-common</module> <module>siembol-common</module>
@@ -107,11 +110,26 @@
<configuration> <configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse> <forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source> <source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument> <compilerArgs>
<arg>-Xlint:all</arg>
<arg>-Xlint:-processing</arg>
</compilerArgs>
<target>${java_version}</target> <target>${java_version}</target>
<showWarnings>true</showWarnings> <showWarnings>true</showWarnings>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>3.0.0-M5</version>
</dependency>
</dependencies>
</plugin>
<plugin> <plugin>
<groupId>org.sonatype.plugins</groupId> <groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId> <artifactId>nexus-staging-maven-plugin</artifactId>

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol</artifactId> <artifactId>siembol</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<modules> <modules>
<module>responding-core</module> <module>responding-core</module>
@@ -25,19 +25,5 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -11,18 +11,36 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>responding</artifactId> <artifactId>responding</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson_version}</version>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol-common</artifactId> <artifactId>siembol-common</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>alerting-core</artifactId> <artifactId>alerting-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.jayway.jsonpath</groupId> <groupId>com.jayway.jsonpath</groupId>
@@ -44,7 +62,7 @@
<dependency> <dependency>
<groupId>com.github.java-json-tools</groupId> <groupId>com.github.java-json-tools</groupId>
<artifactId>json-schema-core</artifactId> <artifactId>json-schema-core</artifactId>
<version>1.2.10</version> <version>${json_schema_core_version}</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
@@ -87,20 +105,6 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -13,6 +13,7 @@ import java.util.Map;
import java.util.UUID; import java.util.UUID;
public class ResponseAlert extends HashMap<String, Object> { public class ResponseAlert extends HashMap<String, Object> {
private static final long serialVersionUID = 1L;
private static ObjectReader ALERT_READER = new ObjectMapper() private static ObjectReader ALERT_READER = new ObjectMapper()
.readerFor(new TypeReference<Map<String, Object>>() {}); .readerFor(new TypeReference<Map<String, Object>>() {});
private static ObjectWriter RESPONSE_ALERT_WRITER = new ObjectMapper() private static ObjectWriter RESPONSE_ALERT_WRITER = new ObjectMapper()

View File

@@ -30,6 +30,7 @@ public class ArrayReducerEvaluator implements Evaluable {
@Override @Override
public RespondingResult evaluate(ResponseAlert alert) { public RespondingResult evaluate(ResponseAlert alert) {
try { try {
@SuppressWarnings("unchecked")
List<Map<String, Object>> array = (List<Map<String, Object>>)alert.get(arrayFieldName); List<Map<String, Object>> array = (List<Map<String, Object>>)alert.get(arrayFieldName);
if (array == null) { if (array == null) {
return RespondingResult.fromEvaluationResult(ResponseEvaluationResult.NO_MATCH, alert); return RespondingResult.fromEvaluationResult(ResponseEvaluationResult.NO_MATCH, alert);

View File

@@ -50,6 +50,7 @@ public class TableFormatter implements Evaluable {
return tableBuilder.build().toString(); return tableBuilder.build().toString();
} }
@SuppressWarnings("unchecked")
private static String formatArray(ResponseAlert responseAlert, String arrayField, FieldFilter fieldFilter) { private static String formatArray(ResponseAlert responseAlert, String arrayField, FieldFilter fieldFilter) {
Table.Builder tableBuilder = new Table.Builder(); Table.Builder tableBuilder = new Table.Builder();
List<Map<String, Object>> arrayObj; List<Map<String, Object>> arrayObj;

View File

@@ -9,7 +9,7 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>responding</artifactId> <artifactId>responding</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
@@ -23,6 +23,21 @@
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
<dependencies> <dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson_version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson_version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson_version}</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId> <artifactId>spring-boot-starter-logging</artifactId>
@@ -31,7 +46,7 @@
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol-common</artifactId> <artifactId>siembol-common</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
@@ -42,7 +57,7 @@
<dependency> <dependency>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>responding-core</artifactId> <artifactId>responding-core</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.kafka</groupId> <groupId>org.apache.kafka</groupId>

View File

@@ -6,6 +6,7 @@ import org.slf4j.LoggerFactory;
import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto; import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnector; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnector;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory; import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactory;
import uk.co.gresearch.siembol.common.zookeper.ZookeeperConnectorFactoryImpl;
import uk.co.gresearch.siembol.response.common.RespondingResult; import uk.co.gresearch.siembol.response.common.RespondingResult;
import uk.co.gresearch.siembol.response.compiler.RespondingCompiler; import uk.co.gresearch.siembol.response.compiler.RespondingCompiler;
import uk.co.gresearch.siembol.response.engine.ResponseEngine; import uk.co.gresearch.siembol.response.engine.ResponseEngine;
@@ -33,7 +34,7 @@ public class ZookeeperRulesProvider implements RulesProvider {
public ZookeeperRulesProvider(ZookeeperAttributesDto zookeperAttributes, public ZookeeperRulesProvider(ZookeeperAttributesDto zookeperAttributes,
RespondingCompiler respondingCompiler) throws Exception { RespondingCompiler respondingCompiler) throws Exception {
this(new ZookeeperConnectorFactory() {}, zookeperAttributes, respondingCompiler); this(new ZookeeperConnectorFactoryImpl(), zookeperAttributes, respondingCompiler);
} }
ZookeeperRulesProvider(ZookeeperConnectorFactory factory, ZookeeperRulesProvider(ZookeeperConnectorFactory factory,

View File

@@ -19,6 +19,7 @@ import java.util.UUID;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyMap;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
public class KafkaStreamRuleServiceTest { public class KafkaStreamRuleServiceTest {
@@ -75,7 +76,7 @@ public class KafkaStreamRuleServiceTest {
@Ignore @Ignore
@Test @Test
public void testMatchEngineTest() throws Exception { public void testMatchEngineTest() throws Exception {
when(rulesEngine.evaluate(any())) when(rulesEngine.evaluate(any(ResponseAlert.class)))
.thenReturn(RespondingResult.fromEvaluationResult(ResponseEvaluationResult.MATCH, responseAlert)); .thenReturn(RespondingResult.fromEvaluationResult(ResponseEvaluationResult.MATCH, responseAlert));
kafkaRule.helper().produceStrings(inputTopic, alertStr.trim());; kafkaRule.helper().produceStrings(inputTopic, alertStr.trim());;
Assert.assertEquals(Status.UP, streamService.checkHealth().toFuture().get().getStatus()); Assert.assertEquals(Status.UP, streamService.checkHealth().toFuture().get().getStatus());
@@ -85,7 +86,7 @@ public class KafkaStreamRuleServiceTest {
@Test @Test
public void testNoMatchEngineTest() throws Exception { public void testNoMatchEngineTest() throws Exception {
resultAttributes.setMessage("no rule matched"); resultAttributes.setMessage("no rule matched");
when(rulesEngine.evaluate(any())) when(rulesEngine.evaluate(any(ResponseAlert.class)))
.thenReturn(RespondingResult.fromEvaluationResult(ResponseEvaluationResult.NO_MATCH, responseAlert)); .thenReturn(RespondingResult.fromEvaluationResult(ResponseEvaluationResult.NO_MATCH, responseAlert));
kafkaRule.helper().produceStrings(inputTopic, alertStr.trim()); kafkaRule.helper().produceStrings(inputTopic, alertStr.trim());
@@ -99,7 +100,7 @@ public class KafkaStreamRuleServiceTest {
@Ignore @Ignore
@Test @Test
public void testErrorMatchEngineTest() throws Exception { public void testErrorMatchEngineTest() throws Exception {
when(rulesEngine.evaluate(any())) when(rulesEngine.evaluate(any(ResponseAlert.class)))
.thenReturn(RespondingResult.fromException(new IllegalStateException("tmp"))); .thenReturn(RespondingResult.fromException(new IllegalStateException("tmp")));
kafkaRule.helper().produceStrings(inputTopic, alertStr.trim()); kafkaRule.helper().produceStrings(inputTopic, alertStr.trim());
@@ -113,7 +114,7 @@ public class KafkaStreamRuleServiceTest {
@Ignore @Ignore
@Test @Test
public void testExceptionEngineTest() throws Exception { public void testExceptionEngineTest() throws Exception {
when(rulesEngine.evaluate(any())).thenThrow(new IllegalStateException()); when(rulesEngine.evaluate(any(ResponseAlert.class))).thenThrow(new IllegalStateException());
kafkaRule.helper().produceStrings(inputTopic, alertStr.trim()); kafkaRule.helper().produceStrings(inputTopic, alertStr.trim());
List<String> outputEvent = kafkaRule.helper().consumeStrings(errorTopic, 1) List<String> outputEvent = kafkaRule.helper().consumeStrings(errorTopic, 1)

View File

@@ -9,18 +9,19 @@
<parent> <parent>
<groupId>uk.co.gresearch.siembol</groupId> <groupId>uk.co.gresearch.siembol</groupId>
<artifactId>siembol</artifactId> <artifactId>siembol</artifactId>
<version>1.79-SNAPSHOT</version> <version>1.80-SNAPSHOT</version>
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId> <artifactId>commons-lang3</artifactId>
<version>3.8.1</version> <version>${commons_lang3_version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.httpcomponents</groupId> <groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId> <artifactId>httpclient</artifactId>
<version>${http_client_version}</version> <version>${http_client_version}</version>
<scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.storm</groupId> <groupId>org.apache.storm</groupId>
@@ -38,21 +39,24 @@
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId> <artifactId>jackson-core</artifactId>
<version>${jackson_version}</version> <version>${jackson_version}</version>
<scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>${jackson_version}</version> <version>${jackson_version}</version>
<scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
<version>${jackson_version}</version> <version>${jackson_version}</version>
<scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.github.java-json-tools</groupId> <groupId>com.github.java-json-tools</groupId>
<artifactId>json-schema-core</artifactId> <artifactId>json-schema-core</artifactId>
<version>1.2.10</version> <version>${json_schema_core_version}</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
@@ -77,12 +81,6 @@
<version>${curator_version}</version> <version>${curator_version}</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-test</artifactId>
<version>${curator_version}</version>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>org.apache.curator</groupId> <groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId> <artifactId>curator-client</artifactId>
@@ -101,39 +99,10 @@
<version>${kafka_version}</version> <version>${kafka_version}</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>org.adrianwalker</groupId>
<artifactId>multiline-string</artifactId>
<version>${multiline_string_version}</version>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId> <artifactId>slf4j-api</artifactId>
<version>1.7.21</version> <version>${slf4j_version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit_version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito_version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.charithe</groupId>
<artifactId>kafka-junit</artifactId>
<version>${kafka_junit_version}</version>
<scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springdoc</groupId> <groupId>org.springdoc</groupId>
@@ -161,19 +130,5 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<source>${java_version}</source>
<compilerArgument>-Xlint:unchecked</compilerArgument>
<target>${java_version}</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build> </build>
</project> </project>

View File

@@ -36,7 +36,9 @@ public class Oauth2Helper {
public static JwtDecoder createJwtDecoder(ResourceServerOauth2Properties properties) throws MalformedURLException { public static JwtDecoder createJwtDecoder(ResourceServerOauth2Properties properties) throws MalformedURLException {
List<OAuth2TokenValidator<Jwt>> validators = new ArrayList<>(); List<OAuth2TokenValidator<Jwt>> validators = new ArrayList<>();
validators.add(new JwtTimestampValidator(Duration.ofSeconds(JWT_CLOCK_SKEW_IN_SECONDS))); validators.add(new JwtTimestampValidator(Duration.ofSeconds(JWT_CLOCK_SKEW_IN_SECONDS)));
validators.add(new JwtIssuerValidator(properties.getIssuerUrl())); validators.add(new JwtIssuerValidator(properties.getIssuerUrl()));
validators.add(token -> token.getAudience().contains(properties.getAudience()) validators.add(token -> token.getAudience().contains(properties.getAudience())
? OAuth2TokenValidatorResult.success() ? OAuth2TokenValidatorResult.success()
: OAuth2TokenValidatorResult.failure(new OAuth2Error(MISSING_REQUIRED_AUDIENCE))); : OAuth2TokenValidatorResult.failure(new OAuth2Error(MISSING_REQUIRED_AUDIENCE)));
@@ -52,8 +54,7 @@ public class Oauth2Helper {
jwtProcessor.setJWSKeySelector(new JWSVerificationKeySelector<>( jwtProcessor.setJWSKeySelector(new JWSVerificationKeySelector<>(
new JWSAlgorithm(properties.getJwsAlgorithm()), jwkSource)); new JWSAlgorithm(properties.getJwsAlgorithm()), jwkSource));
jwtProcessor.setJWTClaimsSetVerifier((claims, context) -> { jwtProcessor.setJWTClaimsSetVerifier((claims, context) -> {});
});
NimbusJwtDecoder jwtDecoder = new NimbusJwtDecoder(jwtProcessor); NimbusJwtDecoder jwtDecoder = new NimbusJwtDecoder(jwtProcessor);
jwtDecoder.setJwtValidator(jwtValidator); jwtDecoder.setJwtValidator(jwtValidator);

View File

@@ -10,6 +10,7 @@ import java.io.Serializable;
import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodHandles;
public class ByteArrayFileSystem implements SiembolFileSystem, Serializable { public class ByteArrayFileSystem implements SiembolFileSystem, Serializable {
private static final long serialVersionUID = 1L;
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private String data; private String data;

View File

@@ -3,6 +3,7 @@ package uk.co.gresearch.siembol.common.filesystem;
import java.io.IOException; import java.io.IOException;
public class HdfsFileSystemFactory implements SiembolFileSystemFactory { public class HdfsFileSystemFactory implements SiembolFileSystemFactory {
private static final long serialVersionUID = 1L;
private final String uri; private final String uri;
public HdfsFileSystemFactory(String uri) { public HdfsFileSystemFactory(String uri) {

View File

@@ -89,7 +89,7 @@ public class ModelHelper {
return ret; return ret;
} }
private static boolean isInterestingType(Class type) { private static boolean isInterestingType(Class<?> type) {
return !ClassUtils.isPrimitiveOrWrapper(type) return !ClassUtils.isPrimitiveOrWrapper(type)
&& !type.equals(String.class) && !type.equals(String.class)
&& !type.isEnum(); && !type.isEnum();

View File

@@ -9,6 +9,7 @@ import java.util.List;
@Attributes(title = "storm alerting attributes", description = "Attributes for siembol alerting") @Attributes(title = "storm alerting attributes", description = "Attributes for siembol alerting")
public class AlertingStormAttributesDto extends AdminConfigDto implements Serializable { public class AlertingStormAttributesDto extends AdminConfigDto implements Serializable {
private static final long serialVersionUID = 1L;
@Attributes(required = true, description = "The type of siembol alerting engine") @Attributes(required = true, description = "The type of siembol alerting engine")
@JsonProperty("alerts.engine") @JsonProperty("alerts.engine")
private String alertingEngine; private String alertingEngine;

View File

@@ -7,6 +7,8 @@ import java.io.Serializable;
@Attributes(title = "overridden application attributes", description = "Storm parsing application attributes") @Attributes(title = "overridden application attributes", description = "Storm parsing application attributes")
public class OverriddenApplicationAttributesDto implements Serializable { public class OverriddenApplicationAttributesDto implements Serializable {
private static final long serialVersionUID = 1L;
@JsonProperty("application.name") @JsonProperty("application.name")
@Attributes(description = "The name of the application with the overridden attributes", required = true) @Attributes(description = "The name of the application with the overridden attributes", required = true)
private String applicationName; private String applicationName;

View File

@@ -8,6 +8,8 @@ import java.util.List;
@Attributes(title = "storm enrichment attributes", description = "Attributes for storm enrichment configuration") @Attributes(title = "storm enrichment attributes", description = "Attributes for storm enrichment configuration")
public class StormEnrichmentAttributesDto extends AdminConfigDto implements Serializable { public class StormEnrichmentAttributesDto extends AdminConfigDto implements Serializable {
private static final long serialVersionUID = 1L;
@JsonProperty("topology.name") @JsonProperty("topology.name")
@Attributes(required = true, description = "The name of storm topology") @Attributes(required = true, description = "The name of storm topology")
private String topologyName = "siembol-enrichment"; private String topologyName = "siembol-enrichment";

View File

@@ -10,6 +10,7 @@ import java.util.List;
@Attributes(title = "storm parsing application attributes", description = "Storm parsing application attributes") @Attributes(title = "storm parsing application attributes", description = "Storm parsing application attributes")
public class StormParsingApplicationAttributesDto extends AdminConfigDto implements Serializable { public class StormParsingApplicationAttributesDto extends AdminConfigDto implements Serializable {
private static final long serialVersionUID = 1L;
private static final String KAFKA_PRINCIPAL_FORMAT_MSG = "%s.%s"; private static final String KAFKA_PRINCIPAL_FORMAT_MSG = "%s.%s";
private static final String TOPOLOGY_NAME_FORMAT_MSG = "%s-%s"; private static final String TOPOLOGY_NAME_FORMAT_MSG = "%s-%s";

View File

@@ -7,6 +7,7 @@ import java.io.Serializable;
@Attributes(title = "zookeeper attributes", description = "Zookeeper attributes for node cache") @Attributes(title = "zookeeper attributes", description = "Zookeeper attributes for node cache")
public class ZookeeperAttributesDto implements Serializable { public class ZookeeperAttributesDto implements Serializable {
private static final long serialVersionUID = 1L;
@JsonProperty("zk.url") @JsonProperty("zk.url")
@Attributes(required = true, description = "Zookeeper servers url. Multiple servers are separated by comma") @Attributes(required = true, description = "Zookeeper servers url. Multiple servers are separated by comma")
private String zkUrl; private String zkUrl;

View File

@@ -25,6 +25,7 @@ import static org.apache.storm.utils.TupleUtils.isTick;
import static org.apache.storm.utils.TupleUtils.putTickFrequencyIntoComponentConfig; import static org.apache.storm.utils.TupleUtils.putTickFrequencyIntoComponentConfig;
public class KafkaBatchWriterBolt extends BaseRichBolt { public class KafkaBatchWriterBolt extends BaseRichBolt {
private static final long serialVersionUID = 1L;
private static final Logger LOG = private static final Logger LOG =
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final int ACK_INTERVAL_ACK_IN_SEC = 1; private static final int ACK_INTERVAL_ACK_IN_SEC = 1;
@@ -75,6 +76,7 @@ public class KafkaBatchWriterBolt extends BaseRichBolt {
} }
} }
@SuppressWarnings("rawtypes")
@Override @Override
public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) { public void prepare(Map map, TopologyContext topologyContext, OutputCollector outputCollector) {
this.collector = outputCollector; this.collector = outputCollector;

View File

@@ -3,6 +3,7 @@ package uk.co.gresearch.siembol.common.storm;
import java.io.Serializable; import java.io.Serializable;
public class KafkaBatchWriterMessage implements Serializable { public class KafkaBatchWriterMessage implements Serializable {
private static final long serialVersionUID = 1L;
private final String topic; private final String topic;
private final String message; private final String message;

View File

@@ -3,4 +3,5 @@ package uk.co.gresearch.siembol.common.storm;
import java.util.ArrayList; import java.util.ArrayList;
public class KafkaBatchWriterMessages extends ArrayList<KafkaBatchWriterMessage> { public class KafkaBatchWriterMessages extends ArrayList<KafkaBatchWriterMessage> {
private static final long serialVersionUID = 1L;
} }

View File

@@ -14,6 +14,8 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
public class TestingZookeeperConnectorFactory implements ZookeeperConnectorFactory { public class TestingZookeeperConnectorFactory implements ZookeeperConnectorFactory {
private static final long serialVersionUID = 1L;
private final ExecutorService executorService = Executors.newSingleThreadExecutor(); private final ExecutorService executorService = Executors.newSingleThreadExecutor();
private final Map<String, String> cache = new HashMap<>(); private final Map<String, String> cache = new HashMap<>();

View File

@@ -65,6 +65,7 @@ public class EvaluationLibrary {
return numVariableMatches == numVariableStartMatches && numVariableMatches > 0; return numVariableMatches == numVariableStartMatches && numVariableMatches > 0;
} }
@SuppressWarnings({"rawtypes", "unchecked"})
public static Object substituteBean(Object obj, Map<String, Object> event) throws Exception { public static Object substituteBean(Object obj, Map<String, Object> event) throws Exception {
//NOTE: currently we have beans with primitive types, Bean or List<Beans> //NOTE: currently we have beans with primitive types, Bean or List<Beans>
if (obj instanceof String) { if (obj instanceof String) {

View File

@@ -2,9 +2,7 @@ package uk.co.gresearch.siembol.common.zookeper;
import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto; import uk.co.gresearch.siembol.common.model.ZookeeperAttributesDto;
import java.io.Serializable; public interface ZookeeperConnectorFactory {
public interface ZookeeperConnectorFactory extends Serializable {
default ZookeeperConnector createZookeeperConnector(ZookeeperAttributesDto attributes) throws Exception { default ZookeeperConnector createZookeeperConnector(ZookeeperAttributesDto attributes) throws Exception {
return new ZookeeperConnectorImpl.Builder() return new ZookeeperConnectorImpl.Builder()
.zkServer(attributes.getZkUrl()) .zkServer(attributes.getZkUrl())

View File

@@ -0,0 +1,7 @@
package uk.co.gresearch.siembol.common.zookeper;
import java.io.Serializable;
public class ZookeeperConnectorFactoryImpl implements ZookeeperConnectorFactory, Serializable {
private static final long serialVersionUID = 1L;
}

View File

@@ -91,7 +91,7 @@ public class KafkaBatchWriterBoltTest {
for (int i = 0; i < 100; i++) { for (int i = 0; i < 100; i++) {
Assert.assertEquals("dummy", outputMessages.get(i)); Assert.assertEquals("dummy", outputMessages.get(i));
} }
verify(collector, times(1)).ack(any()); verify(collector, times(1)).ack(ArgumentMatchers.<List<Object>>any());
} }
@Test @Test
@@ -113,6 +113,6 @@ public class KafkaBatchWriterBoltTest {
for (int i = 0; i < 100; i++) { for (int i = 0; i < 100; i++) {
Assert.assertEquals("dummy", outputMessages.get(i)); Assert.assertEquals("dummy", outputMessages.get(i));
} }
verify(collector, times(100)).ack(any()); verify(collector, times(100)).ack(any(Tuple.class));
} }
} }