1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.services;
18
19 import org.apache.jetspeed.services.psmlmanager.PsmlManagerService;
20 import org.apache.jetspeed.om.profile.PSMLDocument;
21 import org.apache.turbine.services.TurbineServices;
22 import org.apache.jetspeed.om.profile.ProfileLocator;
23 import org.apache.jetspeed.om.profile.QueryLocator;
24 import org.apache.jetspeed.om.profile.Profile;
25 import org.apache.jetspeed.om.security.JetspeedUser;
26 import org.apache.jetspeed.om.security.Role;
27 import org.apache.jetspeed.om.security.Group;
28
29 import java.util.Iterator;
30 import java.util.List;
31
32 /***
33 * Static accessor for the PsmlManagerService
34 *
35 * @author <a href="mailto:raphael@apache.org">Raphaël Luta</a>
36 * @version $Id: PsmlManager.java,v 1.10 2004/02/23 04:00:57 jford Exp $
37 */
38 public class PsmlManager
39 {
40
41 /***
42 * Commodity method for getting a reference to the service
43 * singleton
44 */
45 public static PsmlManagerService getService()
46 {
47 return (PsmlManagerService)TurbineServices
48 .getInstance()
49 .getService(PsmlManagerService.SERVICE_NAME);
50 }
51
52 /***
53 * Returns a PSML document of the given name.
54 * For this implementation, the name must be the document
55 * URL or absolute filepath
56 *
57 * @deprecated
58 * @param name the name of the document to retrieve
59 */
60 public static PSMLDocument getDocument( String name )
61 {
62 return getService().getDocument(name);
63 }
64
65 /***
66 * Returns a PSML document for the given locator
67 *
68 * @param locator The locator descriptor of the document to be retrieved.
69 */
70 public static PSMLDocument getDocument( ProfileLocator locator )
71 {
72 return getService().getDocument(locator);
73 }
74
75 /*** Given a ordered list of locators, find the first document matching
76 * a profile locator, starting from the beginning of the list and working
77 * to the end.
78 *
79 * @param locator The ordered list of profile locators.
80 */
81 public static PSMLDocument getDocument( List locators )
82 {
83 return getService().getDocument(locators);
84 }
85
86 /*** Store the PSML document on disk, using its locator
87 *
88 * @param profile the profile locator description.
89 * @return true if the operation succeeded
90 */
91 public static boolean store(Profile profile)
92 {
93 return getService().store(profile);
94 }
95
96 /*** Save the PSML document on disk, using its name as filepath
97 * @deprecated
98 * @param doc the document to save
99 */
100 public static boolean saveDocument(PSMLDocument doc)
101 {
102 return getService().saveDocument(doc);
103 }
104
105 /*** Save the PSML document on disk to the specififed fileOrUrl
106 * @deprecated
107 * @param fileOrUrl a String representing either an absolute URL
108 * or an absolute filepath
109 * @param doc the document to save
110 */
111 public static boolean saveDocument(String fileOrUrl, PSMLDocument doc)
112 {
113 return getService().saveDocument(fileOrUrl, doc);
114 }
115
116 /*** Create a new document.
117 *
118 * @param profile The description and default value for the new document.
119 * @return The newly created document.
120 */
121 public static PSMLDocument createDocument( Profile profile )
122 {
123 return getService().createDocument( profile );
124 }
125
126 /*** Removes a document.
127 *
128 * @param locator The description of the profile resource to be removed.
129 */
130 public static void removeDocument( ProfileLocator locator )
131 {
132 getService().removeDocument( locator );
133 }
134
135 /*** Removes all documents for a given user.
136 *
137 * @param user The user object.
138 */
139 public static void removeUserDocuments( JetspeedUser user )
140 {
141 getService().removeUserDocuments( user );
142 }
143
144 /*** Removes all documents for a given group.
145 *
146 * @param group The group object.
147 */
148 public static void removeGroupDocuments( Group group )
149 {
150 getService().removeGroupDocuments( group );
151 }
152
153
154 /*** Removes all documents for a given role.
155 *
156 * @param role The role object.
157 */
158 public static void removeRoleDocuments( Role role )
159 {
160 getService().removeRoleDocuments( role );
161 }
162
163
164 /*** Query for a collection of profiles given a profile locator criteria.
165 *
166 * @param locator The profile locator criteria.
167 */
168 public static Iterator query( QueryLocator locator )
169 {
170 return getService().query( locator );
171 }
172
173 /*** Export profiles from this service into another service
174 *
175 * @param consumer The PSML consumer service, receives PSML from this service.
176 * @param locator The profile locator criteria.
177 *
178 * @return The count of profiles exported.
179 */
180 public int export(PsmlManagerService consumer, QueryLocator locator)
181 {
182 return getService().export(consumer, locator);
183 }
184
185 /***
186 * Refreshes a PSML document for the given locator
187 *
188 * @param locator The locator descriptor of the document to be retrieved.
189 */
190 public static PSMLDocument refresh( ProfileLocator locator )
191 {
192 return getService().refresh(locator);
193 }
194
195 }
196