[jboss-svn-commits] JBL Code SVN: r35036 - labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Sep 6 13:54:01 EDT 2010
Author: jervisliu
Date: 2010-09-06 13:54:00 -0400 (Mon, 06 Sep 2010)
New Revision: 35036
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java
Log:
GWTExt replacement: GUVNOR-618: refresh tree properly.
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java 2010-09-06 17:32:28 UTC (rev 35035)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java 2010-09-06 17:54:00 UTC (rev 35036)
@@ -26,6 +26,8 @@
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.SplitLayoutPanel;
import com.google.gwt.user.client.ui.StackLayoutPanel;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.DeferredCommand;
import com.google.gwt.user.client.History;
import com.google.gwt.dom.client.Style.Unit;
@@ -112,7 +114,7 @@
//Knowledge Bases (Packages)
if (shouldShow(Capabilities.SHOW_PACKAGE_VIEW)) {
DockLayoutPanel packageDockLayoutPanel = new DockLayoutPanel(Unit.EM);
- PackagesTree packagesTreeItem = new PackagesTree(centertabbedPanel);
+ final PackagesTree packagesTreeItem = new PackagesTree(centertabbedPanel);
ScrollPanel packagesTreeItemPanel = new ScrollPanel(packagesTreeItem.getTree());
if (ExplorerLayoutManager.shouldShow(Capabilities.SHOW_CREATE_NEW_ASSET)) {
@@ -121,18 +123,13 @@
packageDockLayoutPanel.add(packagesTreeItemPanel);
navigationStackLayoutPanel.add(packageDockLayoutPanel, packagesTreeItem.getHeaderHTML(), 2);
-
-
- //final PackagesPanel pp = new PackagesPanel(centertabbedPanel);
- //accordion.add(createMailItem(images), mailHeader, true);
- /*
+
+ //lazy loaded to easy startup wait time.
DeferredCommand.addCommand(new Command() {
public void execute() {
- pp.loadPackageList();
+ packagesTreeItem.loadPackageList();
}
- });
- */
-
+ });
}
//QA
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java 2010-09-06 17:32:28 UTC (rev 35035)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java 2010-09-06 17:54:00 UTC (rev 35036)
@@ -53,8 +53,10 @@
public static final String INCOMING_ID = "incoming";
//QA
- public static final String TEST_SCENARIOS = "testScenarios";
- public static final String ANALYSIS = "analysis";
+ public static final String TEST_SCENARIOS_ID = "testScenarios";
+ public static final String TEST_SCENARIOS_ROOT_ID = "roottestScenarios";
+ public static final String ANALYSIS_ID = "analysis";
+ public static final String ANALYSIS_ROOT_ID = "rootanalysis";
//Package snapshot
public static final String PACKAGE_SNAPSHOTS = "packageSnapshots";
@@ -355,53 +357,14 @@
final TreeItem scenarios = new TreeItem(Util.getHeader(images.testManager(), constants.TestScenariosInPackages()));
scenarios.addItem(new TreeItem(constants.PleaseWaitDotDotDot()));
tree.addItem(scenarios);
- tree.addOpenHandler(
- new OpenHandler<TreeItem>() {
- public void onOpen(
- OpenEvent<TreeItem> event) {
- RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
- public void onSuccess(PackageConfigData[] conf) {
- for ( int i = 0; i < conf.length; i++ ) {
- final PackageConfigData c = conf[i];
- TreeItem pkg = new TreeItem(Util.getHeader(images.packages(), c.name));
-
- scenarios.addItem(pkg);
- pkg.setUserObject(c);
- itemWidgets.put(pkg, TEST_SCENARIOS);
- }
- scenarios.removeItem(scenarios.getChild(0));
- }
- } );
- }
- });
-
+ itemWidgets.put(scenarios, TEST_SCENARIOS_ROOT_ID);
final TreeItem analysis = new TreeItem(Util.getHeader(images.analyze(), constants.Analysis()));
analysis.addItem(new TreeItem(constants.PleaseWaitDotDotDot()));
+ itemWidgets.put(analysis, ANALYSIS_ROOT_ID);
if (Preferences.getBooleanPref("verifier")) {
tree.addItem(analysis);
- tree.addOpenHandler(
- new OpenHandler<TreeItem>() {
- public void onOpen(
- OpenEvent<TreeItem> event) {
- RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
- public void onSuccess(PackageConfigData[] conf) {
-
- for ( int i = 0; i < conf.length; i++ ) {
- final PackageConfigData c = conf[i];
- TreeItem pkg = new TreeItem(Util.getHeader(images.packages(), c.name));
-
- analysis.addItem(pkg);
- pkg.setUserObject(c);
- itemWidgets.put(pkg, ANALYSIS);
- }
- analysis.removeItem(analysis.getChild(0));
- }
- } );
- }
- });
-
}
return tree;
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java 2010-09-06 17:32:28 UTC (rev 35035)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java 2010-09-06 17:54:00 UTC (rev 35036)
@@ -56,7 +56,13 @@
this.name = constants.KnowledgeBases();
this.image = images.packages();
+ mainTree = new Tree();
+ mainTree.setAnimationEnabled(true);
+ //lazy loaded to easy startup wait time.
+ //setupPackagesTree(this.centertabbedPanel);
+ mainTree.addSelectionHandler(this);
+
//these panels are lazy loaded to easy startup wait time.
/* addListener(new PanelListenerAdapter() {
public void onExpand(Panel panel) {
@@ -65,21 +71,17 @@
});
add(packagesPanel);
- */
- mainTree = new Tree();
- mainTree.setAnimationEnabled(true);
- setupPackagesTree(tabbedPanel);
- mainTree.addSelectionHandler(this);
+ */
+ }
- }
-/*
public void loadPackageList() {
if (!packagesLoaded) {
- packagesPanel.add(packageExplorer(centertabbedPanel));
+ setupPackagesTree(this.centertabbedPanel);
+ mainTree.addSelectionHandler(this);
packagesLoaded = true;
}
}
-*/
+
public void refreshTree() {
mainTree.clear();
itemWidgets.clear();
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java 2010-09-06 17:32:28 UTC (rev 35035)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java 2010-09-06 17:54:00 UTC (rev 35036)
@@ -17,23 +17,29 @@
package org.drools.guvnor.client.explorer;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Map;
import com.google.gwt.user.client.ui.TreeItem;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.logical.shared.OpenEvent;
+import com.google.gwt.event.logical.shared.OpenHandler;
import com.google.gwt.event.logical.shared.SelectionEvent;
import com.gwtext.client.util.Format;
+import org.drools.guvnor.client.common.GenericCallback;
+import org.drools.guvnor.client.common.Util;
import org.drools.guvnor.client.images.Images;
import org.drools.guvnor.client.messages.Constants;
import org.drools.guvnor.client.qa.AnalysisView;
import org.drools.guvnor.client.qa.ScenarioPackageView;
import org.drools.guvnor.client.rpc.PackageConfigData;
+import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
import org.drools.guvnor.client.ruleeditor.MultiViewRow;
import org.drools.guvnor.client.rulelist.EditItemEvent;
-public class QATree extends AbstractTree {
+public class QATree extends AbstractTree implements OpenHandler<TreeItem> {
private static Constants constants = GWT.create(Constants.class);
private static Images images = (Images) GWT.create(Images.class);
@@ -48,6 +54,7 @@
//Add Selection listener
mainTree.addSelectionHandler(this);
+ mainTree.addOpenHandler((OpenHandler<TreeItem>)this);
}
public void onSelection(SelectionEvent<TreeItem> event) {
@@ -57,8 +64,8 @@
PackageConfigData pc = (PackageConfigData) item.getUserObject();
String id = itemWidgets.get(item);
- if (ExplorerNodeConfig.TEST_SCENARIOS.equals(id)) {
- if (!centertabbedPanel.showIfOpen("scenarios" + pc.uuid)) { // NON-NLS
+ if (ExplorerNodeConfig.TEST_SCENARIOS_ID.equals(id)) {
+ if (!centertabbedPanel.showIfOpen("scenarios" + pc.uuid)) {
final EditItemEvent edit = new EditItemEvent() {
public void open(String key) {
centertabbedPanel.openAsset(key);
@@ -77,7 +84,7 @@
pc.uuid, pc.name, edit, centertabbedPanel),
"scenarios" + pc.uuid);
}
- } else if (ExplorerNodeConfig.ANALYSIS.equals(id)) {
+ } else if (ExplorerNodeConfig.ANALYSIS_ID.equals(id)) {
if (!centertabbedPanel.showIfOpen("analysis" + pc.uuid)) { //NON-NLS
final EditItemEvent edit = new EditItemEvent() {
public void open(String key) {
@@ -102,4 +109,64 @@
}
}
}
+
+ public void onOpen(OpenEvent<TreeItem> event) {
+ final TreeItem node = event.getTarget();
+ if (ExplorerNodeConfig.TEST_SCENARIOS_ROOT_ID.equals(itemWidgets.get(node))) {
+ RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
+ public void onSuccess(PackageConfigData[] conf) {
+ node.removeItems();
+ removeTestScenarioIDs(itemWidgets);
+
+ for ( int i = 0; i < conf.length; i++ ) {
+ final PackageConfigData c = conf[i];
+ TreeItem pkg = new TreeItem(Util.getHeader(images.packages(), c.name));
+
+ node.addItem(pkg);
+ pkg.setUserObject(c);
+ itemWidgets.put(pkg, ExplorerNodeConfig.TEST_SCENARIOS_ID);
+ }
+ //scenarios.removeItem(scenarios.getChild(0));
+ }
+ } );
+ } else if (ExplorerNodeConfig.ANALYSIS_ROOT_ID.equals(itemWidgets.get(node))) {
+ RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
+ public void onSuccess(PackageConfigData[] conf) {
+ node.removeItems();
+ removeAnalysisIDs(itemWidgets);
+ for ( int i = 0; i < conf.length; i++ ) {
+ final PackageConfigData c = conf[i];
+ TreeItem pkg = new TreeItem(Util.getHeader(images.packages(), c.name));
+
+ node.addItem(pkg);
+ pkg.setUserObject(c);
+ itemWidgets.put(pkg, ExplorerNodeConfig.ANALYSIS_ID);
+ }
+ }
+ } );
+ }
+ }
+
+ private void removeTestScenarioIDs(Map<TreeItem, String> itemWidgets) {
+ Iterator<TreeItem> it = itemWidgets.keySet().iterator();
+ while(it.hasNext()) {
+ TreeItem item = (TreeItem)it.next();
+ String id = itemWidgets.get(item);
+ if(ExplorerNodeConfig.TEST_SCENARIOS_ID.equals(id)) {
+ it.remove();
+ }
+ }
+ }
+
+
+ private void removeAnalysisIDs(Map<TreeItem, String> itemWidgets) {
+ Iterator<TreeItem> it = itemWidgets.keySet().iterator();
+ while(it.hasNext()) {
+ TreeItem item = (TreeItem)it.next();
+ String id = itemWidgets.get(item);
+ if(ExplorerNodeConfig.ANALYSIS_ID.equals(id)) {
+ it.remove();
+ }
+ }
+ }
}
More information about the jboss-svn-commits
mailing list