You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by jf...@apache.org on 2020/08/12 07:21:49 UTC

[plc4x] branch develop updated: Added NOOP Layer dynamically.

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

jfeinauer pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/develop by this push:
     new 09df8b2  Added NOOP Layer dynamically.
09df8b2 is described below

commit 09df8b2e5bdab3cd6853c2604195278c174a8027
Author: Julian Feinauer <j....@pragmaticminds.de>
AuthorDate: Wed Aug 12 09:21:34 2020 +0200

    Added NOOP Layer dynamically.
---
 .../apache/plc4x/java/amsads/AMSADSPlcDriver.java    | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/AMSADSPlcDriver.java b/sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/AMSADSPlcDriver.java
index b7a3041..c779bcf 100644
--- a/sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/AMSADSPlcDriver.java
+++ b/sandbox/test-java-amsads-driver/src/main/java/org/apache/plc4x/java/amsads/AMSADSPlcDriver.java
@@ -19,12 +19,15 @@
 package org.apache.plc4x.java.amsads;
 
 import io.netty.channel.ChannelHandler;
+import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.ChannelPipeline;
+import io.netty.handler.codec.MessageToMessageCodec;
 import org.apache.plc4x.java.amsads.configuration.AdsConfiguration;
 import org.apache.plc4x.java.amsads.field.AdsFieldHandler;
 import org.apache.plc4x.java.amsads.protocol.AdsProtocolLogic;
 import org.apache.plc4x.java.amsads.readwrite.AmsPacket;
 import org.apache.plc4x.java.amsads.readwrite.io.AmsPacketIO;
+import org.apache.plc4x.java.spi.GeneratedDriverByteToMessageCodec;
 import org.apache.plc4x.java.spi.Plc4xProtocolBase;
 import org.apache.plc4x.java.spi.configuration.Configuration;
 import org.apache.plc4x.java.spi.connection.GeneratedDriverBase;
@@ -32,6 +35,7 @@ import org.apache.plc4x.java.spi.connection.ProtocolStackConfigurer;
 import org.apache.plc4x.java.spi.connection.SingleProtocolStackConfigurer;
 
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -108,6 +112,22 @@ public class AMSADSPlcDriver extends GeneratedDriverBase<AmsPacket> {
                 final Class<? extends ChannelHandler> aClass = entry.getValue().getClass();
 
                 System.out.println(aClass);
+
+                if (entry.getValue() instanceof GeneratedDriverByteToMessageCodec) {
+                    // Found handler
+                    pipeline.addBefore(entry.getKey(), "idempotent-layer", new MessageToMessageCodec() {
+                        @Override
+                        protected void decode(ChannelHandlerContext channelHandlerContext, Object o, List list) throws Exception {
+                            list.add(o);
+                        }
+
+                        @Override
+                        protected void encode(ChannelHandlerContext channelHandlerContext, Object o, List list) throws Exception {
+                            list.add(o);
+                        }
+                    });
+                }
+
             }
             return protocolBase;
         }