/** * Execute ACL specific actions. * * <ul> * <li>Created: Jul 19, 2011 12:41:48 PM * <li>Author: Christopher Harper, account: admin * </ul> * * @param acl the ACL to work with. * @since %since% */ protected void typeSpesific(final IDfACL acl) { try { if (acl.isNew() || acl.isDirty() || reaplySettings()) { acl.setDescription(getDescription()); acl.setACLClass(getAclClass()); acl.setObjectName(getAclName()); if (getOwnerName() == null || "dm_dbo".equalsIgnoreCase(getOwnerName())) { // $NON-NLS-1$ setOwnername(getSession().getDocbaseOwnerName()); } acl.setDomain(getOwnerName()); for (final Accessor accessor : getAccessors()) { IDfPermit permit = new DfPermit(); permit.setAccessorName(accessor.getName()); permit.setPermitType(accessor.getPermitType()); permit.setPermitValue(accessor.getPermit()); acl.grantPermit(permit); if (accessor.getExtendedPermit() != null) { permit = new DfPermit(); permit.setAccessorName(accessor.getName()); permit.setPermitType(IDfPermit.DF_EXTENDED_PERMIT); permit.setPermitValue(accessor.getExtendedPermit()); acl.grantPermit(permit); } } } } catch (final DfException dex) { printStack(dex); throw new BuildException("Failure modifying acl object.", dex); // $NON-NLS-1$ } }