1 package nl.hippo.cms.workflows.reviewedactions; 2 3 import com.opensymphony.module.propertyset.PropertySet; 4 import com.opensymphony.workflow.WorkflowException; 5 import nl.hippo.servermanager.Project; 6 import nl.hippo.servermanager.ServerManager; 7 import java.util.Map ; 8 import nl.hippo.cms.workflows.shared.FunctionProviderComponent; 9 import nl.hippo.componentcontainers.AvalonSpringBridge; 10 import org.apache.avalon.framework.CascadingException; 11 import org.quartz.Scheduler; 12 13 public class CancelPublicationTasksFunction extends FunctionProviderComponent { 14 15 public CancelPublicationTasksFunction() { 16 super(); 17 } 18 19 public void executeImpl(Map transientVars, Map args, PropertySet ps) 20 throws WorkflowException { 21 String projectName = (String ) transientVars.get("projectname"); 22 23 AvalonSpringBridge asb = null; 24 try 25 { 26 asb = (AvalonSpringBridge) m_manager.lookup(AvalonSpringBridge.ROLE); 27 ServerManager sm = (ServerManager)asb.getBean("serverManager"); 28 Project p = sm.getServer().getProject(projectName); 29 Scheduler scheduler = p.getJobScheduler(); 30 31 String taskId = ps.getString("publicationTaskId"); 32 if (taskId != null) 33 { 34 ps.remove("publicationTaskId"); 35 scheduler.deleteJob(taskId, projectName); 36 } 37 taskId = ps.getString("unpublicationTaskId"); 38 if (taskId != null) { 39 ps.remove("unpublicationTaskId"); 40 scheduler.deleteJob(taskId, projectName); 41 } 42 } 43 catch (Exception e) 44 { 45 Throwable t = e; 46 while (t != null && t instanceof CascadingException) 47 { 48 t = ((CascadingException)t).getCause(); 49 } 50 throw new WorkflowException(t); 51 } 52 finally 53 { 54 if (asb != null) 55 { 56 m_manager.release(asb); 57 } 58 } 59 } 60 61 } 62 | Popular Tags |