KickJava   Java API By Example, From Geeks To Geeks.

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


1 package nl.hippo.cms.workflows.reviewedactions;
2
3 import com.opensymphony.module.propertyset.PropertySet;
4 import com.opensymphony.workflow.WorkflowException;
5 import java.io.IOException JavaDoc;
6 import java.util.HashSet JavaDoc;
7 import java.util.Map JavaDoc;
8 import java.util.Set JavaDoc;
9 import nl.hippo.cms.Constants;
10 import nl.hippo.cms.workflows.shared.FunctionProviderComponent;
11 import nl.hippo.cocoon.webdav.Property;
12 import nl.hippo.cocoon.webdav.WebDAVHelper;
13 import org.apache.commons.httpclient.HttpState;
14
15 public class MoveScheduledPublicationDateToPublicationDateFunction extends FunctionProviderComponent
16 {
17
18     public MoveScheduledPublicationDateToPublicationDateFunction()
19     {
20         super();
21     }
22
23     public void executeImpl(Map JavaDoc transientVars, Map JavaDoc args, PropertySet ps) throws WorkflowException
24     {
25         try
26         {
27             String JavaDoc location = (String JavaDoc) transientVars.get("location");
28             HttpState httpState = (HttpState) transientVars.get("httpstate");
29             String JavaDoc scheduledPublicationDate = WebDAVHelper.propfindAsString(location, Constants.CMS_1_0_NAMESPACE, Constants.SCHEDULED_PUBLICATION_DATE_PROPERTY_NAME, httpState);
30             if (scheduledPublicationDate != null)
31             {
32                 Set propertiesToSet = new HashSet JavaDoc();
33                 propertiesToSet.add(new Property("H", Constants.CMS_1_0_NAMESPACE, Constants.PUBLICATION_DATE_PROPERTY_NAME, scheduledPublicationDate));
34                 Set propertiesToRemove = new HashSet JavaDoc();
35                 propertiesToRemove.add(new Property("H", Constants.CMS_1_0_NAMESPACE, Constants.SCHEDULED_PUBLICATION_DATE_PROPERTY_NAME));
36                 WebDAVHelper.proppatch(location, propertiesToSet, propertiesToRemove, httpState);
37             }
38         }
39         catch (IOException JavaDoc e)
40         {
41             throw new WorkflowException(e);
42         }
43     }
44
45 }
Popular Tags