KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nl > hippo > cms > workflows > multiplesitesdocument > NotifySitesOfDeletionDisapprovalFunction


1 package nl.hippo.cms.workflows.multiplesitesdocument;
2
3 import com.opensymphony.module.propertyset.PropertySet;
4 import com.opensymphony.workflow.WorkflowException;
5 import java.util.HashMap JavaDoc;
6 import java.util.Iterator JavaDoc;
7 import java.util.Map JavaDoc;
8 import nl.hippo.cms.sitesdirectory.SitesDirectory;
9 import nl.hippo.cms.workflows.shared.FunctionProviderComponent;
10 import nl.hippo.componentcontainers.AvalonSpringBridge;
11 import nl.hippo.servermanager.Project;
12 import nl.hippo.servermanager.ProjectWorkflowRepository;
13 import nl.hippo.servermanager.Server;
14 import nl.hippo.servermanager.ServerManager;
15
16 public class NotifySitesOfDeletionDisapprovalFunction extends FunctionProviderComponent
17 {
18
19     public NotifySitesOfDeletionDisapprovalFunction()
20     {
21         super();
22     }
23
24     public void executeImpl(Map JavaDoc transientVars, Map JavaDoc args, PropertySet ps) throws WorkflowException
25     {
26         String JavaDoc projectName = (String JavaDoc) transientVars
27                 .get(MultipleSitesDocumentConstants.PROJECT_NAME_KEY);
28         try
29         {
30             AvalonSpringBridge asb = (AvalonSpringBridge) m_manager.lookup(AvalonSpringBridge.ROLE);
31             try
32             {
33                 Server server = ((ServerManager) asb.getBean("serverManager")).getServer();
34                 Project project = server.getProject(projectName);
35                 ProjectWorkflowRepository workflowRepo = project.getWorkflowRepository();
36
37                 SitesDirectory sitesDir = (SitesDirectory) m_manager.lookup(SitesDirectory.ROLE);
38                 try
39                 {
40                     Map JavaDoc siteWorkflowIds = (Map JavaDoc) ps
41                             .getAsActualType(MultipleSitesDocumentConstants.SITE_WORKFLOW_IDS_KEY);
42                     if (siteWorkflowIds == null)
43                     {
44                         siteWorkflowIds = new HashMap JavaDoc();
45                     }
46
47                     Iterator JavaDoc siteIdsIterator = sitesDir.siteIdsIterator();
48                     while (siteIdsIterator.hasNext())
49                     {
50                         String JavaDoc siteId = (String JavaDoc) siteIdsIterator.next();
51                         Long JavaDoc siteWorkflowIdAsLong = (Long JavaDoc) siteWorkflowIds.get(siteId);
52                         if (siteWorkflowIdAsLong != null)
53                         {
54                             long siteWorkflowId = siteWorkflowIdAsLong.longValue();
55                             workflowRepo.doAction(siteWorkflowId, 1009, new HashMap JavaDoc());
56                         }
57                     }
58                 }
59                 finally
60                 {
61                     m_manager.release(sitesDir);
62                 }
63             }
64             finally
65             {
66                 m_manager.release(asb);
67             }
68         }
69         catch (Exception JavaDoc e)
70         {
71             throw new WorkflowException(e);
72         }
73     }
74
75 }
76
Popular Tags