You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ace.apache.org by ma...@apache.org on 2013/04/02 14:41:44 UTC

svn commit: r1463507 [2/2] - in /ace/trunk: org.apache.ace.authentication.api/ org.apache.ace.authentication.itest/ org.apache.ace.authentication/ org.apache.ace.authentication/src/org/apache/ace/authentication/api/ org.apache.ace.authentication/src/or...

Added: ace/trunk/org.apache.ace.authentication/test/org/apache/ace/authentication/processor/clientcert/MemoryKeyStore.java
URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.authentication/test/org/apache/ace/authentication/processor/clientcert/MemoryKeyStore.java?rev=1463507&view=auto
==============================================================================
--- ace/trunk/org.apache.ace.authentication/test/org/apache/ace/authentication/processor/clientcert/MemoryKeyStore.java (added)
+++ ace/trunk/org.apache.ace.authentication/test/org/apache/ace/authentication/processor/clientcert/MemoryKeyStore.java Tue Apr  2 12:41:42 2013
@@ -0,0 +1,139 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ace.authentication.processor.clientcert;
+
+import java.math.BigInteger;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.security.cert.X509Certificate;
+import java.util.Date;
+
+import javax.security.auth.x500.X500Principal;
+
+import org.bouncycastle.x509.X509V1CertificateGenerator;
+
+/**
+ * Provides a memory-only certificate keystore.
+ */
+final class MemoryKeyStore {
+    private static final String SIGNATURE_ALGORITHM = "SHA1withRSA";
+
+    private final X509V1CertificateGenerator m_certGen = new X509V1CertificateGenerator();
+    private final KeyPair m_caKey;
+    private final X509Certificate m_rootCert;
+    private int m_serial = 0;
+
+    private final KeyPairGenerator m_generator;
+
+    /**
+     * Creates a new {@link MemoryKeyStore} instance.
+     */
+    public MemoryKeyStore(String name, Date notBefore, Date notAfter) {
+        try {
+            m_generator = KeyPairGenerator.getInstance("RSA");
+            m_generator.initialize(1024);
+
+            m_caKey = generateKeyPair();
+
+            m_rootCert = generateRootCertificate(name, notBefore, notAfter);
+        }
+        catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+    
+    /**
+     * @return the {@link KeyPair} of the CA, never <code>null</code>.
+     */
+    public KeyPair getCA_KeyPair() {
+        return m_caKey;
+    }
+
+    /**
+     * @return
+     */
+    public X500Principal getCA_DN() {
+        return m_rootCert.getIssuerX500Principal();
+    }
+
+    /**
+     * Generates a new 1024-bit keypair.
+     * 
+     * @return a new {@link KeyPair}, never <code>null</code>.
+     */
+    public KeyPair generateKeyPair() {
+        try {
+            return m_generator.generateKeyPair();
+        }
+        catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    /**
+     * @throws IllegalStateException if an internal exception occurs.
+     * @throws IllegalArgumentException if the alias already exists.
+     */
+    public X509Certificate createCertificate(String alias, String name, Date before, Date after, PublicKey key) throws IllegalArgumentException {
+        return createCertificate(getCA_DN(), m_caKey.getPrivate(), alias, name, before, after, key);
+    }
+
+    /**
+     * @throws IllegalStateException if an internal exception occurs.
+     * @throws IllegalArgumentException if the alias already exists.
+     */
+    public X509Certificate createCertificate(X500Principal issuerDN, PrivateKey issuerKey, String alias, String name, Date notBefore, Date notAfter, PublicKey key) throws IllegalArgumentException {
+        try {
+            m_certGen.reset();
+            m_certGen.setSerialNumber(BigInteger.valueOf(++m_serial));
+            m_certGen.setIssuerDN(issuerDN);
+            m_certGen.setNotBefore(notBefore);
+            m_certGen.setNotAfter(notAfter);
+            m_certGen.setSubjectDN(new X500Principal(name));
+            m_certGen.setPublicKey(key);
+            m_certGen.setSignatureAlgorithm(SIGNATURE_ALGORITHM);
+
+            X509Certificate cert = m_certGen.generate(issuerKey);
+
+            return cert;
+        }
+        catch (IllegalArgumentException e) {
+            throw e;
+        }
+        catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private X509Certificate generateRootCertificate(String name, Date notBefore, Date notAfter) throws Exception {
+        m_certGen.reset();
+        m_certGen.setSerialNumber(BigInteger.valueOf(1));
+        m_certGen.setIssuerDN(new X500Principal(name));
+        m_certGen.setNotBefore(notBefore);
+        m_certGen.setNotAfter(notAfter);
+        m_certGen.setSubjectDN(new X500Principal(name));
+        m_certGen.setPublicKey(m_caKey.getPublic());
+        m_certGen.setSignatureAlgorithm(SIGNATURE_ALGORITHM);
+
+        return m_certGen.generate(m_caKey.getPrivate());
+    }
+}

Added: ace/trunk/org.apache.ace.authentication/test/org/apache/ace/authentication/processor/password/PasswordAuthenticationProcessorTest.java
URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.authentication/test/org/apache/ace/authentication/processor/password/PasswordAuthenticationProcessorTest.java?rev=1463507&view=auto
==============================================================================
--- ace/trunk/org.apache.ace.authentication/test/org/apache/ace/authentication/processor/password/PasswordAuthenticationProcessorTest.java (added)
+++ ace/trunk/org.apache.ace.authentication/test/org/apache/ace/authentication/processor/password/PasswordAuthenticationProcessorTest.java Tue Apr  2 12:41:42 2013
@@ -0,0 +1,291 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ace.authentication.processor.password;
+
+import static org.apache.ace.authentication.processor.password.PasswordAuthenticationProcessor.PROPERTY_KEY_PASSWORD;
+import static org.apache.ace.authentication.processor.password.PasswordAuthenticationProcessor.PROPERTY_KEY_USERNAME;
+import static org.apache.ace.authentication.processor.password.PasswordAuthenticationProcessor.PROPERTY_PASSWORD_HASHMETHOD;
+import static org.apache.ace.test.utils.TestUtils.UNIT;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Properties;
+
+import org.apache.ace.authentication.processor.password.PasswordAuthenticationProcessor;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.mockito.Mockito;
+import org.osgi.service.cm.ConfigurationException;
+import org.osgi.service.useradmin.User;
+import org.osgi.service.useradmin.UserAdmin;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+/**
+ * Test cases for {@link PasswordAuthenticationProcessor}.
+ */
+public class PasswordAuthenticationProcessorTest {
+    
+    private UserAdmin m_userAdmin;
+
+    @BeforeMethod(alwaysRun = true)
+    public void setUp() {
+        m_userAdmin = mock(UserAdmin.class);
+        Mockito.reset(m_userAdmin);
+    }
+
+    /**
+     * Tests that authenticating with a empty username will yield null.
+     */
+    @Test(groups = { UNIT })
+    public void testAuthenticateEmptyUserNameYieldsNull() {
+        User result = new PasswordAuthenticationProcessor().authenticate(m_userAdmin, "", "secret");
+        assert result == null : "Expected no valid user to be returned!";
+    }
+
+    /**
+     * Tests that authenticating a known user with an invalid password will yield null.
+     */
+    @Test(groups = { UNIT })
+    public void testAuthenticateKnownUserWithInvalidPasswordYieldsNull() {
+        User user = mock(User.class);
+        when(user.getName()).thenReturn("bob");
+        when(user.hasCredential(eq("password"), eq("otherSecret"))).thenReturn(Boolean.TRUE);
+
+        when(m_userAdmin.getUser(eq("username"), eq("bob"))).thenReturn(user);
+
+        User result = new PasswordAuthenticationProcessor().authenticate(m_userAdmin, "bob", "secret");
+        assert result == null : "Expected no valid user to be returned!";
+    }
+
+    /**
+     * Tests that authenticating a known user with a correct password will not yield null.
+     */
+    @Test(groups = { UNIT })
+    public void testAuthenticateKnownUserYieldsValidResult() {
+        User user = mock(User.class);
+        when(user.getName()).thenReturn("bob");
+        when(user.hasCredential(eq("password"), eq("secret"))).thenReturn(Boolean.TRUE);
+
+        when(m_userAdmin.getUser(eq("username"), eq("bob"))).thenReturn(user);
+
+        User result = new PasswordAuthenticationProcessor().authenticate(m_userAdmin, "bob", "secret");
+        assert result != null : "Expected a valid user to be returned!";
+        
+        assert "bob".equals(user.getName()) : "Expected bob to be returned!";
+    }
+
+    /**
+     * Tests that authenticating with a null password will yield null.
+     */
+    @Test(groups = { UNIT })
+    public void testAuthenticateNullPasswordYieldsNull() {
+        User result = new PasswordAuthenticationProcessor().authenticate(m_userAdmin, "bob", null);
+        assert result == null : "Expected no valid user to be returned!";
+    }
+
+    /**
+     * Tests that authenticating with a null username will yield null.
+     */
+    @Test(groups = { UNIT })
+    public void testAuthenticateNullUserNameYieldsNull() {
+        User result = new PasswordAuthenticationProcessor().authenticate(m_userAdmin, null, "secret");
+        assert result == null : "Expected no valid user to be returned!";
+    }
+
+    /**
+     * Tests that a class cast exception is thrown for invalid context when calling authenticate.
+     */
+    @Test(groups = { UNIT }, expectedExceptions = ClassCastException.class)
+    public void testAuthenticateThrowsClassCastForInvalidContext() {
+        new PasswordAuthenticationProcessor().authenticate(m_userAdmin, new Object(), "foo");
+    }
+
+    /**
+     * Tests that authenticating an unknown user will yield null.
+     */
+    @Test(groups = { UNIT })
+    public void testAuthenticateUnknownUserYieldsNull() {
+        User result = new PasswordAuthenticationProcessor().authenticate(m_userAdmin, "alice", "secret");
+        assert result == null : "Expected no valid user to be returned!";
+    }
+
+    /**
+     * Tests that canHandle yields true for string and byte array.
+     */
+    @Test(groups = { UNIT })
+    public void testCanHandleDoesAcceptStringAndByteArray() {
+        assert new PasswordAuthenticationProcessor().canHandle("foo", "bar".getBytes()) : "Expected the processor to handle a byte array!";
+    }
+
+    /**
+     * Tests that canHandle yields true for two strings.
+     */
+    @Test(groups = { UNIT })
+    public void testCanHandleDoesAcceptTwoStrings() {
+        assert new PasswordAuthenticationProcessor().canHandle("foo", "bar") : "Expected the processor to handle a string!";
+    }
+
+    /**
+     * Tests that canHandle throws an {@link IllegalArgumentException} for an empty context.
+     */
+    @Test(groups = { UNIT }, expectedExceptions = IllegalArgumentException.class)
+    public void testCanHandleDoesNotAcceptEmptyArray() {
+        new PasswordAuthenticationProcessor().canHandle(new Object[0]);
+    }
+
+    /**
+     * Tests that canHandle throws an {@link IllegalArgumentException} for a null context.
+     */
+    @Test(groups = { UNIT }, expectedExceptions = IllegalArgumentException.class)
+    public void testCanHandleDoesNotAcceptNull() {
+        new PasswordAuthenticationProcessor().canHandle((Object[]) null);
+    }
+
+    /**
+     * Tests that canHandle yields false for too few arguments. 
+     */
+    @Test(groups = { UNIT })
+    public void testCanHandleDoesNotAcceptSingleArgument() {
+        assert new PasswordAuthenticationProcessor().canHandle(new Object()) == false : "Expected the processor to NOT handle any object!";
+    }
+    
+    /**
+     * Tests that canHandle yields false for a string and other object. 
+     */
+    @Test(groups = { UNIT })
+    public void testCanHandleDoesNotAcceptStringAndOtherObject() {
+        assert new PasswordAuthenticationProcessor().canHandle("foo", new Object()) == false : "Expected the processor to NOT handle any object!";
+    }
+
+    /**
+     * Tests that canHandle yields false for any object other than {@link HttpServletRequest}.
+     */
+    @Test(groups = { UNIT })
+    public void testCanHandleDoesNotAcceptWrongTypes() {
+        assert new PasswordAuthenticationProcessor().canHandle(new Object(), new Object()) == false : "Expected the processor to NOT handle any object!";
+    }
+    
+    /**
+     * Tests that updated does not throw an exception for a correct configuration.
+     */
+    @Test(groups = { UNIT })
+    public void testUpdatedDoesAcceptCorrectProperties() throws ConfigurationException {
+        final String keyUsername = "foo";
+        final String keyPassword = "bar";
+        
+        Properties props = new Properties();
+        props.put(PROPERTY_KEY_USERNAME, keyUsername);
+        props.put(PROPERTY_KEY_PASSWORD, keyPassword);
+        props.put(PROPERTY_PASSWORD_HASHMETHOD, "sha1");
+
+        PasswordAuthenticationProcessor processor = new PasswordAuthenticationProcessor();
+
+        processor.updated(props);
+
+        byte[] hashedPw = DigestUtils.sha("secret");
+        
+        // Test whether we can use the new properties...
+        User user = mock(User.class);
+        when(user.getName()).thenReturn("bob");
+        when(user.hasCredential(eq(keyPassword), eq(hashedPw))).thenReturn(Boolean.TRUE);
+
+        when(m_userAdmin.getUser(eq(keyUsername), eq("bob"))).thenReturn(user);
+
+        User result = processor.authenticate(m_userAdmin, "bob", "secret");
+        assert result != null : "Expected a valid user to be returned!";
+        
+        assert "bob".equals(user.getName()) : "Expected bob to be returned!";
+    }
+    
+    /**
+     * Tests that updated throws an exception for missing "key.password" property. 
+     */
+    @Test(groups = { UNIT }, expectedExceptions = ConfigurationException.class)
+    public void testUpdatedDoesNotAcceptEmptyKeyPassword() throws ConfigurationException {
+        Properties props = new Properties();
+        props.put(PROPERTY_KEY_USERNAME, "foo");
+        props.put(PROPERTY_KEY_PASSWORD, "");
+        props.put(PROPERTY_PASSWORD_HASHMETHOD, "none");
+        
+        new PasswordAuthenticationProcessor().updated(props);
+    }
+    
+    /**
+     * Tests that updated throws an exception for missing "key.username" property. 
+     */
+    @Test(groups = { UNIT }, expectedExceptions = ConfigurationException.class)
+    public void testUpdatedDoesNotAcceptEmptyKeyUsername() throws ConfigurationException {
+        Properties props = new Properties();
+        props.put(PROPERTY_KEY_USERNAME, "");
+        props.put(PROPERTY_KEY_PASSWORD, "foo");
+        props.put(PROPERTY_PASSWORD_HASHMETHOD, "none");
+        
+        new PasswordAuthenticationProcessor().updated(props);
+    }
+    
+    /**
+     * Tests that updated throws an exception for missing "password.hashtype" property. 
+     */
+    @Test(groups = { UNIT }, expectedExceptions = ConfigurationException.class)
+    public void testUpdatedDoesNotAcceptEmptyPasswordHashType() throws ConfigurationException {
+        Properties props = new Properties();
+        props.put(PROPERTY_KEY_USERNAME, "foo");
+        props.put(PROPERTY_KEY_PASSWORD, "bar");
+        props.put(PROPERTY_PASSWORD_HASHMETHOD, "");
+        
+        new PasswordAuthenticationProcessor().updated(props);
+    }
+    
+    /**
+     * Tests that updated throws an exception for missing "key.password" property. 
+     */
+    @Test(groups = { UNIT }, expectedExceptions = ConfigurationException.class)
+    public void testUpdatedDoesNotAcceptMissingKeyPassword() throws ConfigurationException {
+        Properties props = new Properties();
+        props.put(PROPERTY_KEY_USERNAME, "foo");
+        props.put(PROPERTY_PASSWORD_HASHMETHOD, "none");
+
+        new PasswordAuthenticationProcessor().updated(props);
+    }
+    
+    /**
+     * Tests that updated throws an exception for missing "key.username" property. 
+     */
+    @Test(groups = { UNIT }, expectedExceptions = ConfigurationException.class)
+    public void testUpdatedDoesNotAcceptMissingKeyUsername() throws ConfigurationException {
+        Properties props = new Properties();
+        props.put(PROPERTY_KEY_PASSWORD, "foo");
+        props.put(PROPERTY_PASSWORD_HASHMETHOD, "none");
+
+        new PasswordAuthenticationProcessor().updated(props);
+    }
+    
+    /**
+     * Tests that updated throws an exception for missing "password.hashtype" property. 
+     */
+    @Test(groups = { UNIT }, expectedExceptions = ConfigurationException.class)
+    public void testUpdatedDoesNotAcceptMissingPasswordHashType() throws ConfigurationException {
+        Properties props = new Properties();
+        props.put(PROPERTY_KEY_USERNAME, "foo");
+        props.put(PROPERTY_KEY_PASSWORD, "foo");
+
+        new PasswordAuthenticationProcessor().updated(props);
+    }
+}

Modified: ace/trunk/org.apache.ace.useradmin.ui.itest/bnd.bnd
URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.useradmin.ui.itest/bnd.bnd?rev=1463507&r1=1463506&r2=1463507&view=diff
==============================================================================
--- ace/trunk/org.apache.ace.useradmin.ui.itest/bnd.bnd (original)
+++ ace/trunk/org.apache.ace.useradmin.ui.itest/bnd.bnd Tue Apr  2 12:41:42 2013
@@ -50,7 +50,7 @@ Private-Package: org.apache.ace.useradmi
 	org.apache.ace.obr.metadata;version=latest,\
 	org.apache.ace.configurator;version=latest,\
 	org.apache.ace.connectionfactory;version=latest,\
-	org.apache.ace.authentication;version=latest,\
+	org.apache.ace.authentication.impl;version=latest,\
 	org.apache.ace.nodelauncher.amazon;version=latest,\
 	org.apache.ace.configurator.serveruseradmin;version=latest,\
 	org.apache.ace.repository.impl;version=latest,\

Modified: ace/trunk/org.apache.ace.useradmin.ui/bnd.bnd
URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.useradmin.ui/bnd.bnd?rev=1463507&r1=1463506&r2=1463507&view=diff
==============================================================================
--- ace/trunk/org.apache.ace.useradmin.ui/bnd.bnd (original)
+++ ace/trunk/org.apache.ace.useradmin.ui/bnd.bnd Tue Apr  2 12:41:42 2013
@@ -5,7 +5,7 @@
 	org.apache.ace.client.repository.api;version=latest,\
 	org.apache.ace.connectionfactory;version=latest,\
 	org.apache.ace.authentication.api;version=latest,\
-	org.apache.ace.authentication;version=latest,\
+	org.apache.ace.authentication.impl;version=latest,\
 	javax.servlet,\
 	org.apache.ace.webui.vaadin;version=latest
 Bundle-Activator: org.apache.ace.useradmin.ui.osgi.Activator

Modified: ace/trunk/org.apache.ace.webui.vaadin/bnd.bnd
URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.webui.vaadin/bnd.bnd?rev=1463507&r1=1463506&r2=1463507&view=diff
==============================================================================
--- ace/trunk/org.apache.ace.webui.vaadin/bnd.bnd (original)
+++ ace/trunk/org.apache.ace.webui.vaadin/bnd.bnd Tue Apr  2 12:41:42 2013
@@ -4,7 +4,7 @@
 	org.apache.ace.client.repository.api;version=latest,\
 	org.apache.ace.connectionfactory;version=latest,\
 	org.apache.ace.authentication.api;version=latest,\
-	org.apache.ace.authentication;version=latest,\
+	org.apache.ace.authentication.impl;version=latest,\
 	javax.servlet,\
 	osgi.core;version=4.1.0
 Private-Package: org.apache.ace.webui.domain,\

Added: ace/trunk/run-client/.classpath
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/.classpath?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/.classpath (added)
+++ ace/trunk/run-client/.classpath Tue Apr  2 12:41:42 2013
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" output="bin_test" path="test"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="aQute.bnd.classpath.container"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: ace/trunk/run-client/.project
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/.project?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/.project (added)
+++ ace/trunk/run-client/.project Tue Apr  2 12:41:42 2013
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>run-client</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>bndtools.core.bndbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>bndtools.core.bndnature</nature>
+	</natures>
+</projectDescription>

Added: ace/trunk/run-client/.settings/org.eclipse.jdt.core.prefs
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/.settings/org.eclipse.jdt.core.prefs?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/.settings/org.eclipse.jdt.core.prefs (added)
+++ ace/trunk/run-client/.settings/org.eclipse.jdt.core.prefs Tue Apr  2 12:41:42 2013
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6

Added: ace/trunk/run-client/bnd.bnd
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/bnd.bnd?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/bnd.bnd (added)
+++ ace/trunk/run-client/bnd.bnd Tue Apr  2 12:41:42 2013
@@ -0,0 +1 @@
+-nobundles

Added: ace/trunk/run-client/build.xml
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/build.xml?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/build.xml (added)
+++ ace/trunk/run-client/build.xml Tue Apr  2 12:41:42 2013
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="project" default="build">
+
+	<!-- -->
+
+	<import file="../cnf/build.xml" />
+</project>

Added: ace/trunk/run-client/client.bndrun
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/client.bndrun?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/client.bndrun (added)
+++ ace/trunk/run-client/client.bndrun Tue Apr  2 12:41:42 2013
@@ -0,0 +1,63 @@
+-runfw: org.apache.felix.framework;version='[4,5)'
+-runee: JavaSE-1.6
+-runbundles: org.apache.felix.dependencymanager,\
+	org.apache.felix.useradmin,\
+	org.apache.felix.useradmin.filestore,\
+	org.apache.felix.log,\
+	org.apache.felix.prefs,\
+	org.apache.felix.configadmin,\
+	org.apache.felix.eventadmin,\
+	org.apache.felix.gogo.runtime,\
+	org.apache.felix.gogo.shell,\
+	org.apache.felix.gogo.command,\
+	org.apache.felix.http.jetty,\
+	org.apache.felix.dependencymanager.shell,\
+	osgi.cmpn,\
+	com.vaadin,\
+	org.apache.ace.authentication.api;version=latest,\
+	org.apache.ace.authentication.impl;version=latest,\
+	org.apache.ace.authentication.processor.basicauth;version=latest,\
+	org.apache.ace.authentication.processor.password;version=latest,\
+	org.apache.ace.client.repository.api;version=latest,\
+	org.apache.ace.client.repository.helper.base;version=latest,\
+	org.apache.ace.client.repository.helper.bundle;version=latest,\
+	org.apache.ace.client.repository.helper.configuration;version=latest,\
+	org.apache.ace.client.repository.impl;version=latest,\
+	org.apache.ace.client.rest;version=latest,\
+	org.apache.ace.configurator.serveruseradmin;version=latest,\
+	org.apache.ace.configurator.useradmin.task;version=latest,\
+	org.apache.ace.configurator;version=latest,\
+	org.apache.ace.connectionfactory;version=latest,\
+	org.apache.ace.consolelogger;version=latest,\
+	org.apache.ace.deployment.verifier.ui;version=latest,\
+	org.apache.ace.deployment.verifier;version=latest,\
+	org.apache.ace.discovery.api;version=latest,\
+	org.apache.ace.discovery.property;version=latest,\
+	org.apache.ace.httplistener;version=latest,\
+	org.apache.ace.log.servlet;version=latest,\
+	org.apache.ace.log.task;version=latest,\
+	org.apache.ace.log;version=latest,\
+	org.apache.ace.nodelauncher.amazon;version=latest,\
+	org.apache.ace.nodelauncher.api;version=latest,\
+	org.apache.ace.nodelauncher.ui;version=latest,\
+	org.apache.ace.range.api;version=latest,\
+	org.apache.ace.repository.api;version=latest,\
+	org.apache.ace.repository.impl;version=latest,\
+	org.apache.ace.resourceprocessor.useradmin;version=latest,\
+	org.apache.ace.scheduler;version=latest,\
+	org.apache.ace.server.log.store.api;version=latest,\
+	org.apache.ace.server.log.store.filelogstore;version=latest,\
+	org.apache.ace.server.log.ui;version=latest,\
+	org.apache.ace.tageditor;version=latest,\
+	org.apache.ace.target.mgmt.ui;version=latest,\
+	org.apache.ace.useradmin.ui;version=latest,\
+	org.apache.ace.webui.vaadin;version=latest
+-runrepos: Workspace,\
+	Release
+-runproperties: org.apache.felix.log.storeDebug=true,\
+	org.apache.felix.eventadmin.Timeout=0,\
+	org.apache.ace.server.port=8080,\
+	org.apache.ace.client.port=8081,\
+	org.apache.ace.obr.port=8082,\
+	org.osgi.service.http.port=8081,\
+	org.apache.felix.log.maxSize=1000
\ No newline at end of file

Added: ace/trunk/run-client/conf/org.apache.ace.client.rest.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.client.rest.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.client.rest.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.client.rest.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,10 @@
+org.apache.ace.server.servlet.endpoint=/client
+repository.url=http://localhost:${org.apache.ace.server.port}/repository
+obr.url=http://localhost:${org.apache.ace.obr.port}/obr/
+user.name=d
+authentication.enabled=false
+customer.name=apache
+store.repository.name=shop
+distribution.repository.name=target
+deployment.repository.name=deployment
+

Added: ace/trunk/run-client/conf/org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,3 @@
+repositoryLocation = http://localhost:${org.apache.ace.server.port}/repository
+repositoryCustomer = apache
+repositoryName = user

Added: ace/trunk/run-client/conf/org.apache.ace.connectionfactory/auditlog.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.connectionfactory/auditlog.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.connectionfactory/auditlog.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.connectionfactory/auditlog.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+authentication.baseURL = http://localhost:${org.apache.ace.server.port}/auditlog/
+authentication.type = none
+#authentication.user.name = d
+#authentication.user.password = f
+

Added: ace/trunk/run-client/conf/org.apache.ace.connectionfactory/client.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.connectionfactory/client.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.connectionfactory/client.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.connectionfactory/client.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+authentication.baseURL = http://localhost:${org.apache.ace.server.port}/client/
+authentication.type = none
+#authentication.user.name = d
+#authentication.user.password = f
+

Added: ace/trunk/run-client/conf/org.apache.ace.connectionfactory/deployment.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.connectionfactory/deployment.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.connectionfactory/deployment.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.connectionfactory/deployment.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+authentication.baseURL = http://localhost:${org.apache.ace.server.port}/deployment/
+authentication.type = none
+#authentication.user.name = d
+#authentication.user.password = f
+

Added: ace/trunk/run-client/conf/org.apache.ace.connectionfactory/obr.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.connectionfactory/obr.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.connectionfactory/obr.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.connectionfactory/obr.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+authentication.baseURL = http://localhost:${org.apache.ace.server.port}/obr/
+authentication.type = none
+#authentication.user.name = d
+#authentication.user.password = f
+

Added: ace/trunk/run-client/conf/org.apache.ace.connectionfactory/replication.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.connectionfactory/replication.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.connectionfactory/replication.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.connectionfactory/replication.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+authentication.baseURL = http://localhost:${org.apache.ace.server.port}/replication/
+authentication.type = none
+#authentication.user.name = d
+#authentication.user.password = f
+

Added: ace/trunk/run-client/conf/org.apache.ace.connectionfactory/repository.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.connectionfactory/repository.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.connectionfactory/repository.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.connectionfactory/repository.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+authentication.baseURL = http://localhost:${org.apache.ace.server.port}/repository/
+authentication.type = none
+#authentication.user.name = d
+#authentication.user.password = f
+

Added: ace/trunk/run-client/conf/org.apache.ace.discovery.property.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.discovery.property.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.discovery.property.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.discovery.property.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1 @@
+serverURL = http://localhost:${org.apache.ace.server.port}
\ No newline at end of file

Added: ace/trunk/run-client/conf/org.apache.ace.scheduler.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.scheduler.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.scheduler.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.scheduler.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,3 @@
+auditlog = 2000
+org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask = 2000
+org.apache.ace.server.log.task.LogSyncTask = 2000

Added: ace/trunk/run-client/conf/org.apache.ace.server.log.store.factory/auditlog.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.server.log.store.factory/auditlog.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.server.log.store.factory/auditlog.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.server.log.store.factory/auditlog.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1 @@
+name=auditlog
\ No newline at end of file

Added: ace/trunk/run-client/conf/org.apache.ace.server.log.task.factory/auditlog.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.server.log.task.factory/auditlog.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.server.log.task.factory/auditlog.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.server.log.task.factory/auditlog.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,2 @@
+name=auditlog
+mode=pull

Added: ace/trunk/run-client/conf/org.apache.ace.server.repository.factory/ace-user.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.server.repository.factory/ace-user.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.server.repository.factory/ace-user.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.server.repository.factory/ace-user.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,314 @@
+name=user
+customer=apache
+master=true
+initial=<roles> \
+       <group name="createArtifact"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="updateArtifact"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeArtifact"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="viewArtifact"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="editArtifact"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="createFeature"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeFeature"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="associateArtifactToFeature"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="associateFeatureToDistribution"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeArtifactToFeatureAssociation"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeFeatureToDistributionAssociation"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="viewFeature"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="editFeature"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="viewDistribution"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="editDistribution"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="createDistribution"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeDistribution"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="associateDistributionToTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="viewTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="editTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="createTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="approveTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="registerTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeDistributionToTargetAssociation"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="mock"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="editUsers"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="TestGroup"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>createArtifact</memberof> \
+           <memberof>updateArtifact</memberof> \
+           <memberof>removeArtifact</memberof> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>editArtifact</memberof> \
+           <memberof>createFeature</memberof> \
+           <memberof>removeFeature</memberof> \
+           <memberof>associateArtifactToFeature</memberof> \
+           <memberof>associateFeatureToDistribution</memberof> \
+           <memberof>removeArtifactToFeatureAssociation</memberof> \
+           <memberof>removeFeatureToDistributionAssociation</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>editFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>editDistribution</memberof> \
+           <memberof>createDistribution</memberof> \
+           <memberof>removeDistribution</memberof> \
+           <memberof>associateDistributionToTarget</memberof> \
+           <memberof>viewTarget</memberof> \
+           <memberof>editTarget</memberof> \
+           <memberof>createTarget</memberof> \
+           <memberof>removeTarget</memberof> \
+           <memberof>approveTarget</memberof> \
+           <memberof>registerTarget</memberof> \
+           <memberof>removeDistributionToTargetAssociation</memberof> \
+           <memberof>mock</memberof> \
+           <memberof>editUsers</memberof> \
+       </group> \
+       <group name="Target Operator"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>viewTarget</memberof> \
+           <memberof>approveTarget</memberof> \
+       </group> \
+       <group name="Distribution Manager"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>editDistribution</memberof> \
+           <memberof>createDistribution</memberof> \
+           <memberof>removeDistribution</memberof> \
+           <memberof>associateDistributionToTarget</memberof> \
+           <memberof>viewTarget</memberof> \
+           <memberof>removeDistributionToTargetAssociation</memberof> \
+       </group> \
+       <group name="Release Manager"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>createArtifact</memberof> \
+           <memberof>updateArtifact</memberof> \
+           <memberof>removeArtifact</memberof> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>editArtifact</memberof> \
+           <memberof>createFeature</memberof> \
+           <memberof>removeFeature</memberof> \
+           <memberof>associateArtifactToFeature</memberof> \
+           <memberof>associateFeatureToDistribution</memberof> \
+           <memberof>removeArtifactToFeatureAssociation</memberof> \
+           <memberof>removeFeatureToDistributionAssociation</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>editFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>viewTarget</memberof> \
+       </group> \
+       <group name="Target Manager"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>viewTarget</memberof> \
+           <memberof>editTarget</memberof> \
+           <memberof>createTarget</memberof> \
+           <memberof>removeTarget</memberof> \
+           <memberof>registerTarget</memberof> \
+       </group> \
+       <group name="External Distribution Manager"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>createArtifact</memberof> \
+           <memberof>updateArtifact</memberof> \
+           <memberof>removeArtifact</memberof> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>editArtifact</memberof> \
+           <memberof>createFeature</memberof> \
+           <memberof>removeFeature</memberof> \
+           <memberof>associateArtifactToFeature</memberof> \
+           <memberof>associateFeatureToDistribution</memberof> \
+           <memberof>removeArtifactToFeatureAssociation</memberof> \
+           <memberof>removeFeatureToDistributionAssociation</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>editFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>editDistribution</memberof> \
+           <memberof>createDistribution</memberof> \
+           <memberof>removeDistribution</memberof> \
+           <memberof>associateDistributionToTarget</memberof> \
+           <memberof>viewTarget</memberof> \
+           <memberof>editTarget</memberof> \
+           <memberof>createTarget</memberof> \
+           <memberof>removeTarget</memberof> \
+           <memberof>approveTarget</memberof> \
+           <memberof>registerTarget</memberof> \
+           <memberof>removeDistributionToTargetAssociation</memberof> \
+           <memberof>mock</memberof> \
+       </group> \
+       <user name="d"> \
+           <properties> \
+               <username>d</username> \
+           </properties> \
+           <credentials> \
+               <password>f</password> \
+           </credentials> \
+           <memberof>TestGroup</memberof> \
+       </user> \
+       <user name="lm"> \
+           <properties> \
+               <username>lm</username> \
+           </properties> \
+           <credentials> \
+               <password>lm</password> \
+           </credentials> \
+           <memberof>Distribution Manager</memberof> \
+       </user> \
+       <user name="go"> \
+           <properties> \
+               <username>go</username> \
+           </properties> \
+           <credentials> \
+               <password>go</password> \
+           </credentials> \
+           <memberof>Target Operator</memberof> \
+       </user> \
+       <user name="rm"> \
+           <properties> \
+               <username>rm</username> \
+           </properties> \
+           <credentials> \
+               <password>rm</password> \
+           </credentials> \
+           <memberof>Release Manager</memberof> \
+       </user> \
+       <user name="gm"> \
+           <properties> \
+               <username>gm</username> \
+           </properties> \
+           <credentials> \
+               <password>gm</password> \
+           </credentials> \
+           <memberof>Target Manager</memberof> \
+       </user> \
+       <user name="elm"> \
+           <properties> \
+               <username>elm</username> \
+           </properties> \
+           <credentials> \
+               <password>elm</password> \
+           </credentials> \
+           <memberof>External Distribution Manager</memberof> \
+       </user> \
+</roles>

Added: ace/trunk/run-client/conf/org.apache.ace.webui.vaadin.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.webui.vaadin.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-client/conf/org.apache.ace.webui.vaadin.cfg (added)
+++ ace/trunk/run-client/conf/org.apache.ace.webui.vaadin.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,10 @@
+# The endpoint of the Vaadin UI
+org.apache.ace.server.servlet.endpoint = /ace
+# Vaadin UI settings
+ui.authentication.enabled = true
+ui.authentication.user.name = dd
+ui.authentication.user.password = ff
+# ACE MS settings
+ace.host = http://localhost:${org.apache.ace.server.port}/
+# OBR settings
+obr.url = http://localhost:${org.apache.ace.obr.port}/obr/

Modified: ace/trunk/run-obr/obr.bndrun
URL: http://svn.apache.org/viewvc/ace/trunk/run-obr/obr.bndrun?rev=1463507&r1=1463506&r2=1463507&view=diff
==============================================================================
--- ace/trunk/run-obr/obr.bndrun (original)
+++ ace/trunk/run-obr/obr.bndrun Tue Apr  2 12:41:42 2013
@@ -16,7 +16,7 @@
 	org.apache.ace.obr.metadata;version=latest,\
 	org.apache.ace.obr.storage;version=latest,\
 	org.apache.ace.authentication.api;version=latest,\
-	org.apache.ace.authentication;version=latest,\
+	org.apache.ace.authentication.impl;version=latest,\
 	org.apache.ace.obr.servlet;version=latest
 -runrepos: Workspace,\
 	Release

Modified: ace/trunk/run-server-allinone/server-allinone.bndrun
URL: http://svn.apache.org/viewvc/ace/trunk/run-server-allinone/server-allinone.bndrun?rev=1463507&r1=1463506&r2=1463507&view=diff
==============================================================================
--- ace/trunk/run-server-allinone/server-allinone.bndrun (original)
+++ ace/trunk/run-server-allinone/server-allinone.bndrun Tue Apr  2 12:41:42 2013
@@ -48,7 +48,7 @@
 	org.apache.ace.obr.metadata;version=latest,\
 	org.apache.ace.configurator;version=latest,\
 	org.apache.ace.connectionfactory;version=latest,\
-	org.apache.ace.authentication;version=latest,\
+	org.apache.ace.authentication.impl;version=latest,\
 	org.apache.ace.nodelauncher.amazon;version=latest,\
 	org.apache.ace.configurator.serveruseradmin;version=latest,\
 	org.apache.ace.repository.impl;version=latest,\

Added: ace/trunk/run-server/.classpath
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/.classpath?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/.classpath (added)
+++ ace/trunk/run-server/.classpath Tue Apr  2 12:41:42 2013
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" output="bin_test" path="test"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="aQute.bnd.classpath.container"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: ace/trunk/run-server/.project
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/.project?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/.project (added)
+++ ace/trunk/run-server/.project Tue Apr  2 12:41:42 2013
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>run-server</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>bndtools.core.bndbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>bndtools.core.bndnature</nature>
+	</natures>
+</projectDescription>

Added: ace/trunk/run-server/.settings/org.eclipse.jdt.core.prefs
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/.settings/org.eclipse.jdt.core.prefs?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/.settings/org.eclipse.jdt.core.prefs (added)
+++ ace/trunk/run-server/.settings/org.eclipse.jdt.core.prefs Tue Apr  2 12:41:42 2013
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6

Added: ace/trunk/run-server/bnd.bnd
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/bnd.bnd?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/bnd.bnd (added)
+++ ace/trunk/run-server/bnd.bnd Tue Apr  2 12:41:42 2013
@@ -0,0 +1 @@
+-nobundles

Added: ace/trunk/run-server/build.xml
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/build.xml?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/build.xml (added)
+++ ace/trunk/run-server/build.xml Tue Apr  2 12:41:42 2013
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="project" default="build">
+
+	<!-- -->
+
+	<import file="../cnf/build.xml" />
+</project>

Added: ace/trunk/run-server/conf/org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,3 @@
+repositoryLocation = http://localhost:${org.apache.ace.server.port}/repository
+repositoryCustomer = apache
+repositoryName = user

Added: ace/trunk/run-server/conf/org.apache.ace.connectionfactory/auditlog.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.connectionfactory/auditlog.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.connectionfactory/auditlog.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.connectionfactory/auditlog.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+authentication.baseURL = http://localhost:${org.apache.ace.server.port}/auditlog/
+authentication.type = none
+#authentication.user.name = d
+#authentication.user.password = f
+

Added: ace/trunk/run-server/conf/org.apache.ace.connectionfactory/client.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.connectionfactory/client.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.connectionfactory/client.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.connectionfactory/client.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+authentication.baseURL = http://localhost:${org.apache.ace.server.port}/client/
+authentication.type = none
+#authentication.user.name = d
+#authentication.user.password = f
+

Added: ace/trunk/run-server/conf/org.apache.ace.connectionfactory/deployment.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.connectionfactory/deployment.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.connectionfactory/deployment.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.connectionfactory/deployment.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+authentication.baseURL = http://localhost:${org.apache.ace.server.port}/deployment/
+authentication.type = none
+#authentication.user.name = d
+#authentication.user.password = f
+

Added: ace/trunk/run-server/conf/org.apache.ace.connectionfactory/replication.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.connectionfactory/replication.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.connectionfactory/replication.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.connectionfactory/replication.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+authentication.baseURL = http://localhost:${org.apache.ace.server.port}/replication/
+authentication.type = none
+#authentication.user.name = d
+#authentication.user.password = f
+

Added: ace/trunk/run-server/conf/org.apache.ace.connectionfactory/repository.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.connectionfactory/repository.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.connectionfactory/repository.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.connectionfactory/repository.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+authentication.baseURL = http://localhost:${org.apache.ace.server.port}/repository/
+authentication.type = none
+#authentication.user.name = d
+#authentication.user.password = f
+

Added: ace/trunk/run-server/conf/org.apache.ace.deployment.provider.repositorybased.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.deployment.provider.repositorybased.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.deployment.provider.repositorybased.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.deployment.provider.repositorybased.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,3 @@
+url = http://localhost:${org.apache.ace.server.port}/repository
+name = deployment
+customer = apache

Added: ace/trunk/run-server/conf/org.apache.ace.deployment.servlet.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.deployment.servlet.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.deployment.servlet.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.deployment.servlet.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,2 @@
+org.apache.ace.server.servlet.endpoint=/deployment
+authentication.enabled = false

Added: ace/trunk/run-server/conf/org.apache.ace.distribution.servlet.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.distribution.servlet.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.distribution.servlet.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.distribution.servlet.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,5 @@
+targetRepository = target
+storeRepository = shop
+customerName = apache
+hostName = http://localhost:${org.apache.ace.server.port}/repository
+org.apache.ace.server.servlet.endpoint	= /distribution

Added: ace/trunk/run-server/conf/org.apache.ace.repository.servlet.RepositoryReplicationServlet.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.repository.servlet.RepositoryReplicationServlet.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.repository.servlet.RepositoryReplicationServlet.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.repository.servlet.RepositoryReplicationServlet.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,2 @@
+org.apache.ace.server.servlet.endpoint=/replication
+authentication.enabled = false

Added: ace/trunk/run-server/conf/org.apache.ace.repository.servlet.RepositoryServlet.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.repository.servlet.RepositoryServlet.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.repository.servlet.RepositoryServlet.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.repository.servlet.RepositoryServlet.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,2 @@
+org.apache.ace.server.servlet.endpoint=/repository
+authentication.enabled = false

Added: ace/trunk/run-server/conf/org.apache.ace.scheduler.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.scheduler.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.scheduler.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.scheduler.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,2 @@
+auditlog = 2000
+org.apache.ace.configurator.useradmin.task.UpdateUserAdminTask = 2000
\ No newline at end of file

Added: ace/trunk/run-server/conf/org.apache.ace.server.log.servlet.factory/auditlog.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.server.log.servlet.factory/auditlog.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.server.log.servlet.factory/auditlog.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.server.log.servlet.factory/auditlog.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,3 @@
+org.apache.ace.server.servlet.endpoint=/auditlog
+name = auditlog
+authentication.enabled = false

Added: ace/trunk/run-server/conf/org.apache.ace.server.log.store.factory/auditlog.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.server.log.store.factory/auditlog.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.server.log.store.factory/auditlog.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.server.log.store.factory/auditlog.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1 @@
+name=auditlog
\ No newline at end of file

Added: ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-activation.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-activation.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-activation.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-activation.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,3 @@
+name=activation
+customer=apache
+master=true
\ No newline at end of file

Added: ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-activationinfo.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-activationinfo.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-activationinfo.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-activationinfo.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,3 @@
+name=activationinfo
+customer=apache
+master=true
\ No newline at end of file

Added: ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-deployment.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-deployment.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-deployment.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-deployment.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,3 @@
+name=deployment
+customer=apache
+master=true
\ No newline at end of file

Added: ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-shop.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-shop.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-shop.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-shop.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,3 @@
+name=shop
+customer=apache
+master=true
\ No newline at end of file

Added: ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-target.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-target.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-target.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-target.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,3 @@
+name=target
+customer=apache
+master=true
\ No newline at end of file

Added: ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-user.cfg
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-user.cfg?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-user.cfg (added)
+++ ace/trunk/run-server/conf/org.apache.ace.server.repository.factory/ace-user.cfg Tue Apr  2 12:41:42 2013
@@ -0,0 +1,314 @@
+name=user
+customer=apache
+master=true
+initial=<roles> \
+       <group name="createArtifact"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="updateArtifact"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeArtifact"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="viewArtifact"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="editArtifact"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="createFeature"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeFeature"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="associateArtifactToFeature"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="associateFeatureToDistribution"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeArtifactToFeatureAssociation"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeFeatureToDistributionAssociation"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="viewFeature"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="editFeature"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="viewDistribution"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="editDistribution"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="createDistribution"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeDistribution"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="associateDistributionToTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="viewTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="editTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="createTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="approveTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="registerTarget"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="removeDistributionToTargetAssociation"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="mock"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="editUsers"> \
+           <properties> \
+               <type>permissionGroup</type> \
+           </properties> \
+       </group> \
+       <group name="TestGroup"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>createArtifact</memberof> \
+           <memberof>updateArtifact</memberof> \
+           <memberof>removeArtifact</memberof> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>editArtifact</memberof> \
+           <memberof>createFeature</memberof> \
+           <memberof>removeFeature</memberof> \
+           <memberof>associateArtifactToFeature</memberof> \
+           <memberof>associateFeatureToDistribution</memberof> \
+           <memberof>removeArtifactToFeatureAssociation</memberof> \
+           <memberof>removeFeatureToDistributionAssociation</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>editFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>editDistribution</memberof> \
+           <memberof>createDistribution</memberof> \
+           <memberof>removeDistribution</memberof> \
+           <memberof>associateDistributionToTarget</memberof> \
+           <memberof>viewTarget</memberof> \
+           <memberof>editTarget</memberof> \
+           <memberof>createTarget</memberof> \
+           <memberof>removeTarget</memberof> \
+           <memberof>approveTarget</memberof> \
+           <memberof>registerTarget</memberof> \
+           <memberof>removeDistributionToTargetAssociation</memberof> \
+           <memberof>mock</memberof> \
+           <memberof>editUsers</memberof> \
+       </group> \
+       <group name="Target Operator"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>viewTarget</memberof> \
+           <memberof>approveTarget</memberof> \
+       </group> \
+       <group name="Distribution Manager"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>editDistribution</memberof> \
+           <memberof>createDistribution</memberof> \
+           <memberof>removeDistribution</memberof> \
+           <memberof>associateDistributionToTarget</memberof> \
+           <memberof>viewTarget</memberof> \
+           <memberof>removeDistributionToTargetAssociation</memberof> \
+       </group> \
+       <group name="Release Manager"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>createArtifact</memberof> \
+           <memberof>updateArtifact</memberof> \
+           <memberof>removeArtifact</memberof> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>editArtifact</memberof> \
+           <memberof>createFeature</memberof> \
+           <memberof>removeFeature</memberof> \
+           <memberof>associateArtifactToFeature</memberof> \
+           <memberof>associateFeatureToDistribution</memberof> \
+           <memberof>removeArtifactToFeatureAssociation</memberof> \
+           <memberof>removeFeatureToDistributionAssociation</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>editFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>viewTarget</memberof> \
+       </group> \
+       <group name="Target Manager"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>viewTarget</memberof> \
+           <memberof>editTarget</memberof> \
+           <memberof>createTarget</memberof> \
+           <memberof>removeTarget</memberof> \
+           <memberof>registerTarget</memberof> \
+       </group> \
+       <group name="External Distribution Manager"> \
+           <properties> \
+               <type>userGroup</type> \
+           </properties> \
+           <memberof>createArtifact</memberof> \
+           <memberof>updateArtifact</memberof> \
+           <memberof>removeArtifact</memberof> \
+           <memberof>viewArtifact</memberof> \
+           <memberof>editArtifact</memberof> \
+           <memberof>createFeature</memberof> \
+           <memberof>removeFeature</memberof> \
+           <memberof>associateArtifactToFeature</memberof> \
+           <memberof>associateFeatureToDistribution</memberof> \
+           <memberof>removeArtifactToFeatureAssociation</memberof> \
+           <memberof>removeFeatureToDistributionAssociation</memberof> \
+           <memberof>viewFeature</memberof> \
+           <memberof>editFeature</memberof> \
+           <memberof>viewDistribution</memberof> \
+           <memberof>editDistribution</memberof> \
+           <memberof>createDistribution</memberof> \
+           <memberof>removeDistribution</memberof> \
+           <memberof>associateDistributionToTarget</memberof> \
+           <memberof>viewTarget</memberof> \
+           <memberof>editTarget</memberof> \
+           <memberof>createTarget</memberof> \
+           <memberof>removeTarget</memberof> \
+           <memberof>approveTarget</memberof> \
+           <memberof>registerTarget</memberof> \
+           <memberof>removeDistributionToTargetAssociation</memberof> \
+           <memberof>mock</memberof> \
+       </group> \
+       <user name="d"> \
+           <properties> \
+               <username>d</username> \
+           </properties> \
+           <credentials> \
+               <password>f</password> \
+           </credentials> \
+           <memberof>TestGroup</memberof> \
+       </user> \
+       <user name="lm"> \
+           <properties> \
+               <username>lm</username> \
+           </properties> \
+           <credentials> \
+               <password>lm</password> \
+           </credentials> \
+           <memberof>Distribution Manager</memberof> \
+       </user> \
+       <user name="go"> \
+           <properties> \
+               <username>go</username> \
+           </properties> \
+           <credentials> \
+               <password>go</password> \
+           </credentials> \
+           <memberof>Target Operator</memberof> \
+       </user> \
+       <user name="rm"> \
+           <properties> \
+               <username>rm</username> \
+           </properties> \
+           <credentials> \
+               <password>rm</password> \
+           </credentials> \
+           <memberof>Release Manager</memberof> \
+       </user> \
+       <user name="gm"> \
+           <properties> \
+               <username>gm</username> \
+           </properties> \
+           <credentials> \
+               <password>gm</password> \
+           </credentials> \
+           <memberof>Target Manager</memberof> \
+       </user> \
+       <user name="elm"> \
+           <properties> \
+               <username>elm</username> \
+           </properties> \
+           <credentials> \
+               <password>elm</password> \
+           </credentials> \
+           <memberof>External Distribution Manager</memberof> \
+       </user> \
+</roles>

Added: ace/trunk/run-server/server.bndrun
URL: http://svn.apache.org/viewvc/ace/trunk/run-server/server.bndrun?rev=1463507&view=auto
==============================================================================
--- ace/trunk/run-server/server.bndrun (added)
+++ ace/trunk/run-server/server.bndrun Tue Apr  2 12:41:42 2013
@@ -0,0 +1,46 @@
+-runfw: org.apache.felix.framework;version='[4,5)'
+-runee: JavaSE-1.6
+-runbundles: org.apache.felix.dependencymanager,\
+	org.apache.felix.useradmin,\
+	org.apache.felix.useradmin.filestore,\
+	org.apache.felix.log,\
+	org.apache.felix.prefs,\
+	org.apache.felix.configadmin,\
+	org.apache.felix.eventadmin,\
+	org.apache.felix.gogo.runtime,\
+	org.apache.felix.gogo.shell,\
+	org.apache.felix.gogo.command,\
+	org.apache.felix.http.jetty,\
+	org.apache.felix.dependencymanager.shell,\
+	osgi.cmpn;version=latest,\
+	org.apache.ace.authentication.api;version=latest,\
+	org.apache.ace.authentication.impl;version=latest,\
+	org.apache.ace.authentication.processor.basicauth;version=latest,\
+	org.apache.ace.authentication.processor.password;version=latest,\
+	org.apache.ace.configurator.serveruseradmin;version=latest,\
+	org.apache.ace.configurator.useradmin.task;version=latest,\
+	org.apache.ace.configurator;version=latest,\
+	org.apache.ace.connectionfactory;version=latest,\
+	org.apache.ace.deployment.provider.api;version=latest,\
+	org.apache.ace.deployment.provider.repositorybased;version=latest,\
+	org.apache.ace.deployment.servlet;version=latest,\
+	org.apache.ace.deployment.streamgenerator;version=latest,\
+	org.apache.ace.deployment.verifier;version=latest,\
+	org.apache.ace.httplistener;version=latest,\
+	org.apache.ace.log.servlet;version=latest,\
+	org.apache.ace.log;version=latest,\
+	org.apache.ace.range.api;version=latest,\
+	org.apache.ace.repository.api;version=latest,\
+	org.apache.ace.repository.impl;version=latest,\
+	org.apache.ace.repository.servlet;version=latest,\
+	org.apache.ace.resourceprocessor.useradmin;version=latest,\
+	org.apache.ace.scheduler;version=latest,\
+	org.apache.ace.server.log.store.api;version=latest,\
+	org.apache.ace.server.log.store.filelogstore;version=latest
+-runrepos: Workspace,\
+	Release
+-runproperties: org.apache.felix.log.storeDebug=true,\
+	org.apache.felix.eventadmin.Timeout=0,\
+	org.apache.ace.server.port=8080,\
+	org.osgi.service.http.port=8080,\
+	org.apache.felix.log.maxSize=1000
\ No newline at end of file