1 package nl.hippo.cms.workflows.multiplesitesdocument; 2 3 import java.io.IOException ; 4 import java.text.DateFormat ; 5 import java.text.SimpleDateFormat ; 6 import java.util.Calendar ; 7 import java.util.HashMap ; 8 import java.util.Iterator ; 9 import java.util.Map ; 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 getDataImpl(String uri, HttpState httpState, Map context) 25 { 26 HashMap result = new HashMap (); 27 try 28 { 29 SitesDirectory sitesDir = (SitesDirectory) m_manager.lookup(SitesDirectory.ROLE); 30 try 31 { 32 Iterator siteIdsIter = sitesDir.siteIdsIterator(); 33 while (siteIdsIter.hasNext()) 34 { 35 String siteId = (String ) 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 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 df = new SimpleDateFormat ("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 e) 60 { 61 } 63 catch (ServiceException e) 64 { 65 } 67 return result; 68 } 69 70 } 71 | Popular Tags |