You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2018/04/08 18:48:26 UTC

[archiva-redback-core] branch master updated (87e8bba -> 5332c59)

This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/archiva-redback-core.git.


    from 87e8bba  Changing some generic interfaces
     new 70b9c04  Reducing compiler warnings and modifying generic interfaces
     new 5332c59  Reducing other compiler warnings and changing generics usage

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../redback/management/DataManagementTest.java     |  4 +-
 .../integration/mail/VelocityMailGenerator.java    | 13 ++++-
 .../services/DefaultLdapGroupMappingService.java   | 16 ++-----
 .../redback/rest/services/DefaultUserService.java  | 37 ++++-----------
 .../rest/services/mock/MockUserConfiguration.java  |  3 +-
 .../redback/keys/cached/CachedKeyManager.java      | 13 +++--
 .../redback/keys/cached/CachedKeyManagerTest.java  |  2 +-
 .../apache/archiva/redback/users/UserManager.java  | 12 ++---
 .../redback/users/cached/CachedUserManager.java    | 55 +++++++++++++++++-----
 .../users/cached/CachedUserManagerTest.java        |  2 +-
 .../configurable/ConfigurableUserManager.java      | 32 ++++++++++---
 .../archiva/redback/users/jpa/JpaUserManager.java  | 51 +++++++++++---------
 .../redback/users/jpa/JpaUserManagerTest.java      | 24 ----------
 .../users/ldap/ctl/DefaultLdapController.java      | 49 ++++++++++---------
 .../redback/users/ldap/LdapUserManagerTest.java    |  4 +-
 .../provider/test/AbstractUserManagerTestCase.java |  2 +-
 16 files changed, 168 insertions(+), 151 deletions(-)

-- 
To stop receiving notification emails like this one, please contact
martin_s@apache.org.

[archiva-redback-core] 02/02: Reducing other compiler warnings and changing generics usage

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/archiva-redback-core.git

commit 5332c5926e27504b03cd64821f98ba41830b1c15
Author: Martin Stockhammer <ma...@apache.org>
AuthorDate: Sun Apr 8 20:13:07 2018 +0200

    Reducing other compiler warnings and changing generics usage
---
 .../integration/mail/VelocityMailGenerator.java    | 13 +++++++-
 .../services/DefaultLdapGroupMappingService.java   | 16 ++++------
 .../redback/rest/services/DefaultUserService.java  | 35 +++++-----------------
 .../rest/services/mock/MockUserConfiguration.java  |  3 +-
 .../redback/keys/cached/CachedKeyManagerTest.java  |  2 +-
 .../redback/users/cached/CachedUserManager.java    | 12 ++++----
 .../users/cached/CachedUserManagerTest.java        |  2 +-
 7 files changed, 35 insertions(+), 48 deletions(-)

diff --git a/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/VelocityMailGenerator.java b/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/VelocityMailGenerator.java
index 7d46074..9bb5840 100644
--- a/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/VelocityMailGenerator.java
+++ b/redback-integrations/redback-common-integrations/src/main/java/org/apache/archiva/redback/integration/mail/VelocityMailGenerator.java
@@ -48,6 +48,8 @@ public class VelocityMailGenerator
 {
     private Logger log = LoggerFactory.getLogger( VelocityMailGenerator.class );
 
+    public static final String DEFAULT_ENCODING = "UTF-8";
+
     @Inject
     @Named(value = "userConfiguration#default")
     private UserConfiguration config;
@@ -57,6 +59,15 @@ public class VelocityMailGenerator
     @Named(value = "velocityEngine#redback")
     private VelocityEngine velocityEngine;
 
+    private String encoding;
+
+    private String getEncoding() {
+        if (this.encoding==null) {
+            this.encoding = config.getString( "mail.encoding", DEFAULT_ENCODING );
+        }
+        return this.encoding;
+    }
+
     public String generateMail( String templateName, AuthenticationKey authkey, String baseUrl )
     {
         VelocityContext context = createVelocityContext( authkey, baseUrl );
@@ -68,7 +79,7 @@ public class VelocityMailGenerator
 
         try
         {
-            velocityEngine.mergeTemplate( templateFile, context, writer );
+            velocityEngine.mergeTemplate( templateFile, getEncoding(), context, writer );
         }
         catch ( ResourceNotFoundException e )
         {
diff --git a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLdapGroupMappingService.java b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLdapGroupMappingService.java
index 319bd53..0fd8577 100644
--- a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLdapGroupMappingService.java
+++ b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLdapGroupMappingService.java
@@ -19,7 +19,6 @@ package org.apache.archiva.redback.rest.services;
  */
 
 import org.apache.archiva.redback.common.ldap.MappingException;
-import org.apache.archiva.redback.common.ldap.connection.DefaultLdapConnection;
 import org.apache.archiva.redback.common.ldap.connection.LdapConnection;
 import org.apache.archiva.redback.common.ldap.connection.LdapConnectionFactory;
 import org.apache.archiva.redback.common.ldap.connection.LdapException;
@@ -51,7 +50,7 @@ import java.util.Map;
 public class DefaultLdapGroupMappingService
     implements LdapGroupMappingService
 {
-    private Logger log = LoggerFactory.getLogger( getClass() );
+    private final Logger log = LoggerFactory.getLogger( getClass() );
 
     @Inject
     @Named(value = "ldapRoleMapper#default")
@@ -78,12 +77,7 @@ public class DefaultLdapGroupMappingService
             context = ldapConnection.getDirContext();
             return new StringList( ldapRoleMapper.getAllGroups( context ) );
         }
-        catch ( LdapException e )
-        {
-            log.error( e.getMessage(), e );
-            throw new RedbackServiceException( e.getMessage() );
-        }
-        catch ( MappingException e )
+        catch ( LdapException | MappingException e )
         {
             log.error( e.getMessage(), e );
             throw new RedbackServiceException( e.getMessage() );
@@ -101,7 +95,7 @@ public class DefaultLdapGroupMappingService
         try
         {
             Map<String, Collection<String>> map = ldapRoleMapperConfiguration.getLdapGroupMappings();
-            List<LdapGroupMapping> ldapGroupMappings = new ArrayList<LdapGroupMapping>( map.size() );
+            List<LdapGroupMapping> ldapGroupMappings = new ArrayList<>( map.size( ) );
             for ( Map.Entry<String, Collection<String>> entry : map.entrySet() )
             {
                 LdapGroupMapping ldapGroupMapping = new LdapGroupMapping( entry.getKey(), entry.getValue() );
@@ -123,7 +117,7 @@ public class DefaultLdapGroupMappingService
         try
         {
             ldapRoleMapperConfiguration.addLdapMapping( ldapGroupMapping.getGroup(),
-                                                        new ArrayList( ldapGroupMapping.getRoleNames() ) );
+                                                        new ArrayList<>( ldapGroupMapping.getRoleNames() ) );
         }
         catch ( MappingException e )
         {
@@ -156,7 +150,7 @@ public class DefaultLdapGroupMappingService
             for ( LdapGroupMapping ldapGroupMapping : ldapGroupMappingUpdateRequest.getLdapGroupMapping() )
             {
                 ldapRoleMapperConfiguration.updateLdapMapping( ldapGroupMapping.getGroup(),
-                                                               new ArrayList( ldapGroupMapping.getRoleNames() ) );
+                                                               new ArrayList<>( ldapGroupMapping.getRoleNames() ) );
             }
         }
         catch ( MappingException e )
diff --git a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
index 687602a..73b0fb9 100644
--- a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
+++ b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
@@ -100,21 +100,21 @@ public class DefaultUserService
      */
     @Inject
     @Named( value = "cache#userAssignments" )
-    private Cache userAssignmentsCache;
+    private Cache<String, ? extends UserAssignment> userAssignmentsCache;
 
     /**
      * cache used for user permissions
      */
     @Inject
     @Named( value = "cache#userPermissions" )
-    private Cache userPermissionsCache;
+    private Cache<String, ? extends Permission> userPermissionsCache;
 
     /**
      * Cache used for users
      */
     @Inject
     @Named( value = "cache#users" )
-    private Cache usersCache;
+    private Cache<String, ? extends User> usersCache;
 
     @Inject
     private Mailer mailer;
@@ -284,7 +284,7 @@ public class DefaultUserService
         try
         {
             List<? extends org.apache.archiva.redback.users.User> users = userManager.getUsers();
-            List<User> simpleUsers = new ArrayList<User>( users.size() );
+            List<User> simpleUsers = new ArrayList<>( users.size( ) );
 
             for ( org.apache.archiva.redback.users.User user : users )
             {
@@ -457,14 +457,8 @@ public class DefaultUserService
             roleManager.assignRole( config.getString( UserConfigurationKeys.DEFAULT_GUEST ), user.getUsername() );
             return getSimpleUser( user );
         }
-        catch ( RoleManagerException e )
-        {
-            log.error( e.getMessage(), e );
-            throw new RedbackServiceException( e.getMessage() );
-        }
-        catch ( UserNotFoundException e )
+        catch ( RoleManagerException | UserNotFoundException e )
         {
-            // olamy I wonder how this can happen :-)
             log.error( e.getMessage(), e );
             throw new RedbackServiceException( e.getMessage() );
         }
@@ -753,7 +747,7 @@ public class DefaultUserService
 
             return Boolean.TRUE;
         }
-        catch ( MustChangePasswordException e )
+        catch ( MustChangePasswordException | AccountLockedException | AuthenticationException e )
         {
             throw new RedbackServiceException( e.getMessage(), Response.Status.FORBIDDEN.getStatusCode() );
         }
@@ -772,14 +766,6 @@ public class DefaultUserService
             throw new RedbackServiceException( new ErrorMessage( "cannot.find.user", new String[]{ principal } ) );
 
         }
-        catch ( AccountLockedException e )
-        {
-            throw new RedbackServiceException( e.getMessage(), Response.Status.FORBIDDEN.getStatusCode() );
-        }
-        catch ( AuthenticationException e )
-        {
-            throw new RedbackServiceException( e.getMessage(), Response.Status.FORBIDDEN.getStatusCode() );
-        }
         catch ( UserManagerException e )
         {
             throw new RedbackServiceException( new ErrorMessage( e.getMessage() ) );
@@ -824,7 +810,7 @@ public class DefaultUserService
         throws RedbackServiceException
     {
         Collection<Permission> permissions = getUserPermissions( userName );
-        List<Operation> operations = new ArrayList<Operation>( permissions.size() );
+        List<Operation> operations = new ArrayList<>( permissions.size( ) );
         for ( Permission permission : permissions )
         {
             if ( permission.getOperation() != null )
@@ -845,7 +831,7 @@ public class DefaultUserService
             Set<? extends org.apache.archiva.redback.rbac.Permission> permissions =
                 rbacManager.getAssignedPermissions( userName );
             // FIXME return guest permissions !!
-            List<Permission> userPermissions = new ArrayList<Permission>( permissions.size() );
+            List<Permission> userPermissions = new ArrayList<>( permissions.size( ) );
             for ( org.apache.archiva.redback.rbac.Permission p : permissions )
             {
                 Permission permission = new Permission();
@@ -870,11 +856,6 @@ public class DefaultUserService
             }
             return userPermissions;
         }
-        catch ( RbacObjectNotFoundException e )
-        {
-            log.error( e.getMessage(), e );
-            throw new RedbackServiceException( e.getMessage() );
-        }
         catch ( RbacManagerException e )
         {
             log.error( e.getMessage(), e );
diff --git a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/MockUserConfiguration.java b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/MockUserConfiguration.java
index 69a3a83..461c495 100644
--- a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/MockUserConfiguration.java
+++ b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/MockUserConfiguration.java
@@ -34,7 +34,7 @@ import java.util.Map;
  */
 public class MockUserConfiguration implements UserConfiguration {
 
-    private Map<String, Object> values = new java.util.HashMap<String,Object>();
+    private Map<String, Object> values = new java.util.HashMap<>( );
 
     @SuppressWarnings("SameParameterValue")
     public void addValue(String key, String value) {
@@ -92,6 +92,7 @@ public class MockUserConfiguration implements UserConfiguration {
         }
     }
 
+    @SuppressWarnings( "unchecked" )
     @Override
     public List<String> getList(String key) {
         Object value = values.get(key);
diff --git a/redback-keys/redback-keys-providers/redback-keys-cached/src/test/java/org/apache/archiva/redback/keys/cached/CachedKeyManagerTest.java b/redback-keys/redback-keys-providers/redback-keys-cached/src/test/java/org/apache/archiva/redback/keys/cached/CachedKeyManagerTest.java
index d323931..7624cb6 100644
--- a/redback-keys/redback-keys-providers/redback-keys-cached/src/test/java/org/apache/archiva/redback/keys/cached/CachedKeyManagerTest.java
+++ b/redback-keys/redback-keys-providers/redback-keys-cached/src/test/java/org/apache/archiva/redback/keys/cached/CachedKeyManagerTest.java
@@ -55,7 +55,7 @@ public class CachedKeyManagerTest
     protected void tearDown()
         throws Exception
     {
-        CacheManager.getInstance().removalAll();
+        CacheManager.getInstance().removeAllCaches();
         super.tearDown();
     }
 }
diff --git a/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java b/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java
index 37727b7..506bdb9 100644
--- a/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java
+++ b/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java
@@ -44,7 +44,7 @@ public class CachedUserManager
     implements UserManager, UserManagerListener
 {
 
-    private Logger log = LoggerFactory.getLogger( getClass() );
+    private final Logger log = LoggerFactory.getLogger( getClass() );
 
     @Inject
     @Named(value = "userManager#default")
@@ -271,7 +271,7 @@ public class CachedUserManager
     @Override
     public void userManagerInit( boolean freshDatabase )
     {
-        if ( userImpl instanceof UserManager )
+        if ( userImpl != null )
         {
             ( (UserManagerListener) this.userImpl ).userManagerInit( freshDatabase );
         }
@@ -282,7 +282,7 @@ public class CachedUserManager
     @Override
     public void userManagerUserAdded( User user )
     {
-        if ( userImpl instanceof UserManager )
+        if ( userImpl != null )
         {
             ( (UserManagerListener) this.userImpl ).userManagerUserAdded( user );
         }
@@ -296,7 +296,7 @@ public class CachedUserManager
     @Override
     public void userManagerUserRemoved( User user )
     {
-        if ( userImpl instanceof UserManager )
+        if ( userImpl != null )
         {
             ( (UserManagerListener) this.userImpl ).userManagerUserRemoved( user );
         }
@@ -310,7 +310,7 @@ public class CachedUserManager
     @Override
     public void userManagerUserUpdated( User user )
     {
-        if ( userImpl instanceof UserManager )
+        if ( userImpl != null )
         {
             ( (UserManagerListener) this.userImpl ).userManagerUserUpdated( user );
         }
@@ -336,7 +336,7 @@ public class CachedUserManager
         return usersCache;
     }
 
-    public void setUsersCache( Cache usersCache )
+    public void setUsersCache( Cache<String, User> usersCache )
     {
         this.usersCache = usersCache;
     }
diff --git a/redback-users/redback-users-providers/redback-users-cached/src/test/java/org/apache/archiva/redback/users/cached/CachedUserManagerTest.java b/redback-users/redback-users-providers/redback-users-cached/src/test/java/org/apache/archiva/redback/users/cached/CachedUserManagerTest.java
index 24d44ab..0ea7c41 100644
--- a/redback-users/redback-users-providers/redback-users-cached/src/test/java/org/apache/archiva/redback/users/cached/CachedUserManagerTest.java
+++ b/redback-users/redback-users-providers/redback-users-cached/src/test/java/org/apache/archiva/redback/users/cached/CachedUserManagerTest.java
@@ -66,6 +66,6 @@ public class CachedUserManagerTest
     @AfterClass
     public static void cleanCache()
     {
-        CacheManager.getInstance().removalAll();
+        CacheManager.getInstance().removeAllCaches();
     }
 }

-- 
To stop receiving notification emails like this one, please contact
martin_s@apache.org.

[archiva-redback-core] 01/02: Reducing compiler warnings and modifying generic interfaces

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/archiva-redback-core.git

commit 70b9c04294a33a3eee13722cea935e19ecd7ff72
Author: Martin Stockhammer <ma...@apache.org>
AuthorDate: Sun Apr 8 19:29:27 2018 +0200

    Reducing compiler warnings and modifying generic interfaces
---
 .../redback/management/DataManagementTest.java     |  4 +-
 .../redback/rest/services/DefaultUserService.java  |  2 +-
 .../redback/keys/cached/CachedKeyManager.java      | 13 +++---
 .../apache/archiva/redback/users/UserManager.java  | 12 ++---
 .../redback/users/cached/CachedUserManager.java    | 43 +++++++++++++++---
 .../configurable/ConfigurableUserManager.java      | 32 +++++++++++---
 .../archiva/redback/users/jpa/JpaUserManager.java  | 51 ++++++++++++----------
 .../redback/users/jpa/JpaUserManagerTest.java      | 24 ----------
 .../users/ldap/ctl/DefaultLdapController.java      | 49 ++++++++++-----------
 .../redback/users/ldap/LdapUserManagerTest.java    |  4 +-
 .../provider/test/AbstractUserManagerTestCase.java |  2 +-
 11 files changed, 133 insertions(+), 103 deletions(-)

diff --git a/redback-data-management/src/test/java/org/apache/archiva/redback/management/DataManagementTest.java b/redback-data-management/src/test/java/org/apache/archiva/redback/management/DataManagementTest.java
index 77c44de..08bee69 100644
--- a/redback-data-management/src/test/java/org/apache/archiva/redback/management/DataManagementTest.java
+++ b/redback-data-management/src/test/java/org/apache/archiva/redback/management/DataManagementTest.java
@@ -337,7 +337,7 @@ public class DataManagementTest
 
         dataManagementTool.restoreUsersDatabase( manager, targetDirectory );
 
-        List<User> users = manager.getUsers();
+        List<? extends User> users = manager.getUsers();
         assertEquals( 3, users.size() );
 
         User user = users.get( 0 );
@@ -371,7 +371,7 @@ public class DataManagementTest
     private void assertEmpty( UserManager manager )
         throws UserManagerException
     {
-        List<User> users = manager.getUsers();
+        List<? extends User> users = manager.getUsers();
         assertEquals( 0, users.size() );
     }
 
diff --git a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
index 8759da4..687602a 100644
--- a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
+++ b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
@@ -283,7 +283,7 @@ public class DefaultUserService
     {
         try
         {
-            List<org.apache.archiva.redback.users.User> users = userManager.getUsers();
+            List<? extends org.apache.archiva.redback.users.User> users = userManager.getUsers();
             List<User> simpleUsers = new ArrayList<User>( users.size() );
 
             for ( org.apache.archiva.redback.users.User user : users )
diff --git a/redback-keys/redback-keys-providers/redback-keys-cached/src/main/java/org/apache/archiva/redback/keys/cached/CachedKeyManager.java b/redback-keys/redback-keys-providers/redback-keys-cached/src/main/java/org/apache/archiva/redback/keys/cached/CachedKeyManager.java
index 0d32c9b..b21d80a 100644
--- a/redback-keys/redback-keys-providers/redback-keys-cached/src/main/java/org/apache/archiva/redback/keys/cached/CachedKeyManager.java
+++ b/redback-keys/redback-keys-providers/redback-keys-cached/src/main/java/org/apache/archiva/redback/keys/cached/CachedKeyManager.java
@@ -19,11 +19,6 @@ package org.apache.archiva.redback.keys.cached;
  * under the License.
  */
 
-import java.util.List;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
 import org.apache.archiva.redback.components.cache.Cache;
 import org.apache.archiva.redback.keys.AbstractKeyManager;
 import org.apache.archiva.redback.keys.AuthenticationKey;
@@ -32,6 +27,10 @@ import org.apache.archiva.redback.keys.KeyManagerException;
 import org.apache.archiva.redback.keys.KeyNotFoundException;
 import org.springframework.stereotype.Service;
 
+import javax.inject.Inject;
+import javax.inject.Named;
+import java.util.List;
+
 /**
  * CachedKeyManager
  *
@@ -94,7 +93,7 @@ public class CachedKeyManager
     }
 
     public AuthenticationKey findKey( String key )
-        throws KeyNotFoundException, KeyManagerException
+        throws KeyManagerException
     {
         try
         {
@@ -146,7 +145,7 @@ public class CachedKeyManager
         return keysCache;
     }
 
-    public void setKeysCache( Cache keysCache )
+    public void setKeysCache( Cache<String, AuthenticationKey> keysCache )
     {
         this.keysCache = keysCache;
     }
diff --git a/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/UserManager.java b/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/UserManager.java
index 52b54b3..dfe9f40 100644
--- a/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/UserManager.java
+++ b/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/UserManager.java
@@ -100,10 +100,10 @@ public interface UserManager
      * @return the List of {@link User} Objects.
      * @throws UserManagerException
      */
-    List<User> getUsers()
+    List<? extends User> getUsers()
         throws UserManagerException;
 
-    List<User> getUsers( boolean orderAscending )
+    List<? extends User> getUsers( boolean orderAscending )
         throws UserManagerException;
 
     /**
@@ -156,13 +156,13 @@ public interface UserManager
     User getGuestUser()
         throws UserNotFoundException, UserManagerException;
 
-    List<User> findUsersByUsernameKey( String usernameKey, boolean orderAscending )
+    List<? extends User> findUsersByUsernameKey( String usernameKey, boolean orderAscending )
         throws UserManagerException;
 
-    List<User> findUsersByFullNameKey( String fullNameKey, boolean orderAscending )
+    List<? extends User> findUsersByFullNameKey( String fullNameKey, boolean orderAscending )
         throws UserManagerException;
 
-    List<User> findUsersByEmailKey( String emailKey, boolean orderAscending )
+    List<? extends User> findUsersByEmailKey( String emailKey, boolean orderAscending )
         throws UserManagerException;
 
     /**
@@ -172,7 +172,7 @@ public interface UserManager
      * @param query the query.
      * @return a List of {@link User} objects.
      */
-    List<User> findUsersByQuery( UserQuery query )
+    List<? extends User> findUsersByQuery( UserQuery query )
         throws UserManagerException;
 
     /**
diff --git a/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java b/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java
index d209e76..37727b7 100644
--- a/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java
+++ b/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java
@@ -54,17 +54,20 @@ public class CachedUserManager
     @Named(value = "cache#users")
     private Cache<String, User> usersCache;
 
+    @Override
     public boolean isReadOnly()
     {
         return userImpl.isReadOnly();
     }
 
+    @Override
     public User createGuestUser()
         throws UserManagerException
     {
         return userImpl.createGuestUser();
     }
 
+    @Override
     public User addUser( User user )
         throws UserManagerException
     {
@@ -75,11 +78,13 @@ public class CachedUserManager
         return this.userImpl.addUser( user );
     }
 
+    @Override
     public void addUserManagerListener( UserManagerListener listener )
     {
         this.userImpl.addUserManagerListener( listener );
     }
 
+    @Override
     public void addUserUnchecked( User user )
         throws UserManagerException
     {
@@ -90,6 +95,7 @@ public class CachedUserManager
         this.userImpl.addUserUnchecked( user );
     }
 
+    @Override
     public User createUser( String username, String fullName, String emailAddress )
         throws UserManagerException
     {
@@ -97,6 +103,7 @@ public class CachedUserManager
         return this.userImpl.createUser( username, fullName, emailAddress );
     }
 
+    @Override
     public void deleteUser( String username )
         throws UserNotFoundException, UserManagerException
     {
@@ -104,6 +111,7 @@ public class CachedUserManager
         this.userImpl.deleteUser( username );
     }
 
+    @Override
     public void eraseDatabase()
     {
         try
@@ -116,6 +124,7 @@ public class CachedUserManager
         }
     }
 
+    @Override
     public User findUser( String username )
         throws UserNotFoundException, UserManagerException
     {
@@ -145,6 +154,7 @@ public class CachedUserManager
         return findUser( username );
     }
 
+    @Override
     public User getGuestUser()
         throws UserNotFoundException, UserManagerException
     {
@@ -161,70 +171,81 @@ public class CachedUserManager
         }
     }
 
+    @Override
     public UserQuery createUserQuery()
     {
         return userImpl.createUserQuery();
     }
 
 
-    public List<User> findUsersByQuery( UserQuery query )
+    @Override
+    public List<? extends User> findUsersByQuery( UserQuery query )
         throws UserManagerException
     {
         log.debug( "NOT CACHED - .findUsersByQuery(UserQuery)" );
         return this.userImpl.findUsersByQuery( query );
     }
 
-    public List<User> findUsersByEmailKey( String emailKey, boolean orderAscending )
+    @Override
+    public List<? extends User> findUsersByEmailKey( String emailKey, boolean orderAscending )
         throws UserManagerException
     {
         log.debug( "NOT CACHED - .findUsersByEmailKey(String, boolean)" );
         return this.userImpl.findUsersByEmailKey( emailKey, orderAscending );
     }
 
-    public List<User> findUsersByFullNameKey( String fullNameKey, boolean orderAscending )
+    @Override
+    public List<? extends User> findUsersByFullNameKey( String fullNameKey, boolean orderAscending )
         throws UserManagerException
     {
         log.debug( "NOT CACHED - .findUsersByFullNameKey(String, boolean)" );
         return this.userImpl.findUsersByFullNameKey( fullNameKey, orderAscending );
     }
 
-    public List<User> findUsersByUsernameKey( String usernameKey, boolean orderAscending )
+    @Override
+    public List<? extends User> findUsersByUsernameKey( String usernameKey, boolean orderAscending )
         throws UserManagerException
     {
         log.debug( "NOT CACHED - .findUsersByUsernameKey(String, boolean)" );
         return this.userImpl.findUsersByUsernameKey( usernameKey, orderAscending );
     }
 
+    @Override
     public String getId()
     {
         return "cached";
     }
 
-    public List<User> getUsers()
+    @Override
+    public List<? extends User> getUsers()
         throws UserManagerException
     {
         log.debug( "NOT CACHED - .getUsers()" );
         return this.userImpl.getUsers();
     }
 
-    public List<User> getUsers( boolean orderAscending )
+    @Override
+    public List<? extends User> getUsers( boolean orderAscending )
         throws UserManagerException
     {
         log.debug( "NOT CACHED - .getUsers(boolean)" );
         return this.userImpl.getUsers( orderAscending );
     }
 
+    @Override
     public void removeUserManagerListener( UserManagerListener listener )
     {
         this.userImpl.removeUserManagerListener( listener );
     }
 
+    @Override
     public User updateUser( User user )
         throws UserNotFoundException, UserManagerException
     {
         return updateUser( user, false );
     }
 
+    @Override
     public User updateUser( User user, boolean passwordChangeRequired )
         throws UserNotFoundException, UserManagerException
     {
@@ -235,6 +256,7 @@ public class CachedUserManager
         return this.userImpl.updateUser( user, passwordChangeRequired );
     }
 
+    @Override
     public boolean userExists( String userName )
         throws UserManagerException
     {
@@ -246,6 +268,7 @@ public class CachedUserManager
         return this.userImpl.userExists( userName );
     }
 
+    @Override
     public void userManagerInit( boolean freshDatabase )
     {
         if ( userImpl instanceof UserManager )
@@ -256,6 +279,7 @@ public class CachedUserManager
         usersCache.clear();
     }
 
+    @Override
     public void userManagerUserAdded( User user )
     {
         if ( userImpl instanceof UserManager )
@@ -269,6 +293,7 @@ public class CachedUserManager
         }
     }
 
+    @Override
     public void userManagerUserRemoved( User user )
     {
         if ( userImpl instanceof UserManager )
@@ -282,6 +307,7 @@ public class CachedUserManager
         }
     }
 
+    @Override
     public void userManagerUserUpdated( User user )
     {
         if ( userImpl instanceof UserManager )
@@ -305,7 +331,7 @@ public class CachedUserManager
         this.userImpl = userImpl;
     }
 
-    public Cache getUsersCache()
+    public Cache<String, User> getUsersCache()
     {
         return usersCache;
     }
@@ -315,16 +341,19 @@ public class CachedUserManager
         this.usersCache = usersCache;
     }
 
+    @Override
     public void initialize()
     {
         // no op configurable impl do the job
     }
 
+    @Override
     public boolean isFinalImplementation()
     {
         return false;
     }
 
+    @Override
     public String getDescriptionKey()
     {
         return "archiva.redback.usermanager.cached";
diff --git a/redback-users/redback-users-providers/redback-users-configurable/src/main/java/org/apache/archiva/redback/users/configurable/ConfigurableUserManager.java b/redback-users/redback-users-providers/redback-users-configurable/src/main/java/org/apache/archiva/redback/users/configurable/ConfigurableUserManager.java
index 6ba3ec9..5cab0f5 100644
--- a/redback-users/redback-users-providers/redback-users-configurable/src/main/java/org/apache/archiva/redback/users/configurable/ConfigurableUserManager.java
+++ b/redback-users/redback-users-providers/redback-users-configurable/src/main/java/org/apache/archiva/redback/users/configurable/ConfigurableUserManager.java
@@ -50,6 +50,7 @@ public class ConfigurableUserManager
     private UserManager userManagerImpl;
 
 
+    @Override
     @PostConstruct
     public void initialize()
     {
@@ -66,40 +67,47 @@ public class ConfigurableUserManager
         userManagerImpl = applicationContext.getBean( "userManager#" + userManagerRole, UserManager.class );
     }
 
+    @Override
     public User addUser( User user )
         throws UserManagerException
     {
         return userManagerImpl.addUser( user );
     }
 
+    @Override
     public void addUserUnchecked( User user )
         throws UserManagerException
     {
         userManagerImpl.addUserUnchecked( user );
     }
 
+    @Override
     public User createUser( String username, String fullName, String emailAddress )
         throws UserManagerException
     {
         return userManagerImpl.createUser( username, fullName, emailAddress );
     }
 
+    @Override
     public UserQuery createUserQuery()
     {
         return userManagerImpl.createUserQuery();
     }
 
+    @Override
     public void deleteUser( String username )
         throws UserNotFoundException, UserManagerException
     {
         userManagerImpl.deleteUser( username );
     }
 
+    @Override
     public void eraseDatabase()
     {
         userManagerImpl.eraseDatabase();
     }
 
+    @Override
     public User findUser( String username )
         throws UserManagerException, UserNotFoundException
     {
@@ -120,64 +128,75 @@ public class ConfigurableUserManager
         return userManagerImpl.getGuestUser();
     }
 
-    public List<User> findUsersByEmailKey( String emailKey, boolean orderAscending )
+    @Override
+    public List<? extends User> findUsersByEmailKey( String emailKey, boolean orderAscending )
         throws UserManagerException
     {
         return userManagerImpl.findUsersByEmailKey( emailKey, orderAscending );
     }
 
-    public List<User> findUsersByFullNameKey( String fullNameKey, boolean orderAscending )
+    @Override
+    public List<? extends User> findUsersByFullNameKey( String fullNameKey, boolean orderAscending )
         throws UserManagerException
     {
         return userManagerImpl.findUsersByFullNameKey( fullNameKey, orderAscending );
     }
 
-    public List<User> findUsersByQuery( UserQuery query )
+    @Override
+    public List<? extends User> findUsersByQuery( UserQuery query )
         throws UserManagerException
     {
         return userManagerImpl.findUsersByQuery( query );
     }
 
-    public List<User> findUsersByUsernameKey( String usernameKey, boolean orderAscending )
+    @Override
+    public List<? extends User> findUsersByUsernameKey( String usernameKey, boolean orderAscending )
         throws UserManagerException
     {
         return userManagerImpl.findUsersByUsernameKey( usernameKey, orderAscending );
     }
 
+    @Override
     public String getId()
     {
         return "configurable";
     }
 
-    public List<User> getUsers()
+    @Override
+    public List<? extends User> getUsers()
         throws UserManagerException
     {
         return userManagerImpl.getUsers();
     }
 
-    public List<User> getUsers( boolean orderAscending )
+    @Override
+    public List<? extends User> getUsers( boolean orderAscending )
         throws UserManagerException
     {
         return userManagerImpl.getUsers( orderAscending );
     }
 
+    @Override
     public boolean isReadOnly()
     {
         return userManagerImpl.isReadOnly();
     }
 
+    @Override
     public User updateUser( User user )
         throws UserNotFoundException, UserManagerException
     {
         return updateUser( user, false );
     }
 
+    @Override
     public User updateUser( User user, boolean passwordChangeRequired )
         throws UserNotFoundException, UserManagerException
     {
         return userManagerImpl.updateUser( user, passwordChangeRequired );
     }
 
+    @Override
     public boolean userExists( String userName )
         throws UserManagerException
     {
@@ -189,6 +208,7 @@ public class ConfigurableUserManager
         this.userManagerImpl = userManagerImpl;
     }
 
+    @Override
     public String getDescriptionKey()
     {
         return "archiva.redback.usermanager.configurable";
diff --git a/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java b/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java
index ea81ac7..d9c3cae 100644
--- a/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java
+++ b/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java
@@ -20,17 +20,24 @@ package org.apache.archiva.redback.users.jpa;
  */
 
 import org.apache.archiva.redback.policy.UserSecurityPolicy;
-import org.apache.archiva.redback.users.*;
+import org.apache.archiva.redback.users.AbstractUserManager;
+import org.apache.archiva.redback.users.Messages;
+import org.apache.archiva.redback.users.PermanentUserException;
+import org.apache.archiva.redback.users.User;
+import org.apache.archiva.redback.users.UserManagerException;
+import org.apache.archiva.redback.users.UserNotFoundException;
+import org.apache.archiva.redback.users.UserQuery;
 import org.apache.archiva.redback.users.jpa.model.JpaUser;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.PostConstruct;
 import javax.inject.Inject;
-import javax.persistence.*;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+import javax.persistence.TypedQuery;
 import java.util.Date;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -91,17 +98,17 @@ public class JpaUserManager extends AbstractUserManager {
     }
 
     @Override
-    public List<User> getUsers() throws UserManagerException {
+    public List<? extends User> getUsers() throws UserManagerException {
         final EntityManager em = getEm();
-        Query q= em.createQuery("SELECT x from JpaUser x");
+        TypedQuery<JpaUser> q= em.createQuery("SELECT x from JpaUser x", JpaUser.class);
         return q.getResultList();
     }
 
     @Override
-    public List<User> getUsers(boolean orderAscending) throws UserManagerException {
+    public List<? extends User> getUsers(boolean orderAscending) throws UserManagerException {
         final EntityManager em = getEm();
         final String orderFlag = orderAscending ? "ASC" : "DESC";
-        Query q = em.createQuery("SELECT u FROM JpaUser u ORDER BY u.username "+orderFlag);
+        TypedQuery<JpaUser> q = em.createQuery("SELECT u FROM JpaUser u ORDER BY u.username "+orderFlag, JpaUser.class);
         return q.getResultList();
     }
 
@@ -140,18 +147,18 @@ public class JpaUserManager extends AbstractUserManager {
         if (user.getLastPasswordChange()==null) {
             user.setLastPasswordChange(new Date());
         }
-        em.persist((JpaUser)user);
+        em.persist( user );
         return user;
     }
 
     @Transactional
     @Override
-    public User updateUser(User user) throws UserNotFoundException, UserManagerException {
+    public User updateUser(User user) throws UserManagerException {
         return updateUser(user, false);
     }
 
     @Override
-    public User findUser(String username) throws UserNotFoundException, UserManagerException {
+    public User findUser(String username) throws UserManagerException {
         if (username==null) {
             throw new UserNotFoundException("Username was <null>");
         }
@@ -168,30 +175,30 @@ public class JpaUserManager extends AbstractUserManager {
     }
 
     @Override
-    public User findUser(String username, boolean useCache) throws UserNotFoundException, UserManagerException {
+    public User findUser(String username, boolean useCache) throws UserManagerException {
         return findUser(username);
     }
 
     @Override
-    public List<User> findUsersByUsernameKey(String usernameKey, boolean orderAscending) throws UserManagerException {
+    public List<? extends User> findUsersByUsernameKey(String usernameKey, boolean orderAscending) throws UserManagerException {
         return findUsers("username",usernameKey,"username",orderAscending);
     }
 
     @Override
-    public List<User> findUsersByFullNameKey(String fullNameKey, boolean orderAscending) throws UserManagerException {
+    public List<? extends User> findUsersByFullNameKey(String fullNameKey, boolean orderAscending) throws UserManagerException {
         return findUsers("fullName",fullNameKey,"username",orderAscending);
     }
 
     @Override
-    public List<User> findUsersByEmailKey(String emailKey, boolean orderAscending) throws UserManagerException {
+    public List<? extends User> findUsersByEmailKey(String emailKey, boolean orderAscending) throws UserManagerException {
         return findUsers("email",emailKey,"username", orderAscending);
     }
 
     @Override
-    public List<User> findUsersByQuery(final UserQuery queryParam) throws UserManagerException {
+    public List<? extends User> findUsersByQuery(final UserQuery queryParam) throws UserManagerException {
         final EntityManager em = getEm();
         final JpaUserQuery query = (JpaUserQuery)queryParam;
-        String orderByAttribute = "";
+        String orderByAttribute;
         if (UserQuery.ORDER_BY_EMAIL.equals(query.getOrderBy())) {
             orderByAttribute="email";
         } else if (UserQuery.ORDER_BY_FULLNAME.equals(query.getOrderBy())) {
@@ -240,7 +247,7 @@ public class JpaUserManager extends AbstractUserManager {
         return q.getResultList();
     }
 
-    private List<User> findUsers(final String attribute, final String pattern,
+    private List<? extends User> findUsers(final String attribute, final String pattern,
                                  final String orderAttribute, final boolean orderAscending)  {
         final EntityManager em = getEm();
         StringBuilder sb = new StringBuilder("SELECT u FROM JpaUser u WHERE LOWER(u.");
@@ -262,7 +269,7 @@ public class JpaUserManager extends AbstractUserManager {
 
     @Transactional
     @Override
-    public void deleteUser(String username) throws UserNotFoundException, UserManagerException {
+    public void deleteUser(String username) throws UserManagerException {
         final EntityManager em = getEm();
         User u = findUser(username);
         if (u.isPermanent()) {
@@ -293,7 +300,7 @@ public class JpaUserManager extends AbstractUserManager {
             log.info("USER FOUND: "+u.getUsername());
         }
         log.info("NEW USER "+user.getUsername());
-        em.persist((JpaUser)user);
+        em.persist( user );
 
     }
 
@@ -314,7 +321,7 @@ public class JpaUserManager extends AbstractUserManager {
 
     @Transactional
     @Override
-    public User updateUser(User user, boolean passwordChangeRequired) throws UserNotFoundException, UserManagerException {
+    public User updateUser(User user, boolean passwordChangeRequired) throws UserManagerException {
         if ( !( user instanceof JpaUser ) )
         {
             throw new UserManagerException( "Unable to update user. User object " + user.getClass().getName() +
diff --git a/redback-users/redback-users-providers/redback-users-jpa/src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java b/redback-users/redback-users-providers/redback-users-jpa/src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java
index cf77aa5..7c45338 100644
--- a/redback-users/redback-users-providers/redback-users-jpa/src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java
+++ b/redback-users/redback-users-providers/redback-users-jpa/src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java
@@ -19,34 +19,16 @@ package org.apache.archiva.redback.users.jpa;
  * under the License.
  */
 
-import org.apache.archiva.redback.policy.UserSecurityPolicy;
-import org.apache.archiva.redback.users.User;
 import org.apache.archiva.redback.users.UserManager;
-import org.apache.archiva.redback.users.UserManagerException;
-import org.apache.archiva.redback.users.UserNotFoundException;
-import org.apache.archiva.redback.users.jpa.model.JpaUser;
 import org.apache.archiva.redback.users.provider.test.AbstractUserManagerTestCase;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.junit.Before;
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.test.context.transaction.TransactionConfiguration;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.inject.Inject;
 import javax.inject.Named;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
 
 /**
  *
@@ -63,12 +45,6 @@ public class JpaUserManagerTest extends AbstractUserManagerTestCase {
     @Named("userManager#jpa")
     UserManager jpaUserManager;
 
-    @Inject
-    EntityManagerFactory entityManagerFactory;
-
-
-    @Inject
-    private UserSecurityPolicy securityPolicy;
 
     @Before
     @Override
diff --git a/redback-users/redback-users-providers/redback-users-ldap/src/main/java/org/apache/archiva/redback/users/ldap/ctl/DefaultLdapController.java b/redback-users/redback-users-providers/redback-users-ldap/src/main/java/org/apache/archiva/redback/users/ldap/ctl/DefaultLdapController.java
index 78f1d94..510e225 100644
--- a/redback-users/redback-users-providers/redback-users-ldap/src/main/java/org/apache/archiva/redback/users/ldap/ctl/DefaultLdapController.java
+++ b/redback-users/redback-users-providers/redback-users-ldap/src/main/java/org/apache/archiva/redback/users/ldap/ctl/DefaultLdapController.java
@@ -19,28 +19,7 @@ package org.apache.archiva.redback.users.ldap.ctl;
  * under the License.
  */
 
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.BasicAttribute;
-import javax.naming.directory.BasicAttributes;
-import javax.naming.directory.DirContext;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-
+import org.apache.archiva.redback.common.ldap.MappingException;
 import org.apache.archiva.redback.common.ldap.user.LdapUser;
 import org.apache.archiva.redback.common.ldap.user.LdapUserMapper;
 import org.apache.archiva.redback.common.ldap.user.UserMapper;
@@ -50,13 +29,33 @@ import org.apache.archiva.redback.policy.PasswordEncoder;
 import org.apache.archiva.redback.policy.encoders.SHA1PasswordEncoder;
 import org.apache.archiva.redback.users.User;
 import org.apache.archiva.redback.users.UserManager;
-import org.apache.archiva.redback.common.ldap.MappingException;
 import org.apache.archiva.redback.users.ldap.LdapUserQuery;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.PostConstruct;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.BasicAttribute;
+import javax.naming.directory.BasicAttributes;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.SearchControls;
+import javax.naming.directory.SearchResult;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 /**
  * @author  jesse
  */
@@ -420,10 +419,10 @@ public class DefaultLdapController
 
                 if ( uniqueMemberAttr != null )
                 {
-                    NamingEnumeration<String> allMembersEnum = (NamingEnumeration<String>) uniqueMemberAttr.getAll();
+                    NamingEnumeration<?> allMembersEnum = uniqueMemberAttr.getAll();
                     while ( allMembersEnum.hasMore() )
                     {
-                        String userName = allMembersEnum.next();
+                        String userName = allMembersEnum.next().toString();
                         // uid=blabla we only want bla bla
                         userName = StringUtils.substringAfter( userName, "=" );
                         userName = StringUtils.substringBefore( userName, "," );
diff --git a/redback-users/redback-users-providers/redback-users-ldap/src/test/java/org/apache/archiva/redback/users/ldap/LdapUserManagerTest.java b/redback-users/redback-users-providers/redback-users-ldap/src/test/java/org/apache/archiva/redback/users/ldap/LdapUserManagerTest.java
index 8c6339f..89f6b16 100644
--- a/redback-users/redback-users-providers/redback-users-ldap/src/test/java/org/apache/archiva/redback/users/ldap/LdapUserManagerTest.java
+++ b/redback-users/redback-users-providers/redback-users-ldap/src/test/java/org/apache/archiva/redback/users/ldap/LdapUserManagerTest.java
@@ -200,7 +200,7 @@ public class LdapUserManagerTest
 
         //assertNotNull( ldapCacheService.getUser( "jesse" ) );
 
-        List<User> users = userManager.getUsers();
+        List<? extends User> users = userManager.getUsers();
 
         assertNotNull( users );
 
@@ -244,7 +244,7 @@ public class LdapUserManagerTest
 
         assertTrue( userManager.userExists( "user10" ) );
 
-        List<User> users = userManager.getUsers();
+        List<? extends User> users = userManager.getUsers();
 
         assertNotNull( users );
 
diff --git a/redback-users/redback-users-tests/src/main/java/org/apache/archiva/redback/users/provider/test/AbstractUserManagerTestCase.java b/redback-users/redback-users-tests/src/main/java/org/apache/archiva/redback/users/provider/test/AbstractUserManagerTestCase.java
index 702507f..019b3f4 100644
--- a/redback-users/redback-users-tests/src/main/java/org/apache/archiva/redback/users/provider/test/AbstractUserManagerTestCase.java
+++ b/redback-users/redback-users-tests/src/main/java/org/apache/archiva/redback/users/provider/test/AbstractUserManagerTestCase.java
@@ -460,7 +460,7 @@ public class AbstractUserManagerTestCase
         // Query with default ordering ascending
         query = um.createUserQuery();
         query.setOrderBy( UserQuery.ORDER_BY_EMAIL );
-        List<User> users = um.findUsersByQuery( query );
+        List<? extends User> users = um.findUsersByQuery( query );
         assertEquals( 3, users.size() );
         assertEquals( "admin@somedomain.com", ( (User) users.get( 0 ) ).getEmail() );
 

-- 
To stop receiving notification emails like this one, please contact
martin_s@apache.org.