X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-client%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fclient%2FNetconfClientSession.java;h=f4efb1fc7dc9bf56cd3176c769f72c312ee351d2;hb=2f034183cfcbaacf2a287f1ddf00d367674868af;hp=3de70afc51c74169ca50074a7f46de8283f5e913;hpb=e4f8f32b7e19c72c3de074431b47674adade6336;p=controller.git diff --git a/opendaylight/netconf/netconf-client/src/main/java/org/opendaylight/controller/netconf/client/NetconfClientSession.java b/opendaylight/netconf/netconf-client/src/main/java/org/opendaylight/controller/netconf/client/NetconfClientSession.java index 3de70afc51..f4efb1fc7d 100644 --- a/opendaylight/netconf/netconf-client/src/main/java/org/opendaylight/controller/netconf/client/NetconfClientSession.java +++ b/opendaylight/netconf/netconf-client/src/main/java/org/opendaylight/controller/netconf/client/NetconfClientSession.java @@ -8,22 +8,27 @@ package org.opendaylight.controller.netconf.client; -import io.netty.channel.Channel; -import org.opendaylight.controller.netconf.api.NetconfSession; -import org.opendaylight.protocol.framework.SessionListener; +import java.util.Collection; + +import org.opendaylight.controller.netconf.util.AbstractNetconfSession; +import org.opendaylight.controller.netconf.util.handler.NetconfEXICodec; +import org.opendaylight.controller.netconf.util.handler.NetconfEXIToMessageDecoder; +import org.opendaylight.controller.netconf.util.handler.NetconfMessageToEXIEncoder; +import org.opendaylight.controller.netconf.util.handler.NetconfMessageToXMLEncoder; +import org.opendaylight.controller.netconf.util.handler.NetconfXMLToMessageDecoder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Collection; +import io.netty.channel.Channel; -public class NetconfClientSession extends NetconfSession { +public final class NetconfClientSession extends AbstractNetconfSession { private static final Logger logger = LoggerFactory.getLogger(NetconfClientSession.class); private final Collection capabilities; - public NetconfClientSession(SessionListener sessionListener, Channel channel, long sessionId, + public NetconfClientSession(NetconfClientSessionListener sessionListener, Channel channel, long sessionId, Collection capabilities) { - super(sessionListener,channel,sessionId); + super(sessionListener, channel, sessionId); this.capabilities = capabilities; logger.debug("Client Session {} created", toString()); } @@ -32,8 +37,22 @@ public class NetconfClientSession extends NetconfSession { return capabilities; } - public Channel getChannel(){ - return channel; + @Override + protected NetconfClientSession thisInstance() { + return this; + } + + @Override + protected void addExiHandlers(NetconfEXICodec exiCodec) { + // TODO used only in negotiator, client supports only auto start-exi + replaceMessageDecoder(new NetconfEXIToMessageDecoder(exiCodec)); + replaceMessageEncoder(new NetconfMessageToEXIEncoder(exiCodec)); } + @Override + public void stopExiCommunication() { + // TODO never used, Netconf client does not support stop-exi + replaceMessageDecoder(new NetconfXMLToMessageDecoder()); + replaceMessageEncoder(new NetconfMessageToXMLEncoder()); + } }