Author: olamy
Date: Thu Dec 13 10:25:23 2012
New Revision: 1421195
URL: http://svn.apache.org/viewvc?rev=1421195&view=rev
Log:
fix some NPE if not writable userManager
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaConfigurableUsersManager.java
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=1421195&r1=1421194&r2=1421195&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
Thu Dec 13 10:25:23 2012
@@ -111,9 +111,10 @@ public class ArchivaConfigurableUsersMan
throws UserManagerException
{
UserManager userManager = findFirstWritable();
- if ( userManager == null )
+ if ( userManager.isReadOnly() )
{
- throw new RuntimeException( "impossible to find a writable
userManager" );
+ log.warn( "cannot find writable user manager implementation, skip
user creation" );
+ return null;
}
return userManager.createUser( username, fullName, emailAddress );
}
@@ -121,7 +122,7 @@ public class ArchivaConfigurableUsersMan
@Override
public UserQuery createUserQuery()
{
- return super.createUserQuery(); //To change body of overridden
methods use File | Settings | File Templates.
+ return super.createUserQuery();
}
@@ -130,9 +131,10 @@ public class ArchivaConfigurableUsersMan
throws UserNotFoundException, UserManagerException
{
UserManager userManager = findFirstWritable();
- if ( userManager == null )
+ if ( userManager.isReadOnly() )
{
- throw new RuntimeException( "impossible to find a writable
userManager" );
+ log.warn( "cannot find writable user manager implementation, skip
delete user" );
+ return;
}
userManager.deleteUser( username );
}
@@ -325,8 +327,7 @@ public class ArchivaConfigurableUsersMan
@Override
public boolean isReadOnly()
{
- //olamy: must be it depends :-)
- return true;
+ return findFirstWritable() != null;
}
@Override
@@ -402,7 +403,13 @@ public class ArchivaConfigurableUsersMan
public User createGuestUser()
throws UserManagerException
{
- return findFirstWritable().createGuestUser();
+ UserManager userManager = findFirstWritable();
+ if ( userManager.isReadOnly() )
+ {
+ log.warn( "cannot find writable user manager implementation, skip
guest user creation" );
+ return null;
+ }
+ return userManager.createGuestUser();
}
@Override