[cvs] expresso commit by lhamel: save old user, if any, when

JCorporate Ltd jcorp at jcorp2.servlets.net
Wed Nov 24 00:50:24 PST 2004


Log Message:
-----------
save old user, if any, when setting/unsetting superuser for initializing dbobjects

Modified Files:
--------------
    expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/misc:
        ConfigManager.java

Revision Data
-------------
Index: ConfigManager.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/misc/ConfigManager.java,v
retrieving revision 1.77
retrieving revision 1.78
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/misc/ConfigManager.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/misc/ConfigManager.java -u -r1.77 -r1.78
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/misc/ConfigManager.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/misc/ConfigManager.java
@@ -76,7 +76,9 @@
 import com.jcorporate.expresso.core.job.ServerException;
 import com.jcorporate.expresso.core.jsdkapi.GenericDispatcher;
 import com.jcorporate.expresso.core.registry.MutableRequestRegistry;
+import com.jcorporate.expresso.core.registry.RequestRegistry;
 import com.jcorporate.expresso.core.security.SuperUser;
+import com.jcorporate.expresso.core.security.User;
 import com.jcorporate.expresso.core.utility.JobHandler;
 import com.jcorporate.expresso.kernel.LogManager;
 import com.jcorporate.expresso.kernel.digester.SaxParserConfigurer;
@@ -449,6 +451,12 @@
 
                 // set up superuser ID on this thread, which is typically called from
                 // servlet initialization
+                User old = null;
+                try {
+                    old = RequestRegistry.getUser();
+                } catch (Exception e) {
+                    // no problem
+                }
                 try {
                     //This sets thread local variables with the local registry settings.
                     //We set it as a superuser instance for initialization purposes
@@ -491,7 +499,7 @@
                         }
                     }
                 } finally {
-                    new MutableRequestRegistry(oneDBName, null);
+                    new MutableRequestRegistry(oneDBName, old);
                 }
             } catch (DBException dbe) {
                 log.warn("Unable to initialize dbobjects... SchemaList may not be initialized yet", dbe);


More information about the cvs mailing list