KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nl > hippo > cms > workflows > multiplesitessite > StoreScheduledPublicationDatesFunction


1 package nl.hippo.cms.workflows.multiplesitessite;
2
3 import com.opensymphony.module.propertyset.PropertySet;
4 import com.opensymphony.workflow.WorkflowException;
5 import java.text.DateFormat JavaDoc;
6 import java.text.SimpleDateFormat JavaDoc;
7 import java.util.Date JavaDoc;
8 import java.util.Map JavaDoc;
9 import nl.hippo.cms.workflows.shared.DateUtil;
10 import nl.hippo.cms.workflows.shared.FunctionProviderComponent;
11 import nl.hippo.cms.workflows.shared.WorkflowExtensionUtil;
12
13 public class StoreScheduledPublicationDatesFunction extends FunctionProviderComponent
14 {
15
16     public StoreScheduledPublicationDatesFunction()
17     {
18         super();
19     }
20
21     public void executeImpl(Map JavaDoc transientVars, Map JavaDoc args, PropertySet ps)
22             throws WorkflowException
23     {
24         DateFormat JavaDoc df = new SimpleDateFormat JavaDoc("yyyyMMddHHmm");
25         String JavaDoc publicationDateMode = (String JavaDoc) transientVars.get("publicationDateMode");
26         Date JavaDoc publicationDate;
27         if (publicationDateMode.equals("now"))
28         {
29             publicationDate = new Date JavaDoc();
30         }
31         else
32         {
33             publicationDate = WorkflowExtensionUtil.getDateAndTime(transientVars
34                     .get("publicationDate"));
35         }
36         ps.setString("scheduledPublicationDate", df.format(publicationDate));
37
38         String JavaDoc unpublicationDateMode = (String JavaDoc) transientVars.get("unpublicationDateMode");
39         if (unpublicationDateMode == null || unpublicationDateMode.equals("never"))
40         {
41             ps.remove("unpublicationDate");
42         }
43         else
44         {
45             Date JavaDoc unpublicationDate = WorkflowExtensionUtil.getDateAndTime(transientVars
46                     .get("unpublicationDate"));
47             if (DateUtil.isBefore(unpublicationDate, publicationDateMode, publicationDate))
48             {
49                 ps.remove("unpublicationDate");
50             }
51             else
52             {
53                 ps.setString("unpublicationDate", df.format(unpublicationDate));
54             }
55         }
56     }
57
58 }
59
Popular Tags