protected void doView(RenderRequest renderRequest,
RenderResponse renderResponse) throws IOException, PortletException {
if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) {
return;
}
String cookies = renderRequest.getProperty("cookie");
boolean showDependencies = (cookies != null && cookies.indexOf(SHOW_DEPENDENCIES_COOKIE + "=true") > 0);
List< ModuleDetails > moduleDetails = new ArrayList< ModuleDetails >();
ConfigurationManager configManager = ConfigurationUtil.getConfigurationManager(kernel);
List< ConfigurationInfo > infos = configManager.listConfigurations();
for (ConfigurationInfo info : infos) {
if (ConfigurationModuleType.WAR.getName().equalsIgnoreCase(moduleType)) {
if (info.getType().getValue() == ConfigurationModuleType.WAR.getValue()) {
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());
}
if (showDependencies) {
addDependencies(details, configObjName);
}
if (loaded) {
unloadModule(configManager, configObjName);
}
} catch (InvalidConfigException ice) {
// Should not occur
ice.printStackTrace();
}
moduleDetails.add(details);
} else if (info.getType().getValue() == ConfigurationModuleType.EAR.getValue()) {
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 (showDependencies) {
addDependencies(childDetails, configObjName);
}
moduleDetails.add(childDetails);
}
}
}
if (loaded) {
unloadModule(configManager, configObjName);
}
} catch (InvalidConfigException ice) {
// Should not occur
ice.printStackTrace();
}
}
} else if (shouldListConfig(info.getType())) {
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().getValue() == ConfigurationModuleType.EAR.getValue()) {
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());
}
}
}
}
} else if (info.getType().equals(ConfigurationModuleType.CAR)) {
Configuration config = configManager.getConfiguration(info.getConfigID());
details.setClientAppServerSide(config.getOwnedConfigurations().size() > 0);
}
if (showDependencies) {
addDependencies(details, configObjName);
}
if (loaded) {
unloadModule(configManager, configObjName);
}
} catch (InvalidConfigException ice) {
// Should not occur
ice.printStackTrace();
}
moduleDetails.add(details);
}
}
Collections.sort(moduleDetails);
renderRequest.setAttribute("configurations", moduleDetails);
renderRequest.setAttribute("showWebInfo", Boolean.valueOf(showWebInfo()));
renderRequest.setAttribute("showDisplayName", Boolean.valueOf(showDisplayName));
renderRequest.setAttribute("showDependencies", Boolean.valueOf(showDependencies));
if (moduleDetails.size() == 0) {
addWarningMessage(renderRequest, getLocalizedString(renderRequest, "consolebase.warnMsg02"));
}
if (WindowState.NORMAL.equals(renderRequest.getWindowState())) {
normalView.include(renderRequest, renderResponse);
} else {
maximizedView.include(renderRequest, renderResponse);
}
}
|