ARoad0.AcsAddon.Accbee.Ubuntu.gBase
Class ACSFactoryUbuntuImpl

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

public class ACSFactoryUbuntuImpl
extends ACSFactoryImpl

This class is responsible for creating a Linux Ubuntu as an access control system (ACS). Almost all the work is done by the super class, and this class has just to use the right methods of the superclass. Called by gDMak.ActionNewACSyst and Ubuntu.gWork.AcsFactoryUbuntu. This class uses for its GUI two BeanInfo, Ubuntu.gBaseBeanInfo.ACSFactoryImplUbuntuBeanInfo and ARoad0.gBaseBeanInfo.ACSPreFactoryImplBeanInfo. ACSPreFactoryImplBeanInfo ensures the creation of the ACSFactory instance and the ACS rights list. It is a javabean without specific bound properties.

See Also:
ACSUbuntuImplBeanInfo

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
ACSFactoryUbuntuImpl()
          Default constructor.
ACSFactoryUbuntuImpl(ImmutableName _iSname, ImmutableName _name, java.lang.String _ACStype, ImmutableName _parentName)
          Called by Ubuntu.gWork.AcsFactoryUbuntu.
 
Method Summary
 ACSImpl createACS()
          Creates the ACSUbuntuImpl with its structural arguments.
 void initializeConstraintsBeforeCreation()
          Initializes the ACS constraints maps before the call to ACSUbuntuImpl.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

ACSFactoryUbuntuImpl

public ACSFactoryUbuntuImpl()
Default constructor. Calls ACSFActoryImpl.addAcsVocabulary() to define the AcsAddon classes for Ubuntu. Sets the version of this ACS addon.


ACSFactoryUbuntuImpl

public ACSFactoryUbuntuImpl(ImmutableName _iSname,
                            ImmutableName _name,
                            java.lang.String _ACStype,
                            ImmutableName _parentName)
                     throws BaseError
Called by Ubuntu.gWork.AcsFactoryUbuntu. Calls addAcsVocabulary() to define the AcsAddon classes for Ubuntu, and also to set what are the non-generic rights in the ACSObjects on which the ACS constraints of the specialized rights are applicable, and in that case, what domain is applicable. For this AcsAddon, the domain 'GpORightsSet' is set for the specialized rights of the ResourceUbuntu property 'OtherRights', and this is declared by the value 'OtherRights.GpORightsSet'. Sets the version of this ACS addon.

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.
_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 ACSUbuntuImpl.valueOf(). Adds to ACSFactoryImpl.l_ImmutableRules_ 6 specific rules for the Linux/Unix ACS:

- AGO inheritance 1: new child/node inherits denying mask rights from the account

- AGO right inheritance 1: child/node inherits rights from the direct and indirect parents

- AGO right inheritance 2: at creation, child may inherit some current rights from its direct parent node

- AGO right inheritance 2: at creation, node may inherit some current rights from its direct parent node

- resource 1: new child/node inherits the current G, if activated, and G is not the account primary group,

- AGO right 3: at administration, only node owner has the deleting and renaming rights, if activated

The last rule is added as key in the ACS structure. This method adds to the standard rights the key 'Resource.OtherRights' for the ResourceUbuntu property, and with the values used for the Group standard rights. This AcsAddon method may also add to ACSImpl.m_Structure_ some new keys. An ACSFactoryUbuntuImpl for a new ACS derived from an Ubuntu 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 ACSUbuntuImpl with its structural arguments. Overrides and copies the ACSFactoryImpl method, with simply, as difference, the call to the ACSUbuntuImpl constructor.

Overrides:
createACS in class ACSFactoryImpl
Returns:
the new configured ACSUbuntuImpl
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()