package org.opennaas.extensions.openflowswitch.driver.floodlight.actionssets;
import org.opennaas.core.resources.action.Action;
import org.opennaas.core.resources.protocol.IProtocolSessionManager;
import org.opennaas.core.resources.protocol.ProtocolException;
import org.opennaas.core.resources.protocol.ProtocolSessionContext;
import org.opennaas.extensions.openflowswitch.driver.floodlight.protocol.FloodlightProtocolSession;
public abstract class FloodlightAction extends Action {
protected FloodlightProtocolSession getFloodlightProtocolSession(IProtocolSessionManager protocolSessionManager) throws ProtocolException {
return (FloodlightProtocolSession) protocolSessionManager.obtainSessionByProtocol(
FloodlightProtocolSession.FLOODLIGHT_PROTOCOL_TYPE, false);
}
protected String getSwitchIdFromSession(IProtocolSessionManager protocolSessionManager) throws ProtocolException {
ProtocolSessionContext sessionContext = getFloodlightProtocolSession(protocolSessionManager).getSessionContext();
return (String) sessionContext.getSessionParameters().get(FloodlightProtocolSession.SWITCHID_CONTEXT_PARAM_NAME);
}
}