modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
| 18 +++++----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/UnknownViewException.java
| 20 +---------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ViewId.java
| 20 ++--------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ViewRenderer.java
| 7 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
| 9 +++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceView.java
| 11 +++--
modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
| 2 -
7 files changed, 35 insertions(+), 52 deletions(-)
New commits:
commit 7d3a71a9a988fa6d57d8a90e7790b52cb191fbf1
Author: Ian P. Springer <ips(a)jetengine.(none)>
Date: Mon Mar 1 16:04:26 2010 -0500
a couple minor tweaks to the history/breadcrumb API
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
index 3ab6790..24dbe6e 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
@@ -177,13 +177,15 @@ public class CoreGUI implements EntryPoint {
ViewRenderer viewRenderer = (ViewRenderer)parentView.getCanvas();
List<Breadcrumb> breadcrumbs = new
ArrayList<Breadcrumb>(viewIdNames.size());
try {
- for (String viewIdName : viewIdNames) {
+ for (int i = 0, viewIdNamesSize = viewIdNames.size(); i <
viewIdNamesSize; i++) {
+ String viewIdName = viewIdNames.get(i);
Canvas parentCanvas = parentView.getCanvas();
if (parentCanvas != null && parentCanvas instanceof
ViewRenderer) {
- viewRenderer = (ViewRenderer)parentCanvas;
+ viewRenderer = (ViewRenderer) parentCanvas;
}
ViewId viewId = new ViewId(viewIdName, parentView.getId());
- parentView = viewRenderer.renderView(parentView, viewId);
+ boolean lastNode = (i == (viewIdNamesSize - 1));
+ parentView = viewRenderer.renderView(viewId, parentView,
lastNode);
breadcrumbs.add(parentView.getBreadcrumb());
}
} catch (UnknownViewException e) {
@@ -302,14 +304,14 @@ public class CoreGUI implements EntryPoint {
setHeight100(); // (900);
}
- public View renderView(View parentView, ViewId viewId) throws
UnknownViewException {
+ public View renderView(ViewId viewId, View parentView, boolean lastNode) throws
UnknownViewException {
String path = viewId.getPath();
Canvas canvas = createContent(path);
- if (canvas != null) {
- setContent(canvas);
- return new View(viewId, canvas);
+ if (canvas == null) {
+ throw new UnknownViewException();
}
- throw new UnknownViewException(viewId);
+ setContent(canvas);
+ return new View(viewId, canvas);
}
}
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/UnknownViewException.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/UnknownViewException.java
index 8179b86..d5ff736 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/UnknownViewException.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/UnknownViewException.java
@@ -24,24 +24,10 @@ package org.rhq.enterprise.gui.coregui.client;
* @author Ian Springer
*/
public class UnknownViewException extends Exception {
- private ViewId viewId;
- private String message;
-
- public UnknownViewException(ViewId viewId) {
- this(viewId, null);
- }
-
- public UnknownViewException(ViewId viewId, String message) {
- this.viewId = viewId;
- this.message = message;
+ public UnknownViewException() {
}
- @Override
- public String getMessage() {
- String message = "Unknown view id [" + this.viewId + "]";
- if (this.message != null) {
- message += ": " + this.message;
- }
- return message;
+ public UnknownViewException(String message) {
+ super(message);
}
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ViewId.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ViewId.java
index 77c7dd6..9a2406e 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ViewId.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ViewId.java
@@ -18,9 +18,6 @@
*/
package org.rhq.enterprise.gui.coregui.client;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* TODO
*
@@ -56,21 +53,14 @@ public class ViewId {
public String getPath() {
if (this.path == null) {
StringBuilder buffer = new StringBuilder();
- List<String> names = new ArrayList<String>(5);
- ViewId current = this;
- do {
- names.add(0, current.getName());
- current = current.getParent();
- } while (current != null &&
!current.getName().equals(ROOT_VIEW_ID.getName()));
- boolean first = true;
- for (String name : names) {
- if (first) {
- first = false;
- } else {
+ if (this.parent != null) {
+ String parentPath = this.parent.getPath();
+ buffer.append(parentPath);
+ if (!parentPath.equals(ROOT_VIEW_ID.getPath())) {
buffer.append(PATH_SEPARATOR);
}
- buffer.append(name);
}
+ buffer.append(this.name);
this.path = buffer.toString();
}
return this.path;
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ViewRenderer.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ViewRenderer.java
index f2eb39b..d3f237f 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ViewRenderer.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ViewRenderer.java
@@ -27,10 +27,9 @@ public interface ViewRenderer {
/**
* TODO
*
- * @param parentView
* @param viewId
- * @return
- * @throws UnknownViewException
+ *@param parentView @return
+ * @param lastNode @throws UnknownViewException
*/
- View renderView(View parentView, ViewId viewId) throws UnknownViewException;
+ View renderView(ViewId viewId, View parentView, boolean lastNode) throws
UnknownViewException;
}
\ No newline at end of file
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
index 455b00e..e8804bd 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
@@ -391,12 +391,15 @@ public class AdministrationView extends HLayout implements
Presenter, ViewRender
return renderedBreadcrumbs;
}
- public View renderView(View parentView, ViewId viewId) throws UnknownViewException {
- String parentPath = viewId.getParent().getPath();
+ public View renderView(ViewId viewId, View parentView, boolean lastNode) throws
UnknownViewException {
+ String parentPath = parentView.getId().getPath();
if (parentPath.equals("Administration")) {
SectionStackSection stackSection =
this.sectionStack.getSection(viewId.getName());
if (stackSection != null) {
stackSection.setExpanded(true);
+ if (lastNode) {
+ // TODO: Render some default content for the e.g.
Administration/Reports view.
+ }
return new View(viewId, new Breadcrumb(viewId.getName(), false));
}
} else if (parentPath.equals("Administration/Reports")) {
@@ -404,6 +407,6 @@ public class AdministrationView extends HLayout implements Presenter,
ViewRender
setContent(canvas);
return new View(viewId, canvas);
}
- throw new UnknownViewException(viewId);
+ throw new UnknownViewException();
}
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceView.java
index aa1f7a9..048db28 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceView.java
@@ -160,14 +160,17 @@ public class ResourceView extends HLayout implements Presenter,
ViewRenderer {
contentCanvas.draw();
}
- public View renderView(View parentView, ViewId viewId) throws UnknownViewException {
- String path = viewId.getPathRelativeTo(parentView.getId());
+ public View renderView(ViewId viewId, View parentView, boolean lastNode) throws
UnknownViewException {
+ String parentPath = parentView.getId().getPath();
+ if (!parentPath.equals("Resource")) {
+ throw new UnknownViewException();
+ }
int resourceId;
try {
- resourceId = Integer.parseInt(path);
+ resourceId = Integer.parseInt(viewId.getName());
} catch (NumberFormatException e) {
// not a valid Resource id - nothing for us to do
- throw new UnknownViewException(viewId, "Invalid Resource id [" +
path + "]");
+ throw new UnknownViewException("Invalid Resource id [" + viewId +
"]");
}
if (this.selectedResource == null || this.selectedResource.getId() != resourceId)
{
setSelectedResource(resourceId, viewId);
diff --git a/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
b/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
index 2011c8c..4391f58 100644
--- a/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
+++ b/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
@@ -108,7 +108,7 @@ a:hover {
font-size: 12pt;
font-weight: bold;
text-decoration: none;
- color: darkgray;
+ color: #363636;
}
.SectionHeader {