KickJava   Java API By Example, From Geeks To Geeks.

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


1 package nl.hippo.cms.workflows.multiplesitesdocument;
2
3 import java.io.IOException JavaDoc;
4 import java.text.DateFormat JavaDoc;
5 import java.text.SimpleDateFormat JavaDoc;
6 import java.util.Calendar JavaDoc;
7 import java.util.HashMap JavaDoc;
8 import java.util.Iterator JavaDoc;
9 import java.util.Map JavaDoc;
10 import nl.hippo.cms.sitesdirectory.SitesDirectory;
11 import nl.hippo.cms.workflows.shared.InitialDataRetrieverWithContextComponent;
12 import nl.hippo.servermanager.Project;
13 import org.apache.avalon.framework.service.ServiceException;
14 import org.apache.commons.httpclient.HttpState;
15
16 public class RequestPublicationInitialDataRetriever extends InitialDataRetrieverWithContextComponent
17 {
18
19     public RequestPublicationInitialDataRetriever()
20     {
21         super();
22     }
23
24     public Map JavaDoc getDataImpl(String JavaDoc uri, HttpState httpState, Map JavaDoc context)
25     {
26         HashMap JavaDoc result = new HashMap JavaDoc();
27         try
28         {
29             SitesDirectory sitesDir = (SitesDirectory) m_manager.lookup(SitesDirectory.ROLE);
30             try
31             {
32                 Iterator JavaDoc siteIdsIter = sitesDir.siteIdsIterator();
33                 while (siteIdsIter.hasNext())
34                 {
35                     String JavaDoc siteId = (String JavaDoc) siteIdsIter.next();
36
37                     Project project = (Project) context.get("project");
38                     boolean isPublishedOnSite = MultipleSitesDocumentUtil.isPublishedOnSite(uri, siteId, project, httpState);
39
40                     result.put(siteId + "-selection", String.valueOf(isPublishedOnSite));
41                     result.put(siteId + "-publicationDateMode", "now");
42                     
43                     Calendar JavaDoc today = Calendar.getInstance();
44                     today.set(Calendar.HOUR_OF_DAY, 0);
45                     today.set(Calendar.MINUTE, 0);
46                     today.set(Calendar.SECOND, 0);
47                     today.set(Calendar.MILLISECOND, 0);
48                     DateFormat JavaDoc df = new SimpleDateFormat JavaDoc("yyyyMMddHHmm");
49                     result.put(siteId + "-publicationDate", df.format(today.getTime()));
50                     
51                     result.put(siteId + "-unpublicationDateMode", "never");
52                 }
53             }
54             finally
55             {
56                 m_manager.release(sitesDir);
57             }
58         }
59         catch (IOException JavaDoc e)
60         {
61             // TODO: handle exception
62
}
63         catch (ServiceException e)
64         {
65             // TODO: handle exception
66
}
67         return result;
68     }
69
70 }
71
Popular Tags