private ActionResponse executeAction(IAction action) throws CapabilityException { ActionResponse response; try { IProtocolManager protocolManager = Activator.getProtocolManagerService(); IProtocolSessionManager protocolSessionManager = protocolManager.getProtocolSessionManager(this.resourceId); response = action.execute(protocolSessionManager); } catch (ProtocolException pe) { log.error("Error with protocol session - " + pe.getMessage()); throw new CapabilityException(pe); } catch (ActivatorException ae) { String errorMsg = "Error getting protocol manager - " + ae.getMessage(); log.error(errorMsg); throw new CapabilityException(errorMsg, ae); } catch (ActionException ae) { log.error("Error executing " + action.getActionID() + " action - " + ae.getMessage()); throw (ae); } if (!response.getStatus().equals(ActionResponse.STATUS.OK)) { String errMsg = "Error executing " + action.getActionID() + " action - " + response.getInformation(); log.error(errMsg); throw new ActionException(errMsg); } return response; }