You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2011/07/06 11:25:43 UTC

svn commit: r1143308 - in /geronimo/server/trunk/plugins/console/console-base-portlets: pom.xml src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java

Author: xuhaihong
Date: Wed Jul  6 09:25:43 2011
New Revision: 1143308

URL: http://svn.apache.org/viewvc?rev=1143308&view=rev
Log:
GERONIMO-5302 A successfully deployed war package(contained in a ear package) is not listed on admin console.

Modified:
    geronimo/server/trunk/plugins/console/console-base-portlets/pom.xml
    geronimo/server/trunk/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java

Modified: geronimo/server/trunk/plugins/console/console-base-portlets/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-base-portlets/pom.xml?rev=1143308&r1=1143307&r2=1143308&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/console-base-portlets/pom.xml (original)
+++ geronimo/server/trunk/plugins/console/console-base-portlets/pom.xml Wed Jul  6 09:25:43 2011
@@ -22,7 +22,13 @@
     <name>Geronimo Plugins, Console :: Base Portlets</name>
     <packaging>war</packaging>
 
-    <dependencies>
+    <dependencies>        
+        <dependency>
+            <groupId>org.apache.geronimo.modules</groupId>
+            <artifactId>geronimo-web</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
 
         <!-- for jspc maven plugin -->
         <dependency>
@@ -93,7 +99,7 @@
             <groupId>org.apache.servicemix.bundles</groupId>
             <artifactId>org.apache.servicemix.bundles.commons-io</artifactId>
             <scope>provided</scope>
-        </dependency>
+        </dependency>                
         
         <!-- FIXME : this should be replaced by org.apache.aries.util in next release -->
         <dependency>

Modified: geronimo/server/trunk/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java?rev=1143308&r1=1143307&r2=1143308&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java (original)
+++ geronimo/server/trunk/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java Wed Jul  6 09:25:43 2011
@@ -41,6 +41,7 @@ import org.apache.geronimo.console.util.
 import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.AbstractNameQuery;
 import org.apache.geronimo.gbean.GBeanData;
+import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.kernel.DependencyManager;
 import org.apache.geronimo.kernel.InternalKernelException;
 import org.apache.geronimo.kernel.Kernel;
@@ -58,6 +59,7 @@ import org.apache.geronimo.kernel.manage
 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.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -76,7 +78,7 @@ public class ConfigManagerPortlet extend
     private static final String CONFIG_INIT_PARAM = "config-type";
 
     private static final String SHOW_DEPENDENCIES_COOKIE = "org.apache.geronimo.configmanager.showDependencies";
-    
+
     private Kernel kernel;
 
     private PortletRequestDispatcher normalView;
@@ -144,12 +146,12 @@ public class ConfigManagerPortlet extend
     public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws PortletException, IOException {
         String action = actionRequest.getParameter("action");
         actionResponse.setRenderParameter("message", ""); // set to blank first
-        
+
         try {
             ConfigurationManager configurationManager = ConfigurationUtil.getConfigurationManager(kernel);
             String config = getConfigID(actionRequest);
             Artifact configId = Artifact.create(config);
-            
+
             if (START_ACTION.equals(action)) {
 
                 if (!configurationManager.isLoaded(configId)) {
@@ -163,28 +165,28 @@ public class ConfigManagerPortlet extend
                 }
 
             } else if (STOP_ACTION.equals(action)) {
-                
+
                 if(configurationManager.isLoaded(configId)) {
                     LifecycleResults lcresult = configurationManager.unloadConfiguration(configId);
                     addInfoMessage(actionRequest, getLocalizedString(actionRequest, "consolebase.infoMsg02") + printResults(lcresult.getStopped()));
                 }
 
             } else if (UNINSTALL_ACTION.equals(action)) {
-                
+
                 configurationManager.uninstallConfiguration(configId);
-                
+
                 addInfoMessage(actionRequest, getLocalizedString(actionRequest, "consolebase.infoMsg04") + "<br />" + configId);
-                
+
             } else if (RESTART_ACTION.equals(action)) {
-                
+
                 LifecycleResults lcresult = configurationManager.restartConfiguration(configId);
                 addInfoMessage(actionRequest, getLocalizedString(actionRequest, "consolebase.infoMsg03") + printResults(lcresult.getStarted()));
-                
+
             } else {
                 addWarningMessage(actionRequest, getLocalizedString(actionRequest, "consolebase.warnMsg01") + action + "<br />");
                 throw new PortletException("Invalid value for changeState: " + action);
             }
-            
+
         } catch (NoSuchConfigException e) {
             // ignore this for now
             addErrorMessage(actionRequest, getLocalizedString(actionRequest, "consolebase.errorMsg01"));
@@ -198,7 +200,7 @@ public class ConfigManagerPortlet extend
             logger.error("Exception", e);
         }
     }
-    
+
     /**
      * Check if a configuration should be listed here. This method depends on the "config-type" portlet parameter
      * which is set in portle.xml.
@@ -223,21 +225,21 @@ public class ConfigManagerPortlet extend
         List<ModuleDetails> moduleDetails = new ArrayList<ModuleDetails>();
         ConfigurationManager configManager = PortletManager.getConfigurationManager();
         List<ConfigurationInfo> infos = configManager.listConfigurations();
-    
+
         for (ConfigurationInfo info : infos) {
             if (ConfigurationModuleType.WAR.getName().equalsIgnoreCase(moduleType)) {
 
-                if (info.getType().getValue() == ConfigurationModuleType.WAR.getValue()) {
+                if (info.getType() == ConfigurationModuleType.WAR) {
                     ModuleDetails details = new ModuleDetails(info.getConfigID(), info.getType(), info.getState());
                     try {
                         AbstractName configObjName = Configuration.getConfigurationAbstractName(info.getConfigID());
                         boolean loaded = loadModule(configManager, configObjName);
-
-                        WebModule webModule = (WebModule) PortletManager.getModule(renderRequest, info.getConfigID());
-
-                        if (webModule != null) {
-                            details.getContextPaths().add(webModule.getContextPath());
-                            details.setDisplayName(webModule.getDisplayName());
+                        Configuration config = configManager.getConfiguration(info.getConfigID());
+                        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 (showDependencies) {
@@ -248,26 +250,24 @@ public class ConfigManagerPortlet extend
                             unloadModule(configManager, configObjName);
                         }
                     } catch (InvalidConfigException ice) {
-                        // Should not occur
-                        ice.printStackTrace();
+                        logger.error("Fail to load configuration", ice);
                     }
                     moduleDetails.add(details);
-                } else if (info.getType().getValue() == ConfigurationModuleType.EAR.getValue()) {
+                } 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 (Configuration child : config.getChildren()) {
-                                if (child.getModuleType().getValue() == ConfigurationModuleType.WAR.getValue()) {
-                                    ModuleDetails childDetails = new ModuleDetails(info.getConfigID(), child.getModuleType(), info.getState());
-                                    childDetails.setComponentName(child.getId().toString());
-                                    WebModule webModule = getWebModule(config, child);
-                                    if (webModule != null) {
-                                        childDetails.getContextPaths().add(webModule.getContextPath());
-                                        childDetails.setDisplayName(webModule.getDisplayName());
-                                    }
+                        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);
                                     if (showDependencies) {
                                         addDependencies(childDetails, configObjName);
                                     }
@@ -275,13 +275,11 @@ public class ConfigManagerPortlet extend
                                 }
                             }
                         }
-
                         if (loaded) {
                             unloadModule(configManager, configObjName);
                         }
                     } catch (InvalidConfigException ice) {
-                        // Should not occur
-                        ice.printStackTrace();
+                        logger.error("Fail to load configuration", ice);
                     }
                 }
 
@@ -291,17 +289,13 @@ public class ConfigManagerPortlet extend
                     AbstractName configObjName = Configuration.getConfigurationAbstractName(info.getConfigID());
                     boolean loaded = loadModule(configManager, configObjName);
 
-                    if (info.getType().getValue() == ConfigurationModuleType.EAR.getValue()) {
+                    if (info.getType() == ConfigurationModuleType.EAR) {
                         Configuration config = configManager.getConfiguration(info.getConfigID());
                         if(config != null){
-                            Iterator childs = config.getChildren().iterator();
-                            while (childs.hasNext()) {
-                                Configuration child = (Configuration) childs.next();
-                                if (child.getModuleType().getValue() == ConfigurationModuleType.WAR.getValue()) {
-                                    WebModule webModule = getWebModule(config, child);
-                                    if (webModule != null) {
-                                        details.getContextPaths().add(webModule.getContextPath());
-                                    }
+                            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);
                                 }
                             }
                         }
@@ -316,14 +310,13 @@ public class ConfigManagerPortlet extend
                         unloadModule(configManager, configObjName);
                     }
                 } catch (InvalidConfigException ice) {
-                    // Should not occur
-                    ice.printStackTrace();
+                    logger.error("Fail to load configuration", ice);
                 }
                 moduleDetails.add(details);
-            }  
-            
-        }            
-        
+            }
+
+        }
+
         Collections.sort(moduleDetails);
         renderRequest.setAttribute("configurations", moduleDetails);
         renderRequest.setAttribute("showWebInfo", Boolean.valueOf(showWebInfo()));
@@ -362,7 +355,7 @@ public class ConfigManagerPortlet extend
         }
         return configurationState;
     }
-    
+
     private WebModule getWebModule(Configuration config, Configuration child) {
         try {
             Map<String, String> query1 = new HashMap<String, String>();