[159002] Show second-level children in add/remove module dialog
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java
index 79fbd57..c0e8c9a 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/ModifyModulesComposite.java
@@ -158,7 +158,7 @@
* ChildMapModuleKey
*/
protected class ChildModuleMapKey {
- private IModule[] moduleTree;
+ protected IModule[] moduleTree;
protected ChildModuleMapKey(IModule curModule) {
if (curModule != null) {
@@ -317,6 +317,29 @@
}
}
+ // get children recursively
+ iterator = childModuleMap.keySet().iterator();
+ while (iterator.hasNext()) {
+ ChildModuleMapKey key = (ChildModuleMapKey) iterator.next();
+ IModule[] children0 = (IModule[]) childModuleMap.get(key);
+ if (children0 != null) {
+ int size = children0.length;
+ for (int i = 0; i < size; i++) {
+ IModule[] module2 = new IModule[size + 1];
+ System.arraycopy(key.moduleTree, 0, module2, 0, size);
+ module2[size] = children0[i];
+
+ try {
+ IModule[] children = server.getChildModules(module2, null);
+ if (children != null && children.length > 0)
+ childModuleMap.put(new ChildModuleMapKey(module2), children);
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ }
+ }
+
if (availableTreeViewer != null)
Display.getDefault().syncExec(new Runnable() {
public void run() {