modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/sorting/SortableColumnHeaderRenderer.java | 69 +++++----- modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementChartsManagerBean.java | 8 + 2 files changed, 43 insertions(+), 34 deletions(-)
New commits: commit fac71cddc3bd3965cfd4396a6f3c6fb5a6074048 Author: Joseph Marques joseph@redhat.com Date: Fri Jul 2 11:41:49 2010 -0400
BZ-610854: filter the aggregate metric counts by the appropriate entity context
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementChartsManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementChartsManagerBean.java index 704042d..15b5267 100644 --- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementChartsManagerBean.java +++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/measurement/MeasurementChartsManagerBean.java @@ -453,6 +453,14 @@ public class MeasurementChartsManagerBean implements MeasurementChartsManagerLoc for (int definitionId : measurementDefinitionIds) {
MeasurementScheduleCriteria criteria = new MeasurementScheduleCriteria(); + if (context.category == EntityContext.Category.Resource) { + criteria.addFilterResourceId(context.resourceId); + } else if (context.category == EntityContext.Category.ResourceGroup) { + criteria.addFilterResourceGroupId(context.groupId); + } else if (context.category == EntityContext.Category.AutoGroup) { + criteria.addFilterAutoGroupParentResourceId(context.parentResourceId); + criteria.addFilterAutoGroupResourceTypeId(context.resourceTypeId); + } criteria.addFilterDefinitionIds(definitionId); PageList<MeasurementSchedule> theSchedules = scheduleManager.findSchedulesByCriteria(subject, criteria); int totalScheduleCount = theSchedules.getTotalSize();
commit 9bd087c2b141aff52b67917a604c6075ea76fb39 Author: Joseph Marques joseph@redhat.com Date: Thu Jul 1 13:49:18 2010 -0400
BZ-610163: add more resilience/tolerance to generated sortable tables for when JSF hiccups
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/sorting/SortableColumnHeaderRenderer.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/sorting/SortableColumnHeaderRenderer.java index 1ed3d05..1437ae2 100644 --- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/sorting/SortableColumnHeaderRenderer.java +++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/sorting/SortableColumnHeaderRenderer.java @@ -26,7 +26,6 @@ import javax.faces.component.UIData; import javax.faces.component.UIGraphic; import javax.faces.component.UIOutput; import javax.faces.component.html.HtmlOutputLabel; -import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter;
import com.sun.faces.renderkit.html_basic.CommandLinkRenderer; @@ -45,26 +44,6 @@ public class SortableColumnHeaderRenderer extends CommandLinkRenderer { super(); }
- @Override - public void decode(FacesContext context, UIComponent component) { - super.decode(context, component); - } - - @Override - public void encodeBegin(FacesContext context, UIComponent component) throws IOException { - super.encodeBegin(context, component); - } - - @Override - public void encodeEnd(FacesContext context, UIComponent component) throws IOException { - super.encodeEnd(context, component); - } - - @Override - public void encodeChildren(FacesContext context, UIComponent component) throws IOException { - super.encodeChildren(context, component); - } - /* easy trick to override and put addition attributes in the writer */ @Override protected void writeValue(UIComponent component, ResponseWriter writer) throws IOException { @@ -87,14 +66,12 @@ public class SortableColumnHeaderRenderer extends CommandLinkRenderer { children.remove(i); }
- if (children.size() > i && children.get(i) instanceof UIOutput) { + if (children.get(i) instanceof UIOutput) { UIOutput output = (UIOutput) children.get(i); String value = output.getValue().toString(); - if (value.length() > 0) { - if (Character.isDigit(value.charAt(0))) { - // also remove sort index labels, they will be reconstructed below - children.remove(i); - } + if (isNumber(value)) { + // also remove sort index labels ('1', '2', '3') since they will be reconstructed below + children.remove(i); } } } @@ -140,17 +117,41 @@ public class SortableColumnHeaderRenderer extends CommandLinkRenderer { super.writeValue(component, writer); }
+ private boolean isNumber(String value) { + if (value == null) { + return false; + } + + value = value.trim(); + if (value.equals("")) { + return false; + } + + for (char c : value.toCharArray()) { + if (Character.isDigit(c) == false) { + return false; + } + } + + return true; + } + private PageControl getPageControl(UIComponent component) { - UIData enclosingTable = getEnclosingUIData(component); + try { + UIData enclosingTable = getEnclosingUIData(component);
- UIComponent facet = enclosingTable.getFacet("PageControlView"); - String viewName = facet.getId(); + UIComponent facet = enclosingTable.getFacet("PageControlView"); + String viewName = facet.getId();
- PageControlView currentView = PageControlView.valueOf(viewName); - WebUser user = EnterpriseFacesContextUtility.getWebUser(); - WebUserPreferences preferences = user.getWebPreferences(); + PageControlView currentView = PageControlView.valueOf(viewName); + WebUser user = EnterpriseFacesContextUtility.getWebUser(); + WebUserPreferences preferences = user.getWebPreferences();
- return preferences.getPageControl(currentView); + return preferences.getPageControl(currentView); + } catch (Throwable t) { + // be tolerant of JSF + return new PageControl(0, 15); // return something reasonable + } }
private UIData getEnclosingUIData(UIComponent component) {
rhq-commits@lists.fedorahosted.org