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