This is an automated email from the ASF dual-hosted git repository. sruehl pushed a commit to branch dependency_updates in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 09ce044a91da7336909755bfd68377d0f670d9e9 Author: Sebastian Rühl <[email protected]> AuthorDate: Tue May 25 10:14:51 2021 +0200 plc4x: major dependency updates --- .../opcua/connection/OpcuaTcpPlcConnection.java | 2 +- plc4j/integrations/apache-camel/pom.xml | 7 +- .../java/org/apache/plc4x/camel/Plc4XEndpoint.java | 15 +- .../apache/plc4x/camel/Plc4XPollingConsumer.java | 185 --------------------- .../java/org/apache/plc4x/camel/ManualTest.java | 2 +- .../org/apache/plc4x/camel/Plc4XEndpointTest.java | 7 +- .../plc4x/camel/Plc4XPollingConsumerTest.java | 65 -------- plc4j/integrations/apache-kafka/pom.xml | 2 +- plc4j/integrations/apache-nifi/pom.xml | 7 +- .../java/opcuaserver/backend/Plc4xNamespace.java | 2 +- plc4j/osgi/pom.xml | 2 +- plc4j/pom.xml | 2 +- pom.xml | 54 +++--- protocols/knxnetip/pom.xml | 2 +- 14 files changed, 52 insertions(+), 302 deletions(-) diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java index 458d5f1..e3210d9 100644 --- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java +++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java @@ -428,7 +428,7 @@ public class OpcuaTcpPlcConnection extends BaseOpcuaPlcConnection { List<MonitoredItemCreateRequest> requestList = new LinkedList<>(); requestList.add(request); OpcuaSubsriptionHandle subsriptionHandle = new OpcuaSubsriptionHandle(fieldName, clientHandle); - BiConsumer<UaMonitoredItem, Integer> onItemCreated = + UaSubscription.ItemCreationCallback onItemCreated = (item, id) -> item.setValueConsumer(subsriptionHandle::onSubscriptionValue); List<UaMonitoredItem> items = subscription.createMonitoredItems( diff --git a/plc4j/integrations/apache-camel/pom.xml b/plc4j/integrations/apache-camel/pom.xml index 9f7d062..7ad4ff6 100644 --- a/plc4j/integrations/apache-camel/pom.xml +++ b/plc4j/integrations/apache-camel/pom.xml @@ -33,7 +33,7 @@ <description>Integration module for integrating PLC4X into Apache Camel.</description> <properties> - <camel.version>3.1.0</camel.version> + <camel.version>3.10.0</camel.version> </properties> <build> @@ -159,6 +159,11 @@ </dependency> <dependency> <groupId>org.apache.camel</groupId> + <artifactId>camel-core-model</artifactId> + <version>${camel.version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> <artifactId>camel-api</artifactId> <version>${camel.version}</version> </dependency> diff --git a/plc4j/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XEndpoint.java b/plc4j/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XEndpoint.java index e14e9f5..975b38e 100644 --- a/plc4j/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XEndpoint.java +++ b/plc4j/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XEndpoint.java @@ -132,20 +132,7 @@ public class Plc4XEndpoint extends DefaultEndpoint { } return new Plc4XConsumer(this, processor); } - - @Override - public PollingConsumer createPollingConsumer() throws Exception { - //Checking if connection is still up and reconnecting if not - if (!connection.isConnected()) { - try { - connection = plcDriverManager.getConnection(uri.replaceFirst("plc4x:/?/?", "")); - } catch (Exception e) { - e.printStackTrace(); - } - } - return new Plc4XPollingConsumer(this); - } - + @Override public boolean isSingleton() { return true; diff --git a/plc4j/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XPollingConsumer.java b/plc4j/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XPollingConsumer.java deleted file mode 100644 index c6c369e..0000000 --- a/plc4j/integrations/apache-camel/src/main/java/org/apache/plc4x/camel/Plc4XPollingConsumer.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ -package org.apache.plc4x.camel; - -import org.apache.camel.Endpoint; -import org.apache.camel.Exchange; -import org.apache.camel.PollingConsumer; -import org.apache.camel.Processor; -import org.apache.camel.spi.ExceptionHandler; -import org.apache.camel.support.LoggingExceptionHandler; -import org.apache.plc4x.java.api.PlcConnection; -import org.apache.plc4x.java.api.exceptions.PlcException; -import org.apache.plc4x.java.api.exceptions.PlcIncompatibleDatatypeException; -import org.apache.plc4x.java.api.messages.PlcReadRequest; -import org.apache.plc4x.java.api.messages.PlcReadResponse; -import org.apache.plc4x.java.scraper.config.ScraperConfiguration; -import org.apache.plc4x.java.scraper.exception.ScraperException; -import org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl; -import org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.collector.TriggerCollector; -import org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.collector.TriggerCollectorImpl; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - -public class Plc4XPollingConsumer implements PollingConsumer { - private static final Logger LOGGER = LoggerFactory.getLogger(Plc4XPollingConsumer.class); - - private Plc4XEndpoint plc4XEndpoint; - private ExceptionHandler exceptionHandler; - private PlcConnection plcConnection; - private PlcReadRequest.Builder requestBuilder; - private Map<String,Object> tags; - private String trigger; - -//TODO Is this still needed with the scraper working? - public Plc4XPollingConsumer(Plc4XEndpoint endpoint) throws PlcException { - plc4XEndpoint=endpoint; - this.exceptionHandler = new LoggingExceptionHandler(endpoint.getCamelContext(), getClass()); - String plc4xURI = endpoint.getEndpointUri().replaceFirst("plc4x:/?/?", ""); - this.plcConnection = endpoint.getConnection(); - this.tags = endpoint.getTags(); - this.trigger= endpoint.getTrigger(); - } - - @Override - public String toString() { - return "Plc4XConsumer[" + plc4XEndpoint + "]"; - } - - @Override - public Endpoint getEndpoint() { - return plc4XEndpoint; - } - - public ExceptionHandler getExceptionHandler() { - return exceptionHandler; - } - - public void setExceptionHandler(ExceptionHandler exceptionHandler) { - this.exceptionHandler = exceptionHandler; - } - - @Override - public Exchange receive() {/** - Exchange exchange = plc4XEndpoint.createExchange(); - try { - PlcReadResponse read = createReadRequest().execute().get(); - if(plc4XEndpoint.getTags().size()==1) { - TagData tag = plc4XEndpoint.getTags().get(0); - tag.setValue(read.getAllObjects(tag.getTagName())); - exchange.getIn().setBody(tag); - } - else{ - List<TagData> values = new ArrayList<>(); - for(TagData tag : plc4XEndpoint.getTags()){ - tag.setValue(read.getObject(tag.getTagName())); - values.add(tag); - } - exchange.getIn().setBody(values); - } - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - exchange.setException(e); - } catch (ExecutionException e) { - exchange.setException(e); - } - return exchange;*/ - return null; - } - - @Override - public Exchange receiveNoWait() { - return null; - } - - @Override - public Exchange receive(long timeout) {/** - Exchange exchange = plc4XEndpoint.createExchange(); - CompletableFuture<? extends PlcReadResponse> read = createReadRequest().execute(); - try { - PlcReadResponse plcReadResponse = read.get(timeout, TimeUnit.MILLISECONDS); - if(plc4XEndpoint.getTags().size()==1) { - TagData tag = plc4XEndpoint.getTags().get(0); - tag.setValue(plcReadResponse.getAllObjects(tag.getTagName())); - exchange.getIn().setBody(tag); - } - else{ - List<TagData> values = new ArrayList<>(); - for(TagData tag : plc4XEndpoint.getTags()){ - tag.setValue(plcReadResponse.getObject(tag.getTagName())); - values.add(tag); - } - exchange.getIn().setBody(values); - } - } catch(InterruptedException e){ - Thread.currentThread().interrupt(); - exchange.setException(e); - } catch(ExecutionException | TimeoutException e){ - exchange.setException(e); - } - return exchange;*/ - return null; - } - - - private PlcReadRequest createReadRequest() {/** - requestBuilder = plcConnection.readRequestBuilder(); - if (plc4XEndpoint.getTags().size()>1){ - for(TagData tag : plc4XEndpoint.getTags()){ - requestBuilder.addItem(tag.getTagName(),tag.getQuery()); - } - } - else{ - TagData tag = plc4XEndpoint.getTags().get(0); - requestBuilder.addItem(tag.getTagName(),tag.getQuery()); - } - return requestBuilder.build(); - */return null;} - - private Object unwrapIfSingle(Collection collection) { - if (collection.isEmpty()) { - return null; - } - if (collection.size() == 1) { - return collection.iterator().next(); - } - return collection; - } - - @Override - public Processor getProcessor() { - return null; - } - - @Override - public void start() { - - } - - @Override - public void stop() { - - } -} diff --git a/plc4j/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/ManualTest.java b/plc4j/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/ManualTest.java index b5a6a97..a19e4ce 100644 --- a/plc4j/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/ManualTest.java +++ b/plc4j/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/ManualTest.java @@ -39,7 +39,7 @@ public class ManualTest { // bind MyBean into the registry main.bind("foo", new MyBean()); // add routes - main.addRoutesBuilder(new MyRouteBuilder()); + main.getCamelContext().addRoutes(new MyRouteBuilder()); // add event listener main.addMainListener(new Events()); // set the properties from a file diff --git a/plc4j/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XEndpointTest.java b/plc4j/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XEndpointTest.java index cf3d03d..bf46f78 100644 --- a/plc4j/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XEndpointTest.java +++ b/plc4j/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XEndpointTest.java @@ -20,13 +20,14 @@ package org.apache.plc4x.camel; import org.apache.camel.Component; import org.apache.camel.Processor; +import org.apache.camel.impl.DefaultCamelContext; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsNull.notNullValue; import static org.hamcrest.MatcherAssert.assertThat; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.*; public class Plc4XEndpointTest { @@ -34,7 +35,9 @@ public class Plc4XEndpointTest { @BeforeEach public void setUp() { - SUT = new Plc4XEndpoint("plc4x:mock:10.10.10.1/1/1", mock(Component.class)); + Component mockComponent = mock(Component.class, RETURNS_DEEP_STUBS); + when(mockComponent.getCamelContext()).thenReturn(new DefaultCamelContext()); + SUT = new Plc4XEndpoint("plc4x:mock:10.10.10.1/1/1", mockComponent); } // TODO: figure out what this is diff --git a/plc4j/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XPollingConsumerTest.java b/plc4j/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XPollingConsumerTest.java deleted file mode 100644 index 68f7b51..0000000 --- a/plc4j/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/Plc4XPollingConsumerTest.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ -package org.apache.plc4x.camel; - -import org.junit.jupiter.api.Test; - -//TODO: implement me -public class Plc4XPollingConsumerTest { - - @Test - public void toStringTest() { - } - - @Test - public void getEndpoint() { - } - - @Test - public void getExceptionHandler() { - } - - @Test - public void setExceptionHandler() { - } - - @Test - public void receive() { - } - - @Test - public void receiveNoWait() { - } - - @Test - public void receive1() { - } - - @Test - public void getReader() { - } - - @Test - public void doStart() { - } - - @Test - public void doStop() { - } -} \ No newline at end of file diff --git a/plc4j/integrations/apache-kafka/pom.xml b/plc4j/integrations/apache-kafka/pom.xml index 418d73e..baf620c 100644 --- a/plc4j/integrations/apache-kafka/pom.xml +++ b/plc4j/integrations/apache-kafka/pom.xml @@ -33,7 +33,7 @@ <properties> <kafka.version>2.5.0</kafka.version> - <kafka.connect.maven.plugin.version>0.11.3</kafka.connect.maven.plugin.version> + <kafka.connect.maven.plugin.version>0.12.0</kafka.connect.maven.plugin.version> </properties> <repositories> diff --git a/plc4j/integrations/apache-nifi/pom.xml b/plc4j/integrations/apache-nifi/pom.xml index bcb59ba..135e588 100644 --- a/plc4j/integrations/apache-nifi/pom.xml +++ b/plc4j/integrations/apache-nifi/pom.xml @@ -29,7 +29,7 @@ <description>Integration module for integrating PLC4X into Apache Nifi.</description> <properties> - <nifi.version>1.12.1</nifi.version> + <nifi.version>1.13.2</nifi.version> </properties> <modules> @@ -103,6 +103,11 @@ <type>pom</type> <scope>import</scope> </dependency> + <dependency> + <groupId>io.swagger</groupId> + <artifactId>swagger-annotations</artifactId> + <version>1.6.0</version> + </dependency> </dependencies> </dependencyManagement> diff --git a/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java b/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java index 53c3be9..1945f68 100644 --- a/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java +++ b/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java @@ -32,9 +32,9 @@ import org.eclipse.milo.opcua.sdk.core.Reference; import org.eclipse.milo.opcua.sdk.core.ValueRank; import org.eclipse.milo.opcua.sdk.server.OpcUaServer; import org.eclipse.milo.opcua.sdk.server.api.DataItem; -import org.eclipse.milo.opcua.sdk.server.api.DataTypeDictionaryManager; import org.eclipse.milo.opcua.sdk.server.api.ManagedNamespaceWithLifecycle; import org.eclipse.milo.opcua.sdk.server.api.MonitoredItem; +import org.eclipse.milo.opcua.sdk.server.dtd.DataTypeDictionaryManager; import org.eclipse.milo.opcua.sdk.server.nodes.UaFolderNode; import org.eclipse.milo.opcua.sdk.server.nodes.UaVariableNode; import org.eclipse.milo.opcua.sdk.server.nodes.filters.AttributeFilters; diff --git a/plc4j/osgi/pom.xml b/plc4j/osgi/pom.xml index 6ed5231..71efed0 100644 --- a/plc4j/osgi/pom.xml +++ b/plc4j/osgi/pom.xml @@ -35,7 +35,7 @@ <dependency> <groupId>org.osgi</groupId> <artifactId>osgi.core</artifactId> - <version>6.0.0</version> + <version>8.0.0</version> <scope>compile</scope> </dependency> <dependency> diff --git a/plc4j/pom.xml b/plc4j/pom.xml index 3ab332c..0e76e4a 100644 --- a/plc4j/pom.xml +++ b/plc4j/pom.xml @@ -340,7 +340,7 @@ <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-test-junit5</artifactId> - <version>2.5.3</version> + <version>3.0.8</version> <scope>test</scope> </dependency> </dependencies> diff --git a/pom.xml b/pom.xml index 8dc5050..875955e 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,7 @@ <!-- At least 3.3.3 required for camel-package-maven-plugin --> - <maven.version>3.3.3</maven.version> + <maven.version>3.8.1</maven.version> <java.version>1.8</java.version> @@ -102,17 +102,17 @@ <plc4x-code-generation.version>1.5.0-SNAPSHOT</plc4x-code-generation.version> - <antlr.version>4.9.1</antlr.version> - <apiguardian.version>1.1.0</apiguardian.version> - <assertj.version>3.18.1</assertj.version> - <awaitility.version>3.0.0</awaitility.version> + <antlr.version>4.9.2</antlr.version> + <apiguardian.version>1.1.1</apiguardian.version> + <assertj.version>3.19.0</assertj.version> + <awaitility.version>3.1.6</awaitility.version> <!-- TODO: the currently available version is 2.0.5 and anything above 1.4.3 is no longer compatible with our code --> <bit-io.version>1.4.3</bit-io.version> - <bouncycastle.version>1.67</bouncycastle.version> + <bouncycastle.version>1.68</bouncycastle.version> <boost.version>1.74.0</boost.version> <boost.version.underline-short>1_74</boost.version.underline-short> <boost.version.underline>${boost.version.underline-short}_0</boost.version.underline> - <byte-buddy.version>1.10.18</byte-buddy.version> + <byte-buddy.version>1.11.0</byte-buddy.version> <!-- Be sure to keep this version set to the version of the cmake-maven-plugin --> <cmake-version>3.18.4</cmake-version> <commons-beanutils.version>1.9.4</commons-beanutils.version> @@ -122,7 +122,7 @@ <commons-compress.version>1.20</commons-compress.version> <commons-configuration2.version>2.7</commons-configuration2.version> <commons-io.version>2.8.0</commons-io.version> - <commons-lang3.version>3.11</commons-lang3.version> + <commons-lang3.version>3.12.0</commons-lang3.version> <commons-logging.version>1.2</commons-logging.version> <commons-math3.version>3.6.1</commons-math3.version> <commons-pool2.version>2.9.0</commons-pool2.version> @@ -130,39 +130,39 @@ <commons-csv.version>1.8</commons-csv.version> <dom4j.version>2.1.3</dom4j.version> <elasticsearch.version>7.10.0</elasticsearch.version> - <equalsverifier.version>3.5</equalsverifier.version> - <freemarker.version>2.3.30</freemarker.version> - <groovy.version>3.0.6</groovy.version> - <gson.version>2.8.6</gson.version> - <guava.version>30.0-jre</guava.version> + <equalsverifier.version>3.6.1</equalsverifier.version> + <freemarker.version>2.3.31</freemarker.version> + <groovy.version>3.0.8</groovy.version> + <gson.version>2.8.7</gson.version> + <guava.version>30.1.1-jre</guava.version> <hamcrest.version>2.2</hamcrest.version> <httpclient.version>4.5.13</httpclient.version> - <httpcore.version>4.4.13</httpcore.version> - <jackson.version>2.11.3</jackson.version> + <httpcore.version>4.4.14</httpcore.version> + <jackson.version>2.12.3</jackson.version> <jaxb.version>2.3.3</jaxb.version> - <jetty-util.version>9.4.32.v20200930</jetty-util.version> - <jna.version>5.3.1</jna.version> - <joda-time.version>2.10.8</joda-time.version> - <jserialcom.version>2.6.2</jserialcom.version> + <jetty-util.version>11.0.3</jetty-util.version> + <jna.version>5.8.0</jna.version> + <joda-time.version>2.10.10</joda-time.version> + <jserialcom.version>2.7.0</jserialcom.version> <junit.jupiter.version>5.7.0</junit.jupiter.version> <junit.platform.version>1.7.0</junit.platform.version> - <log4j.version>2.11.1</log4j.version> + <log4j.version>2.14.1</log4j.version> <logback.version>1.2.3</logback.version> <logstash.version>7.10.0</logstash.version> - <milo.version>0.5.4</milo.version> - <mockito.version>3.6.28</mockito.version> + <milo.version>0.6.1</milo.version> + <mockito.version>3.10.0</mockito.version> <netty.version>4.1.54.Final</netty.version> - <owasp-dependency-check.version>6.0.3</owasp-dependency-check.version> + <owasp-dependency-check.version>6.1.6</owasp-dependency-check.version> <pcap4j.version>1.8.2</pcap4j.version> <slf4j.version>1.7.30</slf4j.version> <thrift.version>0.13.0</thrift.version> <vavr.version>0.10.3</vavr.version> - <xmlunit.version>2.8.1</xmlunit.version> + <xmlunit.version>2.8.2</xmlunit.version> <!-- Site properties --> <asciidoctor.maven.plugin.version>2.1.0</asciidoctor.maven.plugin.version> - <asciidoctorj.version>2.4.2</asciidoctorj.version> - <asciidoctorj.diagram.version>2.0.5</asciidoctorj.diagram.version> + <asciidoctorj.version>2.5.1</asciidoctorj.version> + <asciidoctorj.diagram.version>2.1.2</asciidoctorj.diagram.version> </properties> <modules> @@ -631,7 +631,7 @@ <dependency> <groupId>org.objenesis</groupId> <artifactId>objenesis</artifactId> - <version>3.1</version> + <version>3.2</version> </dependency> </dependencies> </dependencyManagement> diff --git a/protocols/knxnetip/pom.xml b/protocols/knxnetip/pom.xml index fe4801c..bfbc8cc 100644 --- a/protocols/knxnetip/pom.xml +++ b/protocols/knxnetip/pom.xml @@ -121,7 +121,7 @@ <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> - <version>20201115</version> + <version>20210307</version> <scope>test</scope> </dependency> <dependency>
