private TurbineAccessControlList getAclInstance()

in api/src/java/org/apache/fulcrum/security/model/turbine/TurbineACLFactory.java [110:161]


    private TurbineAccessControlList getAclInstance(Set<? extends TurbineUserGroupRole> turbineUserGroupRoleSet) throws UnknownEntityException
    {
    	GroupManager groupManager = null;
        RoleManager roleManager = null;
        TurbineModelManager modelManager = null;

    	try
    	{
    	    roleManager = getRoleManager();
			groupManager = getGroupManager();
			modelManager = getTurbineModelManager();

	        // make sure the global group exists
	        if (groupManager != null)
	        {
	            Group g = null;
	            try
	            {
	                g = groupManager.getGroupByName(modelManager.getGlobalGroupName());
	            }
	            catch (UnknownEntityException uee)
	            {
	                g = groupManager.getGroupInstance(modelManager.getGlobalGroupName());
	                try
	                {
	                    groupManager.addGroup(g);
	                }
	                catch (EntityExistsException eee)
	                {
	                    throw new DataBackendException(eee.getMessage(), eee);
	                }
	            }
	        }
    	}
    	catch (DataBackendException e)
    	{
    		// ignore
		}

    	TurbineAccessControlList accessControlList;
        try
        {
            accessControlList =
                new TurbineAccessControlListImpl(turbineUserGroupRoleSet,
                        groupManager, roleManager, modelManager, getLogger());
        }
        catch (FulcrumSecurityException e)
        {
            throw new UnknownEntityException("Failed to instantiate an ACL implementation object", e);
        }
        return accessControlList;
    }