You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2007/06/25 16:38:29 UTC

svn commit: r550517 - /lenya/trunk/src/modules-core/acusecases/java/src/org/apache/lenya/cms/ac/usecases/AccessControlUsecase.java

Author: andreas
Date: Mon Jun 25 07:38:25 2007
New Revision: 550517

URL: http://svn.apache.org/viewvc?view=rev&rev=550517
Log:
AccessControlUsecase: throw reasonable exception instead of NPE if access controller could not be resolved

Modified:
    lenya/trunk/src/modules-core/acusecases/java/src/org/apache/lenya/cms/ac/usecases/AccessControlUsecase.java

Modified: lenya/trunk/src/modules-core/acusecases/java/src/org/apache/lenya/cms/ac/usecases/AccessControlUsecase.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/acusecases/java/src/org/apache/lenya/cms/ac/usecases/AccessControlUsecase.java?view=diff&rev=550517&r1=550516&r2=550517
==============================================================================
--- lenya/trunk/src/modules-core/acusecases/java/src/org/apache/lenya/cms/ac/usecases/AccessControlUsecase.java (original)
+++ lenya/trunk/src/modules-core/acusecases/java/src/org/apache/lenya/cms/ac/usecases/AccessControlUsecase.java Mon Jun 25 07:38:25 2007
@@ -48,8 +48,8 @@
     private AccessController accessController;
 
     /**
-     * Initializes the accreditable managers. FIXME: This method resolves the AccessController, it
-     * has to be released after it is used!
+     * Initializes the accreditable managers. FIXME: This method resolves the
+     * AccessController, it has to be released after it is used!
      */
     protected void initializeAccessController() {
         super.doInitialize();
@@ -64,11 +64,18 @@
         try {
             selector = (ServiceSelector) this.manager.lookup(AccessControllerResolver.ROLE
                     + "Selector");
-            resolver = (AccessControllerResolver) selector.select(AccessControllerResolver.DEFAULT_RESOLVER);
+            resolver = (AccessControllerResolver) selector
+                    .select(AccessControllerResolver.DEFAULT_RESOLVER);
 
             this.accessController = resolver.resolveAccessController(getSourceURL());
 
-            AccreditableManager accreditableManager = this.accessController.getAccreditableManager();
+            if (this.accessController == null) {
+                throw new RuntimeException("No access controller could be resolved for URL ["
+                        + getSourceURL() + "].");
+            }
+
+            AccreditableManager accreditableManager = this.accessController
+                    .getAccreditableManager();
 
             this.userManager = accreditableManager.getUserManager();
             this.groupManager = accreditableManager.getGroupManager();
@@ -124,7 +131,9 @@
     protected UserManager getUserManager() {
         if (this.userManager == null) {
             if (getLogger().isDebugEnabled())
-                getLogger().debug("getUserManager() accessed, is null, so calling initializeAccessController");
+                getLogger()
+                        .debug(
+                                "getUserManager() accessed, is null, so calling initializeAccessController");
             initializeAccessController();
         }
         return this.userManager;



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org