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/29 00:59:51 UTC
svn commit: r1002397 [1/2] - in /directory/apacheds/trunk:
core-api/src/main/java/org/apache/directory/server/core/
core-api/src/main/java/org/apache/directory/server/core/administrative/
core/src/main/java/org/apache/directory/server/core/ core/src/ma...
Author: elecharny
Date: Tue Sep 28 22:59:49 2010
New Revision: 1002397
URL: http://svn.apache.org/viewvc?rev=1002397&view=rev
Log:
o Fixed the add and delete opertion for the AdminInterceptor
o Created 4 caches, one for each type of AP
o Added some mutex to protect the access to AP caches
o Redesigned the AP class hierarchy, creating the missing objects
Added:
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlAAP.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlAdministrativePoint.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlIAP.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlSAP.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeAAP.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeAdministrativePoint.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeIAP.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeSAP.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaAAP.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaAdministrativePoint.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaSAP.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionAAP.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionAdministrativePoint.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionIAP.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionSAP.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/admin/AdministrativePointModifyDelIT.java
- copied, changed from r1000236, directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/admin/AdministrativePointDelIT.java
Removed:
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/InnerAdministrativePoint.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SpecificAdministrativePoint.java
Modified:
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/DirectoryService.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/LdapCoreSessionConnection.java
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
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/admin/AdministrativePointInterceptor.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/admin/AdministrativePointPersistentIT.java
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/DirectoryService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/DirectoryService.java?rev=1002397&r1=1002396&r2=1002397&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/DirectoryService.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/DirectoryService.java Tue Sep 28 22:59:49 2010
@@ -24,7 +24,10 @@ import java.io.File;
import java.util.List;
import java.util.Set;
-import org.apache.directory.server.core.administrative.AdministrativePoint;
+import org.apache.directory.server.core.administrative.AccessControlAdministrativePoint;
+import org.apache.directory.server.core.administrative.CollectiveAttributeAdministrativePoint;
+import org.apache.directory.server.core.administrative.SubschemaAdministrativePoint;
+import org.apache.directory.server.core.administrative.TriggerExecutionAdministrativePoint;
import org.apache.directory.server.core.changelog.ChangeLog;
import org.apache.directory.server.core.entry.ServerEntryFactory;
import org.apache.directory.server.core.event.EventService;
@@ -529,7 +532,25 @@ public interface DirectoryService extend
/**
- * @return The AdministrativePoint cache
+ * @return The AccessControl AdministrativePoint cache
*/
- DnNode<List<AdministrativePoint>> getAdministrativePoints();
+ DnNode<AccessControlAdministrativePoint> getAccessControlAPCache();
+
+
+ /**
+ * @return The CollectiveAttribute AdministrativePoint cache
+ */
+ DnNode<CollectiveAttributeAdministrativePoint> getCollectiveAttributeAPCache();
+
+
+ /**
+ * @return The Subschema AdministrativePoint cache
+ */
+ DnNode<SubschemaAdministrativePoint> getSubschemaAPCache();
+
+
+ /**
+ * @return The TriggerExecution AdministrativePoint cache
+ */
+ DnNode<TriggerExecutionAdministrativePoint> getTriggerExecutionAPCache();
}
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/LdapCoreSessionConnection.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/LdapCoreSessionConnection.java?rev=1002397&r1=1002396&r2=1002397&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/LdapCoreSessionConnection.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/LdapCoreSessionConnection.java Tue Sep 28 22:59:49 2010
@@ -710,6 +710,7 @@ public class LdapCoreSessionConnection i
try
{
DN newRdn = null;
+
if ( modDnRequest.getNewRdn() != null )
{
newRdn = new DN( modDnRequest.getNewRdn().getName(), schemaManager );
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=1002397&r1=1002396&r2=1002397&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 Tue Sep 28 22:59:49 2010
@@ -50,6 +50,9 @@ public abstract class AbstractAdministra
protected Map<String, AdministrativePoint> children;
+ /**
+ * Creates a new instance of AbstractAdministrativePoint.
+ */
protected AbstractAdministrativePoint( DN dn, String uuid, AdministrativeRole role )
{
this.dn = dn;
@@ -91,6 +94,7 @@ public abstract class AbstractAdministra
*/
public boolean isAutonomous()
{
+ // Default to false
return false;
}
@@ -98,19 +102,13 @@ public abstract class AbstractAdministra
/**
* {@inheritDoc}
*/
- public boolean isInner()
- {
- return false;
- }
+ public abstract boolean isInner();
/**
* {@inheritDoc}
*/
- public boolean isSpecific()
- {
- return false;
- }
+ public abstract boolean isSpecific();
/**
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlAAP.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlAAP.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlAAP.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlAAP.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * An class used to create an AccessControl AAP
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class AccessControlAAP extends AccessControlAdministrativePoint
+{
+ /**
+ * Create an instance of AccessControl AdministrativePoint
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ */
+ public AccessControlAAP( DN dn, String uuid )
+ {
+ super( dn, uuid, AdministrativeRole.AccessControlSpecificArea );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public AdministrativePoint getParent()
+ {
+ return parent;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isSpecific()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isInner()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isAutonomous()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return "AccessControl AAP : " + super.toString();
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlAdministrativePoint.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlAdministrativePoint.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlAdministrativePoint.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlAdministrativePoint.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * An abstract class used for AccessControl APs
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public abstract class AccessControlAdministrativePoint extends AbstractAdministrativePoint
+{
+
+ /**
+ * Create an instance of AccessControlAdministrativePoint
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ * @param role The AdministrativePoint role
+ */
+ protected AccessControlAdministrativePoint( DN dn, String uuid, AdministrativeRole role )
+ {
+ super( dn, uuid, role );
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlIAP.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlIAP.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlIAP.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlIAP.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * A class used to create an AccessControl IAP
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class AccessControlIAP extends AccessControlAdministrativePoint
+{
+ /**
+ * Create an instance of AccessControl IAP
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ */
+ public AccessControlIAP( DN dn, String uuid )
+ {
+ super( dn, uuid, AdministrativeRole.AccessControlInnerArea );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isSpecific()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isInner()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return "AccessControl IAP : " + super.toString();
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlSAP.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlSAP.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlSAP.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/AccessControlSAP.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * An class used to create AccessControl SAPs
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class AccessControlSAP extends AccessControlAdministrativePoint
+{
+
+ /**
+ * Create an instance of AccessControl AdministrativePoint
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ */
+ public AccessControlSAP( DN dn, String uuid )
+ {
+ super( dn, uuid, AdministrativeRole.AccessControlSpecificArea );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public AdministrativePoint getParent()
+ {
+ return parent;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isSpecific()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isInner()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return "AccessControl SAP : " + super.toString();
+ }
+}
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=1002397&r1=1002396&r2=1002397&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 Tue Sep 28 22:59:49 2010
@@ -49,18 +49,24 @@ public interface AdministrativePoint
/**
+ * Tells if the AdministrativePoint defines an autonomous area
+ *
* @return true if the AdministrativePoint is an AutonomousArea
*/
boolean isAutonomous();
/**
+ * Tells if the AdministrativePoint defines a inner area
+ *
* @return true if the AdministrativePoint is an InnerArea
*/
boolean isInner();
/**
+ * Tells if the AdministrativePoint defines a specific area
+ *
* @return true if the AdministrativePoint is a SpecificArea
*/
boolean isSpecific();
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=1002397&r1=1002396&r2=1002397&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 Tue Sep 28 22:59:49 2010
@@ -30,17 +30,17 @@ 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 AccessControl SAP */
+ private AccessControlAdministrativePoint accessControlSap;
- /** A pointer to the CollectiveAttribute SAP, if there is some */
- private AdministrativePoint collectiveAttributeSapParent;
+ /** A pointer to the CollectiveAttribute SAP */
+ private CollectiveAttributeAdministrativePoint collectiveAttributeSap;
- /** A pointer to the TriggerExecution SAP, if there is some */
- private AdministrativePoint triggerExecutionSapParent;
+ /** A pointer to the TriggerExecution SAP */
+ private TriggerExecutionAdministrativePoint triggerExecutionSap;
- /** A pointer to the Subschema SAP, if there is some */
- private AdministrativePoint subschemaSapParent;
+ /** A pointer to the Subschema SAP */
+ private SubschemaAdministrativePoint subschemaSap;
/**
* Create an instance of AutonomousAdministrativePoint
@@ -64,82 +64,100 @@ public class AutonomousAdministrativePoi
/**
+ * {@inheritDoc}
+ */
+ public boolean isInner()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isSpecific()
+ {
+ return true;
+ }
+
+
+ /**
* @return The parent AccessControl SAP if there is some, or the parent AAP
*/
- public AdministrativePoint getAccessControlParent()
+ public AdministrativePoint getAccessControlSap()
{
- return accessControlSapParent;
+ return accessControlSap;
}
/**
- * Set the AccessControl SAP parent (can be an AAP)
+ * Set the AccessControl SAP (can be an AAP)
*
- * @param accessControlSapParent The AccessControl SAP parent
+ * @param accessControlSap The AccessControl SAP
*/
- public void setAccessControlParent( AdministrativePoint accessControlSapParent )
+ public void setAccessControlSap( AccessControlAdministrativePoint accessControlSap )
{
- this.accessControlSapParent = accessControlSapParent;
+ this.accessControlSap = accessControlSap;
}
/**
- * @return The parent CollectiveAttribute SAP if there is some, or the parent AAP
+ * @return The CollectiveAttribute SAP
*/
- public AdministrativePoint getCollectiveAttributeParent()
+ public AdministrativePoint getCollectiveAttribute()
{
- return collectiveAttributeSapParent;
+ return collectiveAttributeSap;
}
/**
- * Set the CollectiveAttribute SAP parent (can be an AAP)
+ * Set the CollectiveAttribute SAP
*
- * @param collectiveAttributeSapParent The CollectiveAttribute SAP parent
+ * @param collectiveAttributeSap The CollectiveAttribute SAP
*/
- public void setCollectiveAttributeParent( AdministrativePoint collectiveAttributeSapParent )
+ public void setCollectiveAttribute( CollectiveAttributeAdministrativePoint collectiveAttributeSap )
{
- this.collectiveAttributeSapParent = collectiveAttributeSapParent;
+ this.collectiveAttributeSap = collectiveAttributeSap;
}
/**
- * @return The parent TriggerExecution SAP if there is some, or the parent AAP
+ * @return The TriggerExecution SAP
*/
- public AdministrativePoint getTriggerExecutionParent()
+ public AdministrativePoint getTriggerExecution()
{
- return triggerExecutionSapParent;
+ return triggerExecutionSap;
}
/**
- * Set the TriggerExecution SAP parent (can be an AAP)
+ * Set the TriggerExecution SAP
*
- * @param triggerExecutionSapParent The TriggerExecution SAP parent
+ * @param triggerExecutionSap The TriggerExecution SAP
*/
- public void setTriggerExecutionParent( AdministrativePoint triggerExecutionSapParent )
+ public void setTriggerExecutionParent( TriggerExecutionAdministrativePoint triggerExecutionSap )
{
- this.triggerExecutionSapParent = triggerExecutionSapParent;
+ this.triggerExecutionSap = triggerExecutionSap;
}
/**
- * @return The parent Subschema SAP if there is some, or the parent AAP
+ * @return The Subschema SAP
*/
- public AdministrativePoint getSubschemaParent()
+ public AdministrativePoint getSubschema()
{
- return subschemaSapParent;
+ return subschemaSap;
}
/**
- * Set the Subschema SAP parent (can be an AAP)
+ * Set the Subschema SAP
*
- * @param subschemaSapParent The Subschema SAP parent
+ * @param subschemaSap The Subschema SAP
*/
- public void setSubschemaParent( AdministrativePoint subschemaSapParent )
+ public void setSubschema( SubschemaAdministrativePoint subschemaSap )
{
- this.subschemaSapParent = subschemaSapParent;
+ this.subschemaSap = subschemaSap;
}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeAAP.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeAAP.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeAAP.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeAAP.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * A class used to create a CollectiveAttribute AAP
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class CollectiveAttributeAAP extends CollectiveAttributeAdministrativePoint
+{
+ /**
+ * Create an instance of CollectiveAttribute AAP
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ */
+ public CollectiveAttributeAAP( DN dn, String uuid )
+ {
+ super( dn, uuid, AdministrativeRole.CollectiveAttributeSpecificArea );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isSpecific()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isInner()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isAutonomous()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return "CollectiveAttribute AAP : " + super.toString();
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeAdministrativePoint.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeAdministrativePoint.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeAdministrativePoint.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeAdministrativePoint.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * An abstract class used for CollectiveAttribute APs
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public abstract class CollectiveAttributeAdministrativePoint extends AbstractAdministrativePoint
+{
+
+ /**
+ * Create an instance of CollectiveAttributeAdministrativePoint
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ * @param role The AdministrativePoint role
+ */
+ protected CollectiveAttributeAdministrativePoint( DN dn, String uuid, AdministrativeRole role )
+ {
+ super( dn, uuid, role );
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeIAP.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeIAP.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeIAP.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeIAP.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * A class used to create a CollectiveAttribute IAP
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class CollectiveAttributeIAP extends CollectiveAttributeAdministrativePoint
+{
+ /**
+ * Create an instance of CollectiveAttribute IAP
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ */
+ public CollectiveAttributeIAP( DN dn, String uuid )
+ {
+ super( dn, uuid, AdministrativeRole.CollectiveAttributeInnerArea );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isSpecific()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isInner()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return "CollectiveAttribute IAP : " + super.toString();
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeSAP.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeSAP.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeSAP.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/CollectiveAttributeSAP.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * A class used to create a CollectiveAttribute SAP
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class CollectiveAttributeSAP extends CollectiveAttributeAdministrativePoint
+{
+ /**
+ * Create an instance of CollectiveAttribute SAP
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ */
+ public CollectiveAttributeSAP( DN dn, String uuid )
+ {
+ super( dn, uuid, AdministrativeRole.CollectiveAttributeSpecificArea );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isSpecific()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isInner()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return "CollectiveAttribute SAP : " + super.toString();
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaAAP.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaAAP.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaAAP.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaAAP.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * A class used to create a Subschema AAP
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class SubschemaAAP extends SubschemaAdministrativePoint
+{
+ /**
+ * Create an instance of Subschema AAP
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ */
+ public SubschemaAAP( DN dn, String uuid )
+ {
+ super( dn, uuid, AdministrativeRole.SubSchemaSpecificArea );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isSpecific()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isInner()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isAutonomous()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return "Subschema AAP : " + super.toString();
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaAdministrativePoint.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaAdministrativePoint.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaAdministrativePoint.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaAdministrativePoint.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * An abstract class used for Subschema APs
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public abstract class SubschemaAdministrativePoint extends AbstractAdministrativePoint
+{
+
+ /**
+ * Create an instance of Subschema AdministrativePoint
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ * @param role The AdministrativePoint role
+ */
+ protected SubschemaAdministrativePoint( DN dn, String uuid, AdministrativeRole role )
+ {
+ super( dn, uuid, role );
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaSAP.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaSAP.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaSAP.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/SubschemaSAP.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * A class used to create a Subschema SAP
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class SubschemaSAP extends SubschemaAdministrativePoint
+{
+ /**
+ * Create an instance of Subschema SAP
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ */
+ public SubschemaSAP( DN dn, String uuid )
+ {
+ super( dn, uuid, AdministrativeRole.SubSchemaSpecificArea );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isSpecific()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isInner()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return "Subschema SAP : " + super.toString();
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionAAP.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionAAP.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionAAP.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionAAP.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * A class used to create a TriggerExecution AAP
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class TriggerExecutionAAP extends TriggerExecutionAdministrativePoint
+{
+ /**
+ * Create an instance of TriggerExecution AAP
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ */
+ public TriggerExecutionAAP( DN dn, String uuid )
+ {
+ super( dn, uuid, AdministrativeRole.TriggerExecutionSpecificArea );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isSpecific()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isInner()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isAutonomous()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return "TriggerExecution AAP : " + super.toString();
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionAdministrativePoint.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionAdministrativePoint.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionAdministrativePoint.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionAdministrativePoint.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * An abstract class used for TriggerExecution APs
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public abstract class TriggerExecutionAdministrativePoint extends AbstractAdministrativePoint
+{
+
+ /**
+ * Create an instance of TriggerExecutionAdministrativePoint
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ * @param role The AdministrativePoint role
+ */
+ protected TriggerExecutionAdministrativePoint( DN dn, String uuid, AdministrativeRole role )
+ {
+ super( dn, uuid, role );
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionIAP.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionIAP.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionIAP.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionIAP.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * A class used to create a TriggerExecution IAP
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class TriggerExecutionIAP extends TriggerExecutionAdministrativePoint
+{
+ /**
+ * Create an instance of TriggerExecution IAP
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ */
+ public TriggerExecutionIAP( DN dn, String uuid )
+ {
+ super( dn, uuid, AdministrativeRole.TriggerExecutionInnerArea );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isSpecific()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isInner()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return "TriggerExecution IAP : " + super.toString();
+ }
+}
Added: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionSAP.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionSAP.java?rev=1002397&view=auto
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionSAP.java (added)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/administrative/TriggerExecutionSAP.java Tue Sep 28 22:59:49 2010
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.administrative;
+
+
+import org.apache.directory.shared.ldap.name.DN;
+import org.apache.directory.shared.ldap.subtree.AdministrativeRole;
+
+
+/**
+ * A class used to create a TriggerExecution SAP
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class TriggerExecutionSAP extends TriggerExecutionAdministrativePoint
+{
+ /**
+ * Create an instance of TriggerExecution SAP
+ *
+ * @param dn The AdministrativePoint DN
+ * @param uuid The AdministrativePoint UUID
+ */
+ public TriggerExecutionSAP( DN dn, String uuid )
+ {
+ super( dn, uuid, AdministrativeRole.TriggerExecutionSpecificArea );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isSpecific()
+ {
+ return true;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean isInner()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return "TriggerExecution SAP : " + super.toString();
+ }
+}
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java?rev=1002397&r1=1002396&r2=1002397&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java Tue Sep 28 22:59:49 2010
@@ -39,7 +39,10 @@ import javax.naming.directory.Attributes
import org.apache.directory.server.constants.ServerDNConstants;
import org.apache.directory.server.core.admin.AdministrativePointInterceptor;
-import org.apache.directory.server.core.administrative.AdministrativePoint;
+import org.apache.directory.server.core.administrative.AccessControlAdministrativePoint;
+import org.apache.directory.server.core.administrative.CollectiveAttributeAdministrativePoint;
+import org.apache.directory.server.core.administrative.SubschemaAdministrativePoint;
+import org.apache.directory.server.core.administrative.TriggerExecutionAdministrativePoint;
import org.apache.directory.server.core.authn.AuthenticationInterceptor;
import org.apache.directory.server.core.authz.AciAuthorizationInterceptor;
import org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor;
@@ -245,8 +248,17 @@ public class DefaultDirectoryService imp
/** the ehcache based cache service */
private CacheService cacheService;
- /** The AdministrativePoint cache */
- private DnNode<List<AdministrativePoint>> adminPointCache;
+ /** The AccessControl AdministrativePoint cache */
+ private DnNode<AccessControlAdministrativePoint> accessControlAPCache;
+
+ /** The CollectiveAttribute AdministrativePoint cache */
+ private DnNode<CollectiveAttributeAdministrativePoint> collectiveAttributeAPCache;
+
+ /** The Subschema AdministrativePoint cache */
+ private DnNode<SubschemaAdministrativePoint> subschemaAPCache;
+
+ /** The TriggerExecution AdministrativePoint cache */
+ private DnNode<TriggerExecutionAdministrativePoint> triggerExecutionAPCache;
/**
* The synchronizer thread. It flush data on disk periodically.
@@ -1428,8 +1440,11 @@ public class DefaultDirectoryService imp
cacheService = new CacheService();
cacheService.initialize( this );
- // Initialize the AP cache
- adminPointCache = new DnNode<List<AdministrativePoint>>();
+ // Initialize the AP caches
+ accessControlAPCache = new DnNode<AccessControlAdministrativePoint>();
+ collectiveAttributeAPCache = new DnNode<CollectiveAttributeAdministrativePoint>();
+ subschemaAPCache = new DnNode<SubschemaAdministrativePoint>();
+ triggerExecutionAPCache = new DnNode<TriggerExecutionAdministrativePoint>();
DNFactory.initialize( this );
@@ -1793,10 +1808,37 @@ public class DefaultDirectoryService imp
/**
- * @return The AdministrativePoint cache
+ * {@inheritDoc}
+ */
+ public DnNode<AccessControlAdministrativePoint> getAccessControlAPCache()
+ {
+ return accessControlAPCache;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public DnNode<CollectiveAttributeAdministrativePoint> getCollectiveAttributeAPCache()
+ {
+ return collectiveAttributeAPCache;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public DnNode<SubschemaAdministrativePoint> getSubschemaAPCache()
+ {
+ return subschemaAPCache;
+ }
+
+
+ /**
+ * {@inheritDoc}
*/
- public DnNode<List<AdministrativePoint>> getAdministrativePoints()
+ public DnNode<TriggerExecutionAdministrativePoint> getTriggerExecutionAPCache()
{
- return adminPointCache;
+ return triggerExecutionAPCache;
}
}
\ No newline at end of file