modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTreeView.java | 22 ++++++---- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java | 16 +++---- 2 files changed, 22 insertions(+), 16 deletions(-)
New commits: commit 450baca8071b03cdc9ad9ed5bd0647554a3c53f3 Author: Ian Springer ian.springer@redhat.com Date: Wed Sep 15 15:14:14 2010 -0400
fix group bookmarking
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTreeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTreeView.java index 8f0f711..aa2ee61 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTreeView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTreeView.java @@ -29,6 +29,7 @@ import java.util.Set;
import com.google.gwt.user.client.History; import com.google.gwt.user.client.rpc.AsyncCallback; +import com.smartgwt.client.data.Record; import com.smartgwt.client.types.SelectionStyle; import com.smartgwt.client.widgets.grid.events.SelectionChangedHandler; import com.smartgwt.client.widgets.grid.events.SelectionEvent; @@ -100,13 +101,20 @@ public class ResourceGroupTreeView extends VLayout implements BookmarkableView { @Override public void onSelectionChanged(SelectionEvent selectionEvent) { if (selectionEvent.getState()) { - ClusterKey key = (ClusterKey) selectionEvent.getRecord().getAttributeAsObject("key"); + Record selectedNode = selectionEvent.getRecord(); + System.out.println("Node selected in tree: " + selectedNode); + ClusterKey key = (ClusterKey) selectedNode.getAttributeAsObject("key"); if (key == null) { - // selected the root group - History.newItem("ResourceGroup/" + selectionEvent.getRecord().getAttribute("id")); + // The root group was selected. + String groupId = selectedNode.getAttribute("id"); + //System.out.println("Selecting group [" + groupId + "]..."); + String viewPath = "ResourceGroup/" + groupId; + String currentViewPath = History.getToken(); + if (!currentViewPath.startsWith(viewPath)) { + CoreGUI.goToView(viewPath); + } } else { - System.out.println("Select group: " + key); - + //System.out.println("Selecting cluster group [" + key + "]..."); selectClusterGroup(key); } } @@ -160,7 +168,6 @@ public class ResourceGroupTreeView extends VLayout implements BookmarkableView { } });
- }
@@ -232,7 +239,8 @@ public class ResourceGroupTreeView extends VLayout implements BookmarkableView {
@Override public void onSuccess(ResourceGroup result) { - History.newItem("ResourceGroup/" + result.getId()); + int groupId = result.getId(); + History.newItem("ResourceGroup/" + groupId); } });
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java index 7fae500..ec96874 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java @@ -21,10 +21,7 @@ package org.rhq.enterprise.gui.coregui.client.inventory.resource.detail; import com.smartgwt.client.widgets.Canvas;
import org.rhq.enterprise.gui.coregui.client.BookmarkableView; -import org.rhq.enterprise.gui.coregui.client.ViewId; import org.rhq.enterprise.gui.coregui.client.ViewPath; -import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; -import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGWTServiceAsync; import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHLayout;
/** @@ -33,11 +30,9 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHLayout; public class ResourceTopView extends LocatableHLayout implements BookmarkableView {
private Canvas contentCanvas; - private ResourceTreeView treeView; private ResourceDetailView detailView = new ResourceDetailView(extendLocatorId("Detail"));
- private ResourceGWTServiceAsync resourceService = GWTServiceLookup.getResourceService();
public ResourceTopView(String locatorId) { super(locatorId); @@ -54,13 +49,16 @@ public class ResourceTopView extends LocatableHLayout implements BookmarkableVie setContent(detailView); }
+ public void setContent(Canvas newContent) { - if (contentCanvas.getChildren().length > 0) - contentCanvas.getChildren()[0].destroy(); - contentCanvas.addChild(newContent); - contentCanvas.markForRedraw(); + for (Canvas child : this.contentCanvas.getChildren()) { + child.destroy(); + } + this.contentCanvas.addChild(newContent); + this.contentCanvas.markForRedraw(); }
+ public void renderView(ViewPath viewPath) { this.treeView.renderView(viewPath); this.detailView.renderView(viewPath);