org.jasig.portal.layout.dlm
Class TabColumnPrefsHandler

java.lang.Object
  extended by org.jasig.portal.layout.dlm.TabColumnPrefsHandler

public class TabColumnPrefsHandler
extends java.lang.Object

Applies user prefs changes to the user's plf prior to persisting.

Since:
uPortal 2.5
Version:
$Revision: 1.5 $ $Date: 2005/05/03 05:55:35 $

Field Summary
private static org.apache.commons.logging.Log LOG
           
static java.lang.String RCS_ID
           
 
Constructor Summary
TabColumnPrefsHandler()
           
 
Method Summary
private static void changeRestriction(java.lang.String name, org.w3c.dom.Element element, boolean value)
           
static void changeRestrictions(org.w3c.dom.Element compViewNode, boolean moveAllowed, boolean editAllowed, boolean addChildAllowed, boolean deleteAllowed, IPerson person)
           
static void deleteNode(org.w3c.dom.Element compViewNode, org.w3c.dom.Element compViewParent, IPerson person)
          Handles user requests to delete UI elements.
static void editAttribute(org.w3c.dom.Element compViewNode, java.lang.String attributeName, IPerson person)
          Records changes made to attributes of elements by users.
static org.w3c.dom.Element getPlfChannel(org.w3c.dom.Element compViewChannel, IPerson person)
           
static void moveElement(org.w3c.dom.Element compViewNode, org.w3c.dom.Element oldCompViewParent, IPerson person)
          This method is called from the TabColumnPrefsState class after a node has already been moved from its old parent to its new in the ILF.
 
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 org.apache.commons.logging.Log LOG
Constructor Detail

TabColumnPrefsHandler

public TabColumnPrefsHandler()
Method Detail

moveElement

public static void moveElement(org.w3c.dom.Element compViewNode,
                               org.w3c.dom.Element oldCompViewParent,
                               IPerson person)
                        throws PortalException
This method is called from the TabColumnPrefsState class after a node has already been moved from its old parent to its new in the ILF. We can get at the new parent via the compViewNode moved but need a separate handle of the parent from whence it came. The goal of this method is to make the appropriate change in the PLF to persist this action take by the user. For ILF nodes this generally means adding an entry to the position set for the new parent and removing any entry if it existed in the position set in the old parent. For nodes that are owned by the user (PLF owned nodes) the nodes are moved outright and now position set is needed unless the new parent contains ILF nodes as well requiring preservation of the user's ordering of the nodes for when the ILF and PLF are merged again later on.

Throws:
PortalException

getPlfChannel

public static org.w3c.dom.Element getPlfChannel(org.w3c.dom.Element compViewChannel,
                                                IPerson person)
                                         throws PortalException
Throws:
PortalException

editAttribute

public static void editAttribute(org.w3c.dom.Element compViewNode,
                                 java.lang.String attributeName,
                                 IPerson person)
                          throws PortalException
Records changes made to attributes of elements by users. Changes to the restriction attributes should not be passed to this method. Those are handled by the changeRestrictions method.

Throws:
PortalException

deleteNode

public static void deleteNode(org.w3c.dom.Element compViewNode,
                              org.w3c.dom.Element compViewParent,
                              IPerson person)
                       throws PortalException
Handles user requests to delete UI elements. For ILF owned nodes it delegates to the DeleteManager to add a delete directive. For PLF owned nodes it deletes the node outright.

Throws:
PortalException

changeRestriction

private static void changeRestriction(java.lang.String name,
                                      org.w3c.dom.Element element,
                                      boolean value)

changeRestrictions

public static void changeRestrictions(org.w3c.dom.Element compViewNode,
                                      boolean moveAllowed,
                                      boolean editAllowed,
                                      boolean addChildAllowed,
                                      boolean deleteAllowed,
                                      IPerson person)
                               throws PortalException
Throws:
PortalException