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 2019/12/18 11:58:35 UTC

[plc4x] branch next-gen-core updated: Removed ChannelHandler

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

jfeinauer pushed a commit to branch next-gen-core
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/next-gen-core by this push:
     new 67a86d4  Removed ChannelHandler
67a86d4 is described below

commit 67a86d4b3540e4ec05fc92b68c24402f0041b5b6
Author: Julian Feinauer <j....@pragmaticminds.de>
AuthorDate: Wed Dec 18 12:58:29 2019 +0100

    Removed ChannelHandler
---
 .../s7/readwrite/protocol/Plc4xNettyWrapper.java   | 31 ++++------------------
 1 file changed, 5 insertions(+), 26 deletions(-)

diff --git a/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/Plc4xNettyWrapper.java b/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/Plc4xNettyWrapper.java
index 5d9c1bb..6f27f58 100644
--- a/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/Plc4xNettyWrapper.java
+++ b/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/Plc4xNettyWrapper.java
@@ -19,10 +19,8 @@
 
 package org.apache.plc4x.java.s7.readwrite.protocol;
 
-import io.netty.channel.ChannelHandler;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.handler.codec.MessageToMessageCodec;
-import org.apache.commons.lang3.reflect.FieldUtils;
 import org.apache.plc4x.java.base.events.ConnectEvent;
 import org.apache.plc4x.java.base.events.ConnectedEvent;
 import org.apache.plc4x.java.base.messages.PlcRequestContainer;
@@ -30,26 +28,22 @@ import org.apache.plc4x.java.s7.readwrite.events.IsoTPConnectedEvent;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.lang.reflect.Field;
 import java.util.List;
 
 public class Plc4xNettyWrapper<T> extends MessageToMessageCodec<T, PlcRequestContainer> {
 
     private static final Logger logger = LoggerFactory.getLogger(Plc4xNettyWrapper.class);
 
-    private final Plc4xProtocolBase<T> parent;
-
-    private volatile ChannelHandler prevChannelHandler = null;
+    private final Plc4xProtocolBase<T> protocolBase;
 
     public Plc4xNettyWrapper(Plc4xProtocolBase<T> parent, Class<T> clazz) {
         super(clazz, PlcRequestContainer.class);
-        this.parent = parent;
+        this.protocolBase = parent;
     }
 
-
     @Override protected void encode(ChannelHandlerContext channelHandlerContext, PlcRequestContainer plcRequestContainer, List<Object> list) throws Exception {
         logger.info("Encoding {}", plcRequestContainer);
-        parent.encode(new DefaultConversationContext<T>(channelHandlerContext) {
+        protocolBase.encode(new DefaultConversationContext<T>(channelHandlerContext) {
             @Override public void sendToWire(T msg) {
                 logger.info("Sending to wire {}", msg);
                 list.add(msg);
@@ -59,7 +53,7 @@ public class Plc4xNettyWrapper<T> extends MessageToMessageCodec<T, PlcRequestCon
 
     @Override protected void decode(ChannelHandlerContext channelHandlerContext, T t, List<Object> list) throws Exception {
         logger.info("Decoding {}", t);
-        parent.decode(new DefaultConversationContext<>(channelHandlerContext), t);
+        protocolBase.decode(new DefaultConversationContext<>(channelHandlerContext), t);
     }
 
     /**
@@ -75,27 +69,12 @@ public class Plc4xNettyWrapper<T> extends MessageToMessageCodec<T, PlcRequestCon
         // If the connection has just been established, start setting up the connection
         // by sending a connection request to the plc.
         if (evt instanceof ConnectEvent) {
-            this.parent.onConnect(new DefaultConversationContext<>(ctx));
+            this.protocolBase.onConnect(new DefaultConversationContext<>(ctx));
         } else {
             super.userEventTriggered(ctx, evt);
         }
     }
 
-    protected ChannelHandler getPrevChannelHandler(ChannelHandlerContext ctx) {
-        if (prevChannelHandler == null) {
-            try {
-                Field prevField = FieldUtils.getField(ctx.getClass(), "prev", true);
-                if (prevField != null) {
-                    ChannelHandlerContext prevContext = (ChannelHandlerContext) prevField.get(ctx);
-                    prevChannelHandler = prevContext.handler();
-                }
-            } catch (Exception e) {
-                logger.error("Error accessing field 'prev'", e);
-            }
-        }
-        return prevChannelHandler;
-    }
-
     private class DefaultConversationContext<T> implements ConversationContext<T> {
         private final ChannelHandlerContext channelHandlerContext;