001: /* Copyright 2002 The JA-SIG Collaborative. All rights reserved.
002: * See license distributed with this file and
003: * available online at http://www.uportal.org/license.html
004: */
005:
006: package org.jasig.portal.layout;
007:
008: import org.jasig.portal.StructureStylesheetDescription;
009: import org.jasig.portal.StructureStylesheetUserPreferences;
010: import org.jasig.portal.ThemeStylesheetDescription;
011: import org.jasig.portal.ThemeStylesheetUserPreferences;
012: import org.jasig.portal.UserPreferences;
013: import org.jasig.portal.UserProfile;
014: import org.jasig.portal.layout.IUserLayoutStore;
015:
016: /**
017: * A base class for UserLayoutStore mock objects that does nothing.
018: *
019: * @author Peter Kharchenko {@link <a href="mailto:pkharchenko@interactivebusiness.com"">pkharchenko@interactivebusiness.com"</a>}
020: * @version 1.0
021: */
022:
023: public class UserLayoutStoreMock implements IUserLayoutStore {
024: /**
025: * UserLayoutStoreMock constructor comment.
026: */
027: public UserLayoutStoreMock() {
028: super ();
029: }
030:
031: /** Registers new structure stylesheet with the portal database
032: *
033: * @param stylesheetDescriptionURI Location of the stylesheet description XML file
034: * @param stylesheetURI Location of the actual stylesshet XML file
035: * @return id assigned to the stylesheet or null if the operation failed
036: */
037: public Integer addStructureStylesheetDescription(
038: String stylesheetDescriptionURI, String stylesheetURI)
039: throws Exception {
040: return null;
041: }
042:
043: /** add a new system profile to the database. During this process, a new profile id will be assigned to the profile.
044: *
045: * @param profile profile object (profile id within will be overwritten)
046: * @return profile with an newly assigned id
047: */
048: public UserProfile addSystemProfile(UserProfile profile)
049: throws Exception {
050: return null;
051: }
052:
053: /** Registers a new theme stylesheet with the portal databases
054: *
055: * @param stylesheetDescriptionURI Location of the stylesheet description
056: * XML file
057: * @param stylesheetURI Location of the actual stylesheet XML file
058: * @return id assigned to the stylesheet or null if the operation failed
059: */
060: public Integer addThemeStylesheetDescription(
061: String stylesheetDescriptionURI, String stylesheetURI)
062: throws Exception {
063: return null;
064: }
065:
066: /**
067: * Creates a new user profile in the database.
068: * In the process, new profileId is assigned to the profile
069: *
070: * @param person User
071: * @param profile profile object (profile id in this object will be
072: * overwritten)
073: * @return profile object with the profile id set to the newly generated
074: * id
075: */
076: public UserProfile addUserProfile(
077: org.jasig.portal.security.IPerson person,
078: UserProfile profile) throws Exception {
079: return null;
080: }
081:
082: /** remove system profile from the database
083: *
084: * @param profileId profile id
085: */
086: public void deleteSystemProfile(int profileId) throws Exception {
087: }
088:
089: /** remove user profile from the database
090: *
091: * @param person User
092: * @param profileId profile id
093: */
094: public void deleteUserProfile(
095: org.jasig.portal.security.IPerson person, int profileId)
096: throws Exception {
097: }
098:
099: /* ChannelRegistry */
100: public String generateNewChannelSubscribeId(
101: org.jasig.portal.security.IPerson person) throws Exception {
102: return null;
103: }
104:
105: /**
106: * Generate a folder id for a folder being added to the user layout
107: *
108: * @param person an <code>IPerson</code> value
109: * @return a <code>String</code> value
110: * @exception Exception if an error occurs
111: */
112: public String generateNewFolderId(
113: org.jasig.portal.security.IPerson person) throws Exception {
114: return null;
115: }
116:
117: /** Obtains a list of mime types available on the installation
118: *
119: * @return Returns a hasbtale mapping mime type strings to their word
120: * descriptions (simple String)
121: */
122: public java.util.Hashtable getMimeTypeList() throws Exception {
123: return null;
124: }
125:
126: /** Obtains a complete description of the structure stylesheet
127: *
128: * @param stylesheetId id of the structure stylesheet
129: * @return a description of the structure stylesheet
130: */
131: public StructureStylesheetDescription getStructureStylesheetDescription(
132: int stylesheetId) throws Exception {
133: return null;
134: }
135:
136: /**
137: * Obtain a list of strcture stylesheet descriptions registered on the system
138: * @return a <code>Hashtable</code> mapping stylesheet id (<code>Integer</code> objects) to {@link StructureStylesheetDescription} objects
139: * @exception Exception
140: */
141: public java.util.Hashtable getStructureStylesheetList()
142: throws Exception {
143: return null;
144: }
145:
146: /**
147: * CoreStylesheetDescription
148: */
149: public java.util.Hashtable getStructureStylesheetList(
150: String mimeType) throws Exception {
151: return null;
152: }
153:
154: /** Obtain structure stylesheet user preferences
155: *
156: * @param person User
157: * @param profileId profile id
158: * @param stylesheetId structure stylesheet id
159: * @return structure stylesheet user preferences. null is returned only if userId, profileId or stylesheet with an appropriate name do not exist. If all of the parameters are valid, but the user does not have any user preference settings associated with this stylesheet, return contains stylesheet preference object filled in with the defaults defined in stylesheet description.
160: */
161: public StructureStylesheetUserPreferences getStructureStylesheetUserPreferences(
162: org.jasig.portal.security.IPerson person, int profileId,
163: int stylesheetId) throws Exception {
164: return null;
165: }
166:
167: /** retreive a system profile associated with a given browser
168: *
169: * @param userAgent User-Agent header string
170: * @return profile object
171: */
172: public UserProfile getSystemProfile(String userAgent)
173: throws Exception {
174: return null;
175: }
176:
177: /** Obtain a system profile
178: * @param profileId system profile id
179: */
180: public UserProfile getSystemProfileById(int profileId)
181: throws Exception {
182: return null;
183: }
184:
185: /** obtain a list of system profiles
186: *
187: * @return a <code>Hashtable</code> mapping system profile ids (<code>Integer</code> objects) to the {@link UserProfile} objects
188: */
189: public java.util.Hashtable getSystemProfileList() throws Exception {
190: return null;
191: }
192:
193: /** Obtains a complete description of a theme stylesheet
194: *
195: * @param stylesheetId id of a theme stylesheet
196: * @return a description of a theme stylesheet
197: */
198: public ThemeStylesheetDescription getThemeStylesheetDescription(
199: int stylesheetId) throws Exception {
200: return null;
201: }
202:
203: /**
204: * Obtain a list of theme stylesheet descriptions registered on the system
205: * @return a <code>Hashtable</code> mapping stylesheet id (<code>Integer</code> objects) to {@link ThemeStylesheetDescription} objects
206: * @exception Exception
207: */
208: public java.util.Hashtable getThemeStylesheetList()
209: throws Exception {
210: return null;
211: }
212:
213: /** Obtains a list of theme stylesheets available for a particular structure stylesheet.
214: *
215: * @param structureStylesheetId id of the structure stylehsset
216: * @return a <code>Hashtable</code> mapping stylesheet id (<code>Integer</code> objects) to {@link ThemeStylesheetDescription} objects
217: */
218: public java.util.Hashtable getThemeStylesheetList(
219: int structureStylesheetId) throws Exception {
220: return null;
221: }
222:
223: /** Obtain theme stylesheet user preferences
224: *
225: * @param person User
226: * @param profileId profile id
227: * @param stylesheetId theme stylesheet id
228: * @return theme stylesheet user preferences. null is returned only if userId, profileId or stylesheet with an appropriate name do not exist. If all of the parameters are valid, but the user does not have any user preference settings associated with this stylesheet, return contains stylesheet preference object filled in with the defaults defined in stylesheet description.
229: */
230: public ThemeStylesheetUserPreferences getThemeStylesheetUserPreferences(
231: org.jasig.portal.security.IPerson person, int profileId,
232: int stylesheetId) throws Exception {
233: return null;
234: }
235:
236: /**
237: * Retreive a user layout document.
238: *
239: * @param person an <code>IPerson</code> object specifying the user
240: * @param profile a user profile
241: * @return a <code>Document</code> containing user layout (conforms to userLayout.dtd)
242: * @exception Exception if an error occurs
243: */
244: public org.w3c.dom.Document getUserLayout(
245: org.jasig.portal.security.IPerson person,
246: UserProfile profile) throws Exception {
247: return null;
248: }
249:
250: /** Retreive the entire UserPreferences object
251: *
252: * @param person User
253: * @param profile profile
254: * @return user preferences
255: */
256: public UserPreferences getUserPreferences(
257: org.jasig.portal.security.IPerson person,
258: UserProfile profile) throws Exception {
259: return null;
260: }
261:
262: /** Obtain user profile associated with a particular browser
263: *
264: * @param person User
265: * @param userAgent User-Agent header string
266: * @return user profile or <code>null</code> if no user profiles are associated with the given user agent.
267: */
268: public UserProfile getUserProfile(
269: org.jasig.portal.security.IPerson person, String userAgent)
270: throws Exception {
271: return null;
272: }
273:
274: /** Obtains a user profile by profile id.
275: * @param person an <code>IPerson</code> object representing the user
276: * @param profileId profile id
277: */
278: public UserProfile getUserProfileById(
279: org.jasig.portal.security.IPerson person, int profileId)
280: throws Exception {
281: return null;
282: }
283:
284: /** retreive a list of profiles associated with a user
285: *
286: * @param person User
287: * @return a <code>Hashtable</code> mapping user profile ids (<code>Integer</code> objects) to the {@link UserProfile} objects
288: */
289: public java.util.Hashtable getUserProfileList(
290: org.jasig.portal.security.IPerson person) throws Exception {
291: return null;
292: }
293:
294: /** save user preferences
295: *
296: * @param person User
297: * @param up user preferences object
298: */
299: public void putUserPreferences(
300: org.jasig.portal.security.IPerson person, UserPreferences up)
301: throws Exception {
302: }
303:
304: /** removes stylesheet description
305: *
306: * @param stylesheetId id of the stylesheet
307: */
308: public void removeStructureStylesheetDescription(int stylesheetId)
309: throws Exception {
310: }
311:
312: /** Removes theme stylesheet
313: *
314: * @param stylesheetId id of the stylesheet
315: */
316: public void removeThemeStylesheetDescription(int stylesheetId)
317: throws Exception {
318: }
319:
320: /** Save structure stylesheet user pferences
321: *
322: * @param person User
323: * @param profileId profile id
324: * @param fsup structure stylesheet user preferences
325: */
326: public void setStructureStylesheetUserPreferences(
327: org.jasig.portal.security.IPerson person, int profileId,
328: StructureStylesheetUserPreferences fsup) throws Exception {
329: }
330:
331: /** establish system profile browser mapping
332: *
333: * @param userAgent User-Agent header string
334: * @param systemProfileId profile id of a profile to which given
335: * user-agent will be mapped
336: */
337: public void setSystemBrowserMapping(String userAgent,
338: int systemProfileId) throws Exception {
339: }
340:
341: /** Save theme stylesheet user preferences
342: *
343: * @param person User
344: * @param profileId profile id
345: * @param ssup structure stylesheet user preferneces
346: */
347: public void setThemeStylesheetUserPreferences(
348: org.jasig.portal.security.IPerson person, int profileId,
349: ThemeStylesheetUserPreferences ssup) throws Exception {
350: }
351:
352: /** establish a browser - user profile mapping
353: *
354: * @param person User
355: * @param userAgent User-Agent header string
356: * @param profileId profile id to which given user agent will be mapped
357: */
358: public void setUserBrowserMapping(
359: org.jasig.portal.security.IPerson person, String userAgent,
360: int profileId) throws Exception {
361: }
362:
363: /**
364: * Persist user layout document.
365: *
366: * @param person an <code>IPerson</code> object specifying the user
367: * @param profile a user profile for which the layout is being stored
368: * @param layoutXML a <code>Document</code> containing user layout (conforming to userLayout.dtd)
369: * @param channelsAdded a boolean flag specifying if new channels have been added to the current user layout (for performance optimization purposes)
370: * @exception Exception if an error occurs
371: */
372: public void setUserLayout(org.jasig.portal.security.IPerson person,
373: UserProfile profile, org.w3c.dom.Document layoutXML,
374: boolean channelsAdded) throws Exception {
375: }
376:
377: /**
378: * Updates an existing structure stylesheet description.
379: * @param stylesheetDescriptionURI Location of the stylesheet description XML file
380: * @param stylesheetURI Location of the actual stylesshet XML file
381: * @param stylesheetId the id of the existing stylesheet description
382: * @return true if the update successful
383: */
384: public boolean updateStructureStylesheetDescription(
385: String stylesheetDescriptionURI, String stylesheetURI,
386: int stylesheetId) {
387: return false;
388: }
389:
390: /** update system profile
391: *
392: * @param profile profile object
393: */
394: public void updateSystemProfile(UserProfile profile)
395: throws Exception {
396: }
397:
398: /**
399: * Updates an existing theme stylesheet description.
400: * @param stylesheetDescriptionURI Location of the stylesheet description XML file
401: * @param stylesheetURI Location of the actual stylesshet XML file
402: * @param stylesheetId the id of the existing stylesheet description
403: * @return true if the update successful
404: */
405: public boolean updateThemeStylesheetDescription(
406: String stylesheetDescriptionURI, String stylesheetURI,
407: int stylesheetId) throws Exception {
408: return false;
409: }
410:
411: /** update user profile
412: *
413: * @param person User
414: * @param profile profile update
415: */
416: public void updateUserProfile(
417: org.jasig.portal.security.IPerson person,
418: UserProfile profile) throws Exception {
419: }
420: }
|