org.jasig.portal.channels.groupsmanager.commands
Class GroupsManagerCommand

java.lang.Object
  extended by org.jasig.portal.channels.groupsmanager.commands.GroupsManagerCommand
All Implemented Interfaces:
GroupsManagerConstants, IGroupsManagerCommand
Direct Known Subclasses:
AddMembers, AssignPermissions, CancelSelection, CollapseGroup, CreateGroup, DeleteGroup, DoneWithSelection, EditGroup, ExpandGroup, HideProperties, HighlightGroup, RemoveMember, Search, SelectMembers, ShowProperties, UnlockGroup, UpdateGroup

public abstract class GroupsManagerCommand
extends java.lang.Object
implements IGroupsManagerCommand, GroupsManagerConstants

This class is the parent class of all other command classes.

Version:
$Revision: 1.15 $
Author:
Don Fracapane

Field Summary
 
Fields inherited from interface org.jasig.portal.channels.groupsmanager.GroupsManagerConstants
ADD_REMOVE_PERMISSION, ASSIGN_PERMISSION, BASE_PACKAGE, BROWSE_MODE, COMMANDS_PACKAGE, CREATE_PERMISSION, DELETE_PERMISSION, EDIT_MODE, ENTITY_CLASSNAME, ENTITY_TAGNAME, GROUP_CLASSNAME, GROUP_TAGNAME, GROUPS_PACKAGE, MEMBERS_ONLY_MODE, OWNER, PROPERTIES_TAGNAME, ROOT_GROUP_DESCRIPTION, ROOT_GROUP_TITLE, SECURITY_PACKAGE, SELECT_MODE, SELECT_PERMISSION, UPDATE_PERMISSION, VIEW_PERMISSION, WRAPPERS_PACKAGE
 
Constructor Summary
GroupsManagerCommand()
          GroupsManagerCommand is the parent of all Groups Manager commands.
 
Method Summary
protected  void clearSelected(CGroupsManagerSessionData sessionData)
          clear out the selection list
protected  void deletePermissions(IGroupMember grpMbr)
          Removes all of the permissions for a GroupMember.
 void execute(CGroupsManagerSessionData sessionData)
          This is the public method
protected  java.lang.String getCommand(ChannelRuntimeData runtimeData)
          Returns the grpCommand parameter from runtimeData
protected  java.lang.String getCommandArg(ChannelRuntimeData runtimeData)
          Returns the grpCommandIds parameter from runtimeData.
protected  java.lang.String getParentId(ChannelStaticData staticData)
          Returns the groupParentId parameter from staticData
protected  java.lang.String getUserID(CGroupsManagerSessionData sessionData)
          Returns the userID from the user object
protected  org.w3c.dom.Document getXmlDoc(CGroupsManagerSessionData sessionData)
          Returns the cached xml document from staticData
protected  boolean hasParentId(ChannelStaticData staticData)
          Answers if the parentGroupId has been set.
protected  void setCommandArg(ChannelRuntimeData runtimeData, java.lang.String arg)
          Set the CommandArg value, useful for commands which would like to chain other commands
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GroupsManagerCommand

public GroupsManagerCommand()
GroupsManagerCommand is the parent of all Groups Manager commands. It hold the commone functionality of all commands.

Method Detail

execute

public void execute(CGroupsManagerSessionData sessionData)
             throws java.lang.Exception
This is the public method

Specified by:
execute in interface IGroupsManagerCommand
Parameters:
sessionData -
Throws:
java.lang.Exception

clearSelected

protected void clearSelected(CGroupsManagerSessionData sessionData)
clear out the selection list

Parameters:
sessionData -

deletePermissions

protected void deletePermissions(IGroupMember grpMbr)
                          throws java.lang.Exception
Removes all of the permissions for a GroupMember. We need to get permissions for the group as a principal and as a target. I am merging the 2 arrays into a single array in order to use the transaction management in the RDBMPermissionsImpl. If an exception is generated, I do not delete the group or anything else. Possible Exceptions: AuthorizationException and GroupsException

Parameters:
grpMbr -
Throws:
java.lang.Exception

hasParentId

protected boolean hasParentId(ChannelStaticData staticData)
Answers if the parentGroupId has been set. If it has not been set, this would indicate that Groups Manager is in Servant mode.

Parameters:
staticData -
Returns:
boolean

getCommand

protected java.lang.String getCommand(ChannelRuntimeData runtimeData)
Returns the grpCommand parameter from runtimeData

Parameters:
runtimeData -
Returns:
String

getCommandArg

protected java.lang.String getCommandArg(ChannelRuntimeData runtimeData)
Returns the grpCommandIds parameter from runtimeData. The string usually hold one element ID but could contain a string of delimited ids. (See RemoveMember command).

Parameters:
runtimeData -
Returns:
String

getParentId

protected java.lang.String getParentId(ChannelStaticData staticData)
Returns the groupParentId parameter from staticData

Parameters:
staticData -
Returns:
String

getUserID

protected java.lang.String getUserID(CGroupsManagerSessionData sessionData)
Returns the userID from the user object

Parameters:
sessionData -
Returns:
String

getXmlDoc

protected org.w3c.dom.Document getXmlDoc(CGroupsManagerSessionData sessionData)
Returns the cached xml document from staticData

Parameters:
sessionData -
Returns:
Document

setCommandArg

protected void setCommandArg(ChannelRuntimeData runtimeData,
                             java.lang.String arg)
Set the CommandArg value, useful for commands which would like to chain other commands

Parameters:
runtimeData -
arg - String