ARoad0.AcsAddon.Accbee.MySQL.gBase
Class ACSFactoryMySQLImpl

java.lang.Object
  extended by ARoad0.gBase.ACSFactoryImpl
      extended by ARoad0.AcsAddon.Accbee.MySQL.gBase.ACSFactoryMySQLImpl
All Implemented Interfaces:
ACSRun, BaseBeanManager, BaseObject, BoundBean

public class ACSFactoryMySQLImpl
extends ACSFactoryImpl

This class is responsible for creating a MySQL as an access control system (ACS). The requirements for the MySQL access controls are described in http://dev.mysql.com/doc/refman/5.6/en/request-access.html and the near pages. Almost all the work is done by the super class, and this class has just to use the right methods of the superclass. The limitations on the MySQL server simulation are described in the MySQL gBase documentation.

Called by gDMak.ActionNewACSyst and MySQL.gWork.AcsFactory.MySQL. This class does not use for its GUI any BeanInfo. It is a javabean without specific bound properties.

See Also:
ACSMySQLImplBeanInfo

Field Summary
private static int PRIME
           
 
Fields inherited from class ARoad0.gBase.ACSFactoryImpl
A_RIGHTS_SET, ACL_RIGHTS_SET, BDG_RIGHTS_SET, changeSupport_, comment_, EMPTY_INSTANCE, GO_RIGHTS_SET, havePrivilegeSpecializedRights_, icon_, ICON_HEIGHT_MAX, ICON_WIDTH_MAX, imageIcon_, is_hub_, iSname_, l_AccountRightsSet_, l_AclRightsSet_, l_AllowedACSInterfacesForSpecializedRights_, l_bridgeRightsSet_, l_epTypes_, l_epvfTypes_, l_GORightsSet_, l_ImmutableRules_, l_privilegeForLinksTypes_, l_privilegeForTypeTypes_, l_resourceTypes_, l_resvfTypes_, l_Rights_, m_AcsVocabulary_, m_alternateProperties_, m_AssociationsForNewObjects_, m_BelongsToComposite_, m_CommentsOnProperties_, m_ComponentNodes_, m_CompositeNodes_, m_PrivilegeRights_, m_RootsForAcsIntegrity_, m_RootsForAcsOpeningAndClosing_, m_RootsForAcsOpeningNoClosing_, m_SpecializedRights_, m_StandardRights_, m_Structure_, m_SubAndGroupPolicy_, m_TypesAndExplorer_, name_, parentName_, PRI_RIGHTS_SET, SPE_RIGHTS_SET, type_, visibleSpace_
 
Constructor Summary
ACSFactoryMySQLImpl()
          Default constructor.
ACSFactoryMySQLImpl(ImmutableName _iSname, ImmutableName _name, java.lang.String _ACStype, ImmutableName _parentName)
          Called by MySQL.gWork.AcsFactoryMySQL.
 
Method Summary
 ACSImpl createACS()
          Creates the ACSMySQLImpl with its structural arguments.
 void initializeConstraintsBeforeCreation()
          Initializes the ACS constraints maps before the call to ACSImpl.valueOf().
 
Methods inherited from class ARoad0.gBase.ACSFactoryImpl
addAcsVocabulary, addAlternate, addAssociations, addAssociationsToNewObject, addBelongsToComposite, addCommentsOnProperties, addComponentNode, addCompositeNode, addIntegrityRoots, addOpeningAndClosingRoots, addOpeningNoClosingRoots, addPrivilegeRights, addPropertyChangeListener, addPropertyChangeListener, addRight, addSpecializedRights, addSubAndGroupPolicy, addTypesAndExplorer, checkACSbeforeCreation, controlRights, createACSforGenericBase, equals, finalize, finalizeForUser, firePropertyChange, getACSType, getComment, getFirstRightFromMeta, getFullControlRight, getFullName, getHubProperty, getIcon, getIncompleteBehaviorModeling, getIncompleteStructureModeling, getIsAuthorizationServer, getISName, getL_AccountRightsSet, getL_AclRightsSet, getL_AllowedACSInterfacesForSpecializedRights, getL_bridgeRightsSet, getL_currentAcsAndSubAcsNickNames, getL_EPTypes, getL_EPVirtualFolderTypes, getL_GroupRightsSet, getL_LimitedFirstValuesForAssociation, getL_LimitedValuesForAlternates, getL_LimitedValuesForBelongsToComposite, getL_LimitedValuesForComponentNodes, getL_LimitedValuesForCompositeNodes, getL_LimitedValuesForSubAndGroupPolicy, getL_LimitedValuesForTypesAndExplorer, getL_MapKeysForAcsVocabulary, getL_MapKeysForCommentsOnProperties, getL_MapKeysForPrivilegeRights, getL_MapKeysForTypePolicies, getL_MapKeysStartsForAlternates, getL_MapKeysStartsForComponents, getL_PrivilegeForLinksTypes, getL_PrivilegeForTypeTypes, getL_ResourceTypes, getL_ResourceVirtualFolderTypes, getL_Rights, getM_AcsVocabulary, getM_Alternates, getM_AssociationsOnNewObject, getM_BelongsToComposite, getM_CommentsOnProperties, getM_ComponentNodes, getM_CompositeNodes, getM_IntegrityRoots, getM_OpeningAndClosingRoots, getM_OpeningNoClosingRoots, getM_PrivilegeRights, getM_SpecializedRights, getM_SubAndGroupPolicy, getM_TypesAndExplorer, getManageAccounts, getManageACLRightsInheritance, getManageAcsRights, getManageActorInEPVirtualFolders, getManageActors, getManageAGORights, getManageAGORightsInheritance, getManageAuthorizationServerTypedPrivileges, getManageBridges, getManageClassedSpecificTypedPrivileges, getManageClassedTypedPrivileges, getManageDenyingRightPrivileges, getManageDirectoryEPinEPVirtualFolders, getManageDirectoryEPs, getManageDirectoryInResourceVirtualFolders, getManageEPVirtualFolders, getManageExternalAcls, getManageExternalForOneToOneLinkedPrivileges, getManageFlexibleConditionalAcls, getManageGrantingRightPrivileges, 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, getOneRight, getOneRight, getParentName, getRightsInSpecializedRights, getTiedToParentACS, getTypesInSpecializedRights, getVisibleSpace, hashCode, initializeConstraintsAfterCreation, moveRight, newRight, removeAcsVocabulary, removeAlternate, removeAssociations, removeAssociationsToNewObject, removeBelongsToComposite, removeCommentsOnProperties, removeComponentNode, removeCompositeNode, removeIntegrityRoots, removeOpeningAndClosingRoots, removeOpeningNoClosingRoots, removePrivilegeRights, removePropertyChangeListener, removePropertyChangeListener, removeRight, removeSpecializedRights, removeSubAndGroupPolicy, removeTypesAndExplorer, setComment, setEorIcon, setHubProperty, setIcon, setIncompleteBehaviorModeling, setIncompleteStructureModeling, setIsAuthorizationServer, setISName, setL_AccountRightsSet, setL_AclRightsSet, setL_bridgeRightsSet, setL_EPTypes, setL_EPVirtualFolderTypes, setL_GroupRightsSet, setL_PrivilegeForLinksTypes, setL_PrivilegeForTypeTypes, setL_ResourceTypes, setL_ResourceVirtualFolderTypes, setManageAccounts, setManageACLRightsInheritance, setManageAcsRights, setManageActorInEPVirtualFolders, setManageActors, setManageAGORights, setManageAGORightsInheritance, setManageAuthorizationServerTypedPrivileges, setManageBridges, setManageClassedSpecificTypedPrivileges, setManageClassedTypedPrivileges, setManageDenyingRightPrivileges, setManageDirectoryEPinEPVirtualFolders, setManageDirectoryEPs, setManageDirectoryInResourceVirtualFolders, setManageEPVirtualFolders, setManageExternalAcls, setManageExternalForOneToOneLinkedPrivileges, setManageFlexibleConditionalAcls, setManageGrantingRightPrivileges, setManageGroups, setManageGroupTrees, setManageIfAllSourceLinkedPrivileges, setManageInternalAcls, setManageInternalForOneToOneLinkedPrivileges, setManageInternalHardAlias, setManageLPRIRightsInheritance, setManageMetaRights, setManageOneTimeInVirtualFolderTreeForMember, setManagePrivilegeRights, setManagePrivilegesInResources, setManagePrivilegesInVirtualFolders, setManageResources, setManageResourceTrees, setManageResourceVirtualFolders, setManageRightDefinedConditionalAcls, setManageSecGroupsForActor, setManageSimpleLinkedPrivileges, setManageSimpleResourceVirtualFolders, setManageSimpleTypedPrivileges, setManageSoftAlias, setManageVirtualFolderRightsPropagationToMembers, setManageVirtualFolders, setManageVirtualFolderTrees, setParentName, setTiedToParentACS, setVisibleSpace, toString
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

PRIME

private static final int PRIME
See Also:
Constant Field Values
Constructor Detail

ACSFactoryMySQLImpl

public ACSFactoryMySQLImpl()
Default constructor. Calls ACSFactoryImpl.addAcsVocabulary() to define the AcsAddon classes for MySQL, including the classes BasesSetMySQLImpl and ProxyMySQLImpl. Sets the current ACS addon version.


ACSFactoryMySQLImpl

public ACSFactoryMySQLImpl(ImmutableName _iSname,
                           ImmutableName _name,
                           java.lang.String _ACStype,
                           ImmutableName _parentName)
                    throws BaseError
Called by MySQL.gWork.AcsFactoryMySQL. Calls addAcsVocabulary() to define the AcsAddon classes for MySQL, including the classes BasesSetMySQLImpl and ProxyMySQLImpl.

Parameters:
_iSname - the name of the IS containing this new ACS. May be null, and ISFactoryUtilityImpl.DEFAULT_IS_NAME is then set as IS name and it is created BaseManagerImpl. Sets the current ACS addon version.
_name - the name of the new ACS. Never null.
_ACStype - the ACS type. Never null.
_parentName - the parent of this new ACS. No use if _iSname is null. Otherwise, it has to contain the IS name.
Throws:
BaseError - if _type is null, _parentName does not start with _iSname.
Method Detail

initializeConstraintsBeforeCreation

public void initializeConstraintsBeforeCreation()
Initializes the ACS constraints maps before the call to ACSImpl.valueOf(). Adds to ACSFactoryImpl.l_ImmutableRules_ some specific rules:

- ACL right: ACL for actors only as targets

This AcsAddon method adds also an informal description of the right selection algorithm. An ACSFactoryMySQLImpl for a new ACS derived from a MySQL ACS has already all these values. Called by createACS(). Overrides and calls first the super method.

Overrides:
initializeConstraintsBeforeCreation in class ACSFactoryImpl

createACS

public ACSImpl createACS()
                  throws BaseError
Creates the ACSMySQLImpl with its structural arguments. Overrides and copies the ACSFactoryImpl method, with simply, as difference, the call to the ACSMySQLImpl constructor.

Overrides:
createACS in class ACSFactoryImpl
Returns:
the new ACSMySQLImpl
Throws:
BaseError - if the integrity rules are not followed (with the list of all the user errors, including up to 2500 words when all the rules are unmatched), if the ACS is already known by BaseManagerImpl.
See Also:
ACSFactoryImpl.createACS()