You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sm...@apache.org on 2016/10/08 13:45:26 UTC
directory-fortress-core git commit: javadoc on new model elements
Repository: directory-fortress-core
Updated Branches:
refs/heads/master d58f1d4ea -> fc6254be2
javadoc on new model elements
Project: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/commit/fc6254be
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/fc6254be
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/fc6254be
Branch: refs/heads/master
Commit: fc6254be2802ac9ca5ad1787fa6f06ca369261e8
Parents: d58f1d4
Author: Shawn McKinney <sm...@apache.org>
Authored: Sat Oct 8 08:45:24 2016 -0500
Committer: Shawn McKinney <sm...@apache.org>
Committed: Sat Oct 8 08:45:24 2016 -0500
----------------------------------------------------------------------
.../directory/fortress/core/model/Group.java | 44 +++++++++++++++++
.../core/model/PermissionAttribute.java | 46 +++++++++++++++++
.../core/model/PermissionAttributeSet.java | 52 ++++++++++++++++++++
3 files changed, 142 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/fc6254be/src/main/java/org/apache/directory/fortress/core/model/Group.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/model/Group.java b/src/main/java/org/apache/directory/fortress/core/model/Group.java
index 547d700..46b459e 100755
--- a/src/main/java/org/apache/directory/fortress/core/model/Group.java
+++ b/src/main/java/org/apache/directory/fortress/core/model/Group.java
@@ -29,6 +29,50 @@ import java.util.Properties;
import java.util.StringTokenizer;
+/**
+ * All entities (User, Role, Permission, Policy, SDSet, etc...) are used to carry data between Fortress's
+ * layers starting with the (1) Manager layer down thru middle (2) Process layer and it's processing rules into
+ * (3) DAO layer where persistence with the LDAP server occurs. The clients must instantiate an Fortress entity before use
+ * and must provide enough information to uniquely identity target record for reads.
+ * <p>
+ * <h4>Group Schema</h4>
+ * <p>
+ * The Fortress Group entity is a composite of 2 different LDAP Schema object classes:
+ * <p>
+ * 1. groupOfNames Structural Object Class is used to manage groups within LDAP.
+ * <pre>
+ * ------------------------------------------
+ * objectClasses: ( 2.5.6.9 NAME 'groupOfNames'
+ * DESC 'RFC2256: a group of names (DNs)' SUP top STRUCTURAL
+ * MUST (
+ * member $ cn )
+ * MAY
+ * ( businessCategory $ seeAlso $ owner $ ou $ o $ description
+ * )
+ * )
+ * ------------------------------------------
+ * </pre>
+ * <p>
+ * 2. configGroup STRUCTURAL Object Class is used to store groups and their relationships to users or roles.
+ * <pre>
+ * ------------------------------------------
+ * LDAP Configuration Group Structural Object Class
+ * objectClass ( ftObId:8
+ * NAME 'configGroup'
+ * DESC 'LDAP Configuration Group'
+ * S
+ * SUP groupOfNames
+ * MUST (
+ * configProtocol $
+ * ftType
+ * )
+ * MAY configParameter
+ * )
+ * ------------------------------------------
+ * </pre>
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
@XmlRootElement(name = "fortGroup")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "group", propOrder =
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/fc6254be/src/main/java/org/apache/directory/fortress/core/model/PermissionAttribute.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/model/PermissionAttribute.java b/src/main/java/org/apache/directory/fortress/core/model/PermissionAttribute.java
index 49f59ae..57bb0a1 100644
--- a/src/main/java/org/apache/directory/fortress/core/model/PermissionAttribute.java
+++ b/src/main/java/org/apache/directory/fortress/core/model/PermissionAttribute.java
@@ -32,10 +32,56 @@ import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
/**
+ * All entities (User, Role, Permission, Policy, SDSet, etc...) are used to carry data between Fortress's
+ * layers starting with the (1) Manager layer down thru middle (2) Process layer and it's processing rules into
+ * (3) DAO layer where persistence with the LDAP server occurs. The clients must instantiate an Fortress entity before use
+ * and must provide enough information to uniquely identity target record for reads.
+ * <p>
* A Permission Attribute is defines an attribute about a permission used for
* attribute type permission filtering. Fortress merely stores this data, does
* not enforce the attribute filtering. It is up to the client to do the attribute
* checks.
+ * <p>
+ * <h4>PermissionAttribute Schema</h4>
+ * <p>
+ * The PermissionAttribute entity is a composite of 2 different LDAP Schema object classes:
+ * <p>
+ * 1. organizationalRole Structural Object Class is used to store basic attributes like cn and description.
+ * <pre>
+ * ------------------------------------------
+ * objectclass ( 2.5.6.8 NAME 'organizationalRole'
+ * DESC 'RFC2256: an organizational role'
+ * SUP top STRUCTURAL
+ * MUST cn
+ * MAY (
+ * x121Address $ registeredAddress $ destinationIndicator $
+ * preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
+ * telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $
+ * seeAlso $ roleOccupant $ preferredDeliveryMethod $ street $
+ * postOfficeBox $ postalCode $ postalAddress $
+ * physicalDeliveryOfficeName $ ou $ st $ l $ description
+ * )
+ * )
+ * ------------------------------------------
+ * </pre>
+ * <p>
+ * 2. The ftAttribute STRUCTURAL Object Class
+ * <pre>
+ * ------------------------------------------
+ * Fortress Permission Attribute Structural Object Class
+ * objectclass ( ftObId:10
+ * NAME 'ftAttribute'
+ * DESC 'Fortress Attribute Structural Object Class'
+ * SUP organizationalrole STRUCTURAL
+ * MUST (
+ * ftId $ ftPASet $ ftPA $ cn
+ * )
+ * MAY (
+ * ftPADataType $ ftPADefaultValue $ ftPADefaultStrategy $ ftPADefaultOperator $ ftPAValidVals $ description
+ * )
+ * )
+ * ------------------------------------------
+ * </pre>
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/fc6254be/src/main/java/org/apache/directory/fortress/core/model/PermissionAttributeSet.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/model/PermissionAttributeSet.java b/src/main/java/org/apache/directory/fortress/core/model/PermissionAttributeSet.java
index 5cc8d82..9d4835f 100644
--- a/src/main/java/org/apache/directory/fortress/core/model/PermissionAttributeSet.java
+++ b/src/main/java/org/apache/directory/fortress/core/model/PermissionAttributeSet.java
@@ -38,6 +38,58 @@ import javax.xml.bind.annotation.XmlType;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
+/**
+ * All entities (User, Role, Permission, Policy, SDSet, etc...) are used to carry data between Fortress's
+ * layers starting with the (1) Manager layer down thru middle (2) Process layer and it's processing rules into
+ * (3) DAO layer where persistence with the LDAP server occurs. The clients must instantiate an Fortress entity before use
+ * and must provide enough information to uniquely identity target record for reads.
+ * <p>
+ * The PermissionAttributeSet entity is a grouping of {@link org.apache.directory.fortress.core.model.PermissionAttribute}.
+ * A {@link org.apache.directory.fortress.core.model.Permission} can link to 0 to many Permission
+ * Attribute Sets.
+ * <p>
+ * <h4>PermissionAttribute Schema</h4>
+ * <p>
+ * The PermissionAttributeSet entity is a composite of 2 different LDAP Schema object classes:
+ * <p>
+ * 1. organizationalUnit Structural Object Class is used to store basic attributes like ou and description.
+ * <pre>
+ * ------------------------------------------
+ * objectclass ( 2.5.6.5 NAME 'organizationalUnit'
+ * DESC 'RFC2256: an organizational unit'
+ * SUP top STRUCTURAL
+ * MUST ou
+ * MAY (
+ * userPassword $ searchGuide $ seeAlso $ businessCategory $
+ * x121Address $ registeredAddress $ destinationIndicator $
+ * preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
+ * telephoneNumber $ internationaliSDNNumber $
+ * facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $
+ * postalAddress $ physicalDeliveryOfficeName $ st $ l $ description
+ * )
+ * )
+ * ------------------------------------------
+ * </pre>
+ * <p>
+ * 2. The ftAttributeSet STRUCTURAL Object Class
+ * <pre>
+ * ------------------------------------------
+ * objectclass ( ftObId:9
+ * NAME 'ftAttributeSet'
+ * DESC 'Fortress Permission Attribute Set Structural Object Class'
+ * SUP organizationalunit STRUCTURAL
+ * MUST (
+ * ftId $ ftPASet $ cn
+ * )
+ * MAY (
+ * ftPA $ ftPASetType $ description
+ * )
+ * )
+ * ------------------------------------------
+ * </pre>
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
@XmlRootElement( name = "fortPermissionAttributeSet" )
@XmlAccessorType( XmlAccessType.FIELD )
@XmlType( name = "permissionAttributeSet", propOrder = {