com.plumtree.portalpages.admin.objsearch
Class AdminSearchModel

java.lang.Object
  extended by com.plumtree.portalpages.admin.objsearch.AdminSearchModel
All Implemented Interfaces:
IObjMgrDeleteRO, IAdminSearchModelRO, IManagedObject, IModel, IModelRO, IMVCObject, IRepostModel

public class AdminSearchModel
extends java.lang.Object
implements IRepostModel, IObjMgrDeleteRO, IAdminSearchModelRO

Author:
Matt Fryer This implements the Administrative Search Model, mostly delegating to an AdminModelHelper.

Field Summary
static java.lang.String STR_MVC_CLASS_NAME
           
 
Constructor Summary
AdminSearchModel()
           
 
Method Summary
 void ABODeleteFolders(int[] nFolders)
          This method creates a job to delete folders using Asynchronous Browser Operations (ABO).
 void ABODeletePageTemplates(int[] nPageTemplates)
           
 boolean CheckAuthSourceForDelete()
          This method checks if any users or groups came from an auth source other than plumtree.
 boolean CheckFoldersForDelete()
          This method checks whether or not the user is trying to delete any folders.
protected  boolean CheckIsCommunityFolder(int nFolderID)
           
 boolean CheckPageTemplatesForDelete()
          This method checks whether or not the user is trying to delete any page templates.
 void CleanupAllData()
          This method is called when an ActivitySpace is removed from the cache.
 void CleanupTempData()
          This method is called at the end of every HTTP request by the Interpreter.
 void CopyCards(int[] cardIds, int toFolder)
           
 void CopyDocumentFolders(int[] folderIDs, int toFolder)
           
 void CopyFolders(int nTargetFolderID, int[] nFolders)
          This method copies folders to a new folder.
 void CopyObjectsBetweenFolders(int nFolderID, XPHashtable xpmObjects, int nCurrentFolderID)
          This method copies objects between folders.
 java.lang.Object Create()
          This method is used by the ASManager to return new instances of managed objects.
 void DeleteCards(int[] cards, int[] folders)
           
 void DeleteDocumentFolders(int[] documentFolders)
           
 void DeleteFolders(int[] nFolders)
          This method deletes folders.
 void DeleteObjects(XPHashtable xpmObjects, boolean bABODeleteObjects)
          This method deletes objects.
protected  void DoMove(java.lang.Object[][] nObjects, java.lang.Object[][] nFolders, int nFolderID)
           
 void EnableObjects(XPHashtable xpmObjects, java.lang.String sComment, boolean bEnable)
          This method enables and disables users and web services.
 void Finish()
          Implement some code to execute when the user clicks on "Finish".
 java.lang.String GetAdminFolderPath(int folderID)
           
 int[] GetAllObjectTypesArray()
           
 java.lang.String GetAllObjectTypesString()
           
 int GetCommunityID(int nFolderID)
          TODO: MOve some version of this to the helper.
 int GetFolderIDFromTree(java.lang.String subspaceKey)
          This method gets the selected folder from the tree sub space.
 boolean GetFolderIsCommunity(IPTAdminFolder folder)
           
 boolean GetFolderIsSubportal(IPTAdminFolder folder)
           
 java.lang.String GetFolderTreeID()
           
 boolean GetHasDisplayedObjects(int classID)
           
 java.lang.String GetName()
          Return the name of the MVC object.
 Redirect GetRedirectAfterFinish()
          Returns the Redirect object (this is were we need to go at the end of the Editor).
 int GetRootFolderID()
           
 ISearchResultModelRO GetSearchModel()
          Get the SearchResultModel associated with this Admin Search.
 java.lang.String GetSpaceID()
          Get the SpaceID of the parent Activity Space
 void Init(AActivitySpace parent)
          This method initializes the model.
 void MigrateFolders(int[] nFolderIDs, java.lang.String sComment)
          This method adds folders into the migration queue.
 void MigrateObjects(int nClassID, int[] nObjects, java.lang.String sComment)
          This method adds objects into the migration queue.
 void MigrateObjects(XPHashtable xpmObjects, java.lang.String sComment)
          This method adds objects into the migration queue.
 void MoveCards(int fromFolder, int cardId, int toFolder)
           
 void MoveDocumentFolders(int[] foldersToMove, int targetFolder)
           
 void MoveFolders(int nTargetFolderID, int[] nFolders)
          This method moves folders to a new folder.
 void MoveObjectsBetweenFolders(int nFolderID, java.lang.Object[][] nObjects, java.lang.Object[][] nFolders)
          This method moves objects between folders.
 void RefreshResults(java.lang.String key)
           
 int SavePage(java.lang.String _sPageName, XPHashtable _htFormData)
          Calls the right save function according to the page name passed in argument.
 void SetFoldersForDeleteCheck(boolean tf)
          This method checks whether or not the user is trying to delete any folders.
 void SetObjectsForDeleteCheck(int[] nObjectIDPairs)
          This method is used to set the list of folder IDs (temporary) to be checked for delete.
 void SetSearchModel(ISearchResultModelRO model)
          Set the SearchResultModel associated with this Admin Search.
 void SetSelectedObjects(int nClassID, int[] nSelectedObjectIDs)
          This method sets the selected items in a Class ID
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STR_MVC_CLASS_NAME

public static final java.lang.String STR_MVC_CLASS_NAME
See Also:
Constant Field Values
Constructor Detail

AdminSearchModel

public AdminSearchModel()
Method Detail

CleanupTempData

public void CleanupTempData()
Description copied from interface: IModel
This method is called at the end of every HTTP request by the Interpreter. The Interpreter calls AActivitySpace.CleanupTempData(), which calls this method on all IModels registered using AActivitySpace.RegisterModel(). This method is intended for cleaning up temporary data that is only used for the lifetime of a single request, like DB query results.

Specified by:
CleanupTempData in interface IModel
See Also:
IModel.CleanupTempData()

GetHasDisplayedObjects

public boolean GetHasDisplayedObjects(int classID)

CleanupAllData

public void CleanupAllData()
Description copied from interface: IModel
This method is called when an ActivitySpace is removed from the cache. The Interpreter calls AActivitySpace.CleanupAllData(), which calls this method on all IModels registered using AActivitySpace.RegisterModel(). This method is intended for releasing data stored in the server when the activity space is no longer needed, such as search objects that need to be maintained as long as the user is clicking through the search, but should be freed when the space can no longer be used. This can be used to prevent Java references to COM memory from hanging around in the long lived Java heap without cleaning up the underlying COM memory. The Java reference will still stay in the long lived heap until it gets garbage collected (which could be a while), but the COM memory should get released here. This method will not be called if an HTTPSession times out. CleanupTempData will be called before CleanupAllData.

Specified by:
CleanupAllData in interface IModel
See Also:
IModel.CleanupAllData()

CopyFolders

public void CopyFolders(int nTargetFolderID,
                        int[] nFolders)
This method copies folders to a new folder.

Parameters:
int - nTargetFolderID the ID of the folder to copy the folders to.
int[] - nFolders an array of folder IDs.

CopyObjectsBetweenFolders

public void CopyObjectsBetweenFolders(int nFolderID,
                                      XPHashtable xpmObjects,
                                      int nCurrentFolderID)
This method copies objects between folders.

Parameters:
int - nFolderID the ID of the folder to copy the objects to.
XPHashtable - a map of Integer Class IDs to int[] arrays of object IDs.

Create

public java.lang.Object Create()
Description copied from interface: IManagedObject
This method is used by the ASManager to return new instances of managed objects.

Specified by:
Create in interface IManagedObject
Returns:
A new instance of the managed class (i.e. return new Foo();)
See Also:
IManagedObject.Create()

DeleteFolders

public void DeleteFolders(int[] nFolders)
This method deletes folders.

Parameters:
int[] - the folder IDs to delete

DeleteCards

public void DeleteCards(int[] cards,
                        int[] folders)
Parameters:
cards -
folders -

DeleteDocumentFolders

public void DeleteDocumentFolders(int[] documentFolders)

ABODeletePageTemplates

public void ABODeletePageTemplates(int[] nPageTemplates)
Parameters:
nPageTemplates -

DeleteObjects

public void DeleteObjects(XPHashtable xpmObjects,
                          boolean bABODeleteObjects)
This method deletes objects.

Parameters:
XPHashtable - a map of Integer Class IDs to int[] arrays of object IDs.

EnableObjects

public void EnableObjects(XPHashtable xpmObjects,
                          java.lang.String sComment,
                          boolean bEnable)
This method enables and disables users and web services.


Finish

public void Finish()
Description copied from interface: IRepostModel
Implement some code to execute when the user clicks on "Finish".

Specified by:
Finish in interface IRepostModel
See Also:
IRepostModel.Finish()

GetCommunityID

public int GetCommunityID(int nFolderID)
TODO: MOve some version of this to the helper.

See Also:
com.plumtree.portalpages.admin.objmgr.IObjMgrModelRO#GetCommunityID()

GetFolderIsCommunity

public boolean GetFolderIsCommunity(IPTAdminFolder folder)
See Also:
IObjMgrModelRO.GetCurrentFolderIsCommunity()

GetFolderIsSubportal

public boolean GetFolderIsSubportal(IPTAdminFolder folder)
See Also:
IObjMgrModelRO.GetCurrentFolderIsSubportal()

GetFolderIDFromTree

public int GetFolderIDFromTree(java.lang.String subspaceKey)
This method gets the selected folder from the tree sub space.

Returns:
int the folder ID (-1 implies error)

GetFolderTreeID

public java.lang.String GetFolderTreeID()
See Also:
IObjMgrModelRO.GetFolderTreeID()

GetRootFolderID

public int GetRootFolderID()
Returns:

GetName

public java.lang.String GetName()
Description copied from interface: IMVCObject
Return the name of the MVC object.

Specified by:
GetName in interface IMVCObject
Returns:
the name of the object.
See Also:
com.plumtree.xpshared.activityspace.IModel#GetName()

GetRedirectAfterFinish

public Redirect GetRedirectAfterFinish()
Description copied from interface: IRepostModel
Returns the Redirect object (this is were we need to go at the end of the Editor).

Specified by:
GetRedirectAfterFinish in interface IRepostModel
Returns:
Redirect
See Also:
IRepostModel.GetRedirectAfterFinish()

GetAllObjectTypesString

public java.lang.String GetAllObjectTypesString()
Returns:

GetAllObjectTypesArray

public int[] GetAllObjectTypesArray()
Returns:

GetSpaceID

public java.lang.String GetSpaceID()
Get the SpaceID of the parent Activity Space

Returns:
int m_asOwner.GetSpaceID();

Init

public void Init(AActivitySpace parent)
Description copied from interface: IModel
This method initializes the model. This is called automatically when AActivitySpace.RegisterModel() is called.

Specified by:
Init in interface IModel
Parameters:
parent - the parent Activity Space
See Also:
com.plumtree.xpshared.activityspace.IModel#Init()

SetSearchModel

public void SetSearchModel(ISearchResultModelRO model)
Description copied from interface: IAdminSearchModelRO
Set the SearchResultModel associated with this Admin Search.

Specified by:
SetSearchModel in interface IAdminSearchModelRO

GetSearchModel

public ISearchResultModelRO GetSearchModel()
Description copied from interface: IAdminSearchModelRO
Get the SearchResultModel associated with this Admin Search.

Specified by:
GetSearchModel in interface IAdminSearchModelRO
Returns:
SearchResultModel.

MigrateFolders

public void MigrateFolders(int[] nFolderIDs,
                           java.lang.String sComment)
This method adds folders into the migration queue.


MigrateObjects

public void MigrateObjects(XPHashtable xpmObjects,
                           java.lang.String sComment)
This method adds objects into the migration queue.


MigrateObjects

public void MigrateObjects(int nClassID,
                           int[] nObjects,
                           java.lang.String sComment)
This method adds objects into the migration queue.


MoveFolders

public void MoveFolders(int nTargetFolderID,
                        int[] nFolders)
This method moves folders to a new folder.

Parameters:
int - nTargetFolderID the ID of the folder to move the folders to.
int[] - nFolders an array of folder IDs.

MoveCards

public void MoveCards(int fromFolder,
                      int cardId,
                      int toFolder)
Parameters:
fromFolder -
cardId -
toFolder -

MoveDocumentFolders

public void MoveDocumentFolders(int[] foldersToMove,
                                int targetFolder)
Parameters:
foldersToMove -
targetFolder -

CopyCards

public void CopyCards(int[] cardIds,
                      int toFolder)
Parameters:
cardIds -
toFolder -

CopyDocumentFolders

public void CopyDocumentFolders(int[] folderIDs,
                                int toFolder)
Parameters:
folderIDs -
toFolder -

MoveObjectsBetweenFolders

public void MoveObjectsBetweenFolders(int nFolderID,
                                      java.lang.Object[][] nObjects,
                                      java.lang.Object[][] nFolders)
This method moves objects between folders.

Parameters:
int - nFolderID the ID of the folder to move the objects to.
Object[][] - nObjects an (2 x n) array of class IDs / Object IDs

DoMove

protected void DoMove(java.lang.Object[][] nObjects,
                      java.lang.Object[][] nFolders,
                      int nFolderID)
Parameters:
nObjects -
nFolders -
nFolderID -

SavePage

public int SavePage(java.lang.String _sPageName,
                    XPHashtable _htFormData)
Description copied from interface: IRepostModel
Calls the right save function according to the page name passed in argument.

Specified by:
SavePage in interface IRepostModel
Returns:
int Page status for server side validation
See Also:
IRepostModel.SavePage(String, XPHashtable)

SetSelectedObjects

public void SetSelectedObjects(int nClassID,
                               int[] nSelectedObjectIDs)
This method sets the selected items in a Class ID

Parameters:
int - nClassID the class ID of the selected items
int[] - nSelectedObjectIDs the selected object IDs

CheckIsCommunityFolder

protected boolean CheckIsCommunityFolder(int nFolderID)
Parameters:
nFolderID -
Returns:

ABODeleteFolders

public void ABODeleteFolders(int[] nFolders)
This method creates a job to delete folders using Asynchronous Browser Operations (ABO).

Parameters:
int[] - the folder IDs to delete

CheckAuthSourceForDelete

public boolean CheckAuthSourceForDelete()
Description copied from interface: IObjMgrDeleteRO
This method checks if any users or groups came from an auth source other than plumtree. This assumes that any objects to check were set on the model earlier in the request (as they will be deleted between requests).

Specified by:
CheckAuthSourceForDelete in interface IObjMgrDeleteRO
Returns:
true implies objects did come from an outside auth source

CheckPageTemplatesForDelete

public boolean CheckPageTemplatesForDelete()
This method checks whether or not the user is trying to delete any page templates.

Specified by:
CheckPageTemplatesForDelete in interface IObjMgrDeleteRO
Returns:
true implies page templates are being deleted

CheckFoldersForDelete

public boolean CheckFoldersForDelete()
This method checks whether or not the user is trying to delete any folders.

Specified by:
CheckFoldersForDelete in interface IObjMgrDeleteRO
Returns:
true implies folders are being deleted

SetObjectsForDeleteCheck

public void SetObjectsForDeleteCheck(int[] nObjectIDPairs)
This method is used to set the list of folder IDs (temporary) to be checked for delete.

Specified by:
SetObjectsForDeleteCheck in interface IObjMgrDeleteRO
Parameters:
int[] - of object class id / object id pairs.

SetFoldersForDeleteCheck

public void SetFoldersForDeleteCheck(boolean tf)
Description copied from interface: IObjMgrDeleteRO
This method checks whether or not the user is trying to delete any folders.

Specified by:
SetFoldersForDeleteCheck in interface IObjMgrDeleteRO

GetAdminFolderPath

public java.lang.String GetAdminFolderPath(int folderID)
Parameters:
folderID -
Returns:

RefreshResults

public void RefreshResults(java.lang.String key)
Parameters:
key -



Copyright © 2002,2003,2004,2005 Plumtree Software, Inc., All Rights Reserved.