Author: olamy
Date: Sat Dec  8 17:41:27 2012
New Revision: 1418718

URL: http://svn.apache.org/viewvc?rev=1418718&view=rev
Log:
[MRM-1721] Chaining user manager
not yet complete but commit stuff to prevent compilation failure due to redback 
changes.

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ArchivaRuntimeConfiguration.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultArchivaRuntimeConfigurationService.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/ArchivaRuntimeConfigurationServiceTest.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaConfigurableUsersManager.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo?rev=1418718&r1=1418717&r2=1418718&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
 Sat Dec  8 17:41:27 2012
@@ -1460,11 +1460,13 @@
           <defaultValue>false</defaultValue>
         </field>
         <field>
-          <name>userManagerImpl</name>
-          <description>The user manager impl to use.</description>
+          <name>userManagerImpls</name>
+          <description>The user manager impls to use.</description>
           <version>1.4.0+</version>
-          <type>String</type>
-          <defaultValue>jdo</defaultValue>
+          <association>
+            <type>String</type>
+            <multiplicity>*</multiplicity>
+          </association>
         </field>
         <field>
           <name>ldapConfiguration</name>

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ArchivaRuntimeConfiguration.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ArchivaRuntimeConfiguration.java?rev=1418718&r1=1418717&r2=1418718&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ArchivaRuntimeConfiguration.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ArchivaRuntimeConfiguration.java
 Sat Dec  8 17:41:27 2012
@@ -29,11 +29,15 @@ import java.util.Map;
  * @author Olivier Lamy
  * @since 1.4-M4
  */
-@XmlRootElement( name = "redbackRuntimeConfiguration" )
+@XmlRootElement(name = "redbackRuntimeConfiguration")
 public class ArchivaRuntimeConfiguration
     implements Serializable
 {
-    private String userManagerImpl = "jdo";
+
+    /**
+     * Field userManagerImpls.
+     */
+    private List<String> userManagerImpls = new ArrayList<String>();
 
     private LdapConfiguration ldapConfiguration;
 
@@ -54,14 +58,14 @@ public class ArchivaRuntimeConfiguration
         // no op
     }
 
-    public String getUserManagerImpl()
+    public List<String> getUserManagerImpls()
     {
-        return userManagerImpl;
+        return userManagerImpls;
     }
 
-    public void setUserManagerImpl( String userManagerImpl )
+    public void setUserManagerImpls( List<String> userManagerImpls )
     {
-        this.userManagerImpl = userManagerImpl;
+        this.userManagerImpls = userManagerImpls;
     }
 
     public LdapConfiguration getLdapConfiguration()
@@ -125,10 +129,11 @@ public class ArchivaRuntimeConfiguration
     public String toString()
     {
         return "ArchivaRuntimeConfiguration{" +
-            "userManagerImpl='" + userManagerImpl + '\'' +
+            "userManagerImpls=" + userManagerImpls +
             ", ldapConfiguration=" + ldapConfiguration +
             ", migratedFromRedbackConfiguration=" + 
migratedFromRedbackConfiguration +
             ", configurationProperties=" + configurationProperties +
+            ", configurationPropertiesEntries=" + 
configurationPropertiesEntries +
             '}';
     }
 }

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java?rev=1418718&r1=1418717&r2=1418718&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java
 Sat Dec  8 17:41:27 2012
@@ -73,7 +73,7 @@ public class DefaultArchivaRuntimeConfig
                 String userManagerImpl = userConfiguration.getString( 
UserConfigurationKeys.USER_MANAGER_IMPL );
                 if ( StringUtils.isNotEmpty( userManagerImpl ) )
                 {
-                    archivaRuntimeConfiguration.setUserManagerImpl( 
userManagerImpl );
+                    archivaRuntimeConfiguration.getUserManagerImpls().add( 
userManagerImpl );
                 }
 
                 // now ldap
@@ -177,7 +177,8 @@ public class DefaultArchivaRuntimeConfig
     {
         if ( UserConfigurationKeys.USER_MANAGER_IMPL.equals( key ) )
         {
-            return getArchivaRuntimeConfiguration().getUserManagerImpl();
+            // possible false for others than archiva user manager
+            return getArchivaRuntimeConfiguration().getUserManagerImpls().get( 
0 );
         }
 
         ArchivaRuntimeConfiguration conf = getArchivaRuntimeConfiguration();

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultArchivaRuntimeConfigurationService.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultArchivaRuntimeConfigurationService.java?rev=1418718&r1=1418717&r2=1418718&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultArchivaRuntimeConfigurationService.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultArchivaRuntimeConfigurationService.java
 Sat Dec  8 17:41:27 2012
@@ -40,7 +40,7 @@ import java.util.Map;
  * @author Olivier Lamy
  * @since 1.4-M4
  */
-@Service ("archivaRuntimeConfigurationService#rest")
+@Service( "archivaRuntimeConfigurationService#rest" )
 public class DefaultArchivaRuntimeConfigurationService
     extends AbstractRestService
     implements ArchivaRuntimeConfigurationService
@@ -49,7 +49,7 @@ public class DefaultArchivaRuntimeConfig
     private ArchivaRuntimeConfigurationAdmin archivaRuntimeConfigurationAdmin;
 
     @Inject
-    @Named ( value = "userManager#configurable" )
+    @Named( value = "userManager#configurable" )
     private UserManager userManager;
 
     @Inject
@@ -74,14 +74,14 @@ public class DefaultArchivaRuntimeConfig
         try
         {
             // has user manager impl changed ?
-            boolean userManagerChanged = !StringUtils.equals( 
archivaRuntimeConfiguration.getUserManagerImpl(),
-                                                              
archivaRuntimeConfigurationAdmin.getArchivaRuntimeConfiguration().getUserManagerImpl()
 );
+            boolean userManagerChanged = 
archivaRuntimeConfiguration.getUserManagerImpls().size()
+                != 
archivaRuntimeConfigurationAdmin.getArchivaRuntimeConfiguration().getUserManagerImpls().size();
             
archivaRuntimeConfigurationAdmin.updateArchivaRuntimeConfiguration( 
archivaRuntimeConfiguration );
 
             if ( userManagerChanged )
             {
-                log.info( "user manager impl changed to {} reload it",
-                          archivaRuntimeConfiguration.getUserManagerImpl() );
+                log.info( "user managerImpls changed to {} so reload it",
+                          archivaRuntimeConfiguration.getUserManagerImpls() );
                 userManager.initialize();
             }
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/ArchivaRuntimeConfigurationServiceTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/ArchivaRuntimeConfigurationServiceTest.java?rev=1418718&r1=1418717&r2=1418718&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/ArchivaRuntimeConfigurationServiceTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/ArchivaRuntimeConfigurationServiceTest.java
 Sat Dec  8 17:41:27 2012
@@ -24,6 +24,7 @@ import org.apache.archiva.rest.api.servi
 import org.fest.assertions.api.Assertions;
 import org.junit.Test;
 
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -38,7 +39,7 @@ public class ArchivaRuntimeConfiguration
     {
         ArchivaRuntimeConfiguration archivaRuntimeConfiguration =
             
getArchivaRuntimeConfigurationService().getArchivaRuntimeConfigurationAdmin();
-        assertEquals( "jdo", archivaRuntimeConfiguration.getUserManagerImpl() 
);
+        assertEquals( "jdo", 
archivaRuntimeConfiguration.getUserManagerImpls().get( 0 ) );
     }
 
     @Test
@@ -47,14 +48,14 @@ public class ArchivaRuntimeConfiguration
     {
         ArchivaRuntimeConfiguration archivaRuntimeConfiguration =
             
getArchivaRuntimeConfigurationService().getArchivaRuntimeConfigurationAdmin();
-        assertEquals( "jdo", archivaRuntimeConfiguration.getUserManagerImpl() 
);
+        assertEquals( "jdo", 
archivaRuntimeConfiguration.getUserManagerImpls().get( 0 ) );
 
-        archivaRuntimeConfiguration.setUserManagerImpl( "foo" );
+        archivaRuntimeConfiguration.setUserManagerImpls( Arrays.asList( "foo" 
) );
 
         
getArchivaRuntimeConfigurationService().updateArchivaRuntimeConfiguration( 
archivaRuntimeConfiguration );
 
         archivaRuntimeConfiguration = 
getArchivaRuntimeConfigurationService().getArchivaRuntimeConfigurationAdmin();
-        assertEquals( "foo", archivaRuntimeConfiguration.getUserManagerImpl() 
);
+        assertEquals( "foo", 
archivaRuntimeConfiguration.getUserManagerImpls().get( 0 ) );
 
     }
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaConfigurableUsersManager.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaConfigurableUsersManager.java?rev=1418718&r1=1418717&r2=1418718&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaConfigurableUsersManager.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaConfigurableUsersManager.java
 Sat Dec  8 17:41:27 2012
@@ -20,18 +20,24 @@ package org.apache.archiva.web.security;
 
 import org.apache.archiva.admin.model.RepositoryAdminException;
 import org.apache.archiva.admin.model.runtime.ArchivaRuntimeConfigurationAdmin;
+import org.apache.archiva.redback.users.User;
 import org.apache.archiva.redback.users.UserManager;
+import org.apache.archiva.redback.users.UserManagerListener;
+import org.apache.archiva.redback.users.UserNotFoundException;
+import org.apache.archiva.redback.users.UserQuery;
 import org.apache.archiva.redback.users.configurable.ConfigurableUserManager;
 import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Service;
 
 import javax.inject.Inject;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * @author Olivier Lamy
  * @since 1.4-M4
  */
-@Service ( "userManager#archiva" )
+@Service("userManager#archiva")
 public class ArchivaConfigurableUsersManager
     extends ConfigurableUserManager
 {
@@ -42,17 +48,24 @@ public class ArchivaConfigurableUsersMan
     @Inject
     private ApplicationContext applicationContext;
 
+    private List<UserManager> userManagers;
+
     @Override
     public void initialize()
     {
         try
         {
-            String userManagerImplStr =
-                
archivaRuntimeConfigurationAdmin.getArchivaRuntimeConfiguration().getUserManagerImpl();
-            log.info( "use userManagerImpl: '{}'", userManagerImplStr );
-            UserManager userManagerImpl =
-                applicationContext.getBean( "userManager#" + 
userManagerImplStr, UserManager.class );
-            setUserManagerImpl( userManagerImpl );
+            List<String> userManagerImpls =
+                
archivaRuntimeConfigurationAdmin.getArchivaRuntimeConfiguration().getUserManagerImpls();
+            log.info( "use userManagerImpls: '{}'", userManagerImpls );
+
+            userManagers = new ArrayList<UserManager>( userManagerImpls.size() 
);
+            for ( String id : userManagerImpls )
+            {
+                UserManager userManagerImpl = applicationContext.getBean( 
"userManager#" + id, UserManager.class );
+                setUserManagerImpl( userManagerImpl );
+                userManagers.add( userManagerImpl );
+            }
         }
         catch ( RepositoryAdminException e )
         {
@@ -62,8 +75,214 @@ public class ArchivaConfigurableUsersMan
         }
     }
 
+    @Override
+    public User addUser( User user )
+    {
+        return super.addUser( user );    //To change body of overridden 
methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public void addUserUnchecked( User user )
+    {
+        super.addUserUnchecked( user );    //To change body of overridden 
methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public User createUser( String username, String fullName, String 
emailAddress )
+    {
+        return super.createUser( username, fullName,
+                                 emailAddress );    //To change body of 
overridden methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public UserQuery createUserQuery()
+    {
+        return super.createUserQuery();    //To change body of overridden 
methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public void deleteUser( Object principal )
+        throws UserNotFoundException
+    {
+        super.deleteUser( principal );    //To change body of overridden 
methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public void deleteUser( String username )
+        throws UserNotFoundException
+    {
+        super.deleteUser( username );    //To change body of overridden 
methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public void eraseDatabase()
+    {
+        super.eraseDatabase();    //To change body of overridden methods use 
File | Settings | File Templates.
+    }
+
+    @Override
+    public User findUser( String username )
+        throws UserNotFoundException
+    {
+        return super.findUser(
+            username );    //To change body of overridden methods use File | 
Settings | File Templates.
+    }
+
+    @Override
+    public User findUser( Object principal )
+        throws UserNotFoundException
+    {
+        return super.findUser(
+            principal );    //To change body of overridden methods use File | 
Settings | File Templates.
+    }
+
+    @Override
+    public User getGuestUser()
+        throws UserNotFoundException
+    {
+        return super.getGuestUser();    //To change body of overridden methods 
use File | Settings | File Templates.
+    }
+
+    @Override
+    public List<User> findUsersByEmailKey( String emailKey, boolean 
orderAscending )
+    {
+        return super.findUsersByEmailKey( emailKey,
+                                          orderAscending );    //To change 
body of overridden methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public List<User> findUsersByFullNameKey( String fullNameKey, boolean 
orderAscending )
+    {
+        return super.findUsersByFullNameKey( fullNameKey,
+                                             orderAscending );    //To change 
body of overridden methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public List<User> findUsersByQuery( UserQuery query )
+    {
+        return super.findUsersByQuery(
+            query );    //To change body of overridden methods use File | 
Settings | File Templates.
+    }
+
+    @Override
+    public List<User> findUsersByUsernameKey( String usernameKey, boolean 
orderAscending )
+    {
+        return super.findUsersByUsernameKey( usernameKey,
+                                             orderAscending );    //To change 
body of overridden methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public String getId()
+    {
+        return super.getId();    //To change body of overridden methods use 
File | Settings | File Templates.
+    }
+
+    @Override
+    public List<User> getUsers()
+    {
+        return super.getUsers();    //To change body of overridden methods use 
File | Settings | File Templates.
+    }
+
+    @Override
+    public List<User> getUsers( boolean orderAscending )
+    {
+        return super.getUsers(
+            orderAscending );    //To change body of overridden methods use 
File | Settings | File Templates.
+    }
+
+    @Override
+    public boolean isReadOnly()
+    {
+        return super.isReadOnly();    //To change body of overridden methods 
use File | Settings | File Templates.
+    }
+
+    @Override
+    public User updateUser( User user )
+        throws UserNotFoundException
+    {
+        return super.updateUser( user );    //To change body of overridden 
methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public User updateUser( User user, boolean passwordChangeRequired )
+        throws UserNotFoundException
+    {
+        return super.updateUser( user,
+                                 passwordChangeRequired );    //To change body 
of overridden methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public boolean userExists( Object principal )
+    {
+        return super.userExists(
+            principal );    //To change body of overridden methods use File | 
Settings | File Templates.
+    }
+
+    @Override
+    public void setUserManagerImpl( UserManager userManagerImpl )
+    {
+        super.setUserManagerImpl(
+            userManagerImpl );    //To change body of overridden methods use 
File | Settings | File Templates.
+    }
+
+    @Override
+    public void addUserManagerListener( UserManagerListener listener )
+    {
+        super.addUserManagerListener(
+            listener );    //To change body of overridden methods use File | 
Settings | File Templates.
+    }
+
+    @Override
+    public void removeUserManagerListener( UserManagerListener listener )
+    {
+        super.removeUserManagerListener(
+            listener );    //To change body of overridden methods use File | 
Settings | File Templates.
+    }
+
+    @Override
+    protected void fireUserManagerInit( boolean freshDatabase )
+    {
+        super.fireUserManagerInit(
+            freshDatabase );    //To change body of overridden methods use 
File | Settings | File Templates.
+    }
+
+    @Override
+    protected void fireUserManagerUserAdded( User addedUser )
+    {
+        super.fireUserManagerUserAdded(
+            addedUser );    //To change body of overridden methods use File | 
Settings | File Templates.
+    }
+
+    @Override
+    protected void fireUserManagerUserRemoved( User removedUser )
+    {
+        super.fireUserManagerUserRemoved(
+            removedUser );    //To change body of overridden methods use File 
| Settings | File Templates.
+    }
+
+    @Override
+    protected void fireUserManagerUserUpdated( User updatedUser )
+    {
+        super.fireUserManagerUserUpdated(
+            updatedUser );    //To change body of overridden methods use File 
| Settings | File Templates.
+    }
+
+    @Override
+    public User createGuestUser()
+    {
+        return super.createGuestUser();    //To change body of overridden 
methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public boolean isFinalImplementation()
+    {
+        return super.isFinalImplementation();    //To change body of 
overridden methods use File | Settings | File Templates.
+    }
+
     public String getDescriptionKey()
     {
         return "archiva.redback.usermanager.configurable.archiva";
     }
+
+
 }

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java?rev=1418718&r1=1418717&r2=1418718&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java
 Sat Dec  8 17:41:27 2012
@@ -319,6 +319,11 @@ public class SecuritySystemStub
                     {
                         //To change body of implemented methods use File | 
Settings | File Templates.
                     }
+
+                    public String getUserManagerId()
+                    {
+                        return "mock";
+                    }
                 };
             }
 
@@ -504,6 +509,11 @@ public class SecuritySystemStub
                     {
                         //To change body of implemented methods use File | 
Settings | File Templates.
                     }
+
+                    public String getUserManagerId()
+                    {
+                        return "mock";
+                    }
                 };
             }
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js?rev=1418718&r1=1418717&r2=1418718&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
 Sat Dec  8 17:41:27 2012
@@ -1151,8 +1151,8 @@ define("archiva.general-admin",["jquery"
   }
 
 
-  
ArchivaRuntimeConfiguration=function(userManagerImpl,ldapConfiguration,migratedFromRedbackConfiguration,configurationPropertiesEntries){
-    this.userManagerImpl=ko.observable(userManagerImpl);
+  
ArchivaRuntimeConfiguration=function(userManagerImpls,ldapConfiguration,migratedFromRedbackConfiguration,configurationPropertiesEntries){
+    this.userManagerImpls=ko.observableArray(userManagerImpls);
     this.ldapConfiguration=ko.observable(ldapConfiguration);
     
this.migratedFromRedbackConfiguration=ko.observable(migratedFromRedbackConfiguration);
     
this.configurationPropertiesEntries=ko.observableArray(configurationPropertiesEntries?configurationPropertiesEntries:[]);

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js?rev=1418718&r1=1418717&r2=1418718&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js
 Sat Dec  8 17:41:27 2012
@@ -34,9 +34,11 @@ function(jquery,utils,i18n,jqueryValidat
    * @param locked
    * @param passwordChangeRequired
    * @param ownerViewModel
+   * @param readOnly
+   * @param uuserManagerId
    */
   User=function(username, password, 
confirmPassword,fullName,email,permanent,validated,timestampAccountCreation,
-                
timestampLastLogin,timestampLastPasswordChange,locked,passwordChangeRequired,ownerViewModel,readOnly)
 {
+                
timestampLastLogin,timestampLastPasswordChange,locked,passwordChangeRequired,ownerViewModel,readOnly,userManagerId)
 {
     var self=this;
     // Potentially Editable Field.
     this.username = ko.observable(username);
@@ -78,6 +80,8 @@ function(jquery,utils,i18n,jqueryValidat
 
     this.readOnly=readOnly;
 
+    this.userManagerId=userManagerId;
+
     this.rememberme=false;
 
     this.logged=false;
@@ -811,7 +815,7 @@ function(jquery,utils,i18n,jqueryValidat
   mapUser=function(data) {
     return new User(data.username, data.password, 
null,data.fullName,data.email,data.permanent,data.validated,
                     
data.timestampAccountCreation,data.timestampLastLogin,data.timestampLastPasswordChange,
-                    
data.locked,data.passwordChangeRequired,self,data.readOnly);
+                    
data.locked,data.passwordChangeRequired,self,data.readOnly,data.userManagerId);
   }
 
 


Reply via email to