Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 95355 invoked from network); 28 Sep 2010 23:00:21 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 28 Sep 2010 23:00:21 -0000 Received: (qmail 58129 invoked by uid 500); 28 Sep 2010 23:00:21 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 58075 invoked by uid 500); 28 Sep 2010 23:00:21 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 58068 invoked by uid 99); 28 Sep 2010 23:00:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Sep 2010 23:00:21 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Sep 2010 23:00:14 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 7B9A023889EB; Tue, 28 Sep 2010 22:59:51 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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... Date: Tue, 28 Sep 2010 22:59:51 -0000 To: commits@directory.apache.org From: elecharny@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100928225951.7B9A023889EB@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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> getAdministrativePoints(); + DnNode getAccessControlAPCache(); + + + /** + * @return The CollectiveAttribute AdministrativePoint cache + */ + DnNode getCollectiveAttributeAPCache(); + + + /** + * @return The Subschema AdministrativePoint cache + */ + DnNode getSubschemaAPCache(); + + + /** + * @return The TriggerExecution AdministrativePoint cache + */ + DnNode 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 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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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 Apache Directory Project + */ +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> adminPointCache; + /** The AccessControl AdministrativePoint cache */ + private DnNode accessControlAPCache; + + /** The CollectiveAttribute AdministrativePoint cache */ + private DnNode collectiveAttributeAPCache; + + /** The Subschema AdministrativePoint cache */ + private DnNode subschemaAPCache; + + /** The TriggerExecution AdministrativePoint cache */ + private DnNode 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>(); + // Initialize the AP caches + accessControlAPCache = new DnNode(); + collectiveAttributeAPCache = new DnNode(); + subschemaAPCache = new DnNode(); + triggerExecutionAPCache = new DnNode(); DNFactory.initialize( this ); @@ -1793,10 +1808,37 @@ public class DefaultDirectoryService imp /** - * @return The AdministrativePoint cache + * {@inheritDoc} + */ + public DnNode getAccessControlAPCache() + { + return accessControlAPCache; + } + + + /** + * {@inheritDoc} + */ + public DnNode getCollectiveAttributeAPCache() + { + return collectiveAttributeAPCache; + } + + + /** + * {@inheritDoc} + */ + public DnNode getSubschemaAPCache() + { + return subschemaAPCache; + } + + + /** + * {@inheritDoc} */ - public DnNode> getAdministrativePoints() + public DnNode getTriggerExecutionAPCache() { - return adminPointCache; + return triggerExecutionAPCache; } } \ No newline at end of file