You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2012/04/06 11:59:32 UTC

svn commit: r1310268 [27/42] - in /archiva/redback/redback-core/trunk: ./ redback-authentication/ redback-authentication/redback-authentication-api/ redback-authentication/redback-authentication-api/src/ redback-authentication/redback-authentication-ap...

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/interceptor/SimpleActionInvocationTrackerTest.java
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/interceptor/SimpleActionInvocationTrackerTest.java?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/interceptor/SimpleActionInvocationTrackerTest.java (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/interceptor/SimpleActionInvocationTrackerTest.java Fri Apr  6 09:58:14 2012
@@ -0,0 +1,132 @@
+package org.codehaus.plexus.redback.struts2.interceptor;
+
+/*
+ * Copyright 2006-2007 The Codehaus 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 junit.framework.TestCase;
+import org.codehaus.plexus.redback.struts2.ActionContextStub;
+import org.codehaus.plexus.redback.struts2.ActionInvocationStub;
+import org.codehaus.plexus.redback.struts2.ActionProxyStub;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import java.util.Map;
+
+@RunWith( SpringJUnit4ClassRunner.class )
+@ContextConfiguration( locations = { "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context.xml" } )
+public class SimpleActionInvocationTrackerTest
+    extends TestCase
+{
+    private static final int HISTORY_SIZE = 2;
+
+    private ActionInvocationTracker tracker;
+
+    
+    
+
+    protected String getPlexusConfigLocation()
+    {
+        return "plexus.xml";
+    }
+
+    @Before
+    public void setUp()
+        throws Exception
+    {
+        super.setUp();
+        tracker = new SimpleActionInvocationTracker();
+    }
+
+    @Test
+    public void testAddActionInvocation()
+        throws Exception
+    {
+        tracker.setHistorySize( HISTORY_SIZE );
+
+        tracker.addActionInvocation( new ActionInvocationStub() );
+        assertEquals( 1, tracker.getHistoryCount() );
+
+        // first entry int the stack
+        SavedActionInvocation actionInvocation = tracker.getActionInvocationAt( 0 );
+        Map<String,Object> parametersMap = actionInvocation.getParametersMap();
+
+        assertEquals( ActionProxyStub.ACTION_NAME, actionInvocation.getActionName() );
+        assertEquals( ActionProxyStub.METHOD, actionInvocation.getMethodName() );
+        assertEquals( ActionContextStub.VALUE_1, parametersMap.get( ActionContextStub.PARAMETER_1 ) );
+        assertEquals( ActionContextStub.VALUE_2, parametersMap.get( ActionContextStub.PARAMETER_2 ) );
+        assertEquals( ActionContextStub.VALUE_3, parametersMap.get( ActionContextStub.PARAMETER_3 ) );
+
+        ActionInvocationStub actionInvocationStub = new ActionInvocationStub();
+
+        ActionProxyStub proxyStub = (ActionProxyStub) actionInvocationStub.getProxy();
+        proxyStub.setActionName( "new_action" );
+        proxyStub.setMethod( "new_method" );
+
+        ActionContextStub actionContextStub = (ActionContextStub) actionInvocationStub.getInvocationContext();
+        actionContextStub.getParameters().put( "new_parameter", "new_value" );
+
+        tracker.addActionInvocation( actionInvocationStub );
+        assertEquals( tracker.getHistoryCount(), HISTORY_SIZE );
+
+        // second entry in the stack
+        actionInvocation = tracker.getActionInvocationAt( 1 );
+        parametersMap = actionInvocation.getParametersMap();
+
+        assertEquals( "new_action", actionInvocation.getActionName() );
+        assertEquals( "new_method", actionInvocation.getMethodName() );
+        assertEquals( ActionContextStub.VALUE_1, parametersMap.get( ActionContextStub.PARAMETER_1 ) );
+        assertEquals( ActionContextStub.VALUE_2, parametersMap.get( ActionContextStub.PARAMETER_2 ) );
+        assertEquals( ActionContextStub.VALUE_3, parametersMap.get( ActionContextStub.PARAMETER_3 ) );
+        assertEquals( "new_value", parametersMap.get( "new_parameter" ) );
+
+        // first entry int the stack
+        actionInvocation = tracker.getActionInvocationAt( 0 );
+        parametersMap = actionInvocation.getParametersMap();
+
+        assertEquals( ActionProxyStub.ACTION_NAME, actionInvocation.getActionName() );
+        assertEquals( ActionProxyStub.METHOD, actionInvocation.getMethodName() );
+        assertEquals( ActionContextStub.VALUE_1, parametersMap.get( ActionContextStub.PARAMETER_1 ) );
+        assertEquals( ActionContextStub.VALUE_2, parametersMap.get( ActionContextStub.PARAMETER_2 ) );
+        assertEquals( ActionContextStub.VALUE_3, parametersMap.get( ActionContextStub.PARAMETER_3 ) );
+    }
+
+    @Test
+    public void testHistoryCounter()
+        throws Exception
+    {
+        tracker.setHistorySize( HISTORY_SIZE );
+        tracker.addActionInvocation( new ActionInvocationStub() );
+        assertEquals( 1, tracker.getHistoryCount() );
+
+        tracker.setHistorySize( HISTORY_SIZE );
+        tracker.addActionInvocation( new ActionInvocationStub() );
+        assertEquals( HISTORY_SIZE, tracker.getHistoryCount() );
+
+        tracker.addActionInvocation( new ActionInvocationStub() );
+        tracker.addActionInvocation( new ActionInvocationStub() );
+        tracker.addActionInvocation( new ActionInvocationStub() );
+        assertEquals( HISTORY_SIZE, tracker.getHistoryCount() );
+
+        tracker.addActionInvocation( new ActionInvocationStub() );
+        tracker.addActionInvocation( new ActionInvocationStub() );
+        tracker.addActionInvocation( new ActionInvocationStub() );
+        assertEquals( HISTORY_SIZE, tracker.getHistoryCount() );
+    }
+
+}

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/interceptor/SimpleActionInvocationTrackerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/interceptor/SimpleActionInvocationTrackerTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/BackTrackingResultTest.java
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/BackTrackingResultTest.java?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/BackTrackingResultTest.java (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/BackTrackingResultTest.java Fri Apr  6 09:58:14 2012
@@ -0,0 +1,158 @@
+package org.codehaus.plexus.redback.struts2.result;
+
+/*
+ * Copyright 2006-2007 The Codehaus 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 junit.framework.TestCase;
+import org.codehaus.plexus.redback.struts2.ActionContextStub;
+import org.codehaus.plexus.redback.struts2.ActionInvocationStub;
+import org.codehaus.plexus.redback.struts2.ActionProxyStub;
+import org.codehaus.plexus.redback.struts2.interceptor.ActionInvocationTracker;
+import org.codehaus.plexus.redback.struts2.interceptor.SimpleActionInvocationTracker;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import java.util.Map;
+
+@RunWith( SpringJUnit4ClassRunner.class )
+@ContextConfiguration( locations = { "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context.xml" } )
+public class BackTrackingResultTest
+    extends TestCase
+{
+    public static final int HISTORY_SIZE = 2;
+
+    protected String getPlexusConfigLocation()
+    {
+        return "plexus.xml";
+    }    
+    
+    @Test
+    public void testBackTrackPrevious()
+        throws Exception
+    {
+        // first http request
+        ActionInvocationStub actionInvocation1 = new ActionInvocationStub();
+        SimpleBackTrackingResult backtrackingResult = new SimpleBackTrackingResult( actionInvocation1 );
+
+        // second http request
+        ActionInvocationStub previousActionInvocation = new ActionInvocationStub();
+        ActionProxyStub previousProxyStub = (ActionProxyStub) previousActionInvocation.getProxy();
+        previousProxyStub.setActionName( "previous_action" );
+        previousProxyStub.setMethod( "previous_method" );
+
+        ActionContextStub previousActionContext = (ActionContextStub) previousActionInvocation.getInvocationContext();
+        previousActionContext.getParameters().put( "previous_parameter", "previous_value" );
+
+        // third http request
+        ActionInvocationStub currentActionInvocation = new ActionInvocationStub();
+        ActionProxyStub currentProxyStub = (ActionProxyStub) currentActionInvocation.getProxy();
+        currentProxyStub.setActionName( "current_action" );
+        currentProxyStub.setMethod( "current_method" );
+
+        ActionContextStub currentActionContext = (ActionContextStub) currentActionInvocation.getInvocationContext();
+        currentActionContext.getParameters().put( "current_parameter", "current_value" );
+
+        SimpleActionInvocationTracker tracker = new SimpleActionInvocationTracker();
+
+        // save the second request and third request to the stack
+        tracker.setHistorySize( HISTORY_SIZE );
+        tracker.addActionInvocation( previousActionInvocation );
+        tracker.addActionInvocation( currentActionInvocation );
+        tracker.setBackTrack();
+        // add the tracker to the session
+        actionInvocation1.getInvocationContext().getSession().put( ActionInvocationTracker.SESSION_KEY, tracker );
+
+        // before backtrack
+        Map<String,Object> parametersMap = actionInvocation1.getInvocationContext().getParameters();
+
+        assertEquals( ActionProxyStub.ACTION_NAME, backtrackingResult.getActionName() );
+        assertEquals( ActionProxyStub.METHOD, backtrackingResult.getMethod() );
+        assertEquals( ActionContextStub.VALUE_1, parametersMap.get( ActionContextStub.PARAMETER_1 ) );
+        assertEquals( ActionContextStub.VALUE_2, parametersMap.get( ActionContextStub.PARAMETER_2 ) );
+        assertEquals( ActionContextStub.VALUE_3, parametersMap.get( ActionContextStub.PARAMETER_3 ) );
+
+        backtrackingResult.setupBackTrackPrevious( actionInvocation1 );
+
+        // after backtrack
+        parametersMap = actionInvocation1.getInvocationContext().getParameters();
+
+        assertEquals( "previous_action", backtrackingResult.getActionName() );
+        assertEquals( "previous_method", backtrackingResult.getMethod() );
+        assertEquals( ActionContextStub.VALUE_1, parametersMap.get( ActionContextStub.PARAMETER_1 ) );
+        assertEquals( ActionContextStub.VALUE_2, parametersMap.get( ActionContextStub.PARAMETER_2 ) );
+        assertEquals( ActionContextStub.VALUE_3, parametersMap.get( ActionContextStub.PARAMETER_3 ) );
+        assertEquals( "previous_value", parametersMap.get( "previous_parameter" ) );
+
+    }
+
+    @SuppressWarnings("unchecked")
+    public void testBackTrackCurrent()
+        throws Exception
+    {
+        // first http request
+        ActionInvocationStub actionInvocation1 = new ActionInvocationStub();
+        SimpleBackTrackingResult backtrackingResult = new SimpleBackTrackingResult( actionInvocation1 );
+
+        // second http request
+        ActionInvocationStub previousActionInvocation = new ActionInvocationStub();
+        ActionProxyStub previousProxyStub = (ActionProxyStub) previousActionInvocation.getProxy();
+        previousProxyStub.setActionName( "previous_action" );
+        previousProxyStub.setMethod( "previous_method" );
+
+        ActionContextStub previousActionContext = (ActionContextStub) previousActionInvocation.getInvocationContext();
+        previousActionContext.getParameters().put( "previous_parameter", "previous_value" );
+
+        // third http request
+        ActionInvocationStub currentActionInvocation = new ActionInvocationStub();
+        ActionProxyStub currentProxyStub = (ActionProxyStub) currentActionInvocation.getProxy();
+        currentProxyStub.setActionName( "current_action" );
+        currentProxyStub.setMethod( "current_method" );
+
+        ActionContextStub currentActionContext = (ActionContextStub) currentActionInvocation.getInvocationContext();
+        currentActionContext.getParameters().put( "current_parameter", "current_value" );
+
+        SimpleActionInvocationTracker tracker = new SimpleActionInvocationTracker();
+
+        // save the second request and third request to the stack
+        tracker.setHistorySize( HISTORY_SIZE );
+        tracker.addActionInvocation( previousActionInvocation );
+        tracker.addActionInvocation( currentActionInvocation );
+        tracker.setBackTrack();
+        // add the tracker to the session
+        actionInvocation1.getInvocationContext().getSession().put( ActionInvocationTracker.SESSION_KEY, tracker );
+
+        // before backtrack
+        Map<String, Object> parametersMap = actionInvocation1.getInvocationContext().getParameters();
+
+        assertEquals( ActionProxyStub.ACTION_NAME, backtrackingResult.getActionName() );
+        assertEquals( ActionProxyStub.METHOD, backtrackingResult.getMethod() );
+        assertEquals( ActionContextStub.VALUE_1, parametersMap.get( ActionContextStub.PARAMETER_1 ) );
+        assertEquals( ActionContextStub.VALUE_2, parametersMap.get( ActionContextStub.PARAMETER_2 ) );
+        assertEquals( ActionContextStub.VALUE_3, parametersMap.get( ActionContextStub.PARAMETER_3 ) );
+
+        backtrackingResult.setupBackTrackCurrent( actionInvocation1 );
+
+        // after backtrack
+        assertEquals( "current_action", backtrackingResult.getActionName() );
+        assertEquals( "current_method", backtrackingResult.getMethod() );
+        assertEquals( ActionContextStub.VALUE_1, parametersMap.get( ActionContextStub.PARAMETER_1 ) );
+        assertEquals( ActionContextStub.VALUE_2, parametersMap.get( ActionContextStub.PARAMETER_2 ) );
+        assertEquals( ActionContextStub.VALUE_3, parametersMap.get( ActionContextStub.PARAMETER_3 ) );
+        assertEquals( "current_value", parametersMap.get( "current_parameter" ) );
+    }
+}

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/BackTrackingResultTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/BackTrackingResultTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/SimpleBackTrackingResult.java
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/SimpleBackTrackingResult.java?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/SimpleBackTrackingResult.java (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/SimpleBackTrackingResult.java Fri Apr  6 09:58:14 2012
@@ -0,0 +1,39 @@
+package org.codehaus.plexus.redback.struts2.result;
+
+import org.codehaus.plexus.redback.struts2.ActionInvocationStub;
+
+/*
+ * Copyright 2006-2007 The Codehaus 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.
+ */
+
+public class SimpleBackTrackingResult
+    extends AbstractBackTrackingResult
+{
+    public SimpleBackTrackingResult( ActionInvocationStub invocation )
+    {
+        super.actionName = invocation.getProxy().getActionName();
+        super.method = invocation.getProxy().getMethod();
+    }
+
+    public String getActionName()
+    {
+        return super.actionName;
+    }
+
+    public String getMethod()
+    {
+        return super.method;
+    }
+}

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/SimpleBackTrackingResult.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/java/org/codehaus/plexus/redback/struts2/result/SimpleBackTrackingResult.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/logback-test.xml
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/logback-test.xml?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/logback-test.xml (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/logback-test.xml Fri Apr  6 09:58:14 2012
@@ -0,0 +1,14 @@
+<configuration debug="false">
+
+  <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>%-5p %c{2} : %m%n</pattern>
+    </encoder>
+  </appender>
+
+ <logger name="org.springframework" level="ERROR"/>
+ <logger name="com.opensymphony.xwork2" level="debug"/>
+ <root level="INFO">
+    <appender-ref ref="CONSOLE"/>
+ </root>
+</configuration>
\ No newline at end of file

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/logback-test.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/logback-test.xml
------------------------------------------------------------------------------
    svn:executable = 

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/logback-test.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/config-defaults.properties
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/config-defaults.properties?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/config-defaults.properties (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/config-defaults.properties Fri Apr  6 09:58:14 2012
@@ -0,0 +1,127 @@
+jdbc.url=jdbc:hsqldb:mem:UnitTests
+#
+# Copyright 2006 The Codehaus.
+#
+# 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.
+#
+
+# --------------------------------------------------------------------
+# Application Configuration
+
+application.timestamp=EEE d MMM yyyy HH:mm:ss Z
+
+# --------------------------------------------------------------------
+# JDBC Setup
+
+jdbc.driver.name=org.hsqldb.jdbcDriver
+jdbc.username=sa
+jdbc.password=
+
+# --------------------------------------------------------------------
+# Email Settings
+
+email.jndiSessionName=java:comp/env/mail/Session
+email.smtp.host=localhost
+email.smtp.port=25
+email.smtp.ssl.enabled=false
+email.smtp.tls.enabled=false
+email.smtp.username=
+email.smtp.password=
+
+#TODO: move description elsewhere, remove bad default
+# All emails sent by the system will be from the following address
+#email.from.address=${user.name}@localhost
+# All emails sent by the system will be from the following user name (used in conjunction with address)
+#email.from.name=Unconfigured Username
+
+# If all email addresses (from new user registration) require an account validation email.
+email.validation.required=true
+# Timeout (in minutes) for the key generated for an email validation to remain valid.
+# 2880 minutes = 48 hours
+email.validation.timeout=2880
+# The subject line for the email message.
+email.validation.subject=Welcome
+
+#TODO: move description elsewhere, remove bad default
+# Get the Feedback to use for any outgoing emails.
+# NOTE: if feedback.path starts with a "/" it is appended to the end of the value provided in application.url
+# This value can be in the format/syntax of "/feedback.action" or even "mailto:feedback@application.com"
+#email.feedback.path=/feedback.action
+
+#Set the application base URL. The default is to derive it from the HTTP request
+#application.url=http://myurl.mycompany.com
+
+# --------------------------------------------------------------------
+# Auto Login Settings
+
+security.rememberme.enabled=true
+# Timeout in minutes ( 525600 minutes = 1 year )
+security.rememberme.timeout=525600
+
+# Single Sign On
+# Timeout in minutes
+security.signon.timeout=30
+
+# --------------------------------------------------------------------
+# Default Username Values
+redback.default.admin=admin
+
+# --------------------------------------------------------------------
+# Security Policies
+
+#security.policy.password.encoder=
+security.policy.password.previous.count=6
+security.policy.password.expiration.enabled=true
+security.policy.password.expiration.days=90
+security.policy.password.expiration.notify.days=10
+security.policy.allowed.login.attempt=10
+
+# turn off the perclick enforcement of various security policies, slightly
+# more heavyweight since it will ensure that the User object on each click
+# is up to date
+security.policy.strict.enforcement.enabled=true
+security.policy.strict.force.password.change.enabled=true
+
+# --------------------------------------------------------------------
+# Password Rules
+security.policy.password.rule.alphanumeric.enabled=false
+security.policy.password.rule.alphacount.enabled=true
+security.policy.password.rule.alphacount.minimum=1
+security.policy.password.rule.characterlength.enabled=true
+security.policy.password.rule.characterlength.minimum=1
+security.policy.password.rule.characterlength.maximum=24
+security.policy.password.rule.musthave.enabled=true
+security.policy.password.rule.numericalcount.enabled=true
+security.policy.password.rule.numericalcount.minimum=1
+security.policy.password.rule.reuse.enabled=true
+security.policy.password.rule.nowhitespace.enabled=true
+
+# --------------------------------------------------------------------
+# ldap settings
+#
+ldap.bind.authenticator.enabled=false
+
+# ldap options for configuration via properties file
+#ldap.config.hostname=
+#ldap.config.port=
+#ldap.config.base.dn=
+#ldap.config.context.factory=
+#ldap.config.bind.dn=
+#ldap.config.password=
+#ldap.config.authentication.method=
+
+# config parameter for the ConfigurableUserManager
+user.manager.impl=cached
+
+
+

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/config-defaults.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/config-defaults.properties
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/AssignmentsActionTest.xml
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/AssignmentsActionTest.xml?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/AssignmentsActionTest.xml (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/AssignmentsActionTest.xml Fri Apr  6 09:58:14 2012
@@ -0,0 +1,132 @@
+<!--
+  ~ Copyright 2008 The Codehaus.
+  ~
+  ~ 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.
+  -->
+
+<component-set>
+  <components>
+    <component>
+      <role>org.codehaus.plexus.redback.rbac.RBACManager</role>
+      <role-hint>cached</role-hint>
+      <implementation>org.codehaus.plexus.redback.rbac.cached.CachedRbacManager</implementation>
+      <description>CachedRbacManager is a wrapped RBACManager with caching.</description>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.redback.rbac.RBACManager</role>
+          <role-hint>memory</role-hint>
+          <field-name>rbacImpl</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>operations</role-hint>
+          <field-name>operationsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>permissions</role-hint>
+          <field-name>permissionsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>resources</role-hint>
+          <field-name>resourcesCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>roles</role-hint>
+          <field-name>rolesCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>userAssignments</role-hint>
+          <field-name>userAssignmentsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>userPermissions</role-hint>
+          <field-name>userPermissionsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>effectiveRoleSet</role-hint>
+          <field-name>effectiveRoleSetCache</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.redback.users.UserManager</role>
+      <role-hint>cached</role-hint>
+      <implementation>org.codehaus.plexus.redback.users.cached.CachedUserManager</implementation>
+      <description>CachedUserManager</description>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.redback.users.UserManager</role>
+          <role-hint>memory</role-hint>
+          <field-name>userImpl</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>users</role-hint>
+          <field-name>usersCache</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.redback.keys.KeyManager</role>
+      <role-hint>cached</role-hint>
+      <implementation>org.codehaus.plexus.redback.keys.cached.CachedKeyManager</implementation>
+      <description>CachedKeyManager</description>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.redback.keys.KeyManager</role>
+          <role-hint>memory</role-hint>
+          <field-name>keyImpl</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>keys</role-hint>
+          <field-name>keysCache</field-name>
+        </requirement>
+      </requirements>
+    </component>
+
+    <component>
+      <role>org.codehaus.plexus.jdo.JdoFactory</role>
+      <role-hint>users</role-hint>
+      <implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation>
+      <configuration>
+        <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass>
+        <driverName>org.hsqldb.jdbcDriver</driverName>
+        <url>jdbc:hsqldb:mem:MailGeneratorTest</url>
+        <userName>sa</userName>
+        <otherProperties>
+          <property>
+            <name>javax.jdo.PersistenceManagerFactoryClass</name>
+            <value>org.jpox.PersistenceManagerFactoryImpl</value>
+          </property>
+          <property>
+            <name>org.jpox.autoCreateTables</name>
+            <value>true</value>
+          </property>          
+          <property>
+            <name>org.jpox.rdbms.dateTimezone</name>
+            <value>JDK_DEFAULT_TIMEZONE</value>
+          </property>
+          
+        </otherProperties>
+      </configuration>
+    </component>    
+    
+  </components>
+</component-set>

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/AssignmentsActionTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/AssignmentsActionTest.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/SystemInfoActionTest.xml
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/SystemInfoActionTest.xml?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/SystemInfoActionTest.xml (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/SystemInfoActionTest.xml Fri Apr  6 09:58:14 2012
@@ -0,0 +1,83 @@
+<!--
+  ~ Copyright 2005-2006 The Codehaus.
+  ~
+  ~ 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.
+  -->
+
+<component-set>
+  <components>
+
+    <component>
+      <role>org.codehaus.plexus.jdo.JdoFactory</role>
+      <role-hint>users</role-hint>
+      <implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation>
+      <configuration>
+        <!-- Database Configuration -->
+        <driverName>org.hsqldb.jdbcDriver</driverName>
+        <url>jdbc:hsqldb:mem:SystemInfoDB</url>
+        <userName>sa</userName>
+        <password></password>
+        <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass>
+
+        <otherProperties>
+          <!-- JPOX and JDO configuration -->
+          <property>
+            <name>org.jpox.autoCreateSchema</name>
+            <value>true</value>
+          </property>
+          <property>
+            <name>org.jpox.autoStartMechanism</name>
+            <value>SchemaTable</value>
+          </property>
+          <property>
+            <name>org.jpox.autoStartMechanismMode</name>
+            <value>Ignored</value>
+          </property>
+          <property>
+            <name>org.jpox.transactionIsolation</name>
+            <value>READ_COMMITTED</value>
+          </property>
+          <property>
+            <name>org.jpox.poid.transactionIsolation</name>
+            <value>READ_COMMITTED</value>
+          </property>
+          <property>
+            <name>org.jpox.rdbms.dateTimezone</name>
+            <value>JDK_DEFAULT_TIMEZONE</value>
+          </property>
+        </otherProperties>
+      </configuration>
+    </component>
+           <component>
+      <role>org.codehaus.plexus.redback.common.ldap.connection.LdapConnectionFactory</role>
+      <role-hint>configurable</role-hint>
+      <implementation>org.codehaus.plexus.redback.common.ldap.connection.ConfigurableLdapConnectionFactory</implementation>
+      <description></description>
+      <configuration>
+        <hostname>localhost</hostname>
+        <port>10390</port>
+        <baseDn>dc=redback,dc=plexus,dc=codehaus,dc=org</baseDn>
+        <contextFactory>com.sun.jndi.ldap.LdapCtxFactory</contextFactory>
+        <password>secret</password>
+        <bindDn>uid=admin,ou=system</bindDn>
+      </configuration>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.redback.configuration.UserConfiguration</role>
+          <field-name>userConf</field-name>
+        </requirement>
+      </requirements>
+    </component>
+  </components>
+
+</component-set>
\ No newline at end of file

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/SystemInfoActionTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/SystemInfoActionTest.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/UserEditActionTest.xml
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/UserEditActionTest.xml?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/UserEditActionTest.xml (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/UserEditActionTest.xml Fri Apr  6 09:58:14 2012
@@ -0,0 +1,132 @@
+<!--
+  ~ Copyright 2008 The Codehaus.
+  ~
+  ~ 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.
+  -->
+
+<component-set>
+  <components>
+    <component>
+      <role>org.codehaus.plexus.redback.rbac.RBACManager</role>
+      <role-hint>cached</role-hint>
+      <implementation>org.codehaus.plexus.redback.rbac.cached.CachedRbacManager</implementation>
+      <description>CachedRbacManager is a wrapped RBACManager with caching.</description>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.redback.rbac.RBACManager</role>
+          <role-hint>memory</role-hint>
+          <field-name>rbacImpl</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>operations</role-hint>
+          <field-name>operationsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>permissions</role-hint>
+          <field-name>permissionsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>resources</role-hint>
+          <field-name>resourcesCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>roles</role-hint>
+          <field-name>rolesCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>userAssignments</role-hint>
+          <field-name>userAssignmentsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>userPermissions</role-hint>
+          <field-name>userPermissionsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>effectiveRoleSet</role-hint>
+          <field-name>effectiveRoleSetCache</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.redback.users.UserManager</role>
+      <role-hint>cached</role-hint>
+      <implementation>org.codehaus.plexus.redback.users.cached.CachedUserManager</implementation>
+      <description>CachedUserManager</description>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.redback.users.UserManager</role>
+          <role-hint>memory</role-hint>
+          <field-name>userImpl</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>users</role-hint>
+          <field-name>usersCache</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.redback.keys.KeyManager</role>
+      <role-hint>cached</role-hint>
+      <implementation>org.codehaus.plexus.redback.keys.cached.CachedKeyManager</implementation>
+      <description>CachedKeyManager</description>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.redback.keys.KeyManager</role>
+          <role-hint>memory</role-hint>
+          <field-name>keyImpl</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>keys</role-hint>
+          <field-name>keysCache</field-name>
+        </requirement>
+      </requirements>
+    </component>
+
+    <component>
+      <role>org.codehaus.plexus.jdo.JdoFactory</role>
+      <role-hint>users</role-hint>
+      <implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation>
+      <configuration>
+        <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass>
+        <driverName>org.hsqldb.jdbcDriver</driverName>
+        <url>jdbc:hsqldb:mem:MailGeneratorTest</url>
+        <userName>sa</userName>
+        <otherProperties>
+          <property>
+            <name>javax.jdo.PersistenceManagerFactoryClass</name>
+            <value>org.jpox.PersistenceManagerFactoryImpl</value>
+          </property>
+          <property>
+            <name>org.jpox.autoCreateTables</name>
+            <value>true</value>
+          </property>          
+          <property>
+            <name>org.jpox.rdbms.dateTimezone</name>
+            <value>JDK_DEFAULT_TIMEZONE</value>
+          </property>
+          
+        </otherProperties>
+      </configuration>
+    </component>    
+    
+  </components>
+</component-set>

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/UserEditActionTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/action/admin/UserEditActionTest.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/interceptor/CustomInterceptorTest.xml
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/interceptor/CustomInterceptorTest.xml?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/interceptor/CustomInterceptorTest.xml (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/interceptor/CustomInterceptorTest.xml Fri Apr  6 09:58:14 2012
@@ -0,0 +1,57 @@
+<!--
+  ~ Copyright 2006-2007 The Codehaus 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.
+  -->
+
+<component-set>
+  <components>
+    <component>
+      <role>com.opensymphony.xwork2.Action</role>
+      <role-hint>testAction</role-hint>
+      <implementation>org.codehaus.plexus.redback.struts2.action.TestPlexusAction</implementation>
+    </component>
+    <component>
+      <role>com.opensymphony.xwork2.interceptor.Interceptor</role>
+      <role-hint>testCustomInterceptor</role-hint>
+      <implementation>org.codehaus.plexus.redback.struts2.interceptor.MockCustomInterceptor</implementation>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.redback.struts2.interceptor.MockComponent</role>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.redback.struts2.interceptor.MockComponent</role>
+      <implementation>org.codehaus.plexus.redback.struts2.interceptor.MockComponentImpl</implementation>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.jdo.JdoFactory</role>
+      <role-hint>users</role-hint>
+      <implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation>
+      <configuration>
+        <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass>
+        <driverName>org.hsqldb.jdbcDriver</driverName>
+        <url>jdbc:hsqldb:mem:MailGeneratorTest</url>
+        <userName>sa</userName>
+        <otherProperties>
+          <property>
+            <name>org.jpox.rdbms.dateTimezone</name>
+            <value>JDK_DEFAULT_TIMEZONE</value>
+          </property>
+          
+        </otherProperties>
+      </configuration>
+    </component>      
+  </components>
+</component-set>

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/interceptor/CustomInterceptorTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/org/codehaus/plexus/redback/struts2/interceptor/CustomInterceptorTest.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/redback.xml
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/redback.xml?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/redback.xml (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/redback.xml Fri Apr  6 09:58:14 2012
@@ -0,0 +1,101 @@
+<redback-role-model>
+  <modelVersion>1.0.0</modelVersion>
+  <applications>
+    <application>
+      <id>Continuum</id>
+      <version>1.0</version>
+      <operations>
+        <operation>
+          <id>continuum-manage-users</id>
+          <name>continuum-manage-users</name>
+          <description>Manage Continuum Users</description>
+        </operation>
+      </operations>
+      <roles>
+        <role>
+          <id>continuum-group-project-administrator</id>
+          <name>Continuum Group Project Administrator</name>
+          <assignable>true</assignable>
+          <permanent>true</permanent>
+        </role>
+        <role>
+          <id>global-grant-administrator</id>
+          <name>Global Grant Administrator</name>
+          <assignable>true</assignable>
+          <permissions>
+            <permission>
+              <id>continuum-manage-users-roles</id>
+              <name>Continuum Manage User Roles</name>
+              <operation>user-management-user-role</operation>
+              <resource>global</resource>
+            </permission>
+            <permission>
+              <id>continuum-group-role-grant</id>
+              <name>Continuum Grant Group Roles</name>
+              <operation>user-management-role-grant</operation>
+              <resource>global</resource>
+            </permission>
+          </permissions>
+        </role>
+        <role>
+          <id>continuum-user-administrator</id>
+          <name>Continuum User Administrator</name>
+          <permanent>true</permanent>
+          <assignable>false</assignable>
+          <permissions>
+            <permission>
+              <id>continuum-manage-users</id>
+              <name>continuum-manage-users</name>
+              <operation>continuum-manage-users</operation>
+              <resource>global</resource>
+              <permanent>true</permanent>
+            </permission>
+          </permissions>
+          <parentRoles>
+            <parentRole>user-administrator</parentRole>
+          </parentRoles>
+        </role>
+      </roles>
+      <templates>
+        <template>
+          <id>project-administrator</id>
+          <namePrefix>Project Administrator</namePrefix>
+          <assignable>true</assignable>
+          <permissions>
+            <permission>
+              <id>continuum-manage-users-roles</id>
+              <name>Continuum Manage User Roles</name>
+              <operation>user-management-user-role</operation>
+              <resource>global</resource>
+            </permission>
+            <permission>
+              <id>continuum-group-role-grant</id>
+              <name>Continuum Grant Group Roles</name>
+              <operation>user-management-role-grant</operation>
+              <resource>${resource}</resource>
+            </permission>
+          </permissions>
+          <parentRoles>
+            <parentRole>continuum-group-project-administrator</parentRole>
+          </parentRoles>
+        </template>
+        <template>
+          <id>project-grant-only</id>
+          <namePrefix>Grant Administrator</namePrefix>
+          <assignable>true</assignable>
+          <permissions>
+            <permission>
+              <id>continuum-group-role-grant</id>
+              <name>Continuum Grant Group Roles</name>
+              <operation>user-management-role-grant</operation>
+              <resource>${resource}</resource>
+            </permission>
+          </permissions>
+          <parentRoles>
+            <parentRole>continuum-group-project-administrator</parentRole>
+          </parentRoles>
+        </template>
+      </templates>
+    </application>
+  </applications>
+</redback-role-model>
\ No newline at end of file

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/redback.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/redback.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/spring-context.xml
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/spring-context.xml?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/spring-context.xml (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/spring-context.xml Fri Apr  6 09:58:14 2012
@@ -0,0 +1,163 @@
+<?xml version="1.0"?>
+
+<!--
+  ~ 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.
+  -->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:context="http://www.springframework.org/schema/context"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+           http://www.springframework.org/schema/context 
+           http://www.springframework.org/schema/context/spring-context-3.0.xsd"
+       default-lazy-init="true">
+
+  <context:property-placeholder system-properties-mode="OVERRIDE"/>
+
+  <bean name="jdoFactory#users" class="org.codehaus.plexus.redback.common.jdo.UserConfigurableJdoFactory">
+    <property name="config" ref="userConfiguration"/>
+    <property name="driverName" value="org.hsqldb.jdbcDriver"/>
+    <property name="url" value="jdbc:hsqldb:mem:MailGeneratorTest" />
+    <property name="userName" value="sa"/>
+    <property name="password" value=""/>
+  </bean>
+
+  <bean name="rBACManager#cached" class="org.codehaus.plexus.redback.rbac.cached.CachedRbacManager">
+    <property name="rbacImpl" ref="rBACManager#memory"/>
+  </bean>
+
+  <!--
+
+    <component>
+      <role>org.codehaus.plexus.redback.rbac.RBACManager</role>
+      <role-hint>cached</role-hint>
+      <implementation>org.codehaus.plexus.redback.rbac.cached.CachedRbacManager</implementation>
+      <description>CachedRbacManager is a wrapped RBACManager with caching.</description>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.redback.rbac.RBACManager</role>
+          <role-hint>memory</role-hint>
+          <field-name>rbacImpl</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>operations</role-hint>
+          <field-name>operationsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>permissions</role-hint>
+          <field-name>permissionsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>resources</role-hint>
+          <field-name>resourcesCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>roles</role-hint>
+          <field-name>rolesCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>userAssignments</role-hint>
+          <field-name>userAssignmentsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>userPermissions</role-hint>
+          <field-name>userPermissionsCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>effectiveRoleSet</role-hint>
+          <field-name>effectiveRoleSetCache</field-name>
+        </requirement>
+      </requirements>
+    </component>
+  -->
+  <bean name="userManager#cached" class="org.codehaus.plexus.redback.users.cached.CachedUserManager">
+    <property name="userImpl" ref="userManager#memory"/>
+  </bean>
+
+  <!--
+    <component>
+      <role>org.codehaus.plexus.redback.users.UserManager</role>
+      <role-hint>cached</role-hint>
+      <implementation>org.codehaus.plexus.redback.users.cached.CachedUserManager</implementation>
+      <description>CachedUserManager</description>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.redback.users.UserManager</role>
+          <role-hint>memory</role-hint>
+          <field-name>userImpl</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>users</role-hint>
+          <field-name>usersCache</field-name>
+        </requirement>
+      </requirements>
+    </component>
+  -->
+
+  <bean name="keyManager#cached" class="org.codehaus.plexus.redback.keys.cached.CachedKeyManager">
+    <property name="keyImpl" ref="keyManager#memory"/>
+  </bean>
+  <!--
+    <component>
+      <role>org.codehaus.plexus.redback.keys.KeyManager</role>
+      <role-hint>cached</role-hint>
+      <implementation>org.codehaus.plexus.redback.keys.cached.CachedKeyManager</implementation>
+      <description>CachedKeyManager</description>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.redback.keys.KeyManager</role>
+          <role-hint>memory</role-hint>
+          <field-name>keyImpl</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.cache.Cache</role>
+          <role-hint>keys</role-hint>
+          <field-name>keysCache</field-name>
+        </requirement>
+      </requirements>
+    </component>
+  -->
+
+  <!--
+  <bean name="jdoFactory#users" class="org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory">
+    <property name="persistenceManagerFactoryClass" value="org.jpox.PersistenceManagerFactoryImpl"/>
+    <property name="driverName" value="org.hsqldb.jdbcDriver"/>
+    <property name="url" value="jdbc:hsqldb:mem:UnitTest"/>
+    <property name="userName" value="sa"/>
+    <property name="otherProperties">
+      <props>
+        <prop key="javax.jdo.PersistenceManagerFactoryClass">
+          org.jpox.PersistenceManagerFactoryImpl  
+        </prop>
+        <prop key="org.jpox.autoCreateTables">
+          true
+        </prop>
+        <prop key="org.jpox.rdbms.dateTimezone">JDK_DEFAULT_TIMEZONE</prop>
+      </props>
+    </property>
+  </bean>
+  -->
+</beans>
\ No newline at end of file

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/spring-context.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/spring-context.xml
------------------------------------------------------------------------------
    svn:executable = 

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/spring-context.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts-security.xml
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts-security.xml?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts-security.xml (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts-security.xml Fri Apr  6 09:58:14 2012
@@ -0,0 +1,330 @@
+<?xml version="1.0" ?>
+<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
+    "http://struts.apache.org/dtds/struts-2.0.dtd"> 
+
+<!-- ==================================================================
+     Plexus Security Tools
+
+     This should contain the /security namespaced action configurations.
+
+     These configurations will likely not need changing.
+
+     These configurations point to the overlaid jsp files.
+     ==================================================================  -->
+
+<struts>
+  <!-- ==================================================================
+       Security Tools for Users
+
+       All Users should be able to access and use the actions contained
+       within this package.
+       ==================================================================  -->
+
+  <package name="security" extends="struts-default" namespace="/security">
+    <result-types>
+      <result-type name="security-external" class="securityExternalResult" />
+    </result-types>
+
+    <interceptors>
+      <interceptor name="redbackForceAdminUser" class="redbackForceAdminUserInterceptor"/>
+      <interceptor name="redbackEnvCheck" class="redbackEnvironmentCheckInterceptor"/>
+      <interceptor name="redbackAutoLogin" class="redbackAutoLoginInterceptor"/>
+      <interceptor name="redbackPolicyEnforcement" class="redbackPolicyEnforcementInterceptor"/>
+      <interceptor name="redbackSecureActions" class="redbackSecureActionInterceptor"/>
+
+      <!--
+      Stacks are order dependent and fail silently by not running the referenced stack.
+      Make sure that redbackCommonStack remains above is usages.
+      -->
+      <interceptor-stack name="redbackCommonStack">
+         <interceptor-ref name="redbackEnvCheck"/>
+         <interceptor-ref name="redbackForceAdminUser"/>
+         <interceptor-ref name="redbackAutoLogin"/>
+         <interceptor-ref name="redbackPolicyEnforcement"/>
+         <interceptor-ref name="redbackSecureActions">
+           <param name="enableReferrerCheck">true</param>
+         </interceptor-ref>
+      </interceptor-stack>
+
+      <interceptor-stack name="securedStack">
+        <interceptor-ref name="defaultStack"/>
+        <interceptor-ref name="redbackCommonStack"/>
+        <interceptor-ref name="tokenSession">
+          <param name="excludeMethods">*</param>  
+        </interceptor-ref>
+      </interceptor-stack>
+      
+      <interceptor-stack name="securedPrepareParamsStack">
+        <interceptor-ref name="paramsPrepareParamsStack"/>
+        <interceptor-ref name="redbackCommonStack"/>
+      </interceptor-stack>
+
+    </interceptors>
+
+    <default-interceptor-ref name="securedStack"/>
+
+    <global-results>
+      <result name="security-admin-user-needed" type="redirectAction">
+        <param name="actionName">addadmin</param>
+        <param name="namespace">/security</param>
+      </result>
+      <result name="requires-authentication">/WEB-INF/jsp/redback/requiresAuthentication.jsp</result>
+      <result name="requires-authorization">/WEB-INF/jsp/redback/accessDenied.jsp</result>
+      <result name="security-must-change-password" type="redirectAction">
+        <param name="actionName">password</param>
+        <param name="namespace">/security</param>        
+      </result>
+      <result name="security-resend-validation-email" type="redirectAction">
+        <param name="actionName">userlist</param>
+        <param name="namespace">/security</param>        
+      </result>
+      <result name="invalid.token">/WEB-INF/jsp/redback/invalidToken.jsp</result>
+    </global-results>
+
+    <action name="login" class="redback-login" method="show">
+      <result name="input">/WEB-INF/jsp/redback/login.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/login.jsp</result>
+      <result name="security-login-success" type="security-external">
+        <param name="externalResult">security-login-success</param>
+      </result>
+      <result name="cancel" type="security-external">
+        <param name="externalResult">security-login-cancel</param>
+      </result>
+      <result name="security-login-locked" type="security-external">
+        <param name="externalResult">security-login-locked</param>
+      </result>
+    </action>
+
+    <action name="logout" class="redback-logout" method="logout">
+      <result name="security-logout" type="security-external">
+        <param name="externalResult">security-logout</param>
+      </result>
+    </action>
+
+    <action name="register" class="redback-register" method="show">
+      <result name="input">/WEB-INF/jsp/redback/register.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/register.jsp</result>
+      <result name="validation-note">/WEB-INF/jsp/redback/validationNotification.jsp</result>
+      <result name="security-register-success" type="security-external">
+        <param name="externalResult">security-register-success</param>
+      </result>
+      <result name="cancel" type="security-external">
+        <param name="externalResult">security-register-cancel</param>
+      </result>
+    </action>
+
+    <action name="account" class="redback-account" method="show">
+      <result name="input">/WEB-INF/jsp/redback/account.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/account.jsp</result>
+      <result name="security-account-success" type="security-external">
+        <param name="externalResult">security-account-success</param>
+      </result>
+      <result name="cancel" type="security-external">
+        <param name="externalResult">security-account-cancel</param>
+      </result>
+    </action>
+
+    <action name="password" class="redback-password" method="show">
+      <result name="input">/WEB-INF/jsp/redback/password.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/password.jsp</result>
+      <result name="security-login-success" type="security-external">
+        <param name="externalResult">security-login-success</param>
+      </result>
+      <result name="security-register-success" type="security-external">
+        <param name="externalResult">security-register-success</param>
+      </result>      
+      <result name="success" type="redirect">${targetUrl}</result>
+      <result name="cancel" type="redirectAction">
+        <param name="actionName">logout</param>
+        <param name="namespace">/security</param>
+      </result>
+      <result name="security-change-password-success">/WEB-INF/jsp/redback/changePasswordSuccess.jsp</result>
+    </action>
+
+    <action name="passwordReset" class="redback-password-reset" method="show">
+      <result name="input">/WEB-INF/jsp/redback/requestPasswordReset.jsp</result>
+      <result name="none">/WEB-INF/jsp/redback/login.jsp</result>
+    </action>
+
+    <action name="addadmin" class="redback-admin-account" method="show">
+      <interceptor-ref name="defaultStack"/>
+      <result name="input">/WEB-INF/jsp/redback/admin/createAdmin.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/admin/createAdmin.jsp</result>
+      <result name="login-error">/WEB-INF/jsp/redback/login.jsp</result>
+      <result name="security-login-success" type="security-external">
+        <param name="externalResult">security-login-success</param>
+      </result>
+      <result name="security-login-locked" type="security-external">
+        <param name="externalResult">security-login-locked</param>
+      </result>
+    </action>
+
+  <!-- ==================================================================
+       Security Tools for Administrators
+
+       Only Administrators should be able to access and use these actions
+       ==================================================================  -->
+
+    <action name="systeminfo" class="redback-sysinfo" method="show">
+      <result>/WEB-INF/jsp/redback/admin/systemInformation.jsp</result>
+    </action>
+
+    <action name="adminConsole" class="redback-admin-console" method="show">
+      <result>/WEB-INF/jsp/redback/admin/console.jsp</result>
+    </action>
+
+    <action name="report" class="redback-report" method="generate">
+      <result name="error" type="redirectAction">userlist</result>
+    </action>
+
+    <action name="userlist" class="redback-admin-user-list" method="show">
+      <result name="input">/WEB-INF/jsp/redback/admin/userList.jsp</result>
+      <result name="success">/WEB-INF/jsp/redback/admin/userList.jsp</result>
+    </action>
+
+    <action name="useredit" class="redback-admin-user-edit" method="edit">
+      <result name="input">/WEB-INF/jsp/redback/admin/userEdit.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/admin/userEdit.jsp</result>
+      <result name="confirm">/WEB-INF/jsp/redback/admin/confirmUserAdministrator.jsp</result>
+      <result name="confirmError">/WEB-INF/jsp/redback/admin/confirmUserAdministrator.jsp</result>
+      <result name="success" type="redirectAction">userlist</result>
+      <result name="cancel" type="redirectAction">userlist</result>
+    </action>
+
+    <action name="usercreate" class="redback-admin-user-create" method="show">
+      <result name="input">/WEB-INF/jsp/redback/admin/userCreate.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/admin/userCreate.jsp</result>
+      <result name="success" type="redirectAction">
+        <param name="actionName">assignments</param>
+        <param name="principal">${user.username}</param>
+      </result>
+      <interceptor-ref name="securedStack">
+        <param name="tokenSession.includeMethods">*</param>
+      </interceptor-ref>
+    </action>
+
+    <action name="userdelete" class="redback-admin-user-delete" method="confirm">
+      <result name="input">/WEB-INF/jsp/redback/admin/userDelete.jsp</result>
+      <result name="error" type="redirectAction">userlist</result>
+      <result name="success" type="redirectAction">userlist</result>
+      <result name="cancel" type="redirectAction">userlist</result>
+      <interceptor-ref name="securedStack">
+        <param name="tokenSession.includeMethods">*</param>
+      </interceptor-ref>
+    </action>
+
+    <!-- ==== RBAC Actions ========================================== -->
+
+    <!-- This action is meant to be embedded within the User Edit action output jsp.
+         It is injected using the <ww:action> taglib -->
+    <action name="assignments" class="redback-assignments" method="show">
+      <interceptor-ref name="securedStack"/>
+      <result name="input">/WEB-INF/jsp/redback/admin/assignments.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/include/error.jsp</result>
+      <result name="success">/WEB-INF/jsp/redback/admin/assignments.jsp</result>
+    </action>
+
+    <action name="addRolesToUser" class="redback-assignments" method="edituser">
+      <result name="success" type="redirectAction">userlist</result>
+      <interceptor-ref name="securedStack">
+        <param name="tokenSession.includeMethods">*</param>
+      </interceptor-ref>
+    </action>
+
+    <action name="removeRolesFromUser" class="redback-assignments" method="edituser">
+      <result name="success" type="redirectAction">userlist</result>
+    </action>
+
+    <action name="rolecreate" class="redback-role-create" method="show">
+      <result name="input">/WEB-INF/jsp/redback/admin/roleCreate.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/admin/roleCreate.jsp</result>
+      <result name="success" type="redirectAction">userlist</result>
+      <interceptor-ref name="securedStack">
+        <param name="tokenSession.includeMethods">*</param>
+      </interceptor-ref>
+    </action>
+
+    <action name="role" class="redback-role-edit" method="input">
+      <result name="input">/WEB-INF/jsp/redback/admin/role.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/admin/role.jsp</result>
+      <result name="success" type="redirectAction">roles</result>
+    </action>
+
+    <action name="roleedit" class="redback-role-edit" method="edit">
+      <result name="input">/WEB-INF/jsp/redback/admin/roleEdit.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/admin/roleEdit.jsp</result>
+      <result name="success" type="redirectAction">roles</result>
+    </action>
+
+    <action name="rolesave" class="redback-role-edit" method="save">
+      <result name="input">/WEB-INF/jsp/redback/admin/roleEdit.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/admin/roleEdit.jsp</result>
+      <result name="success" type="redirectAction">roles</result>
+      <interceptor-ref name="securedStack">
+        <param name="tokenSession.includeMethods">*</param>
+      </interceptor-ref>
+    </action>
+
+    <action name="roleusersadd" class="redback-role-edit" method="addUsers">
+      <result name="input">/WEB-INF/jsp/redback/admin/roleEdit.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/admin/roleEdit.jsp</result>
+      <result name="success">/WEB-INF/jsp/redback/admin/roleEdit.jsp</result>
+      <interceptor-ref name="securedStack">
+        <param name="tokenSession.includeMethods">*</param>
+      </interceptor-ref>
+    </action>
+
+    <action name="roleusersremove" class="redback-role-edit" method="removeUsers">
+      <result name="input">/WEB-INF/jsp/redback/admin/roleEdit.jsp</result>
+      <result name="error">/WEB-INF/jsp/redback/admin/roleEdit.jsp</result>
+      <result name="success">/WEB-INF/jsp/redback/admin/roleEdit.jsp</result>
+      <interceptor-ref name="securedStack">
+        <param name="tokenSession.includeMethods">*</param>
+      </interceptor-ref>
+    </action>
+
+    <action name="roleSummary" class="redback-roles" method="list">
+       <result name="list">/WEB-INF/jsp/redback/admin/roleSummary.jsp</result>
+    </action>
+
+    <action name="roles" class="redback-roles" method="list">
+      <result name="list">/WEB-INF/jsp/redback/admin/roleList.jsp</result>
+    </action>
+
+    <action name="permissions" class="redback-permissions" method="list">
+      <result name="list">/WEB-INF/jsp/redback/admin/permissionList.jsp</result>
+    </action>
+
+    <action name="operations" class="redback-operations" method="list">
+      <result name="list">/WEB-INF/jsp/redback/admin/operationList.jsp</result>
+    </action>
+
+    <action name="resources" class="redback-resources" method="list">
+      <result name="list">/WEB-INF/jsp/redback/admin/resourceList.jsp</result>
+    </action>
+
+    <action name="roleModel" class="redback-role-model" method="view">
+      <result name="success">/WEB-INF/jsp/redback/admin/roleModel.jsp</result>
+    </action>
+
+    <!--
+      Backup Restore actions 
+     -->
+
+    <action name="backupRestore" class="backup-restore" method="view">
+      <result>/WEB-INF/jsp/redback/admin/backupRestore.jsp</result>
+    </action>
+       
+    <action name="backup" class="backup-restore" method="backup">
+      <result name="custom_error">/WEB-INF/jsp/redback/admin/backupRestore.jsp</result>
+      <result type="redirectAction">backupRestore</result>
+    </action>
+
+    <action name="restore" class="backup-restore" method="restore">
+      <result name="custom_error">/WEB-INF/jsp/redback/admin/backupRestore.jsp</result>      
+      <result name="success" type="redirectAction">backupRestore</result>
+    </action>
+    
+  </package>
+
+</struts>

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts-security.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts-security.xml
------------------------------------------------------------------------------
    svn:executable = 

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts-security.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.properties
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.properties?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.properties (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.properties Fri Apr  6 09:58:14 2012
@@ -0,0 +1,20 @@
+struts.objectFactory = org.apache.struts2.spring.StrutsSpringObjectFactory
+struts.objectFactory.spring.autoWire = type
+
+# Theme
+struts.ui.theme = xhtml
+
+struts.devMode = true
+
+# Locale
+#struts.locale=en_EN
+
+# Upload
+#struts.multipart.parser = jakarta
+# default saveDir is defined by javax.servlet.context.tempdir property
+#struts.multipart.saveDir =
+# default max size is 2097152 (2MB)
+#struts.multipart.maxSize =
+
+# Localization
+struts.custom.i18n.resources=org.codehaus.plexus.redback.struts2.default,org.codehaus.plexus.redback.example.custom

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.properties
------------------------------------------------------------------------------
    svn:executable = 

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.properties
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.xml
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.xml?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.xml (added)
+++ archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.xml Fri Apr  6 09:58:14 2012
@@ -0,0 +1,7 @@
+<!DOCTYPE struts PUBLIC
+    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
+    "http://struts.apache.org/dtds/struts-2.0.dtd">
+<struts>
+  <include file="struts-security.xml"/>
+  <package name="foo" extends="struts-default"/>
+</struts>
\ No newline at end of file

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.xml
------------------------------------------------------------------------------
    svn:executable = 

Propchange: archiva/redback/redback-core/trunk/redback-integrations/redback-struts2/redback-struts2-integration/src/test/resources/struts.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-keys/pom.xml
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-keys/pom.xml?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-keys/pom.xml (added)
+++ archiva/redback/redback-core/trunk/redback-keys/pom.xml Fri Apr  6 09:58:14 2012
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2006 The Codehaus.
+  ~ 
+  ~ 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.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.codehaus.redback</groupId>
+    <artifactId>redback</artifactId>
+    <version>1.5-SNAPSHOT</version>
+  </parent>
+  <artifactId>redback-keys</artifactId>
+  <name>Redback :: Key Management</name>
+  <packaging>pom</packaging>
+  <modules>
+    <module>redback-keys-api</module>
+    <module>redback-keys-providers</module>
+    <module>redback-keys-tests</module>
+    <module>redback-authentication-keys</module>
+  </modules>
+</project>

Propchange: archiva/redback/redback-core/trunk/redback-keys/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-keys/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: archiva/redback/redback-core/trunk/redback-keys/redback-authentication-keys/pom.xml
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-keys/redback-authentication-keys/pom.xml?rev=1310268&view=auto
==============================================================================
--- archiva/redback/redback-core/trunk/redback-keys/redback-authentication-keys/pom.xml (added)
+++ archiva/redback/redback-core/trunk/redback-keys/redback-authentication-keys/pom.xml Fri Apr  6 09:58:14 2012
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2006 The Codehaus.
+  ~ 
+  ~ 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.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.codehaus.redback</groupId>
+    <artifactId>redback-authentication-providers</artifactId>
+    <version>1.5-SNAPSHOT</version>
+    <relativePath>../../redback-authentication/redback-authentication-providers/pom.xml</relativePath>
+  </parent>
+  <artifactId>redback-authentication-keys</artifactId>
+  <name>Redback :: Authentication Provider :: Keys</name>
+  <dependencies>
+    <dependency>
+      <groupId>org.codehaus.redback</groupId>
+      <artifactId>redback-authentication-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.redback</groupId>
+      <artifactId>redback-keys-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.redback</groupId>
+      <artifactId>redback-keys-cached</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-context-support</artifactId>
+    </dependency>   
+    <dependency>
+      <groupId>javax.annotation</groupId>
+      <artifactId>jsr250-api</artifactId>
+    </dependency>    
+  </dependencies>
+</project>

Propchange: archiva/redback/redback-core/trunk/redback-keys/redback-authentication-keys/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/redback/redback-core/trunk/redback-keys/redback-authentication-keys/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision