Author: olamy
Date: Fri Feb 22 16:04:52 2013
New Revision: 1449090

URL: http://svn.apache.org/r1449090
Log:
make sure rbacmanager is not readonly before chaining write actions

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.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/DefaultRedbackRuntimeConfigurationAdmin.java?rev=1449090&r1=1449089&r2=1449090&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultRedbackRuntimeConfigurationAdmin.java
 Fri Feb 22 16:04:52 2013
@@ -145,8 +145,9 @@ public class DefaultRedbackRuntimeConfig
                 ldapConfiguration.setUseRoleNameAsGroup(
                     userConfiguration.getBoolean( 
UserConfigurationKeys.LDAP_GROUPS_USE_ROLENAME, false ) );
 
-                ldapConfiguration.setBindAuthenticatorEnabled(
-                    userConfiguration.getBoolean( 
UserConfigurationKeys.LDAP_BIND_AUTHENTICATOR_ENABLED, false ) );
+                boolean ldapBindAuthenticatorEnabled =
+                    userConfiguration.getBoolean( 
UserConfigurationKeys.LDAP_BIND_AUTHENTICATOR_ENABLED, false );
+                ldapConfiguration.setBindAuthenticatorEnabled( 
ldapBindAuthenticatorEnabled );
 
                 
redbackRuntimeConfiguration.setMigratedFromRedbackConfiguration( true );
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java?rev=1449090&r1=1449089&r2=1449090&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java
 Fri Feb 22 16:04:52 2013
@@ -144,8 +144,11 @@ public class ArchivaRbacManager
         {
             try
             {
-                role = rbacManager.saveRole( role );
-                allFailed = false;
+                if ( !rbacManager.isReadOnly() )
+                {
+                    role = rbacManager.saveRole( role );
+                    allFailed = false;
+                }
             }
             catch ( Exception e )
             {
@@ -168,8 +171,11 @@ public class ArchivaRbacManager
         {
             try
             {
-                rbacManager.saveRoles( roles );
-                allFailed = false;
+                if ( !rbacManager.isReadOnly() )
+                {
+                    rbacManager.saveRoles( roles );
+                    allFailed = false;
+                }
             }
             catch ( Exception e )
             {
@@ -294,8 +300,11 @@ public class ArchivaRbacManager
         {
             try
             {
-                permission = rbacManager.savePermission( permission );
-                allFailed = false;
+                if ( rbacManager.isReadOnly() )
+                {
+                    permission = rbacManager.savePermission( permission );
+                    allFailed = false;
+                }
             }
             catch ( Exception e )
             {
@@ -416,8 +425,11 @@ public class ArchivaRbacManager
         {
             try
             {
-                operation = rbacManager.saveOperation( operation );
-                allFailed = false;
+                if ( !rbacManager.isReadOnly() )
+                {
+                    operation = rbacManager.saveOperation( operation );
+                    allFailed = false;
+                }
             }
             catch ( Exception e )
             {
@@ -537,9 +549,11 @@ public class ArchivaRbacManager
         {
             try
             {
-                resource = rbacManager.saveResource( resource );
-
-                allFailed = false;
+                if ( !rbacManager.isReadOnly() )
+                {
+                    resource = rbacManager.saveResource( resource );
+                    allFailed = false;
+                }
             }
             catch ( Exception e )
             {
@@ -659,8 +673,11 @@ public class ArchivaRbacManager
         {
             try
             {
-                userAssignment = rbacManager.saveUserAssignment( 
userAssignment );
-                allFailed = false;
+                if ( !rbacManager.isReadOnly() )
+                {
+                    userAssignment = rbacManager.saveUserAssignment( 
userAssignment );
+                    allFailed = false;
+                }
             }
             catch ( Exception e )
             {


Reply via email to