1 package nl.hippo.cms.workflows.multiplesitessite; 2 3 import com.opensymphony.module.propertyset.PropertySet; 4 import com.opensymphony.workflow.WorkflowException; 5 import com.opensymphony.workflow.spi.WorkflowEntry; 6 import java.util.HashMap ; 7 import java.util.Map ; 8 import nl.hippo.cms.workflows.shared.FunctionProviderComponent; 9 import nl.hippo.componentcontainers.AvalonSpringBridge; 10 import nl.hippo.servermanager.Project; 11 import nl.hippo.servermanager.ProjectWorkflowRepository; 12 import nl.hippo.servermanager.Server; 13 import nl.hippo.servermanager.ServerManager; 14 import org.apache.commons.httpclient.HttpState; 15 16 public class InvokeDeleteFunction extends FunctionProviderComponent 17 { 18 19 public InvokeDeleteFunction() 20 { 21 super(); 22 } 23 24 public void executeImpl(Map transientVars, Map args, PropertySet ps) throws WorkflowException 25 { 26 WorkflowEntry entry = (WorkflowEntry) transientVars.get("entry"); 27 String projectName = ps.getString("projectName"); 28 AvalonSpringBridge asb; 29 try 30 { 31 asb = (AvalonSpringBridge) m_manager.lookup(AvalonSpringBridge.ROLE); 32 try 33 { 34 Server server = ((ServerManager) asb.getBean("serverManager")).getServer(); 35 Project project = server.getProject(projectName); 36 ProjectWorkflowRepository workflowRepo = project.getWorkflowRepository(); 37 HashMap params = new HashMap (); 38 params.put("projectName", projectName); 39 HttpState httpState = (HttpState) transientVars.get("httpstate"); 40 params.put("httpstate", httpState); 41 42 workflowRepo.doAction(entry.getId(), 1010, params); 43 } 44 finally 45 { 46 m_manager.release(asb); 47 } 48 } 49 catch (Exception e) 50 { 51 throw new WorkflowException(e); 52 } 53 } 54 55 } 56 | Popular Tags |