| 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.plumtree.uiinfrastructure.editor.EditorHelperModel
com.plumtree.uiinfrastructure.expandablelist.ExpListModel
com.plumtree.portaluiinfrastructure.expandablelist.selectptobject.SelectPTObjectModel
com.plumtree.portaluiinfrastructure.expandablelist.selectptobject.selectptobjectsbytype.SelectPTObjectsByTypeModel
com.plumtree.portaluiinfrastructure.editor.commonpages.objectsecurity.ObjectSecurityModel
public class ObjectSecurityModel
This is the implementation of the Expandable List framework for the the Select PTObject list. The Select PTObject is a list of objects. New objects can be added to the list by selecting them from the associated Object tree. The list is by default sorted by name ascending.
| Field Summary | |
|---|---|
static int | 
EXPLIST_COL_ACCESSLEVEL_ID
This column is used to store the access level ID of each row.  | 
static int | 
EXPLIST_COL_ACCESSLEVEL_STRING
This column is used to store the access level String of each row.  | 
static int | 
EXPLIST_COL_GROUPTREEASID
On each group on the list there is a link to get the tree of groups in the users in that group.  | 
static int | 
EXPLIST_COL_MANDATORY
If the Object being created or edited is mandatory for this user or group.  | 
static int | 
EXPLIST_COL_MAX
Number total of columns  | 
static int | 
EXPLIST_COL_ROWACCESS
If the row is read only, we won't deisplay the checkbox to delete it.  | 
static int | 
EXPLIST_DEFAULT_INITIAL_SIZE
Default initial size for the sorted array.  | 
protected  int[] | 
m_arrAccessLevels
Array of supported Access Levels (constants from PT_ACCESS_LEVELS).  | 
protected  XPArrayList | 
m_arrLowAccessObjects
Special case for ACLs that the current user doesn't have at least select access to.  | 
protected  XPArrayList | 
m_arrNoContentTree
You can click on a group only if the current user has at least read access to it.  | 
protected  boolean | 
m_bCardACL
Special case for Crawler Editor where it's possible to Edit the imported cards ACL.  | 
protected  boolean | 
m_bShowHeaderAndLeftNav
We don't want to display the header and the left navigation in create mode when the Security table is displayed in the save object pop-up.  | 
protected  int | 
m_nSupportMandatoryColumn
Flag to know if we should display the mandatory column for this Object.  | 
protected  IPTObject | 
m_ptObject
Object being created or edited.  | 
protected  IPTSession | 
m_ptSession
Current User Session  | 
protected  java.lang.String | 
m_sLeftNavString
String to display on the left navigation menu.  | 
static int | 
MANDATORY_FALSE
Mandatory column value: the Object is NOT mandatory for this user of group  | 
static int | 
MANDATORY_TRUE
Mandatory column value: the Object is mandatory for this user of group  | 
static int | 
MANDCOL_COMMUNITY
Value for m_nSupportMandatoryColumn: community  | 
static int | 
MANDCOL_NONE
Value for m_nSupportMandatoryColumn: none  | 
static int | 
MANDCOL_REGULAR
Value for m_nSupportMandatoryColumn: regular  | 
static boolean | 
PT_ACCESS_LIST_ENTRY_READONLY
Read only flag value for the EXPLIST_COL_ROWACCESS column.  | 
static boolean | 
PT_ACCESS_LIST_ENTRY_READWRITE
Read/Write flag value for the EXPLIST_COL_ROWACCESS column.  | 
static java.lang.String | 
STR_MVC_CLASS_NAME
Class name for the activity space  | 
static java.lang.String | 
SUBSPACE_KEY_EVERYONETREE
Key name used by the Activity Space to store the read-only everyone tree.  | 
static java.lang.String | 
SUBSPACE_KEY_GROUPTREE
Key name used by the Activity Space to store the read-only groups in groups tree.  | 
| Fields inherited from class com.plumtree.uiinfrastructure.editor.EditorHelperModel | 
|---|
m_asOwner | 
| Constructor Summary | |
|---|---|
ObjectSecurityModel()
 | 
|
| Method Summary | |
|---|---|
 void | 
AddACLFromTree(XPHashtable _htFormData)
This method adds the group and users selected in the tree to the list.  | 
protected  void | 
AddACLToList(int _nClassID,
             int _nObjectID,
             java.lang.String _sName)
Helper method that adds a row to the list.  | 
 void | 
AddRowsOnRepost(XPHashtable _htFormData)
Calls the right AddRow method based on the Object type.  | 
 boolean | 
CanPropagateSecurity()
 | 
 java.lang.Object | 
Create()
This method is used by the ASManager to return new instances of managed objects.  | 
 boolean | 
DisplayGroupMembersTree(int _nGroupID)
Returns true if this group should have a link to view its members.  | 
 void | 
Finish()
Saves the security settings into the IPTObject.  | 
 int[] | 
GetAccessLevels()
Returns the array of supported Access Levels.  | 
 java.lang.String | 
GetAccessLevelString(int _nAccessLevelID)
Returns the String associated with the Access Level ID in argument.  | 
protected  int[] | 
GetArrayOfColumns()
Helper method to get the sort.  | 
protected  java.lang.Object[][] | 
GetColumnInfos()
Helper method to get the array of column info.  | 
 boolean | 
GetIsCardACL()
Returns the value of m_bCardACL.  | 
 java.lang.String | 
GetLeftNavString()
Returns the String to display on the left navigation menu.  | 
 java.lang.String | 
GetName()
Returns the Class name.  | 
 java.lang.String | 
GetSelectedItems()
Returns a String of Class IDs and Object IDs of the Objects to select in the tree.  | 
 boolean | 
GetShowHeaderAndLeftNav()
Tells whether or not the DP should display the header and the left navigation.  | 
 int | 
GetSupportMandatoryColumn()
Returns the value of m_nSupportMandatoryColumn.  | 
protected  boolean | 
HasAccessRights(IPTSession _ptSession,
                int _nClassID,
                int _nObjectID,
                int _nAccessLevel)
Helper method to know whether or not the current user has at least select access to the object in argument.  | 
 boolean | 
HasEditAccessToGroup(int _nGroupID)
Helper function that returns true if the current user has edit access on the group identified by the ID in argument.  | 
 boolean | 
HasSecurityChanged()
Returns a flag to know whether the security has changed compared to what we have in the DB or no.  | 
protected  void | 
InitAccessLevels()
Inits the array of supported Access Levels.  | 
 void | 
InitializeSecurityPage(IPTObject _ptObject,
                       IPTSession _ptSession)
Initializes the expandable list.  | 
protected  void | 
InitListWithACLFromObject(IPTObject _ptObject,
                          IPTSession _ptSession)
Initializes the list with the ACL from the PTObject.  | 
protected  void | 
InitReadOnlyAccessFlag(IPTSession _ptSession)
Initializes the m_bIsReadOnly flag to know if the user can edit the page or not.  | 
 boolean | 
IsACLInArray(int _nClassID,
             int _nObjectID,
             int _nAccessLevel)
Tells whether the Object ACL identified by the class ID, the object ID and the Access Level ID in argument is in the list or no.  | 
 boolean | 
IsEveryoneGroup(int _nRowIndex)
Returns true if the object on the row in argument corresponds to the Everyone Group.  | 
protected  int | 
SaveRow(PTGrowableSortedArrayWrapper _saData,
        int _nRowIndex,
        XPHashtable _htFormData)
Saves the access level for the row _nRowIndex.  | 
 void | 
SetCardACL(boolean _bCardACL)
Special case for Crawler Editor where it's possible to Edit the ACL for cards imported by this crawler.  | 
 void | 
SetLeftNavString(java.lang.String _sLeftNavString)
Sets the String to display on the left navigation menu.  | 
 void | 
SetShowHeaderAndLeftNav(boolean _bShowHeaderAndLeftNav)
Changes the value of the flag m_bShowHeaderAndLeftNav that decides if the DP should display the header and the left navigation.  | 
 void | 
SetSupportMandatoryColumn(int _nSupportMandatoryColumn)
Sets a new value for m_nSupportMandatoryColumn.  | 
| Methods inherited from class com.plumtree.portaluiinfrastructure.expandablelist.selectptobject.selectptobjectsbytype.SelectPTObjectsByTypeModel | 
|---|
GetMainColumnSort, GetMainColumnSortDirection, InitializeSortedArray, ReverseCurrentSort, SortByColumn | 
| Methods inherited from class com.plumtree.uiinfrastructure.editor.EditorHelperModel | 
|---|
CleanupAllData, CleanupTempData, Init | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Methods inherited from interface com.plumtree.portaluiinfrastructure.expandablelist.selectptobject.ISelectPTObjectModelRO | 
|---|
ClearHiddenObjects, GetAccessLevel, GetCommunityFolderID, GetCommunityMode, GetCreateNewInfo, GetCreateNewURL, GetDefaultRowIcon, GetDisplayObjects, GetEditObjectURL, GetHiddenObjects, GetNoRowIcons, GetObjectClassIDs, GetRowIconByClassID, GetSelectedNamesAsHTML, GetTreeLeafType, GetTreeMultiSelect, GetTreeQueryFilter, GetTreeSpaceID, GetTreeSubTitle, GetTreeTitle, GetUniquePopUpName, IsEditLinkEnabled, IsObjectReadOnly | 
| Methods inherited from interface com.plumtree.uiinfrastructure.expandablelist.IExpListModelRO | 
|---|
GetAddIcon, GetAddIconAlt, GetAddLabel, GetAlertMessageForEmptyList, GetArrExpListColInfo, GetDeleteIcon, GetDeleteIconAlt, GetDelRowConfirmMsg, GetEmptyListInstructions, GetEmptyListMainMessage, GetEnableMoveRowActions, GetIsListReadOnly, GetListKey, GetMainColumnSort, GetMainColumnSortDirection, GetModelStorageName, GetReadOnlyItems, GetSectionTitle, GetTableInstructions, GetUniqueInt, GetUniqueString, GetUnusedProperties, GetWrapColumnHeaders, IsAddButtonDisabled, IsCheckBoxesDisabled, IsPaginationEnabled | 
| Methods inherited from interface com.plumtree.uiinfrastructure.form.pagination.IPaginationModelRO | 
|---|
GetCurrentLowerObjectCount, GetCurrentUpperObjectCount, GetNumObjects, GetPaginationSize | 
| Methods inherited from interface com.plumtree.uiinfrastructure.activityspace.IModel | 
|---|
CleanupAllData, CleanupTempData, Init | 
| Field Detail | 
|---|
public static final java.lang.String STR_MVC_CLASS_NAME
public static final java.lang.String SUBSPACE_KEY_GROUPTREE
public static final java.lang.String SUBSPACE_KEY_EVERYONETREE
public static final int EXPLIST_COL_MAX
public static final int EXPLIST_COL_ACCESSLEVEL_ID
public static final int EXPLIST_COL_ACCESSLEVEL_STRING
public static final int EXPLIST_COL_ROWACCESS
public static final int EXPLIST_COL_MANDATORY
public static final int EXPLIST_COL_GROUPTREEASID
public static final int MANDATORY_TRUE
public static final int MANDATORY_FALSE
public static final int EXPLIST_DEFAULT_INITIAL_SIZE
public static final int MANDCOL_NONE
public static final int MANDCOL_REGULAR
public static final int MANDCOL_COMMUNITY
public static final boolean PT_ACCESS_LIST_ENTRY_READONLY
public static final boolean PT_ACCESS_LIST_ENTRY_READWRITE
protected IPTObject m_ptObject
protected IPTSession m_ptSession
protected java.lang.String m_sLeftNavString
protected int[] m_arrAccessLevels
protected boolean m_bCardACL
protected XPArrayList m_arrLowAccessObjects
protected XPArrayList m_arrNoContentTree
protected boolean m_bShowHeaderAndLeftNav
protected int m_nSupportMandatoryColumn
| Constructor Detail | 
|---|
public ObjectSecurityModel()
| Method Detail | 
|---|
public void AddACLFromTree(XPHashtable _htFormData)
_htFormData - Form data
protected void AddACLToList(int _nClassID,
                            int _nObjectID,
                            java.lang.String _sName)
_nClassID - _nObjectID - _sName - public void AddRowsOnRepost(XPHashtable _htFormData)
AddRowsOnRepost in class SelectPTObjectModel_htFormData - Form datapublic java.lang.Object Create()
EditorHelperModel
Create in interface IManagedObjectCreate in class SelectPTObjectsByTypeModelIManagedObject.Create()public void Finish()
public java.lang.String GetAccessLevelString(int _nAccessLevelID)
GetAccessLevelString in interface IObjectSecurityModelRO_nAccessLevelID - 
com.plumtree.portaluiinfrastructure.editor.commonpages.objectsecurity.ObjectSecurityModel#GetAccessLevelString()public int[] GetAccessLevels()
GetAccessLevels in interface IObjectSecurityModelROGetAccessLevels()public java.lang.String GetLeftNavString()
GetLeftNavString in interface IObjectSecurityModelROGetLeftNavString()public java.lang.String GetName()
GetName in interface IMVCObjectGetName in class SelectPTObjectsByTypeModelpublic boolean GetShowHeaderAndLeftNav()
GetShowHeaderAndLeftNav in interface IObjectSecurityModelROGetShowHeaderAndLeftNav()public int GetSupportMandatoryColumn()
GetSupportMandatoryColumn in interface IObjectSecurityModelROGetSupportMandatoryColumn()public java.lang.String GetSelectedItems()
GetSelectedItems in interface ISelectPTObjectModelROGetSelectedItems in class SelectPTObjectModelSelectPTObjectModel.GetSelectedItems()public boolean HasEditAccessToGroup(int _nGroupID)
HasEditAccessToGroup in interface IObjectSecurityModelRO_nGroupID - 
com.plumtree.portaluiinfrastructure.editor.commonpages.objectsecurity.ObjectSecurityModel#HasEditAccessToGroup()public boolean HasSecurityChanged()
public boolean CanPropagateSecurity()
public void InitializeSecurityPage(IPTObject _ptObject,
                                   IPTSession _ptSession)
_ptObject - Object being created or edited_ptSession - User session
public boolean IsACLInArray(int _nClassID,
                            int _nObjectID,
                            int _nAccessLevel)
_nClassID - _nObjectID - _nAccessLevel - 
public boolean DisplayGroupMembersTree(int _nGroupID)
DisplayGroupMembersTree in interface IObjectSecurityModelRO_nGroupID - 
com.plumtree.portaluiinfrastructure.editor.commonpages.objectsecurity.ObjectSecurityModel#DisplayGroupMembersTree()public void SetCardACL(boolean _bCardACL)
_bCardACL - public boolean GetIsCardACL()
GetIsCardACL in interface IObjectSecurityModelROGetIsCardACL()public void SetLeftNavString(java.lang.String _sLeftNavString)
_sLeftNavString - public void SetShowHeaderAndLeftNav(boolean _bShowHeaderAndLeftNav)
_bShowHeaderAndLeftNav - public void SetSupportMandatoryColumn(int _nSupportMandatoryColumn)
_nSupportMandatoryColumn - protected int[] GetArrayOfColumns()
GetArrayOfColumns in class SelectPTObjectsByTypeModelprotected java.lang.Object[][] GetColumnInfos()
protected void InitAccessLevels()
protected void InitListWithACLFromObject(IPTObject _ptObject,
                                         IPTSession _ptSession)
_ptObject - Object being created or edited
protected boolean HasAccessRights(IPTSession _ptSession,
                                  int _nClassID,
                                  int _nObjectID,
                                  int _nAccessLevel)
_ptSession - _nClassID - _nObjectID - _nAccessLevel - 
protected void InitReadOnlyAccessFlag(IPTSession _ptSession)
_ptSession - User sessionpublic boolean IsEveryoneGroup(int _nRowIndex)
IsEveryoneGroup in interface IObjectSecurityModelRO_nRowIndex - 
com.plumtree.portaluiinfrastructure.editor.commonpages.objectsecurity.ObjectSecurityModel#IsEveryoneGroup()
protected int SaveRow(PTGrowableSortedArrayWrapper _saData,
                      int _nRowIndex,
                      XPHashtable _htFormData)
SaveRow in class SelectPTObjectModel_saData - List to update the data on row _nRowIndex_nRowIndex - Index of the row to save._htFormData - Data posted by the form.
  | 
 | 
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||