package org.js.model.adaptation.rules.remove; import java.util.ArrayList; import org.eclipse.jwt.meta.model.core.Model; import org.eclipse.jwt.meta.model.processes.Action; import org.js.model.adaptation.IRewriteRule; import org.js.model.rbac.Role; import org.js.model.workflow.StateEnum; import org.js.model.workflow.util.WorkflowModelUtil; public class DisableSpecializationAction extends AbstractWorkflowRemoveRewriteRule { public DisableSpecializationAction(Role role, Model workflow) { super(role, workflow); } @Override protected int executeInternal() { int returnCode = disableAction(); return returnCode; } private int disableAction() { int returnCode = IRewriteRule.OK; ArrayList<Action> actions = WorkflowModelUtil.getActions(activity, role); if (actions.isEmpty()) { returnCode = IRewriteRule.Error; } for (Action action : actions) { WorkflowModelUtil.setActionState(action, StateEnum.INACTIVE); } return returnCode; } }