You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2010/09/24 14:27:24 UTC

svn commit: r1000834 - in /directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative: AbstractAdministrativePoint.java AdministrativePoint.java AutonomousAdministrativePoint.java

Author: elecharny
Date: Fri Sep 24 12:27:23 2010
New Revision: 1000834

URL: http://svn.apache.org/viewvc?rev=1000834&view=rev
Log:
Added some better support for parent inheritence managements in APs

Modified:
    directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AbstractAdministrativePoint.java
    directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AdministrativePoint.java
    directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AutonomousAdministrativePoint.java

Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AbstractAdministrativePoint.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AbstractAdministrativePoint.java?rev=1000834&r1=1000833&r2=1000834&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AbstractAdministrativePoint.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AbstractAdministrativePoint.java Fri Sep 24 12:27:23 2010
@@ -28,7 +28,8 @@ import org.apache.directory.shared.ldap.
 
 
 /**
- *
+ * Abstract implementation for the AdministrativePoint
+ * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
 public abstract class AbstractAdministrativePoint implements AdministrativePoint
@@ -133,33 +134,6 @@ public abstract class AbstractAdministra
     /**
      * {@inheritDoc}
      */
-    public Map<String, AdministrativePoint> getChildren()
-    {
-        return children;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public void setChildren( Map<String, AdministrativePoint> children )
-    {
-        this.children = children;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public void addChild( AdministrativePoint child )
-    {
-        children.put( child.getUuid(), child );
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
     public String toString()
     {
         StringBuilder sb = new StringBuilder();

Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AdministrativePoint.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AdministrativePoint.java?rev=1000834&r1=1000833&r2=1000834&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AdministrativePoint.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AdministrativePoint.java Fri Sep 24 12:27:23 2010
@@ -19,13 +19,19 @@
  */
 package org.apache.directory.server.core.administrative;
 
-import java.util.Map;
-
 import org.apache.directory.shared.ldap.name.DN;
 import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
 
+
 /**
- *
+ * An interface used to describe an AdministrativePoint. An AdministratuvePoint 
+ * holds some elements useful to navigate through the administrative model :
+ * <li>
+ * <ul>The DN : the AP position in the DIT</ul>
+ * <ul>The UUID : The AP unique identifier used when an entry point to the AP it depends on</ul>
+ * <ul>The role : the AP role</ul>
+ * <ul>The parent : the AP this AP is the direct descendant of</ul>
+ * </li>
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
 public interface AdministrativePoint
@@ -75,28 +81,6 @@ public interface AdministrativePoint
 
 
     /**
-     * @return The list of children AdministrativePoint. May be empty
-     */
-    Map<String, AdministrativePoint> getChildren();
-
-
-    /**
-     * Add an AdministrativePoint child
-     *
-     * @param child the AdministrativePoint child to add
-     */
-    void addChild( AdministrativePoint child );
-
-
-    /**
-     * Set the AdministrativePoint children
-     *
-     * @param children the AdministrativePoint children
-     */
-    void setChildren( Map<String, AdministrativePoint> children );
-
-
-    /**
      * @return The administrativeRole
      */
     AdministrativeRole getRole();

Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AutonomousAdministrativePoint.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AutonomousAdministrativePoint.java?rev=1000834&r1=1000833&r2=1000834&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AutonomousAdministrativePoint.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AutonomousAdministrativePoint.java Fri Sep 24 12:27:23 2010
@@ -30,6 +30,18 @@ import org.apache.directory.shared.ldap.
  */
 public class AutonomousAdministrativePoint extends AbstractAdministrativePoint
 {
+    /** A pointer to the AccessControl SAP, if there is some */
+    private AdministrativePoint accessControlSapParent;
+
+    /** A pointer to the CollectiveAttribute SAP, if there is some */
+    private AdministrativePoint collectiveAttributeSapParent;
+
+    /** A pointer to the TriggerExecution SAP, if there is some */
+    private AdministrativePoint triggerExecutionSapParent;
+
+    /** A pointer to the Subschema SAP, if there is some */
+    private AdministrativePoint subschemaSapParent;
+
     /**
      * Create an instance of AutonomousAdministrativePoint
      *
@@ -52,6 +64,86 @@ public class AutonomousAdministrativePoi
 
 
     /**
+     * @return The parent AccessControl SAP if there is some, or the parent AAP
+     */
+    public AdministrativePoint getAccessControlParent()
+    {
+        return accessControlSapParent;
+    }
+
+
+    /**
+     * Set the AccessControl SAP parent (can be an AAP)
+     *
+     * @param accessControlSapParent The AccessControl SAP parent
+     */
+    public void setAccessControlParent( AdministrativePoint accessControlSapParent )
+    {
+        this.accessControlSapParent = accessControlSapParent;
+    }
+
+
+    /**
+     * @return The parent CollectiveAttribute SAP if there is some, or the parent AAP
+     */
+    public AdministrativePoint getCollectiveAttributeParent()
+    {
+        return collectiveAttributeSapParent;
+    }
+
+
+    /**
+     * Set the CollectiveAttribute SAP parent (can be an AAP)
+     *
+     * @param collectiveAttributeSapParent The CollectiveAttribute SAP parent
+     */
+    public void setCollectiveAttributeParent( AdministrativePoint collectiveAttributeSapParent )
+    {
+        this.collectiveAttributeSapParent = collectiveAttributeSapParent;
+    }
+
+
+    /**
+     * @return The parent TriggerExecution SAP if there is some, or the parent AAP
+     */
+    public AdministrativePoint getTriggerExecutionParent()
+    {
+        return triggerExecutionSapParent;
+    }
+
+
+    /**
+     * Set the TriggerExecution SAP parent (can be an AAP)
+     *
+     * @param triggerExecutionSapParent The TriggerExecution SAP parent
+     */
+    public void setTriggerExecutionParent( AdministrativePoint triggerExecutionSapParent )
+    {
+        this.triggerExecutionSapParent = triggerExecutionSapParent;
+    }
+
+
+    /**
+     * @return The parent Subschema SAP if there is some, or the parent AAP
+     */
+    public AdministrativePoint getSubschemaParent()
+    {
+        return subschemaSapParent;
+    }
+
+
+    /**
+     * Set the Subschema SAP parent (can be an AAP)
+     *
+     * @param subschemaSapParent The Subschema SAP parent
+     */
+    public void setSubschemaParent( AdministrativePoint subschemaSapParent )
+    {
+        this.subschemaSapParent = subschemaSapParent;
+    }
+
+
+    /**
      * {@inheritDoc}
      */
     public String toString()