Index: serverplugins/weblogic9/src/org/netbeans/modules/j2ee/weblogic9/WLDeploymentManager.java =================================================================== RCS file: /cvs/serverplugins/weblogic9/src/org/netbeans/modules/j2ee/weblogic9/WLDeploymentManager.java,v retrieving revision 1.9.8.3.2.3 diff -u -r1.9.8.3.2.3 WLDeploymentManager.java --- serverplugins/weblogic9/src/org/netbeans/modules/j2ee/weblogic9/WLDeploymentManager.java 11 Sep 2006 15:57:43 -0000 1.9.8.3.2.3 +++ serverplugins/weblogic9/src/org/netbeans/modules/j2ee/weblogic9/WLDeploymentManager.java 29 Sep 2006 10:15:13 -0000 @@ -159,19 +159,19 @@ return new WLDeployer(uri).deploy(target, file, file2, getHost(), getPort()); } else { //weblogic jsr88 version - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return new DelegatingProgressObject(dm.distribute(target, file, file2)); } finally { - originalLoader(); + originalLoader(currentLoader); } } } - private ClassLoader swapLoader; +// private ClassLoader swapLoader; - private void modifiedLoader() { - swapLoader = Thread.currentThread().getContextClassLoader(); + private ClassLoader modifiedLoader() { + ClassLoader currentLoader = Thread.currentThread().getContextClassLoader(); String serverRoot = getInstanceProperties().getProperty(WLPluginProperties.SERVER_ROOT_ATTR); // if serverRoot is null, then we are in a server instance registration process, thus this call // is made from InstanceProperties creation -> WLPluginProperties singleton contains @@ -180,9 +180,13 @@ serverRoot = WLPluginProperties.getInstance().getInstallLocation(); Thread.currentThread().setContextClassLoader(WLDeploymentFactory.getWLClassLoader(serverRoot)); + return currentLoader; } - private void originalLoader() { - Thread.currentThread().setContextClassLoader(swapLoader); + + private void originalLoader(ClassLoader currentLoader) { + if (currentLoader != null) { + Thread.currentThread().setContextClassLoader(currentLoader); + } } /** @@ -217,11 +221,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("redeploy(" + targetModuleID + ", " + // NOI18N inputStream + ", " + inputStream2 + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return new DelegatingProgressObject(dm.redeploy(targetModuleID, inputStream, inputStream2)); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -235,11 +239,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("distribute(" + target + ", " + // NOI18N inputStream + ", " + inputStream2 + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return new DelegatingProgressObject(dm.distribute(target, inputStream, inputStream2)); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -252,11 +256,11 @@ throws IllegalStateException { if (WLDebug.isEnabled()) // debug output WLDebug.notify("undeploy(" + targetModuleID + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return new DelegatingProgressObject(dm.undeploy(targetModuleID)); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -270,11 +274,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("stop(" + targetModuleID + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return new DelegatingProgressObject(dm.stop(targetModuleID)); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -288,11 +292,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("start(" + targetModuleID + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return new DelegatingProgressObject(dm.start(targetModuleID)); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -307,12 +311,12 @@ WLDebug.notify("getAvailableModules(" + moduleType + // NOI18N ", " + target + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { TargetModuleID t[] = dm.getAvailableModules(moduleType, target); return t; } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -327,7 +331,7 @@ WLDebug.notify("getNonRunningModules(" + moduleType + // NOI18N ", " + target + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { TargetModuleID t[] = dm.getNonRunningModules(moduleType, target); for (int i=0; i < t.length; i++) { @@ -335,7 +339,7 @@ } return t; } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -350,7 +354,7 @@ WLDebug.notify("getRunningModules(" + moduleType + // NOI18N ", " + target + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { TargetModuleID t[] = dm.getRunningModules(moduleType, target); for (int i=0; i < t.length; i++) { @@ -358,7 +362,7 @@ } return t; } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -374,11 +378,11 @@ WLDebug.notify("redeploy(" + targetModuleID + ", " + // NOI18N file + ", " + file2 + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return new DelegatingProgressObject(dm.redeploy(targetModuleID, file, file2)); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -391,11 +395,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("setLocale(" + locale + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { dm.setLocale(locale); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -408,11 +412,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("isLocaleSupported(" + locale + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return dm.isLocaleSupported(locale); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -428,11 +432,11 @@ WLDebug.notify("setDConfigBeanVersion(" + // NOI18N dConfigBeanVersionType + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { dm.setDConfigBeanVersion(dConfigBeanVersionType); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -447,11 +451,11 @@ WLDebug.notify("isDConfigBeanVersionSupported(" + // NOI18N dConfigBeanVersionType + ")"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return dm.isDConfigBeanVersionSupported(dConfigBeanVersionType); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -464,7 +468,7 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("release()"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { if (dm != null) { // delegate the call and clear the stored deployment manager @@ -479,7 +483,7 @@ } } } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -492,11 +496,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("isRedeploySupported()"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return dm.isRedeploySupported(); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -509,11 +513,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("getCurrentLocale()"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return dm.getCurrentLocale(); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -526,11 +530,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("getDConfigBeanVersion()"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return dm.getDConfigBeanVersion(); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -543,11 +547,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("getDefaultLocale()"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return dm.getDefaultLocale(); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -560,11 +564,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("getSupportedLocales()"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return dm.getSupportedLocales(); } finally { - originalLoader(); + originalLoader(currentLoader); } } @@ -577,11 +581,11 @@ if (WLDebug.isEnabled()) // debug output WLDebug.notify("getTargets()"); // NOI18N - modifiedLoader(); + ClassLoader currentLoader = modifiedLoader(); try { return dm.getTargets(); } finally { - originalLoader(); + originalLoader(currentLoader); } }