KickJava   Java API By Example, From Geeks To Geeks.

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


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.cms.workflows.shared.URIUtil;
12 import nl.hippo.cocoon.webdav.Property;
13 import nl.hippo.cocoon.webdav.WebDAVHelper;
14 import org.apache.commons.httpclient.HttpState;
15
16 public class StoreCreatorFunction extends FunctionProviderComponent
17 {
18     public StoreCreatorFunction()
19     {
20         super();
21     }
22
23     public void executeImpl(final Map JavaDoc transientVars, Map JavaDoc args, PropertySet ps)
24             throws WorkflowException
25     {
26         String JavaDoc location = URIUtil.getHTTPURI((String JavaDoc) transientVars.get("location"));
27         HttpState httpState = (HttpState) transientVars.get("httpstate");
28         String JavaDoc user = "";
29         try
30         {
31             user = WebDAVHelper.propfindAsString(location, Constants.CMS_1_0_NAMESPACE,
32                     Constants.LAST_WORKFLOW_USER_PROPERTY_NAME, httpState);
33         }
34         catch (IOException JavaDoc e)
35         {
36             // Ignore: use default value of ""
37
}
38         
39         try
40         {
41             Set propertiesToSet = new HashSet JavaDoc();
42             propertiesToSet.add(new Property("H", Constants.CMS_1_0_NAMESPACE, "createdBy", user));
43             WebDAVHelper.proppatch(location, propertiesToSet, null, httpState);
44         }
45         catch (IOException JavaDoc e)
46         {
47             throw new WorkflowException(e);
48         }
49     }
50 }
Popular Tags