You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ca...@apache.org on 2006/09/11 11:56:31 UTC

svn commit: r442149 - in /maven/shared/trunk/maven-user/maven-user-acegi: ./ src/main/java/org/apache/maven/user/acegi/ src/test/java/org/apache/maven/user/acegi/ src/test/resources/ src/test/resources/META-INF/ src/test/resources/META-INF/plexus/ src/...

Author: carlos
Date: Mon Sep 11 02:56:30 2006
New Revision: 442149

URL: http://svn.apache.org/viewvc?view=rev&rev=442149
Log:
Add Class and id to InstancePermissions

Added:
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AclManagerTest.java   (with props)
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/META-INF/
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/META-INF/plexus/
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/commons-logging.properties   (with props)
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/log4j.xml   (with props)
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/apache/
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/apache/maven/
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/apache/maven/user/
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/apache/maven/user/acegi/
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/apache/maven/user/acegi/AclManagerTest.xml   (with props)
Modified:
    maven/shared/trunk/maven-user/maven-user-acegi/pom.xml
    maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AcegiUserManager.java
    maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AclManager.java
    maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AcegiUserManagerTest.java

Modified: maven/shared/trunk/maven-user/maven-user-acegi/pom.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-acegi/pom.xml?view=diff&rev=442149&r1=442148&r2=442149
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-acegi/pom.xml (original)
+++ maven/shared/trunk/maven-user/maven-user-acegi/pom.xml Mon Sep 11 02:56:30 2006
@@ -26,6 +26,23 @@
       <artifactId>acegi-security</artifactId>
       <version>1.1-SNAPSHOT</version>
     </dependency>
+    <dependency>
+      <groupId>commons-dbcp</groupId>
+      <artifactId>commons-dbcp</artifactId>
+      <version>1.2.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.mojo</groupId>
+      <artifactId>sql-maven-plugin</artifactId>
+      <version>1.0-beta-2-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>hsqldb</groupId>
+      <artifactId>hsqldb</artifactId>
+      <version>1.8.0.4</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>

Modified: maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AcegiUserManager.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AcegiUserManager.java?view=diff&rev=442149&r1=442148&r2=442149
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AcegiUserManager.java (original)
+++ maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AcegiUserManager.java Mon Sep 11 02:56:30 2006
@@ -79,9 +79,9 @@
         return getAclManager().getUsersInstancePermissions( clazz, id, userPermissions );
     }
 
-    public void setUsersInstancePermissions( Class clazz, Object id, Collection permissions )
+    public void setUsersInstancePermissions( Collection permissions )
     {
-        getAclManager().setUsersInstancePermissions( clazz, id, permissions );
+        getAclManager().setUsersInstancePermissions( permissions );
     }
 
     //-----------------------------------------------------------------------

Modified: maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AclManager.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AclManager.java?view=diff&rev=442149&r1=442148&r2=442149
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AclManager.java (original)
+++ maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/AclManager.java Mon Sep 11 02:56:30 2006
@@ -22,11 +22,14 @@
 import java.util.List;
 import java.util.Map;
 
+import org.acegisecurity.acl.basic.AclObjectIdentity;
 import org.acegisecurity.acl.basic.BasicAclEntry;
 import org.acegisecurity.acl.basic.BasicAclExtendedDao;
 import org.acegisecurity.acl.basic.NamedEntityObjectIdentity;
+import org.acegisecurity.context.SecurityContextHolder;
 import org.apache.maven.user.acegi.acl.basic.ExtendedSimpleAclEntry;
 import org.apache.maven.user.model.InstancePermissions;
+import org.apache.maven.user.model.User;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
 import org.springframework.beans.factory.InitializingBean;
@@ -56,8 +59,23 @@
         return aclDao;
     }
 
+    protected String getCurrentUserName()
+    {
+        return ( (org.acegisecurity.userdetails.User) SecurityContextHolder.getContext().getAuthentication()
+            .getPrincipal() ).getUsername();
+    }
+
+    protected void delete( Class clazz, Object id )
+    {
+        getAclDao().delete( createObjectIdentity( clazz, id ) );
+    }
+
     protected NamedEntityObjectIdentity createObjectIdentity( Class clazz, Object id )
     {
+        if ( ( clazz == null ) || ( id == null ) )
+        {
+            return null;
+        }
         return new NamedEntityObjectIdentity( clazz.getName(), id.toString() );
     }
 
@@ -90,7 +108,8 @@
      * 
      * @param clazz {@link Class} of the object
      * @param id identifier of the object
-     * @param userPermissions {@link List} &lt; {@link InstancePermissions} >
+     * @param userPermissions {@link List} &lt; {@link InstancePermissions} > with one permission object
+     * for each user we want to retrieve permissions. Permissions in that object will be overwritten.  
      * @return {@link List} &lt; {@link InstancePermissions} >
      */
     public List getUsersInstancePermissions( Class clazz, Object id, List userPermissions )
@@ -131,48 +150,61 @@
     /**
      * Updates a list of permissions at the same time. If the permission didn't exist it's created.
      * 
-     * @param clazz
-     * @param id
      * @param permissions {@link Collection} &lt;{@link InstancePermissions}> .
      * Each {@link InstancePermissions}.user only needs to have username, no other properties are required.
      */
-    public void setUsersInstancePermissions( Class clazz, Object id, Collection permissions )
+    public void setUsersInstancePermissions( Collection permissions )
     {
         Iterator it = permissions.iterator();
         while ( it.hasNext() )
         {
-            InstancePermissions p = (InstancePermissions) it.next();
-            String userName = p.getUser().getUsername();
+            InstancePermissions permission = (InstancePermissions) it.next();
+            setUsersInstancePermission( permission );
+        }
+    }
 
-            BasicAclEntry acl = getAcl( clazz, id, userName );
+    /**
+     * Updates a permission. If the permission didn't exist it's created.
+     * 
+     * @param permission {@link InstancePermissions} .
+     * Each {@link InstancePermissions}.user only needs to have username, no other properties are required.
+     */
+    public void setUsersInstancePermission( InstancePermissions permission )
+    {
+
+        User user = permission.getUser();
+
+        String userName = null;
+        if ( user != null )
+        {
+            userName = user.getUsername();
+        }
+
+        BasicAclEntry acl = getAcl( permission.getInstanceClass(), permission.getId(), userName );
 
-            if ( acl == null )
+        if ( acl == null )
+        {
+            acl = new ExtendedSimpleAclEntry();
+            permissionToAcl( permission, acl );
+
+            /* create the ACL only if it has any permission */
+            if ( ( userName == null ) || ( acl.getMask() != ExtendedSimpleAclEntry.NOTHING ) )
             {
-                NamedEntityObjectIdentity objectIdentity = createObjectIdentity( clazz, id );
-                acl = new ExtendedSimpleAclEntry();
-                acl.setAclObjectIdentity( objectIdentity );
-                //acl.setAclObjectParentIdentity( parentAclId );
-                permissionToAcl( p, acl );
+                getAclDao().create( acl );
+            }
+        }
+        else
+        {
+            permissionToAcl( permission, acl );
 
-                /* create the ACL only if it has any permission */
-                if ( acl.getMask() != ExtendedSimpleAclEntry.NOTHING )
-                {
-                    getAclDao().create( acl );
-                }
+            /* delete the ACL if it has no permissions */
+            if ( acl.getMask() != ExtendedSimpleAclEntry.NOTHING )
+            {
+                getAclDao().changeMask( acl.getAclObjectIdentity(), userName, new Integer( acl.getMask() ) );
             }
             else
             {
-                permissionToAcl( p, acl );
-
-                /* delete the ACL if it has no permissions */
-                if ( acl.getMask() != ExtendedSimpleAclEntry.NOTHING )
-                {
-                    getAclDao().changeMask( acl.getAclObjectIdentity(), userName, new Integer( acl.getMask() ) );
-                }
-                else
-                {
-                    getAclDao().delete( acl.getAclObjectIdentity(), userName );
-                }
+                getAclDao().delete( acl.getAclObjectIdentity(), userName );
             }
         }
     }
@@ -186,7 +218,15 @@
 
         ExtendedSimpleAclEntry acl = (ExtendedSimpleAclEntry) basicAcl;
 
-        acl.setRecipient( p.getUser().getUsername() );
+        User user = p.getUser();
+
+        if ( user != null )
+        {
+            acl.setRecipient( user.getUsername() );
+        }
+
+        acl.setAclObjectIdentity( createObjectIdentity( p.getInstanceClass(), p.getId() ) );
+        acl.setAclObjectParentIdentity( createObjectIdentity( p.getParentClass(), p.getParentId() ) );
         acl.setMask( ExtendedSimpleAclEntry.NOTHING );
 
         if ( p.isExecute() )
@@ -219,6 +259,40 @@
      */
     private void aclToPermission( BasicAclEntry acl, InstancePermissions p )
     {
+        AclObjectIdentity aclObjectIdentity = acl.getAclObjectIdentity();
+        AclObjectIdentity aclObjectParentIdentity = acl.getAclObjectParentIdentity();
+
+        if ( !( aclObjectIdentity instanceof NamedEntityObjectIdentity ) )
+        {
+            throw new IllegalArgumentException( "aclObjectIdentity is instance of "
+                + aclObjectIdentity.getClass().getName() + " and only " + NamedEntityObjectIdentity.class.getName()
+                + " is allowed." );
+        }
+        if ( !( aclObjectParentIdentity instanceof NamedEntityObjectIdentity ) )
+        {
+            throw new IllegalArgumentException( "aclObjectParentIdentity is instance of "
+                + aclObjectParentIdentity.getClass().getName() + " and only "
+                + NamedEntityObjectIdentity.class.getName() + " is allowed." );
+        }
+
+        try
+        {
+            NamedEntityObjectIdentity aclId = (NamedEntityObjectIdentity) aclObjectIdentity;
+            p.setInstanceClass( Class.forName( aclId.getClassname() ) );
+            p.setId( aclId.getId() );
+
+            if ( aclObjectParentIdentity != null )
+            {
+                NamedEntityObjectIdentity aclParentId = (NamedEntityObjectIdentity) aclObjectParentIdentity;
+                p.setParentClass( Class.forName( aclParentId.getClassname() ) );
+                p.setParentId( aclParentId.getId() );
+            }
+        }
+        catch ( ClassNotFoundException e )
+        {
+            throw new RuntimeException( e );
+        }
+
         if ( acl.isPermitted( ExtendedSimpleAclEntry.CREATE ) )
         {
             p.setExecute( true );
@@ -241,6 +315,9 @@
         }
     }
 
+    /**
+     * Initializes DAO using Spring {@link InitializingBean#afterPropertiesSet()}.
+     */
     public void initialize()
         throws InitializationException
     {

Modified: maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AcegiUserManagerTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AcegiUserManagerTest.java?view=diff&rev=442149&r1=442148&r2=442149
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AcegiUserManagerTest.java (original)
+++ maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AcegiUserManagerTest.java Mon Sep 11 02:56:30 2006
@@ -92,6 +92,8 @@
     {
         List users = new ArrayList();
         InstancePermissions p = new InstancePermissions( user );
+        p.setInstanceClass( User.class );
+        p.setId( new Integer( 1 ) );
         users.add( p );
 
         BasicAclEntry[] acls = new BasicAclEntry[1];
@@ -107,7 +109,7 @@
         /* no permissions */
         dao.expects( once() ).method( "delete" ).with( ANYTHING, eq( user.getUsername() ) );
 
-        manager.setUsersInstancePermissions( User.class, new Integer( 1 ), users );
+        manager.setUsersInstancePermissions( users );
         dao.verify();
 
         /* read permission */
@@ -115,7 +117,7 @@
         dao.expects( once() ).method( "changeMask" ).with( ANYTHING, eq( user.getUsername() ),
                                                            eq( ExtendedSimpleAclEntry.READ ) );
 
-        manager.setUsersInstancePermissions( User.class, new Integer( 1 ), users );
+        manager.setUsersInstancePermissions( users );
         dao.verify();
 
         /* *************************************** new ACL *************************************** */
@@ -125,7 +127,7 @@
         /* no permissions */
         p.setRead( false );
 
-        manager.setUsersInstancePermissions( User.class, new Integer( 1 ), users );
+        manager.setUsersInstancePermissions( users );
         dao.verify();
 
         /* read permission */
@@ -133,7 +135,7 @@
         acl.setMask( ExtendedSimpleAclEntry.READ );
         dao.expects( once() ).method( "create" ).with( hasProperty( "mask", eq( ExtendedSimpleAclEntry.READ ) ) );
 
-        manager.setUsersInstancePermissions( User.class, new Integer( 1 ), users );
+        manager.setUsersInstancePermissions( users );
         dao.verify();
 
     }

Added: maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AclManagerTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AclManagerTest.java?view=auto&rev=442149
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AclManagerTest.java (added)
+++ maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AclManagerTest.java Mon Sep 11 02:56:30 2006
@@ -0,0 +1,105 @@
+package org.apache.maven.user.acegi;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import org.acegisecurity.acl.basic.BasicAclEntry;
+import org.acegisecurity.acl.basic.BasicAclExtendedDao;
+import org.acegisecurity.acl.basic.NamedEntityObjectIdentity;
+import org.acegisecurity.acl.basic.jdbc.JdbcDaoImpl;
+import org.acegisecurity.acl.basic.jdbc.JdbcExtendedDaoImpl;
+import org.apache.maven.user.acegi.acl.basic.ExtendedSimpleAclEntry;
+import org.apache.maven.user.model.InstancePermissions;
+import org.apache.maven.user.model.User;
+import org.apache.maven.user.model.UserGroup;
+import org.codehaus.plexus.PlexusTestCase;
+
+/**
+ * Test for {@link AclManager}
+ * 
+ * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
+ * @version $Id$
+ */
+public class AclManagerTest
+    extends PlexusTestCase
+{
+
+    private AclManager manager;
+
+    private JdbcExtendedDaoImpl aclDao;
+
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+        manager = (AclManager) lookup( AclManager.ROLE );
+        aclDao = (JdbcExtendedDaoImpl) lookup( BasicAclExtendedDao.class.getName() );
+    }
+
+    public void testPermissionInheritance()
+    {
+        User user = new User();
+        user.setUsername( "myUser" );
+
+        /* create object number 1 */
+        InstancePermissions permissions = new InstancePermissions();
+        permissions.setId( "1" );
+        permissions.setInstanceClass( UserGroup.class );
+        permissions.setUser( user );
+        permissions.setAdminister( true );
+
+        manager.setUsersInstancePermission( permissions );
+
+        NamedEntityObjectIdentity parentAclObjectIdentity = new NamedEntityObjectIdentity( permissions
+            .getInstanceClass().getName(), permissions.getId().toString() );
+        BasicAclEntry[] acls = aclDao.getAcls( parentAclObjectIdentity );
+
+        assertNotNull( acls );
+        assertEquals( 1, acls.length );
+        assertEquals( user.getUsername(), acls[0].getRecipient() );
+        assertEquals( ExtendedSimpleAclEntry.ADMINISTRATION, acls[0].getMask() );
+        assertEquals( parentAclObjectIdentity, acls[0].getAclObjectIdentity() );
+        assertNull( acls[0].getAclObjectParentIdentity() );
+
+        /* create sub objects number 1 and 2 */
+        permissions = new InstancePermissions();
+        permissions.setId( "1" );
+        permissions.setInstanceClass( User.class );
+        permissions.setParentClass( UserGroup.class );
+        permissions.setParentId( "1" );
+
+        manager.setUsersInstancePermission( permissions );
+
+        permissions = new InstancePermissions();
+        permissions.setId( "2" );
+        permissions.setInstanceClass( User.class );
+        permissions.setParentClass( UserGroup.class );
+        permissions.setParentId( "1" );
+
+        manager.setUsersInstancePermission( permissions );
+
+        NamedEntityObjectIdentity aclObjectIdentity = new NamedEntityObjectIdentity( permissions.getInstanceClass()
+            .getName(), permissions.getId().toString() );
+        acls = aclDao.getAcls( aclObjectIdentity );
+
+        assertNotNull( acls );
+        assertEquals( 1, acls.length );
+        assertEquals( JdbcDaoImpl.RECIPIENT_USED_FOR_INHERITENCE_MARKER, acls[0].getRecipient() );
+        assertEquals( ExtendedSimpleAclEntry.NOTHING, acls[0].getMask() );
+        assertEquals( aclObjectIdentity, acls[0].getAclObjectIdentity() );
+        assertEquals( parentAclObjectIdentity, acls[0].getAclObjectParentIdentity() );
+    }
+}

Propchange: maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AclManagerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-user/maven-user-acegi/src/test/java/org/apache/maven/user/acegi/AclManagerTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/commons-logging.properties
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/commons-logging.properties?view=auto&rev=442149
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/commons-logging.properties (added)
+++ maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/commons-logging.properties Mon Sep 11 02:56:30 2006
@@ -0,0 +1 @@
+org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
\ No newline at end of file

Propchange: maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/commons-logging.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/commons-logging.properties
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/log4j.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/log4j.xml?view=auto&rev=442149
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/log4j.xml (added)
+++ maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/log4j.xml Mon Sep 11 02:56:30 2006
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+  <appender name="default" class="org.apache.log4j.ConsoleAppender">
+    <param name="Target" value="System.out"/>
+    <param name="Threshold" value="DEBUG"/>
+
+    <layout class="org.apache.log4j.PatternLayout">
+      <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %-20c [%C] %m%n"/>
+    </layout>
+  </appender>
+
+  <category name="org.acegisecurity.acl">
+    <priority value="DEBUG"/>
+    <appender-ref ref="default"/>
+  </category>
+
+  <category name="org.springframework.jdbc.core.JdbcTemplate">
+    <priority value="DEBUG"/>
+    <appender-ref ref="default"/>
+  </category>
+
+  <category name="org.springframework.jdbc.core.StatementCreatorUtils">
+    <priority value="DEBUG"/>
+    <appender-ref ref="default"/>
+  </category>
+
+  <root>
+    <priority value="INFO"/>
+    <appender-ref ref="default"/>
+  </root>
+
+</log4j:configuration>

Propchange: maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/log4j.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/log4j.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/apache/maven/user/acegi/AclManagerTest.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/apache/maven/user/acegi/AclManagerTest.xml?view=auto&rev=442149
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/apache/maven/user/acegi/AclManagerTest.xml (added)
+++ maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/apache/maven/user/acegi/AclManagerTest.xml Mon Sep 11 02:56:30 2006
@@ -0,0 +1,78 @@
+<plexus>
+
+  <load-on-start>
+    <component>
+      <role>org.apache.maven.user.acegi.acl.AclInitializer</role>
+    </component>
+  </load-on-start>
+
+  <components>
+
+    <!-- ACL database initialization -->
+    <component>
+      <role>org.apache.maven.user.acegi.acl.AclInitializer</role>
+      <implementation>org.apache.maven.user.acegi.acl.AclInitializer</implementation>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.mojo.sql.SqlExecMojo</role>
+          <field-name>sqlMojo</field-name>
+        </requirement>
+        <requirement>
+          <role>org.acegisecurity.acl.basic.BasicAclExtendedDao</role>
+          <field-name>dao</field-name>
+        </requirement>
+      </requirements>
+      <configuration>
+        <sqlClasspathResource>org/apache/maven/user/acegi/acl/acegi-acl-hsql.sql</sqlClasspathResource>
+      </configuration>
+    </component>
+    
+    <!-- TODO share db configuration between components -->
+    <component>
+      <role>org.codehaus.mojo.sql.SqlExecMojo</role>
+      <implementation>org.codehaus.mojo.sql.SqlExecMojo</implementation>
+      <configuration>
+        <username>sa</username>
+        <password></password>
+        <driver>org.hsqldb.jdbcDriver</driver>
+        <url>jdbc:hsqldb:mem:test</url>
+        <onError>continue</onError>
+      </configuration>
+    </component>
+
+    <component>
+      <role>org.apache.maven.user.acegi.AclManager</role>
+      <implementation>org.apache.maven.user.acegi.AclManager</implementation>
+      <requirements>
+        <requirement>
+          <role>org.acegisecurity.acl.basic.BasicAclExtendedDao</role>
+          <field-name>aclDao</field-name>
+        </requirement>
+      </requirements>
+    </component>
+
+    <component>
+      <role>javax.sql.DataSource</role>
+      <implementation>org.apache.commons.dbcp.BasicDataSource</implementation>
+      <configuration>
+        <driverClassName>org.hsqldb.jdbcDriver</driverClassName>
+        <url>jdbc:hsqldb:mem:test</url>
+        <username>sa</username>
+      </configuration>
+    </component>
+
+    <component>
+      <role>org.acegisecurity.acl.basic.BasicAclExtendedDao</role>
+      <implementation>org.acegisecurity.acl.basic.jdbc.JdbcExtendedDaoImpl</implementation>
+      <component-composer>setter</component-composer>
+      <requirements>
+        <requirement>
+          <role>javax.sql.DataSource</role>
+          <field-name>dataSource</field-name>
+        </requirement>
+      </requirements>
+    </component>
+
+  </components>
+
+</plexus>

Propchange: maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/apache/maven/user/acegi/AclManagerTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-user/maven-user-acegi/src/test/resources/org/apache/maven/user/acegi/AclManagerTest.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"