org.jasig.portal.layout.dlm
Class DeleteManager

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

public class DeleteManager
extends java.lang.Object

Looks for, applies against the ilf, and updates accordingly the delete set within a plf.

Since:
uPortal 2.5
Version:
$Revision: 1.6 $ $Date: 2005/05/04 19:53:20 $

Field Summary
private static RDBMDistributedLayoutStore dls
           
private static org.apache.commons.logging.Log LOG
           
static java.lang.String RCS_ID
           
 
Constructor Summary
DeleteManager()
           
 
Method Summary
static void addDeleteDirective(org.w3c.dom.Element compViewNode, java.lang.String elementID, IPerson person)
          Create and append a delete directive to delete the node identified by the passed in element id.
private static void addDeleteDirective(org.w3c.dom.Element compViewNode, java.lang.String elementID, IPerson person, org.w3c.dom.Document plf, org.w3c.dom.Element delSet)
          This method does the actual work of adding a delete directive and then recursively calling itself for any incoporated children that need to be deleted as well.
(package private) static void applyAndUpdateDeleteSet(org.w3c.dom.Document plf, org.w3c.dom.Document ilf, IntegrationResult result)
          Get the delete set if any from the plf and process each delete command removing any that fail from the delete set so that the delete set is self cleaning.
private static boolean applyDelete(org.w3c.dom.Element delete, org.w3c.dom.Document ilf)
          Attempt to apply a single delete command and return true if it succeeds or false otherwise.
private static org.w3c.dom.Element getDeleteSet(org.w3c.dom.Document plf, IPerson person, boolean create)
          Get the delete set if any stored in the root of the document or create it is passed in create flag is true.
private static RDBMDistributedLayoutStore getDLS()
          Hands back the single instance of RDBMDistributedLayoutStore.
 
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

dls

private static RDBMDistributedLayoutStore dls
Constructor Detail

DeleteManager

public DeleteManager()
Method Detail

getDLS

private static RDBMDistributedLayoutStore getDLS()
Hands back the single instance of RDBMDistributedLayoutStore. There is already a method for aquiring a single instance of the configured layout store so we delegate over there so that all references refer to the same instance. This method is solely for convenience so that we don't have to keep calling UserLayoutStoreFactory and casting the resulting class.


applyAndUpdateDeleteSet

static void applyAndUpdateDeleteSet(org.w3c.dom.Document plf,
                                    org.w3c.dom.Document ilf,
                                    IntegrationResult result)
Get the delete set if any from the plf and process each delete command removing any that fail from the delete set so that the delete set is self cleaning.


applyDelete

private static boolean applyDelete(org.w3c.dom.Element delete,
                                   org.w3c.dom.Document ilf)
Attempt to apply a single delete command and return true if it succeeds or false otherwise. If the delete is disallowed or the target element no longer exists in the document the delete command fails and returns false.


getDeleteSet

private static org.w3c.dom.Element getDeleteSet(org.w3c.dom.Document plf,
                                                IPerson person,
                                                boolean create)
                                         throws PortalException
Get the delete set if any stored in the root of the document or create it is passed in create flag is true.

Throws:
PortalException

addDeleteDirective

public static void addDeleteDirective(org.w3c.dom.Element compViewNode,
                                      java.lang.String elementID,
                                      IPerson person)
                               throws PortalException
Create and append a delete directive to delete the node identified by the passed in element id. If this node contains any incorporated elements then they must also have a delete directive added in here to prevent incorporated channels originating in another column from reappearing in that column because the position set entry that pulled them into this column was now removed. (ie: the user moved an inc'd channel to this column and then deleted the column means that the inc'd channel should be deleted also.) This was designed to add a delete directive for each nested element having an ID so as to work for the future case of a tree view.

Throws:
PortalException

addDeleteDirective

private static void addDeleteDirective(org.w3c.dom.Element compViewNode,
                                       java.lang.String elementID,
                                       IPerson person,
                                       org.w3c.dom.Document plf,
                                       org.w3c.dom.Element delSet)
                                throws PortalException
This method does the actual work of adding a delete directive and then recursively calling itself for any incoporated children that need to be deleted as well.

Throws:
PortalException