ARoad0.AcsAddon.Accbee.MySQL.gBase
Class ACSMySQLImpl

java.lang.Object
  extended by ARoad0.gBase.ACSImpl
      extended by ARoad0.AcsAddon.Accbee.MySQL.gBase.ACSMySQLImpl
All Implemented Interfaces:
ACS, AcsAddon, ACSCatalog, ACSRun, BaseBeanManager, BaseObject, BoundBean, ImmutableACS, ImmutableCommonBase, java.io.Serializable, java.lang.Cloneable

public class ACSMySQLImpl
extends ACSImpl
implements AcsAddon

This empty class is responsible for modeling a MySQL 5 server as an access control system (ACS). It ensures the modelization of a MySQL 5 server, simply to change the ACS BeanInfo class that has to provide a property descriptor for the VirtualFolders. All the work is done by the super class. It is a javabean without proper properties.

See Also:
BaseManagerImpl, ACSFactoryMySQLImpl, Serialized Form

Field Summary
 
Fields inherited from class ARoad0.gBase.ACSImpl
aCSType_, baseError_, categoriesInSpecializedRights_, changeSupport_, comment_, containsBridgeSource_, containsBridgeTarget_, containsRootActions_, controlled_, editor_, EMPTY_INSTANCE, externalOriented_, GENERIC, haveSpecializedRights_, icon_, iconName_, INCREMENT_CAPACITY, INITIAL_CAPACITY_25, INITIAL_CAPACITY_5, is_hub_, iSname_, l_AclEntry_, l_ActorBridgeSources_, l_ActorBridgeTargets_, l_ClosedAclEntries_, l_ClosedAclEntriesACSNames_, l_ClosedPrivileges_, l_ClosedPrivilegesACSNames_, l_ImmutableRules_, l_NoRightProxyActors_, l_OpenAcsControllerNames_, l_Privilege_, l_Rights_, l_RootNamesForAcsIntegrity_, l_RootNamesForAcsOpeningNoClosing_, l_RootNamesForAcsOpeningWithClosing_, l_TiedChildACSs_, l_VirtualFolders_, LINUX, m_AcsVocabulary_, m_ActorBridgeTargets_, m_BelongsToComposite_, m_closedSourcesOfActorBridgeTargets_, m_closedTargetsOfActorBridgeSources_, m_CommentsOnProperties_, m_ConstraintsForNewObjects_, m_EligibleParties_, m_Resources_, m_RightsOfInternalKey_, m_RootCommandsForAcsIntegrity_, m_RootCommandsForAcsOpeningAndClosing_, m_RootCommandsForAcsOpeningNoClosing_, m_RootsForChildACS_, m_SpecializedRights_, m_StandardRights_, m_Structure_, m_SubAndGroupPolicy_, m_TypeOrientedPolicy_, m_TypesAndGUIPolicy_, MAX_FOR_TYPED_PRIVILEGES_NUMBER, name_, ownEPFoldersRootName_, ownGroupsRootName_, ownResourceFoldersRootName_, ownResourcesRootName_, parentName_, PRIME, serialPersistentFields, serialVersionUID__, visibleSpace_
 
Constructor Summary
ACSMySQLImpl()
          Default constructor used by valueOf() and the subclasses
 
Method Summary
 java.util.Map<java.lang.String,java.lang.String> getAddonParentPropertiesToListen()
          Gets the specific events to listen on a Resource or a VirtualFolder, its direct and indirect parents, because these events should change the rights of the Resource or VirtualFolder in an ACS Addon.
protected  void newEorEligibleParty(ImmutableEligibleParty _ep)
          Registers a new own eligible party in the ACS and controls that the eligible party type is allowed.
protected  void newEorResource(ImmutableResource _res)
          Registers a new own resource with a type control, and fires the bound properties 'M_OwnResources' or 'M_ExternalResources', 'OneResource' and 'OneBaseObject' only if it is not an Actor.
protected  void removeEorEligibleParty(ImmutableEligibleParty _ep)
          Removes the EligibleParty in m_EligibleParties_.
protected  void removeEorResource(ImmutableResource _res)
          Unregisters the own resources.
protected static ACSImpl valueOf(ImmutableName _iSname, ImmutableName _parentName, ImmutableName _name, java.lang.String _type, java.util.SortedMap<java.lang.String,java.lang.Boolean> _m_structure, java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForStringValues, java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForNewObjects, java.util.HashMap<java.lang.String,StringRight[]> _m_constraintsForRightValues, java.util.HashMap<java.lang.String,StringRight[]> _m_SpecializedRights, StringRight[] _l_Rights, java.util.List<java.lang.String> _l_ImmutableRules, java.util.HashMap<java.lang.String,java.lang.String[]> _m_CommentsOnProperties, java.util.HashMap<java.lang.String,java.lang.String[]> _m_AcsVocabulary)
          Factory method to use for creating an instance.
 
Methods inherited from class ARoad0.gBase.ACSImpl
addAcsController, addEligibleParty, addInParentACS, addNoRightProxyActor, addOwnActorBridgeSource, addOwnActorBridgeTarget, addPropertyChangeListener, addPropertyChangeListener, addResource, addRight, addRootForChildACS, addVirtualFolder, checkClosedAcsRights, checkClosedBridges, checkClosedExternalAclEntries, checkClosedExternalLinkedPrivileges, closeAcsRights, closeBridges, closeExternalAclEntries, closeExternalLinkedPrivileges, closeVirtualFolders, containsAclEntry, containsEligiblePartyName, containsOwnEligiblePartyName, containsOwnResourceName, containsOwnVirtualFolderName, containsPrivilegeName, containsResourceName, containsVirtualFolderName, controlEPandResourceTypes, copy, equals, fillNoRightProxyActors, fillRightsOfInternalKey, fillVirtualFolders, finalize, finalizeForBase, firePropertyChange, getACSType, getCategoriesInSpecializedRights, getComment, getContainsBridgeSource, getContainsBridgeTarget, getContainsRootActions, getEditorAndAddonNames, getEmbeddedInParentACS, getEorBaseError, getEorIcon, getEorL_AclEntries, getEorL_EPVirtualFolders, getEorL_ExternalAclEntries, getEorL_ExternalVirtualFolders, getEorL_NoRightProxyActors, getEorL_OwnActorBridgeSources, getEorL_OwnActorBridgeTargets, getEorL_PrivilegeForLinks, getEorL_PrivilegeForTypes, getEorL_PrivilegeForTypesForSource, getEorL_PrivilegeForTypesForTarget, getEorL_Privileges, getEorL_ResourceVirtualFolders, getEorL_VirtualFolders, getEorM_Actors, getEorM_EligibleParties, getEorM_ExternalEligibleParties, getEorM_ExternalResources, getEorM_OwnActors, getEorM_OwnEligibleParties, getEorM_OwnNoParentResources, getEorM_OwnResources, getEorM_Resources, getFirstRightFromMeta, getFullControlRight, getFullName, getHaveSpecializedRights, getHubProperty, getIconName, getIncompleteBehaviorModeling, getIncompleteStructureModeling, getIsAuthorizationServer, getIsControlled, getIsExternalOriented, getIsFromAcsAddon, getISName, getL_AcsControllers, getL_AcsTypes, getL_ClosedAclEntries, getL_ClosedAclEntriesACSNames, getL_ClosedACSBridgeSources, getL_ClosedPrivileges, getL_ClosedPrivilegesACSNames, getL_ImmutableRules, getL_Rights, getL_RootsForClosing, getL_RootsForIntegrity, getL_RootsForOpening, getL_SelectedRights, getL_TiedChildACS, getM_AcsVocabulary, getM_AssociationsOnNewObject, getM_BelongsToComposite, getM_CommentsOnProperties, getM_InnerRootsForChildACS, getM_RightsOfInternalKey, getM_RootCommandsForIntegrity, getM_RootCommandsForOpeningAndClosing, getM_RootCommandsForOpeningNoClosing, getM_SpecializedRights, getM_StandardRights, getM_Structure, getM_SubAndGroupPolicy, getM_TypeOrientedPolicy, getM_TypesAndGUIPolicy, getManageAccounts, getManageACLRightsInheritance, getManageAcsRights, getManageActorInEPVirtualFolders, getManageActors, getManageAGORights, getManageAGORightsInheritance, getManageAuthorizationServerTypedPrivileges, getManageBridges, getManageClassedSpecificTypedPrivileges, getManageClassedTypedPrivileges, getManageDenyingRightPrivileges, getManageDenyRights, getManageDirectoryEPinEPVirtualFolders, getManageDirectoryEPs, getManageDirectoryInResourceVirtualFolders, getManageEPVirtualFolders, getManageExternalAcls, getManageExternalForOneToOneLinkedPrivileges, getManageFlexibleConditionalAcls, getManageGrantingRightPrivileges, getManageGrantRights, getManageGroups, getManageGroupTrees, getManageIfAllSourceLinkedPrivileges, getManageInternalAcls, getManageInternalForOneToOneLinkedPrivileges, getManageInternalHardAlias, getManageLPRIRightsInheritance, getManageMetaRights, getManageOneTimeInVirtualFolderTreeForMember, getManagePrivilegeRights, getManagePrivilegesInResources, getManagePrivilegesInVirtualFolders, getManageResources, getManageResourceTrees, getManageResourceVirtualFolders, getManageRightDefinedConditionalAcls, getManageSecGroupsForActor, getManageSimpleLinkedPrivileges, getManageSimpleResourceVirtualFolders, getManageSimpleTypedPrivileges, getManageSoftAlias, getManageVirtualFolderRightsPropagationToMembers, getManageVirtualFolders, getManageVirtualFolderTrees, getName, getNickName, getNumberOfEPs, getNumberOfResources, getOneAclEntryFromDetailledName, getOnePrivilegeFromDetailledName, getOneRight, getOneRight, getOneVirtualFolder, getOwnEPFoldersRootName, getOwnGroupsRootName, getOwnResourceFoldersRootName, getOwnResourcesRootName, getParentName, getReferenceOfSoftAlias, getRunningOnParentACS, getSerialVersionUID, getTiedToParentACS, getVisibleSpace, handleAssociationsForInnerObject, handleAssociationsForRootsOfChildACS, hashCode, initializeAcsRelationsInIS, isPropertyChangeListener, newEorAclEntry, newEorPrivilege, newEorVirtualFolder, removeAcsController, removeEorAclEntry, removeEorPrivilege, removeEorVirtualFolder, removeNoRightProxyActor, removeOwnActorBridgeSource, removeOwnActorBridgeTarget, removeOwnActorBridgeTargetFromSource, removePropertyChangeListener, removePropertyChangeListener, removeRight, removeRootForChildACS, setAcsRelationsInIS, setComment, setEorIcon, setExternalOriented, setIncompleteStructureModeling, setL_TiedChildACS, setOwnEPFoldersRootName, setOwnGroupsRootName, setOwnResourceFoldersRootName, setOwnResourcesRootName, toString, valueOf, valueOfForGenericBase
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ACSMySQLImpl

public ACSMySQLImpl()
Default constructor used by valueOf() and the subclasses

Method Detail

valueOf

protected static ACSImpl valueOf(ImmutableName _iSname,
                                 ImmutableName _parentName,
                                 ImmutableName _name,
                                 java.lang.String _type,
                                 java.util.SortedMap<java.lang.String,java.lang.Boolean> _m_structure,
                                 java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForStringValues,
                                 java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForNewObjects,
                                 java.util.HashMap<java.lang.String,StringRight[]> _m_constraintsForRightValues,
                                 java.util.HashMap<java.lang.String,StringRight[]> _m_SpecializedRights,
                                 StringRight[] _l_Rights,
                                 java.util.List<java.lang.String> _l_ImmutableRules,
                                 java.util.HashMap<java.lang.String,java.lang.String[]> _m_CommentsOnProperties,
                                 java.util.HashMap<java.lang.String,java.lang.String[]> _m_AcsVocabulary)
                          throws BaseError
Factory method to use for creating an instance. Called by ACSFactoryMySQLImpl.created(). Does not register the new instance in BaseManagerImpl. Calls ACSImpl.valueOfForGenericBase() that makes the main work.

Parameters:
_iSname - is the IS name. May be null.
_parentName - is the name of the parent node in the IS nametree. No use if _iSname is null. May be null.
_name - is the acs name
_type - is 'MySQL 5 server on Linux' or a derived value.
_m_structure - is the map of booleans which defines the ACS structure. Not null.
_m_constraintsForStringValues - is the map where the key is a String of an ACSObject interface (like Resource) ended by a bound property name (like ResourceType), with '.' as separator, and the value is a String array of the authorized values for this bound property (like {file, directory, executable, script...} for ResourceType in Linux). May be null.
_m_constraintsForNewObjects - is the map where the key is a String following one of the 7 possible formats, and the value is a String array of the authorized values among 17. May be null.
_m_constraintsForRightValues - is the map where the key is a String of an ACSObject interface (like Resource) ended by a bound property name (like OthersRights), with '.' as separator, and the value is a StringRight array of the authorized values for this bound property (like {d, r, w, x} for OthersRights in Unix). Never null.
_m_SpecializedRights - is the map where the key is a quartet (object.domain.key.subkey) and the value is is a StringRight array of the authorized values. Never null.
_l_Rights - array of acsrights and/or metarights which are workable. Never null.
_l_ImmutableRules - list of the immutable rules derivated from the structure. Never null.
_m_CommentsOnProperties - comments on each ACS property, to explain the simulation. May be null.
_m_AcsVocabulary - defines several independant domains, like how to name the constants in Gui2.ACSTree.M_ACS_TREE_UPPER_NODES for this ACS, as names of the ACS nodes in the proper ACS internal frame, and, if this ACS is an AcsAddon, what are the subclassed classes in the generic gBase. May be null.
Returns:
the new ACSMySQLImpl
Throws:
BaseError - if _l_structure is not null with a lenght is not 20, if there is a rule about _l_structure which is not applied, or if the ACS is already known by BaseManagerImpl.

newEorResource

protected void newEorResource(ImmutableResource _res)
                       throws CreateError
Registers a new own resource with a type control, and fires the bound properties 'M_OwnResources' or 'M_ExternalResources', 'OneResource' and 'OneBaseObject' only if it is not an Actor. Overrides the super method and calls it without other processing.

Overrides:
newEorResource in class ACSImpl
Parameters:
_res - is just created in a Resource constructor, or external resource which is associated to an aclEntry owned by this ACS
Throws:
CreateError - (and baseError) if the Name is already known in ACSCatalog, if the Name is null, or if the resource type is not allowed by this ACS

removeEorResource

protected void removeEorResource(ImmutableResource _res)
                          throws UpDateError
Unregisters the own resources. Fires property change events on "M_OwnResources" or "M_ExternalResources", and fire "OneResource", "OneBaseObject". Overrides the super method and calls it without other processing.

Overrides:
removeEorResource in class ACSImpl
Parameters:
_res - internal or external open ImmutableResource to be taken off in the ACS.
Throws:
UpDateError - (and baseError) if the Name is unknown in the ACS.

newEorEligibleParty

protected void newEorEligibleParty(ImmutableEligibleParty _ep)
                            throws CreateError
Registers a new own eligible party in the ACS and controls that the eligible party type is allowed.

Fires a property change on "M_OwnEligibleParties" or "M_ExternalEligibleParties", "OneEligibleParty" and "OneBaseObject". Overrides the super method and calls it without other processing.

Overrides:
newEorEligibleParty in class ACSImpl
Parameters:
_ep - is just created in EligibleParty() or in ActorImpl(), or associated to a newEorAclEntry() call
Throws:
CreateError - (and baseError) if the Name is already known in ACSCatalog, if the Name is null or if the ep type is not allowed.

removeEorEligibleParty

protected void removeEorEligibleParty(ImmutableEligibleParty _ep)
                               throws UpDateError
Removes the EligibleParty in m_EligibleParties_. May updates the closed bridge targets map. Fires property change on "M_OwnEligibleParties" or "M_ExternalEligibleParties", "OneEligibleParty", and "OneBaseObject" only if it is not an Actor. Overrides the super method and calls it without other processing.

Overrides:
removeEorEligibleParty in class ACSImpl
Parameters:
_ep - eligible party to remove.
Throws:
UpDateError - (and baseError) if the Name is unknown in the ACS.

getAddonParentPropertiesToListen

public java.util.Map<java.lang.String,java.lang.String> getAddonParentPropertiesToListen()
Gets the specific events to listen on a Resource or a VirtualFolder, its direct and indirect parents, because these events should change the rights of the Resource or VirtualFolder in an ACS Addon. Then, these events are listened to update the views containing these ACSObjects. This method covers only the parent properties of a Resource or a VirtualFolder (see ARoad0.gBaseInterface.ACSObjectAddon.getAddonInnerPropertiesToListen() for the other cases). To define the events, the map key may have the following values:

- 'THIS' to say that the single basic object is the Resource or VirtualFolder,

- 'ACS.method_name' to say that the list of Resources (or VirtualFolders) is returned by the method 'method_name' in the Addon ACS class.

For each map key, the values have the following format:

'AAA.method_name IF BBB'

where:

- AAA: PARENT (mandatory),

- method_name: 'get' method name of each basic objet parent that is associated, in the relevant BeanInfo class, to the event to listen (mandatory)

- IF BBB: where BBB is 'TRUE', 'FALSE', 'NULL' or 'NOT-NULL', to say that the event must be listened if and only if the returned value of the method_name is respectively a boolean TRUE, or FALSE, or an object NULL, or NOT-NULL (option).

When the map key starts with 'ACS', the ACS method to call has no argument. When the map value starts with 'PARENT', the parent method to call has no argument. Called by ARoad0.gBase.EPRViewInBaseImpl, NoThanViewInBaseImpl and ARoad0.gWork.RightsMediatorImpl. For instance, 'PARENT.getAGOAccessFromTheParentOther IF FALSE' is the value the ACS Addon Ubuntu ACS returns for the key ACS.getEorL_FromOtherInCurrentContextActors, to request the listening of the 'FromTheParentOther' event on all the indirect parents of a ResourceUbuntu in a view.

Specified by:
getAddonParentPropertiesToListen in interface AcsAddon
Returns:
map to define the specific ACS Addon events to listen. May be null.