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 ; 6 import java.util.HashSet ; 7 import java.util.Map ; 8 import java.util.Set ; 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 transientVars, Map args, PropertySet ps) throws WorkflowException 24 { 25 try 26 { 27 String location = (String ) transientVars.get("location"); 28 HttpState httpState = (HttpState) transientVars.get("httpstate"); 29 String 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 (); 33 propertiesToSet.add(new Property("H", Constants.CMS_1_0_NAMESPACE, Constants.PUBLICATION_DATE_PROPERTY_NAME, scheduledPublicationDate)); 34 Set propertiesToRemove = new HashSet (); 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 e) 40 { 41 throw new WorkflowException(e); 42 } 43 } 44 45 } | Popular Tags |