com.ptc.netmarkets.nmixb
Class FolderStructureCopyHelper

java.lang.Object
  extended bywt.inf.template.containercopy.AbstractContainerCopyHandler
      extended bycom.ptc.netmarkets.nmixb.FolderStructureCopyHelper
All Implemented Interfaces:
ContainerCopyHandler

public class FolderStructureCopyHelper
extends AbstractContainerCopyHandler



Supported API: false

Extendable: false


Field Summary
private  Map aclOnlyMap
           
private static String CLASSNAME
           
private  Map deathListMap
           
private  Object[] DEF_PARAMS
           
private  Map folderAcls
           
private  String newFoldersRoot
           
private  String origFoldersRoot
           
private static String RESOURCE
           
private  ContainerOrderedFolders sourceContainerFolders
           
private  ContainerOrderedFolders targetContainerFolders
           
private static boolean VERBOSE
           
private  CommonCopyWorklist workList
           
 
Fields inherited from class wt.inf.template.containercopy.AbstractContainerCopyHandler
 
Constructor Summary
FolderStructureCopyHelper()
           
 
Method Summary
protected  void copyAddedObjects()
          Most of the time this is the only method that needs to be over-ridden.
private  void copySharedObjects()
           
private  void doAccessRules(WTContainerRef contRef, SubFolder folder, String subPath)
           
private  ObjectIdentifier getOid(Object obj)
           
private  void initAccessRules(ContainerOrderedFolders contFolders)
           
protected  void initialize()
          This method provides an opportunity to do any initializion beyond setting the three target member variables that is performed in at the start of the method.
 void postPostCopyFeedback()
          Posts post copy feedback.
 void postPreCopyFeedback()
          Posts pre-copy user feedback.
 void printPostCopyVerbose()
          Prints verbose post-copy statements.
 void printPreCopyVerbose()
          Prints verbose pre-copy statements.
protected  void pruneObjects()
          This is not necessary for every type of object, but there are times when it is most efficient to prune objects that are present in the target container, but are absent in the source container.
protected  void rememberSourceContainerObjects()
          Depending on the template being employed it may be necessary to to remember what was in the source container in order to do pruning.
protected  void rememberTargetContainerObjects()
          If you need to prune the container, you had better know what the template left you with.
 void setWorklist(ContainerCopyWorklist a_worklist)
          

Supported API: false
static String showAdHocAcl(Object object)
          Returns a String representation of the ad hoc acl contained in the object.
private  void updateAclMap(List groups, AdHocControlled folder, String commonPath)
           
 
Methods inherited from class wt.inf.template.containercopy.AbstractContainerCopyHandler
copyObjects, getCopier, getSourceContainer, getTargetContainer, getWorklist, postFeedback, setCopier, setSourceContainer, setTargetContainer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

VERBOSE

private static final boolean VERBOSE
See Also:
Constant Field Values

sourceContainerFolders

private ContainerOrderedFolders sourceContainerFolders

targetContainerFolders

private ContainerOrderedFolders targetContainerFolders

origFoldersRoot

private String origFoldersRoot

newFoldersRoot

private String newFoldersRoot

DEF_PARAMS

private Object[] DEF_PARAMS

folderAcls

private Map folderAcls

aclOnlyMap

private Map aclOnlyMap

workList

private CommonCopyWorklist workList

deathListMap

private Map deathListMap
Constructor Detail

FolderStructureCopyHelper

public FolderStructureCopyHelper()
Method Detail

initialize

protected void initialize()
                   throws WTException
This method provides an opportunity to do any initializion beyond setting the three target member variables that is performed in at the start of the method.

Supported API: false

Overrides:
initialize in class AbstractContainerCopyHandler
Throws:
WTException

printPreCopyVerbose

public void printPreCopyVerbose()
                         throws WTException
Prints verbose pre-copy statements. Handler implementor is responsible for deciding what to use for this value. The handlers residing in wt.inf.template use the property wt.inf.template.verboseCopy

Supported API: false

Specified by:
printPreCopyVerbose in interface ContainerCopyHandler
Overrides:
printPreCopyVerbose in class AbstractContainerCopyHandler
Throws:
WTException

postPreCopyFeedback

public void postPreCopyFeedback()
                         throws WTException
Posts pre-copy user feedback.

Supported API: false

Specified by:
postPreCopyFeedback in interface ContainerCopyHandler
Overrides:
postPreCopyFeedback in class AbstractContainerCopyHandler
Throws:
WTException

rememberSourceContainerObjects

protected void rememberSourceContainerObjects()
                                       throws WTException
Depending on the template being employed it may be necessary to to remember what was in the source container in order to do pruning. This method is the hook that enables that to happen.

Supported API: false

Overrides:
rememberSourceContainerObjects in class AbstractContainerCopyHandler
Throws:
WTException

rememberTargetContainerObjects

protected void rememberTargetContainerObjects()
                                       throws WTException
If you need to prune the container, you had better know what the template left you with.

Supported API: false

Overrides:
rememberTargetContainerObjects in class AbstractContainerCopyHandler
Throws:
WTException

pruneObjects

protected void pruneObjects()
                     throws WTException
This is not necessary for every type of object, but there are times when it is most efficient to prune objects that are present in the target container, but are absent in the source container.

Supported API: false

Throws:
WTException

copyAddedObjects

protected void copyAddedObjects()
                         throws WTException
Most of the time this is the only method that needs to be over-ridden.

Supported API: false

Overrides:
copyAddedObjects in class AbstractContainerCopyHandler
Throws:
WTException

postPostCopyFeedback

public void postPostCopyFeedback()
                          throws WTException
Posts post copy feedback. (Copy of foo succeeded).

Supported API: false

Specified by:
postPostCopyFeedback in interface ContainerCopyHandler
Overrides:
postPostCopyFeedback in class AbstractContainerCopyHandler
Throws:
WTException

printPostCopyVerbose

public void printPostCopyVerbose()
                          throws WTException
Prints verbose post-copy statements. Handler implementor is responsible for deciding what to use for this value. The handlers residing in wt.inf.template use the property wt.inf.template.verboseCopy

Supported API: false

Specified by:
printPostCopyVerbose in interface ContainerCopyHandler
Overrides:
printPostCopyVerbose in class AbstractContainerCopyHandler
Throws:
WTException

setWorklist

public void setWorklist(ContainerCopyWorklist a_worklist)


Supported API: false

Specified by:
setWorklist in interface ContainerCopyHandler
Overrides:
setWorklist in class AbstractContainerCopyHandler
Parameters:
a_worklist -

doAccessRules

private void doAccessRules(WTContainerRef contRef,
                           SubFolder folder,
                           String subPath)
                    throws WTException
Throws:
WTException

initAccessRules

private void initAccessRules(ContainerOrderedFolders contFolders)
                      throws WTException
Throws:
WTException

updateAclMap

private void updateAclMap(List groups,
                          AdHocControlled folder,
                          String commonPath)
                   throws WTException
Throws:
WTException

getOid

private ObjectIdentifier getOid(Object obj)
                         throws WTException
Throws:
WTException

showAdHocAcl

public static String showAdHocAcl(Object object)
                           throws WTException
Returns a String representation of the ad hoc acl contained in the object.

Throws:
WTException

copySharedObjects

private void copySharedObjects()
                        throws WTException
Throws:
WTException