package org.opennaas.extensions.roadm.wonesys.commandsets.test.mock; import org.opennaas.core.protocols.sessionmanager.ProtocolSessionManager; import org.opennaas.core.resources.protocol.IProtocolSession; import org.opennaas.core.resources.protocol.ProtocolException; import org.opennaas.core.resources.protocol.ProtocolSessionContext; public class MockProtocolSessionManager extends ProtocolSessionManager { private String resourceId = "pedrosa"; private String hostIpAddress = "10.10.80.11"; private String hostPort = "27773"; private IProtocolSession session = null; public MockProtocolSessionManager(String deviceID) { super(deviceID); // TODO Auto-generated constructor stub } public synchronized IProtocolSession obtainSessionByProtocol(String protocol, boolean lock) throws ProtocolException { if (protocol == null) throw new ProtocolException("Requested protocol is null."); IProtocolSession session = getSession(resourceId, hostIpAddress, hostPort); session.connect(); return session; } private IProtocolSession getSession(String resourceId, String hostIpAddress, String hostPort) throws ProtocolException { // get WonesysProtocolSession using ProtocolSessionManager ProtocolSessionContext sessionContext = createWonesysProtocolSessionContext(hostIpAddress, hostPort); IProtocolSession protocolSession = getProtocolSession(resourceId, sessionContext); if (protocolSession == null) throw new ProtocolException("Could not get a valid ProtocolSession"); return protocolSession; } private ProtocolSessionContext createWonesysProtocolSessionContext(String ip, String port) { ProtocolSessionContext protocolSessionContext = new ProtocolSessionContext(); protocolSessionContext.addParameter(ProtocolSessionContext.PROTOCOL, "wonesys"); protocolSessionContext.addParameter("protocol.mock", "true"); return protocolSessionContext; } private IProtocolSession getProtocolSession(String resourceId, ProtocolSessionContext sessionContext) throws ProtocolException { if (session == null) session = new SessionMock(sessionContext, resourceId + "01"); return session; } }