KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nl > hippo > cms > workflows > reviewedactions > CancelPublicationTasksFunction


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 JavaDoc;
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 JavaDoc transientVars, Map JavaDoc args, PropertySet ps)
20             throws WorkflowException {
21         String JavaDoc projectName = (String JavaDoc) 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 JavaDoc 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 JavaDoc e)
44         {
45             Throwable JavaDoc 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