Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jasig.portal.layout.dlm
Class RDBMDistributedLayoutStore

    java.lang.Object
      org.jasig.portal.layout.simple.RDBMUserLayoutStore
          org.jasig.portal.layout.dlm.RDBMDistributedLayoutStore

All Implemented Interfaces:
  IUserLayoutStore

    public class RDBMDistributedLayoutStore

extends RDBMUserLayoutStore

This class extends RDBMUserLayoutStore and implements instantiating and storing layouts that conform to the design of the distribute layout management system. These layouts consist of two types: layout fragments that are the layouts owned by a user specified in dlm.xml, and composite view layouts which represent regular users with zero or more UI elements incorporated from layout fragments. Only a user's personal layout fragment is

Since:
  uPortal 2.5
Version:
  $Revision: 1.14.2.6 $ $Date: 2006/01/26 19:51:04 $

Field Summary
`private FragmentActivator` | `activator`
`private LayoutDecorator` | `decorator`
`(package private) static java.lang.String` | `DECORATOR_PROPERTY`
`private FragmentDefinition[]` | `definitions`
`private java.lang.Object` | `initializationLock`
`private boolean` | `initialized`
`private static org.apache.commons.logging.Log` | `LOG`
`private java.util.Map` | `mLocks` Map of read/writer lock objects; one per unique person.
`private java.util.Properties` | `properties`
`static java.lang.String` | `RCS_ID`
`private static SmartCache` | `ssdCache`
`private static int` | `STRUCT`
`private java.lang.String` | `systemDefaultUser`
`private boolean` | `systemDefaultUserLoaded`
`(package private) static java.lang.String` | `TEMPLATE_USER_NAME`
`private static int` | `THEME`
`private static SmartCache` | `tsdCache`

Fields inherited from class org.jasig.portal.layout.simple.RDBMUserLayoutStore
`channelPrefix, crs, csdb, DEBUG, folderPrefix, localeAware, log`

Constructor Summary
`RDBMDistributedLayoutStore()`

Method Summary
`StructureStylesheetUserPreferences` | `_getStructureStylesheetUserPreferences(IPerson person, int profileId, int stylesheetId)`
`private org.w3c.dom.Document` | `_getUserLayout(IPerson person, UserProfile profile)` Returns the layout for a user.
`private org.w3c.dom.Document` | `_safeGetUserLayout(IPerson person, UserProfile profile)` Handles locking and identifying proper root and namespaces that used to take place in super class.
`private void` | `acquireReadLock(IPerson person)`
`(package private) void` | `activationFinished()` Called by fragment activation after loading of all fragment layouts is complete to allow other threads requesting layouts via getUserLayout to continue.
`java.lang.Integer` | `addStructureStylesheetDescription(StructureStylesheetDescription ssd)` Registers a NEW structure stylesheet with the database.
`java.lang.Integer` | `addThemeStylesheetDescription(ThemeStylesheetDescription tsd)` Registers a NEW theme stylesheet with the database.
`private org.w3c.dom.Document` | `getCompositeLayout(IPerson person, UserProfile profile)` This method passed through the set of ordered fragments asking each one if it is applicable to this user.
`(package private) FragmentDefinition[]` | `getDefinitions()` Gets the configured dlm fragment definitions.
`(package private) DistributedUserPreferences` | `getDistributedSSUP(IPerson person, int profileId, int stylesheetId)`
`(package private) DistributedUserPreferences` | `getDistributedTSUP(IPerson person, int profileId, int stylesheetId)`
`(package private) org.w3c.dom.Document` | `getFragmentLayout(IPerson person, UserProfile profile)` Convenience method for fragment activator to obtain raw layouts for fragments during initialization.
`double` | `getFragmentPrecedence(int index)` Returns a double value indicating the precedence value declared for a fragment in the dlm.xml.
`java.lang.String` | `getNextStructDirectiveId(IPerson person)` Generates a new struct id for directive elements that dlm places in the PLF version of the layout tree.
`private FragmentDefinition` | `getOwnedFragment(IPerson person)` Returns the fragment owned by this user if any.
`private java.lang.String` | `getPlfId(org.w3c.dom.Document PLF, java.lang.String incdId)` When user preferences are stored in the database for changes made to an incorporated node the node id can not be used because it does not represent a row in the up_layout_struct table for the user.
`java.lang.String` | `getProperty(java.lang.String name)` Returns the specified property loaded from dlm.xml or null if not found.
`int` | `getPropertyCount()` Returns the number of properties loaded from the dlm.xml file.
`java.util.Enumeration` | `getPropertyNames()` Returns an enumerator of the property names loaded from dlm.xml.
`private EDU.oswego.cs.dl.util.concurrent.ReadWriteLock` | `getReadWriteLock(IPerson person)`
`protected org.w3c.dom.Element` | `getStructure(org.w3c.dom.Document document, LayoutStructure ls)`
`StructureStylesheetDescription` | `getStructureStylesheetDescription(int stylesheetId)` Obtain structure stylesheet description object for a given structure stylesheet id.
`StructureStylesheetUserPreferences` | `getStructureStylesheetUserPreferences(IPerson person, int profileId, int stylesheetId)` Obtain structure stylesheet user preferences
`ThemeStylesheetDescription` | `getThemeStylesheetDescription(int stylesheetId)` Obtain theme stylesheet description object for a given theme stylesheet id.
`ThemeStylesheetUserPreferences` | `getThemeStylesheetUserPreferences(IPerson person, int profileId, int stylesheetId)` Obtain theme stylesheet user preferences
`org.w3c.dom.Document` | `getUserLayout(IPerson person, UserProfile profile)` Returns the layout for a user decorated with any specified decorator.
`private void` | `initializeFragmentCleaner()` Starts a Thread that is responsible for cleaning out the layout fragments periodically.
`private boolean` | `isLayoutOwnerDefault(IPerson person)` Returns true is the user is the owner of a layout which is copied as the default for any fragment when first created.
`private void` | `loadIncorporatedPreferences(IPerson person, int which, DistributedUserPreferences userPrefs, DistributedUserPreferences incdPrefs)`
`private void` | `releaseReadLock(IPerson person)`
`void` | `removeStructureStylesheetDescription(int stylesheetId)` Removes a structure stylesheet description object for a given structure stylesheet id.
`void` | `removeThemeStylesheetDescription(int stylesheetId)` Removes a theme stylesheet description object for a given theme stylesheet id.
`protected int` | `saveStructure(org.w3c.dom.Node node, java.sql.PreparedStatement structStmt, java.sql.PreparedStatement parmStmt)`
`(package private) void` | `setDefinitions(FragmentDefinition[] frags)` Sets the dlm fragment definitions.
`(package private) void` | `setProperties(java.util.Properties props)` Sets the dlm propertys.
`void` | `setStructureStylesheetUserPreferences(IPerson person, int profileId, StructureStylesheetUserPreferences ssup)` Save structure stylesheet user pferences
`void` | `setThemeStylesheetUserPreferences(IPerson person, int profileId, ThemeStylesheetUserPreferences tsup)` Save theme stylesheet user preferences
`void` | `setUserLayout(IPerson person, UserProfile profile, org.w3c.dom.Document layoutXML, boolean channelsAdded)` This method overrides the same method in the super class to persist only layout information stored in the user's person layout fragment or PLF.
`(package private) void` | `setUserLayout(IPerson person, UserProfile profile, org.w3c.dom.Document layoutXML, boolean channelsAdded, boolean updateFragmentCache)` This method overrides the same method in the super class to persist only layout information stored in the user's person layout fragment or PLF.
`private java.lang.String` | `showChannelAttribs(ThemeStylesheetUserPreferences tsup)`
`private java.lang.String` | `showFolderAttribs(StructureStylesheetUserPreferences ssup)`
`private void` | `updateCachedLayout(org.w3c.dom.Document layout, UserProfile profile, FragmentDefinition fragment)` Replaces the layout Document stored on a fragment definition with a new version.
`private void` | `updateFragmentSSUP(IPerson person, DistributedUserPreferences ssup)` If the passed in user represents a layout owner then replace the cached structure stylesheet user preferences with the passed in one after modifying it for incorporation.
`void` | `updateStructureStylesheetDescription(StructureStylesheetDescription ssd)` Updates an existing structure stylesheet description with a new one.
`void` | `updateThemeStylesheetDescription(ThemeStylesheetDescription tsd)` Updates an existing structure stylesheet description with a new one.

Methods inherited from class org.jasig.portal.layout.simple.RDBMUserLayoutStore
`addStructureStylesheetDescription, addSystemProfile, addThemeStylesheetDescription, addUserProfile, channelApproved, createLayout, deleteSystemProfile, deleteUserProfile, dumpDoc, generateNewChannelSubscribeId, generateNewFolderId, getLayoutID, getMimeTypeList, getNextStructId, getStructId, getStructureStylesheetId, getStructureStylesheetList, getStructureStylesheetList, getSystemProfile, getSystemProfileById, getSystemProfileList, getThemeStylesheetId, getThemeStylesheetList, getThemeStylesheetList, getUserPreferences, getUserPreferences, getUserProfile, getUserProfileById, getUserProfileList, putUserPreferences, setSystemBrowserMapping, setUserBrowserMapping, updateStructureStylesheetDescription, updateSystemProfile, updateThemeStylesheetDescription, updateUserProfile, xmlBool`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### RCS_ID

    public static final java.lang.String RCS_ID

See Also:
  Constant Field Values

### LOG

    private static final org.apache.commons.logging.Log LOG

### systemDefaultUser

    private java.lang.String systemDefaultUser

### systemDefaultUserLoaded

    private boolean systemDefaultUserLoaded

### properties

    private java.util.Properties properties

### definitions

    private FragmentDefinition[] definitions

### decorator

    private LayoutDecorator decorator

### activator

    private FragmentActivator activator

### initializationLock

    private java.lang.Object initializationLock

### initialized

    private boolean initialized

### TEMPLATE_USER_NAME

    static final java.lang.String TEMPLATE_USER_NAME

See Also:
  Constant Field Values

### DECORATOR_PROPERTY

    static final java.lang.String DECORATOR_PROPERTY

See Also:
  Constant Field Values

### THEME

    private static final int THEME

See Also:
  Constant Field Values

### STRUCT

    private static final int STRUCT

See Also:
  Constant Field Values

### tsdCache

    private static SmartCache tsdCache

### ssdCache

    private static SmartCache ssdCache

### mLocks

    private java.util.Map mLocks

  Map of read/writer lock objects; one per unique person.

Constructor Detail

### RDBMDistributedLayoutStore

    public RDBMDistributedLayoutStore()
                               throws java.lang.Exception

Throws:
  `java.lang.Exception`

Method Detail

### getReadWriteLock

    private final EDU.oswego.cs.dl.util.concurrent.ReadWriteLock getReadWriteLock(IPerson person)

### acquireReadLock

    private void acquireReadLock(IPerson person)
                          throws java.lang.InterruptedException

  Throws:
    `java.lang.InterruptedException`

### releaseReadLock

    private void releaseReadLock(IPerson person)

### addStructureStylesheetDescription

    public java.lang.Integer addStructureStylesheetDescription(StructureStylesheetDescription ssd)
                                                        throws java.lang.Exception

  Registers a NEW structure stylesheet with the database. This overloads the version in the parent to add caching of stylesheets.

  Overrides:
    `addStructureStylesheetDescription` in class `RDBMUserLayoutStore`
  Parameters:
    `tsd` - Stylesheet description object
  Returns:
    an `Integer` id for the registered Stylesheet description object
  Throws:
    `java.lang.Exception`

### addThemeStylesheetDescription

    public java.lang.Integer addThemeStylesheetDescription(ThemeStylesheetDescription tsd)
                                                    throws java.lang.Exception

  Registers a NEW theme stylesheet with the database. This overloads the version in the parent to add caching of stylesheets.

  Overrides:
    `addThemeStylesheetDescription` in class `RDBMUserLayoutStore`
  Parameters:
    `tsd` - Stylesheet description object
  Returns:
    an `Integer` id of the registered Theme Stylesheet if successful; `null` otherwise.
  Throws:
    `java.lang.Exception`

### getStructureStylesheetDescription

    public StructureStylesheetDescription getStructureStylesheetDescription(int stylesheetId)
                                                                     throws java.lang.Exception

  Obtain structure stylesheet description object for a given structure stylesheet id. Overloads parent version to add caching of stylesheets.

  Specified by:
    `getStructureStylesheetDescription` in interface `IUserLayoutStore`
  Overrides:
    `getStructureStylesheetDescription` in class `RDBMUserLayoutStore`
  Parameters:
    `stylesheetId` - the id of the structure stylesheet
  Returns:
    structure stylesheet description
  Throws:
    `java.lang.Exception`

### getThemeStylesheetDescription

    public ThemeStylesheetDescription getThemeStylesheetDescription(int stylesheetId)
                                                             throws java.lang.Exception

  Obtain theme stylesheet description object for a given theme stylesheet id. Overloads a parent version to add caching.

  Specified by:
    `getThemeStylesheetDescription` in interface `IUserLayoutStore`
  Overrides:
    `getThemeStylesheetDescription` in class `RDBMUserLayoutStore`
  Parameters:
    `stylesheetId` - the id of the theme stylesheet
  Returns:
    theme stylesheet description
  Throws:
    `java.lang.Exception`

### removeStructureStylesheetDescription

    public void removeStructureStylesheetDescription(int stylesheetId)
                                              throws java.lang.Exception

  Removes a structure stylesheet description object for a given structure stylesheet id. Overloads a parent version for cache handling.

  Specified by:
    `removeStructureStylesheetDescription` in interface `IUserLayoutStore`
  Overrides:
    `removeStructureStylesheetDescription` in class `RDBMUserLayoutStore`
  Parameters:
    `stylesheetId` - id of the stylesheet
  Throws:
    `java.lang.Exception`

### removeThemeStylesheetDescription

    public void removeThemeStylesheetDescription(int stylesheetId)
                                          throws java.lang.Exception

  Removes a theme stylesheet description object for a given theme stylesheet id. Overloads a parent version for cache handling.

  Specified by:
    `removeThemeStylesheetDescription` in interface `IUserLayoutStore`
  Overrides:
    `removeThemeStylesheetDescription` in class `RDBMUserLayoutStore`
  Parameters:
    `stylesheetId` - id of the stylesheet
  Throws:
    `java.lang.Exception`

### updateStructureStylesheetDescription

    public void updateStructureStylesheetDescription(StructureStylesheetDescription ssd)
                                              throws java.lang.Exception

  Updates an existing structure stylesheet description with a new one. Old stylesheet description is found based on the Id provided in the parameter structure. Overloads version in parent to add cache support.

  Overrides:
    `updateStructureStylesheetDescription` in class `RDBMUserLayoutStore`
  Parameters:
    `ssd` - new stylesheet description
  Throws:
    `java.lang.Exception`

### updateThemeStylesheetDescription

    public void updateThemeStylesheetDescription(ThemeStylesheetDescription tsd)
                                          throws java.lang.Exception

  Updates an existing structure stylesheet description with a new one. Old stylesheet description is found based on the Id provided in the parameter structure. Overloads version in parent to add cache support.

  Overrides:
    `updateThemeStylesheetDescription` in class `RDBMUserLayoutStore`
  Parameters:
    `ssd` - new stylesheet description
  Throws:
    `java.lang.Exception`

### initializeFragmentCleaner

    private void initializeFragmentCleaner()

  Starts a Thread that is responsible for cleaning out the layout fragments periodically. This is done so that changes made to the channels within a layout are visible to the users who have that layout incorporated into their own. The interval at which this thread runs is set in the dlm.xml file as 'org.jasig.portal.layout.dlm.RDBMDistributedLayoutStore.fragment_cache_refresh', specified in minutes.

### getFragmentPrecedence

    public double getFragmentPrecedence(int index)

  Returns a double value indicating the precedence value declared for a fragment in the dlm.xml. Precedence is actually based on two elements in a fragment definition: the precedence and the index of the fragment definition in the dlm.xml file. If two fragments are given equal precedence then the index if relied upon to resolve conflicts with UI elements.

### getUserLayout

    public org.w3c.dom.Document getUserLayout(IPerson person,
                                              UserProfile profile)
                                       throws java.lang.Exception

  Returns the layout for a user decorated with any specified decorator. The layout returned is a composite layout for non fragment owners and a regular layout for layout owners. A composite layout is made up of layout pieces from potentially multiple incorporated layouts. If no layouts are defined then the composite layout will be the same as the user's personal layout fragment or PLF, the one holding only those UI elements that they own or incorporated elements that they have been allowed to changed.

  Specified by:
    `getUserLayout` in interface `IUserLayoutStore`
  Overrides:
    `getUserLayout` in class `RDBMUserLayoutStore`
  Parameters:
    `person` - an `IPerson` object specifying the user
    `profile` - a user profile
  Returns:
    a `Document` containing user layout (conforms to userLayout.dtd)
  Throws:
    `java.lang.Exception` - if an error occurs

### _safeGetUserLayout

    private org.w3c.dom.Document _safeGetUserLayout(IPerson person,
                                                    UserProfile profile)
                                             throws java.lang.Exception

  Handles locking and identifying proper root and namespaces that used to take place in super class.

  Parameters:
    `person` -
    `profile` -
  Returns:
  Throws:
    `java.lang.Exception`

### _getUserLayout

    private org.w3c.dom.Document _getUserLayout(IPerson person,
                                                UserProfile profile)
                                         throws java.lang.Exception

  Returns the layout for a user. This method overrides the same method in the superclass to return a composite layout for non fragment owners and a regular layout for layout owners. A composite layout is made up of layout pieces from potentially multiple incorporated layouts. If no layouts are defined then the composite layout will be the same as the user's personal layout fragment or PLF, the one holding only those UI elements that they own or incorporated elements that they have been allowed to changed.

  Throws:
    `java.lang.Exception`

### getFragmentLayout

    org.w3c.dom.Document getFragmentLayout(IPerson person,
                                           UserProfile profile)
                                     throws java.lang.Exception

  Convenience method for fragment activator to obtain raw layouts for fragments during initialization.

  Throws:
    `java.lang.Exception`

### activationFinished

    void activationFinished()

  Called by fragment activation after loading of all fragment layouts is complete to allow other threads requesting layouts via getUserLayout to continue.

### getNextStructDirectiveId

    public java.lang.String getNextStructDirectiveId(IPerson person)
                                              throws java.lang.Exception

  Generates a new struct id for directive elements that dlm places in the PLF version of the layout tree. These elements are atifacts of the dlm storage model and used during merge but do not appear in the user's composite view.

  Throws:
    `java.lang.Exception`

### updateCachedLayout

    private void updateCachedLayout(org.w3c.dom.Document layout,
                                    UserProfile profile,
                                    FragmentDefinition fragment)

  Replaces the layout Document stored on a fragment definition with a new version. This is called when a fragment owner updates their layout.

### isLayoutOwnerDefault

    private boolean isLayoutOwnerDefault(IPerson person)

  Returns true is the user is the owner of a layout which is copied as the default for any fragment when first created.

### getOwnedFragment

    private FragmentDefinition getOwnedFragment(IPerson person)

  Returns the fragment owned by this user if any. If this user is not a fragment owner then null is returned.

### getCompositeLayout

    private org.w3c.dom.Document getCompositeLayout(IPerson person,
                                                    UserProfile profile)
                                             throws java.lang.Exception

  This method passed through the set of ordered fragments asking each one if it is applicable to this user. If so then it is included in a list of applicable layout fragments. These are then combined into an ILF, incorporated layouts fragment, and finally the user's PLF, personal layout fragment, is merged in and the composite layout returned.

  Throws:
    `java.lang.Exception`

### setUserLayout

    public void setUserLayout(IPerson person,
                              UserProfile profile,
                              org.w3c.dom.Document layoutXML,
                              boolean channelsAdded)
                       throws java.lang.Exception

  This method overrides the same method in the super class to persist only layout information stored in the user's person layout fragment or PLF. If this person is a layout owner then their changes are pushed into the appropriate layout fragment.

  Specified by:
    `setUserLayout` in interface `IUserLayoutStore`
  Overrides:
    `setUserLayout` in class `RDBMUserLayoutStore`
  Parameters:
    `person` - an `IPerson` object specifying the user
    `profile` - a user profile for which the layout is being stored
    `layoutXML` - a `Document` containing user layout (conforming to userLayout.dtd)
    `channelsAdded` - a boolean flag specifying if new channels have been added to the current user layout (for performance optimization purposes)
  Throws:
    `java.lang.Exception` - if an error occurs

### setUserLayout

    void setUserLayout(IPerson person,
                       UserProfile profile,
                       org.w3c.dom.Document layoutXML,
                       boolean channelsAdded,
                       boolean updateFragmentCache)
                 throws java.lang.Exception

  This method overrides the same method in the super class to persist only layout information stored in the user's person layout fragment or PLF. If fragment cache update is requested then it checks to see if this person is a layout owner and if so then their changes are pushed into the appropriate layout fragment.

  Throws:
    `java.lang.Exception`

### getPropertyCount

    public int getPropertyCount()

  Returns the number of properties loaded from the dlm.xml file.

### getPropertyNames

    public java.util.Enumeration getPropertyNames()

  Returns an enumerator of the property names loaded from dlm.xml.

### getProperty

    public java.lang.String getProperty(java.lang.String name)

  Returns the specified property loaded from dlm.xml or null if not found.

### setProperties

    void setProperties(java.util.Properties props)

  Sets the dlm propertys. Called by ConfigurationLoaded.

### setDefinitions

    void setDefinitions(FragmentDefinition[] frags)

  Sets the dlm fragment definitions. Called by ConfigurationLoader.

### getDefinitions

    FragmentDefinition[] getDefinitions()

  Gets the configured dlm fragment definitions.

### getDistributedSSUP

    DistributedUserPreferences getDistributedSSUP(IPerson person,
                                                  int profileId,
                                                  int stylesheetId)
                                            throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### getDistributedTSUP

    DistributedUserPreferences getDistributedTSUP(IPerson person,
                                                  int profileId,
                                                  int stylesheetId)
                                            throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### _getStructureStylesheetUserPreferences

    public StructureStylesheetUserPreferences _getStructureStylesheetUserPreferences(IPerson person,
                                                                                     int profileId,
                                                                                     int stylesheetId)
                                                                              throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### getStructureStylesheetUserPreferences

    public StructureStylesheetUserPreferences getStructureStylesheetUserPreferences(IPerson person,
                                                                                    int profileId,
                                                                                    int stylesheetId)
                                                                             throws java.lang.Exception

  Description copied from interface: `IUserLayoutStore`
  Obtain structure stylesheet user preferences

  Specified by:
    `getStructureStylesheetUserPreferences` in interface `IUserLayoutStore`
  Overrides:
    `getStructureStylesheetUserPreferences` in class `RDBMUserLayoutStore`
  Parameters:
    `person` - User
    `profileId` - profile id
    `stylesheetId` - structure stylesheet id
  Returns:
    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.
  Throws:
    `java.lang.Exception`

### getThemeStylesheetUserPreferences

    public ThemeStylesheetUserPreferences getThemeStylesheetUserPreferences(IPerson person,
                                                                            int profileId,
                                                                            int stylesheetId)
                                                                     throws java.lang.Exception

  Description copied from interface: `IUserLayoutStore`
  Obtain theme stylesheet user preferences

  Specified by:
    `getThemeStylesheetUserPreferences` in interface `IUserLayoutStore`
  Overrides:
    `getThemeStylesheetUserPreferences` in class `RDBMUserLayoutStore`
  Parameters:
    `person` - User
    `profileId` - profile id
    `stylesheetId` - theme stylesheet id
  Returns:
    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.
  Throws:
    `java.lang.Exception`

### loadIncorporatedPreferences

    private void loadIncorporatedPreferences(IPerson person,
                                             int which,
                                             DistributedUserPreferences userPrefs,
                                             DistributedUserPreferences incdPrefs)

### showFolderAttribs

    private java.lang.String showFolderAttribs(StructureStylesheetUserPreferences ssup)

### showChannelAttribs

    private java.lang.String showChannelAttribs(ThemeStylesheetUserPreferences tsup)

### updateFragmentSSUP

    private void updateFragmentSSUP(IPerson person,
                                    DistributedUserPreferences ssup)

  If the passed in user represents a layout owner then replace the cached structure stylesheet user preferences with the passed in one after modifying it for incorporation.

### getPlfId

    private java.lang.String getPlfId(org.w3c.dom.Document PLF,
                                      java.lang.String incdId)

  When user preferences are stored in the database for changes made to an incorporated node the node id can not be used because it does not represent a row in the up_layout_struct table for the user. The plfid must be used. Null will never be returned unless the layout or processing has really been screwed up. This is because changes made to the user prefs calls UserPrefsHandler which generates a shadow node in the db and sets the plfid of that node into the corresponding node in the PLF prior to the call to update the user prefs in the db.

### getStructure

    protected org.w3c.dom.Element getStructure(org.w3c.dom.Document document,
                                               LayoutStructure ls)
                                        throws java.lang.Exception

  Overrides:
    `getStructure` in class `RDBMUserLayoutStore`
  Throws:
    `java.lang.Exception`

### saveStructure

    protected int saveStructure(org.w3c.dom.Node node,
                                java.sql.PreparedStatement structStmt,
                                java.sql.PreparedStatement parmStmt)
                         throws java.sql.SQLException

  Overrides:
    `saveStructure` in class `RDBMUserLayoutStore`
  Throws:
    `java.sql.SQLException`

### setStructureStylesheetUserPreferences

    public void setStructureStylesheetUserPreferences(IPerson person,
                                                      int profileId,
                                                      StructureStylesheetUserPreferences ssup)
                                               throws java.lang.Exception

  Description copied from interface: `IUserLayoutStore`
  Save structure stylesheet user pferences

  Specified by:
    `setStructureStylesheetUserPreferences` in interface `IUserLayoutStore`
  Overrides:
    `setStructureStylesheetUserPreferences` in class `RDBMUserLayoutStore`
  Parameters:
    `person` - User
    `profileId` - profile id
    `ssup` - structure stylesheet user preferences
  Throws:
    `java.lang.Exception`

### setThemeStylesheetUserPreferences

    public void setThemeStylesheetUserPreferences(IPerson person,
                                                  int profileId,
                                                  ThemeStylesheetUserPreferences tsup)
                                           throws java.lang.Exception

  Description copied from interface: `IUserLayoutStore`
  Save theme stylesheet user preferences

  Specified by:
    `setThemeStylesheetUserPreferences` in interface `IUserLayoutStore`
  Overrides:
    `setThemeStylesheetUserPreferences` in class `RDBMUserLayoutStore`
  Parameters:
    `person` - User
    `profileId` - profile id
    `tsup` - structure stylesheet user preferneces
  Throws:
    `java.lang.Exception`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD