package org.opennaas.extensions.roadm.wonesys.actionsets.actions.queue; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.opennaas.core.resources.action.ActionException; import org.opennaas.core.resources.action.ActionResponse; import org.opennaas.core.resources.action.ActionResponse.STATUS; import org.opennaas.core.resources.command.Response; import org.opennaas.core.resources.protocol.IProtocolSession; import org.opennaas.core.resources.protocol.IProtocolSessionManager; import org.opennaas.core.resources.protocol.ProtocolException; import org.opennaas.core.resources.queue.QueueConstants; import org.opennaas.extensions.roadm.wonesys.actionsets.actions.WonesysAction; import org.opennaas.extensions.roadm.wonesys.commandsets.WonesysCommand; import org.opennaas.extensions.roadm.wonesys.commandsets.commands.UnlockNodeCommand; public class RestoreAction extends WonesysAction { static Log log = LogFactory.getLog(RestoreAction.class); public RestoreAction() { super(); initialize(); } protected void initialize() { this.setActionID(QueueConstants.RESTORE); } @Override public ActionResponse execute(IProtocolSessionManager protocolSessionManager) throws ActionException { // unlock node try { /* get protocol */ IProtocolSession protocol = protocolSessionManager.obtainSessionByProtocol("wonesys", false); WonesysCommand c = new UnlockNodeCommand(); c.initialize(); String response = (String) protocol.sendReceive(c.message()); Response resp = checkResponse(c.message(), response); ActionResponse actionResponse = ActionResponse.okResponse(actionID); actionResponse.addResponse(resp); updateStatusFromResponses(actionResponse); actionResponse.setStatus(STATUS.ERROR); actionResponse.setInformation("Failed to rollback to a state previous to queue execution. Rollback mechanism is not supported."); return actionResponse; } catch (ProtocolException e) { throw new ActionException(e); } } @Override public boolean checkParams(Object params) throws ActionException { log.warn("Given params are ignored"); return true; } }