KickJava   Java API By Example, From Geeks To Geeks.

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


1 package nl.hippo.cms.workflows.multiplesitessite;
2
3 import java.io.IOException JavaDoc;
4 import java.util.HashMap JavaDoc;
5 import java.util.Map JavaDoc;
6 import nl.hippo.cms.Constants;
7 import nl.hippo.cms.repositorylocation.CommonRepositoryLocationRoles;
8 import nl.hippo.cms.repositorylocation.RepositoryInformation;
9 import nl.hippo.cms.repositorylocation.RepositoryLocation;
10 import nl.hippo.cms.workflows.shared.QueryDataRetrieverComponent;
11 import nl.hippo.cocoon.webdav.WebDAVHelper;
12 import org.apache.avalon.framework.service.ServiceException;
13 import org.apache.commons.httpclient.HttpState;
14
15 public class WaitingForDeletionReviewDataRetriever extends QueryDataRetrieverComponent
16 {
17
18     public WaitingForDeletionReviewDataRetriever()
19     {
20         super();
21     }
22
23     public Map JavaDoc getDataImpl(String JavaDoc uri, String JavaDoc repositoryRootUri, HttpState httpState) throws IOException JavaDoc
24     {
25         Map JavaDoc result = new HashMap JavaDoc();
26         
27         try
28         {
29             RepositoryLocation editorRepoLocation = (RepositoryLocation) m_manager
30                     .lookup(CommonRepositoryLocationRoles.EDITOR_REPOSITORY_LOCATION_ROLE);
31             try
32             {
33                 RepositoryInformation editorRepoInfo = editorRepoLocation
34                         .getRepositoryInformation();
35                 String JavaDoc absoluteUri = editorRepoInfo.getAbsoluteUri(uri);
36                 String JavaDoc lastUserName = WebDAVHelper.propfindAsString(absoluteUri,
37                         Constants.CMS_1_0_NAMESPACE, Constants.LAST_WORKFLOW_USER_PROPERTY_NAME,
38                         httpState);
39                 if (lastUserName != null && !lastUserName.equals(""))
40                 {
41                     String JavaDoc displayName = WebDAVHelper.propfindAsString(repositoryRootUri
42                             + "/users/" + lastUserName, "DAV:", "displayname", httpState);
43                     if (displayName != null && !displayName.equals(""))
44                     {
45                         lastUserName = displayName;
46                     }
47                 }
48                 result.put("person", lastUserName);
49             }
50             finally
51             {
52                 m_manager.release(editorRepoLocation);
53             }
54         }
55         catch (ServiceException e)
56         {
57             // TODO: handle exception
58
}
59
60         return result;
61     }
62
63 }
64
Popular Tags