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;