You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2013/01/08 21:46:23 UTC
svn commit: r1430511 -
/geronimo/server/branches/3.0/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java
Author: gawor
Date: Tue Jan 8 20:46:23 2013
New Revision: 1430511
URL: http://svn.apache.org/viewvc?rev=1430511&view=rev
Log:
GERONIMO-6427: Avoid temporarily loading and unloading disabled modules
Modified:
geronimo/server/branches/3.0/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java
Modified: geronimo/server/branches/3.0/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/3.0/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java?rev=1430511&r1=1430510&r2=1430511&view=diff
==============================================================================
--- geronimo/server/branches/3.0/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java (original)
+++ geronimo/server/branches/3.0/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java Tue Jan 8 20:46:23 2013
@@ -58,7 +58,6 @@ import org.apache.geronimo.kernel.config
import org.apache.geronimo.kernel.config.NoSuchConfigException;
import org.apache.geronimo.kernel.management.State;
import org.apache.geronimo.kernel.repository.Artifact;
-import org.apache.geronimo.kernel.repository.MissingDependencyException;
import org.apache.geronimo.management.geronimo.WebModule;
import org.apache.geronimo.web.info.WebAppInfo;
import org.apache.geronimo.aries.ApplicationGBean;
@@ -237,17 +236,11 @@ public class ConfigManagerPortlet extend
ModuleDetails details = new ModuleDetails(info.getConfigID(), info.getType(), info.getState());
try {
AbstractName configObjName = Configuration.getConfigurationAbstractName(info.getConfigID());
- boolean loaded = loadModule(configManager, configObjName);
Configuration config = configManager.getConfiguration(info.getConfigID());
if (config != null) {
for(Map.Entry<AbstractName, GBeanData> entry : config.getGBeans().entrySet()) {
if(entry.getKey().getNameProperty(NameFactory.J2EE_TYPE).equals(NameFactory.WEB_MODULE)) {
- details.getContextPaths().add((String)entry.getValue().getAttribute("contextPath"));
- details.setDisplayName(((WebAppInfo)entry.getValue().getAttribute("webAppInfo")).displayName);
- if (null != entry.getValue().getAttribute("virtualServer")
- && !"".equals(entry.getValue().getAttribute("virtualServer"))) {
- details.setVirtualServer((String)entry.getValue().getAttribute("virtualServer"));
- }
+ setWebModuleDetails(details, entry.getValue());
}
}
}
@@ -255,10 +248,6 @@ public class ConfigManagerPortlet extend
if (showDependencies) {
addDependencies(details, configObjName);
}
-
- if (loaded) {
- unloadModule(configManager, configObjName);
- }
} catch (InvalidConfigException ice) {
logger.error("Fail to load configuration", ice);
}
@@ -266,18 +255,14 @@ public class ConfigManagerPortlet extend
} else if (info.getType() == ConfigurationModuleType.EAR) {
try {
AbstractName configObjName = Configuration.getConfigurationAbstractName(info.getConfigID());
- boolean loaded = loadModule(configManager, configObjName);
-
Configuration config = configManager.getConfiguration(info.getConfigID());
if (config != null) {
for (Map.Entry<AbstractName, GBeanData> entry : config.getGBeans().entrySet()) {
if (entry.getKey().getNameProperty(NameFactory.J2EE_TYPE).equals(NameFactory.WEB_MODULE)) {
ModuleDetails childDetails = new ModuleDetails(info.getConfigID(), ConfigurationModuleType.WAR, info.getState());
AbstractName webModuleAbName = entry.getKey();
- GBeanData webModuleGBeanData = entry.getValue();
childDetails.setComponentName(webModuleAbName.getNameProperty("name"));
- childDetails.getContextPaths().add((String) webModuleGBeanData.getAttribute("contextPath"));
- childDetails.setDisplayName(((WebAppInfo)webModuleGBeanData.getAttribute("webAppInfo")).displayName);
+ setWebModuleDetails(childDetails, entry.getValue());
if (showDependencies) {
addDependencies(childDetails, configObjName);
}
@@ -285,9 +270,6 @@ public class ConfigManagerPortlet extend
}
}
}
- if (loaded) {
- unloadModule(configManager, configObjName);
- }
} catch (InvalidConfigException ice) {
logger.error("Fail to load configuration", ice);
}
@@ -297,15 +279,12 @@ public class ConfigManagerPortlet extend
ModuleDetails details = new ModuleDetails(info.getConfigID(), info.getType(), getConfigurationState(info));
try {
AbstractName configObjName = Configuration.getConfigurationAbstractName(info.getConfigID());
- boolean loaded = loadModule(configManager, configObjName);
-
if (info.getType() == ConfigurationModuleType.EAR) {
Configuration config = configManager.getConfiguration(info.getConfigID());
if(config != null){
for(Map.Entry<AbstractName, GBeanData> entry : config.getGBeans().entrySet()) {
if(entry.getKey().getNameProperty(NameFactory.J2EE_TYPE).equals(NameFactory.WEB_MODULE)) {
- details.getContextPaths().add((String)entry.getValue().getAttribute("contextPath"));
- details.setDisplayName(((WebAppInfo)entry.getValue().getAttribute("webAppInfo")).displayName);
+ setWebModuleDetails(details, entry.getValue());
}
}
}
@@ -342,9 +321,6 @@ public class ConfigManagerPortlet extend
if (showDependencies) {
addDependencies(details, configObjName);
}
- if (loaded) {
- unloadModule(configManager, configObjName);
- }
} catch (InvalidConfigException ice) {
logger.error("Fail to load configuration", ice);
}
@@ -368,6 +344,15 @@ public class ConfigManagerPortlet extend
}
}
+ private void setWebModuleDetails(ModuleDetails details, GBeanData gbean) {
+ details.getContextPaths().add((String)gbean.getAttribute("contextPath"));
+ details.setDisplayName(((WebAppInfo)gbean.getAttribute("webAppInfo")).displayName);
+ String virtualServer = (String)gbean.getAttribute("virtualServer");
+ if (virtualServer != null && virtualServer.length() > 0) {
+ details.setVirtualServer(virtualServer);
+ }
+ }
+
private State getConfigurationState(ConfigurationInfo configurationInfo) {
State configurationState = configurationInfo.getState();
if (configurationState.isRunning()) {
@@ -408,28 +393,6 @@ public class ConfigManagerPortlet extend
return null;
}
- private boolean loadModule(ConfigurationManager configManager, AbstractName configObjName) {
- if(!kernel.isLoaded(configObjName)) {
- try {
- configManager.loadConfiguration(configObjName.getArtifact());
- return true;
- } catch (NoSuchConfigException e) {
- // Should not occur
- e.printStackTrace();
- } catch (LifecycleException e) {
- // config could not load because one or more of its dependencies
- // has been removed. cannot load the configuration in this case,
- // so don't rely on that technique to discover its parents or children
- if (e.getCause() instanceof MissingDependencyException) {
- // do nothing
- } else {
- e.printStackTrace();
- }
- }
- }
- return false;
- }
-
private void addDependencies(ModuleDetails details, AbstractName configObjName) {
DependencyManager depMgr = kernel.getDependencyManager();
Set<AbstractName> parents = depMgr.getParents(configObjName);
@@ -447,16 +410,6 @@ public class ConfigManagerPortlet extend
Collections.sort(details.getChildren());
}
- private void unloadModule(ConfigurationManager configManager, AbstractName configObjName) {
- try {
- configManager.unloadConfiguration(configObjName.getArtifact());
- } catch (NoSuchConfigException e) {
- logger.error("Fail to unload module " + configObjName, e);
- } catch (LifecycleException e) {
- logger.error("Fail to unload module " + configObjName, e);
- }
- }
-
private boolean showWebInfo() {
return ConfigurationModuleType.WAR.getName().equalsIgnoreCase(moduleType) ||
ConfigurationModuleType.EAR.getName().equalsIgnoreCase(moduleType) ||