This is an automated email from the ASF dual-hosted git repository.

jfeinauer pushed a commit to branch feature/PLC4X-111-interop-server
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit 0719484aba22ec2103448077ff3dce14ee3e60b9
Author: julian <[email protected]>
AuthorDate: Sun Apr 21 14:18:49 2019 +0200

    PLC4X-111 Fixed several scripts.
---
 plc4j/utils/interop/pom.xml                        | 46 +++++++++++++----
 plc4j/utils/interop/src/assembly/assembly.xml      | 23 +++++++++
 .../java/org/apache/plc4x/interop/impl/Server.java | 58 +++++++++++-----------
 plc4py/initialize_interop_server.sh                |  5 +-
 plc4py/org/apache/plc4x/PlcDriverManager.py        |  2 +-
 plc4py/test/test_PlcDriverManager.py               |  8 +--
 6 files changed, 98 insertions(+), 44 deletions(-)

diff --git a/plc4j/utils/interop/pom.xml b/plc4j/utils/interop/pom.xml
index 7aa8957..be6c1a6 100644
--- a/plc4j/utils/interop/pom.xml
+++ b/plc4j/utils/interop/pom.xml
@@ -22,11 +22,11 @@
       <artifactId>plc4j-api</artifactId>
       <version>0.4.0-SNAPSHOT</version>
     </dependency>
-<!--    <dependency>-->
-<!--      <groupId>org.apache.plc4x</groupId>-->
-<!--      <artifactId>plc4j-protocol-driver-base-test</artifactId>-->
-<!--      <version>0.4.0-SNAPSHOT</version>-->
-<!--    </dependency>-->
+    <dependency>
+      <groupId>org.apache.plc4x</groupId>
+      <artifactId>plc4j-protocol-driver-base-test</artifactId>
+      <version>0.4.0-SNAPSHOT</version>
+    </dependency>
     <dependency>
       <groupId>org.apache.plc4x</groupId>
       <artifactId>plc4j-driver-s7</artifactId>
@@ -57,16 +57,43 @@
 
   <build>
     <plugins>
+
+<!--      &lt;!&ndash; Maven Shade Plugin &ndash;&gt;-->
+<!--      <plugin>-->
+<!--        <groupId>org.apache.maven.plugins</groupId>-->
+<!--        <artifactId>maven-shade-plugin</artifactId>-->
+<!--        <version>2.3</version>-->
+<!--        <executions>-->
+<!--          &lt;!&ndash; Run shade goal on package phase &ndash;&gt;-->
+<!--          <execution>-->
+<!--            <phase>package</phase>-->
+<!--            <goals>-->
+<!--              <goal>shade</goal>-->
+<!--            </goals>-->
+<!--            <configuration>-->
+<!--              <transformers>-->
+<!--                &lt;!&ndash; add Main-Class to manifest file &ndash;&gt;-->
+<!--                <transformer 
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">-->
+<!--                  
<mainClass>org.apache.plc4x.interop.impl.Server</mainClass>-->
+<!--                </transformer>-->
+<!--              </transformers>-->
+<!--            </configuration>-->
+<!--          </execution>-->
+<!--        </executions>-->
+<!--      </plugin>-->
+
       <!-- Create a fat jar -->
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-assembly-plugin</artifactId>
-        <version>2.4.1</version>
+        <version>2.5.3</version>
         <configuration>
           <!-- get all project dependencies -->
-          <descriptorRefs>
-            <descriptorRef>jar-with-dependencies</descriptorRef>
-          </descriptorRefs>
+<!--          <descriptorRefs>-->
+<!--            <descriptorRef>jar-with-dependencies</descriptorRef>-->
+<!--            <descriptorRef>metaInf-services</descriptorRef>-->
+<!--          </descriptorRefs>-->
+          <descriptors>src/assembly/assembly.xml</descriptors>
           <!-- MainClass in mainfest make a executable jar -->
           <archive>
             <manifest>
@@ -89,5 +116,4 @@
     </plugins>
   </build>
 
-
 </project>
\ No newline at end of file
diff --git a/plc4j/utils/interop/src/assembly/assembly.xml 
b/plc4j/utils/interop/src/assembly/assembly.xml
new file mode 100644
index 0000000..75667fe
--- /dev/null
+++ b/plc4j/utils/interop/src/assembly/assembly.xml
@@ -0,0 +1,23 @@
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0";
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 
http://maven.apache.org/xsd/assembly-2.0.0.xsd";>
+  <!-- TODO: a jarjar format would be better -->
+  <id>jar-with-dependencies</id>
+  <formats>
+    <format>jar</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>/</outputDirectory>
+      <useProjectArtifact>true</useProjectArtifact>
+      <unpack>true</unpack>
+      <scope>runtime</scope>
+    </dependencySet>
+  </dependencySets>
+  <containerDescriptorHandlers>
+    <containerDescriptorHandler>
+      <handlerName>metaInf-services</handlerName>
+    </containerDescriptorHandler>
+  </containerDescriptorHandlers>
+</assembly>
\ No newline at end of file
diff --git 
a/plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Server.java 
b/plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Server.java
index e697c2b..01274ae 100644
--- 
a/plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Server.java
+++ 
b/plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Server.java
@@ -10,8 +10,8 @@ import org.apache.plc4x.java.api.model.PlcSubscriptionHandle;
 import org.apache.plc4x.java.api.types.PlcResponseCode;
 import org.apache.plc4x.java.base.messages.items.BaseDefaultFieldItem;
 import org.apache.plc4x.java.base.messages.items.DefaultLongFieldItem;
-//import org.apache.plc4x.java.mock.MockDevice;
-//import org.apache.plc4x.java.mock.PlcMockConnection;
+import org.apache.plc4x.java.mock.MockDevice;
+import org.apache.plc4x.java.mock.PlcMockConnection;
 import org.apache.thrift.server.TServer;
 import org.apache.thrift.server.TSimpleServer;
 import org.apache.thrift.transport.TServerSocket;
@@ -26,9 +26,9 @@ public class Server {
         final PlcDriverManager driverManager = new PlcDriverManager();
 
         // Do some mocking
-//        final PlcMockConnection mockConnection = (PlcMockConnection) 
driverManager.getConnection("mock:a");
+        final PlcMockConnection mockConnection = (PlcMockConnection) 
driverManager.getConnection("mock:a");
 
-//        mockConnection.setDevice(new MyMockDevice());
+        mockConnection.setDevice(new MyMockDevice());
 
         final Handler handler = new Handler(driverManager);
         final InteropServer.Processor<Handler> processor = new 
InteropServer.Processor<>(handler);
@@ -44,29 +44,29 @@ public class Server {
         }
     }
 
-//    private static class MyMockDevice implements MockDevice {
-//        @Override public Pair<PlcResponseCode, BaseDefaultFieldItem> 
read(String fieldQuery) {
-//            return Pair.of(PlcResponseCode.OK, new 
DefaultLongFieldItem(100L));
-//        }
-//
-//        @Override public PlcResponseCode write(String fieldQuery, Object 
value) {
-//            return null;
-//        }
-//
-//        @Override public Pair<PlcResponseCode, PlcSubscriptionHandle> 
subscribe(String fieldQuery) {
-//            return null;
-//        }
-//
-//        @Override public void unsubscribe() {
-//
-//        }
-//
-//        @Override public PlcConsumerRegistration 
register(Consumer<PlcSubscriptionEvent> consumer, 
Collection<PlcSubscriptionHandle> handles) {
-//            return null;
-//        }
-//
-//        @Override public void unregister(PlcConsumerRegistration 
registration) {
-//
-//        }
-//    }
+    private static class MyMockDevice implements MockDevice {
+        @Override public Pair<PlcResponseCode, BaseDefaultFieldItem> 
read(String fieldQuery) {
+            return Pair.of(PlcResponseCode.OK, new DefaultLongFieldItem(100L));
+        }
+
+        @Override public PlcResponseCode write(String fieldQuery, Object 
value) {
+            return null;
+        }
+
+        @Override public Pair<PlcResponseCode, PlcSubscriptionHandle> 
subscribe(String fieldQuery) {
+            return null;
+        }
+
+        @Override public void unsubscribe() {
+
+        }
+
+        @Override public PlcConsumerRegistration 
register(Consumer<PlcSubscriptionEvent> consumer, 
Collection<PlcSubscriptionHandle> handles) {
+            return null;
+        }
+
+        @Override public void unregister(PlcConsumerRegistration registration) 
{
+
+        }
+    }
 }
diff --git a/plc4py/initialize_interop_server.sh 
b/plc4py/initialize_interop_server.sh
index 80b0b2e..8027abe 100755
--- a/plc4py/initialize_interop_server.sh
+++ b/plc4py/initialize_interop_server.sh
@@ -1,7 +1,10 @@
 #!/usr/bin/env bash
 
+# Clean the directory
+rm -f lib/*.jar
+
 # Builds the interop server module with maven
 mvn clean package -f ../plc4j/utils/interop/pom.xml
 
 # Moves the server from the target folder here
-cp ../plc4j/utils/interop/target/apache-plc4x-incubating-* lib/
\ No newline at end of file
+cp 
../plc4j/utils/interop/target/apache-plc4x-incubating-*-SNAPSHOT-jar-with-dependencies.jar
 lib/interop-server.jar
\ No newline at end of file
diff --git a/plc4py/org/apache/plc4x/PlcDriverManager.py 
b/plc4py/org/apache/plc4x/PlcDriverManager.py
index 14557fc..69bc2a8 100644
--- a/plc4py/org/apache/plc4x/PlcDriverManager.py
+++ b/plc4py/org/apache/plc4x/PlcDriverManager.py
@@ -21,7 +21,7 @@ class PlcDriverManager:
         if embedded_server:
             self.interop_proc = subprocess.Popen(
                 ["java", "-Dlog4j.configurationFile=../lib/log4j2.xml",
-                 "-jar", 
"../lib/apache-plc4x-incubating-0.4.0-SNAPSHOT-jar-with-dependencies.jar"])
+                 "-jar", "../lib/interop-server.jar"])
             try:
                 print("Started server under pid " + str(self.interop_proc.pid))
             except:
diff --git a/plc4py/test/test_PlcDriverManager.py 
b/plc4py/test/test_PlcDriverManager.py
index 4a5e898..2d0dce7 100644
--- a/plc4py/test/test_PlcDriverManager.py
+++ b/plc4py/test/test_PlcDriverManager.py
@@ -14,7 +14,7 @@ class TestPlcDriverManager(TestCase):
 
     def test_callLib(self):
         try:
-            proc = Popen(["java", "-jar", 
"../lib/apache-plc4x-incubating-0.4.0-SNAPSHOT-jar-with-dependencies.jar"])
+            proc = Popen(["java", "-jar", "../lib/interop-server.jar"])
             print("Started server under pid " + str(proc.pid))
             time.sleep(5)
             poll = proc.poll()
@@ -56,7 +56,8 @@ class TestPlcDriverManager(TestCase):
         finally:
             manager.close()
 
-    def test_withRealPLC_forDebug(self):
+    # This i a manual test, which needs a running server to work
+    def mt_withRealPLC_forDebug(self):
         try:
             manager = PlcDriverManager(embedded_server=False)
 
@@ -73,7 +74,8 @@ class TestPlcDriverManager(TestCase):
         finally:
             manager.close()
 
-    def test_withRealPLC(self):
+    # This is an integration test, which needs a S7 PLC
+    def it_withRealPLC(self):
         try:
             manager = PlcDriverManager()
 

Reply via email to