You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2006/09/25 01:31:09 UTC
svn commit: r449523 - in
/geronimo/server/trunk/applications/console/geronimo-console-standard/src/main:
java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java
webapp/WEB-INF/view/configmanager/normal.jsp
Author: djencks
Date: Sun Sep 24 16:31:08 2006
New Revision: 449523
URL: http://svn.apache.org/viewvc?view=rev&rev=449523
Log:
GERONIMO-2248 show parent and child modules for each module
Modified:
geronimo/server/trunk/applications/console/geronimo-console-standard/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java
geronimo/server/trunk/applications/console/geronimo-console-standard/src/main/webapp/WEB-INF/view/configmanager/normal.jsp
Modified: geronimo/server/trunk/applications/console/geronimo-console-standard/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/applications/console/geronimo-console-standard/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java?view=diff&rev=449523&r1=449522&r2=449523
==============================================================================
--- geronimo/server/trunk/applications/console/geronimo-console-standard/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java (original)
+++ geronimo/server/trunk/applications/console/geronimo-console-standard/src/main/java/org/apache/geronimo/console/configmanager/ConfigManagerPortlet.java Sun Sep 24 16:31:08 2006
@@ -34,12 +34,16 @@
import javax.portlet.WindowState;
import org.apache.geronimo.console.BasePortlet;
import org.apache.geronimo.console.util.PortletManager;
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.kernel.DependencyManager;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.KernelRegistry;
+import org.apache.geronimo.kernel.config.Configuration;
import org.apache.geronimo.kernel.config.ConfigurationInfo;
import org.apache.geronimo.kernel.config.ConfigurationManager;
import org.apache.geronimo.kernel.config.ConfigurationModuleType;
import org.apache.geronimo.kernel.config.ConfigurationUtil;
+import org.apache.geronimo.kernel.config.InvalidConfigException;
import org.apache.geronimo.kernel.config.LifecycleException;
import org.apache.geronimo.kernel.config.NoSuchConfigException;
import org.apache.geronimo.kernel.management.State;
@@ -144,6 +148,7 @@
List moduleDetails = new ArrayList();
ConfigurationManager configManager = ConfigurationUtil.getConfigurationManager(kernel);
+ DependencyManager depMgr = kernel.getDependencyManager();
List infos = configManager.listConfigurations();
for (Iterator j = infos.iterator(); j.hasNext();) {
ConfigurationInfo info = (ConfigurationInfo) j.next();
@@ -157,6 +162,52 @@
details.setUrlFor(webModule.getURLFor());
}
}
+ try {
+ AbstractName configObjName = Configuration.getConfigurationAbstractName(info.getConfigID());
+ boolean flag = false;
+ // Check if the configuration is loaded. If not, load it to get information.
+ if(!kernel.isLoaded(configObjName)) {
+ flag = true;
+ try {
+ configManager.loadConfiguration(configObjName.getArtifact());
+ } catch (NoSuchConfigException e) {
+ // Should not occur
+ e.printStackTrace();
+ } catch (LifecycleException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ java.util.Set parents = depMgr.getParents(configObjName);
+ for(Iterator itr = parents.iterator(); itr.hasNext(); ) {
+ AbstractName parent = (AbstractName)itr.next();
+ details.getParents().add(parent.getArtifact());
+ }
+ java.util.Set children = depMgr.getChildren(configObjName);
+ for(Iterator itr = children.iterator(); itr.hasNext(); ) {
+ AbstractName child = (AbstractName)itr.next();
+ //if(configManager.isConfiguration(child.getArtifact()))
+ if(child.getNameProperty("configurationName") != null) {
+ details.getChildren().add(child.getArtifact());
+ }
+ }
+ Collections.sort(details.getParents());
+ Collections.sort(details.getChildren());
+
+ // Unload the configuration if it has been loaded earlier for the sake of getting information
+ if(flag) {
+ try {
+ configManager.unloadConfiguration(configObjName.getArtifact());
+ } catch (NoSuchConfigException e) {
+ // Should not occur
+ e.printStackTrace();
+ }
+ }
+ } catch(InvalidConfigException ice) {
+ // Should not occur
+ ice.printStackTrace();
+ }
moduleDetails.add(details);
}
}
@@ -206,6 +257,8 @@
private final State state;
private URL urlFor; // only relevant for webapps
private String contextPath; // only relevant for webapps
+ private List parents = new ArrayList();
+ private List children = new ArrayList();
public ModuleDetails(Artifact configId, ConfigurationModuleType type, State state) {
this.configId = configId;
@@ -213,6 +266,14 @@
this.state = state;
}
+ public ModuleDetails(Artifact configId, ConfigurationModuleType type, State state, List parents, List children) {
+ this.configId = configId;
+ this.type = type;
+ this.state = state;
+ this.parents = parents;
+ this.children = children;
+ }
+
public int compareTo(Object o) {
if (o != null && o instanceof ModuleDetails){
return configId.compareTo(((ModuleDetails)o).configId);
@@ -247,6 +308,14 @@
public ConfigurationModuleType getType() {
return type;
+ }
+
+ public List getParents() {
+ return parents;
+ }
+
+ public List getChildren() {
+ return children;
}
}
}
Modified: geronimo/server/trunk/applications/console/geronimo-console-standard/src/main/webapp/WEB-INF/view/configmanager/normal.jsp
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/applications/console/geronimo-console-standard/src/main/webapp/WEB-INF/view/configmanager/normal.jsp?view=diff&rev=449523&r1=449522&r2=449523
==============================================================================
--- geronimo/server/trunk/applications/console/geronimo-console-standard/src/main/webapp/WEB-INF/view/configmanager/normal.jsp (original)
+++ geronimo/server/trunk/applications/console/geronimo-console-standard/src/main/webapp/WEB-INF/view/configmanager/normal.jsp Sun Sep 24 16:31:08 2006
@@ -10,6 +10,8 @@
<c:if test="${showWebInfo}"><th>URL</th></c:if>
<th> State</th>
<th align="center" colspan="3">Commands</th>
+ <th align="left">Parent Components</th>
+ <th align="left">Child Components</th>
</tr>
<c:set var="backgroundClass" value='MediumBackground'/>
<c:forEach var="moduleDetails" items="${configurations}">
@@ -37,6 +39,16 @@
</td>
<td width="75" class="${backgroundClass}">
<a href="<portlet:actionURL><portlet:param name="configId" value="${moduleDetails.configId}"/><portlet:param name="action" value="uninstall"/></portlet:actionURL>" onClick="return confirm('Are you sure you want to uninstall ${moduleDetails.configId}?');">Uninstall</a>
+ </td>
+ <td class="${backgroundClass}">
+ <c:forEach var="parent" items="${moduleDetails.parents}">
+ ${parent} <br>
+ </c:forEach>
+ </td>
+ <td class="${backgroundClass}">
+ <c:forEach var="child" items="${moduleDetails.children}">
+ ${child} <br>
+ </c:forEach>
</td>
</tr>
</c:forEach>