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} < {@link InstancePermissions} >
+ * @param userPermissions {@link List} < {@link InstancePermissions} > with one permission object
+ * for each user we want to retrieve permissions. Permissions in that object will be overwritten.
* @return {@link List} < {@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} <{@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"