modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
| 7 ++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
| 20 +++++-----
2 files changed, 15 insertions(+), 12 deletions(-)
New commits:
commit 3447a66c09dfdec0ea2bdcc45798bd1caf6f41ac
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Apr 5 15:06:43 2011 -0400
escape HTML in names and descriptions on groupdef list and details views
(
https://bugzilla.redhat.com/show_bug.cgi?id=691547)
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
index 9106e60..f5f7ba0 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
@@ -1,6 +1,6 @@
/*
* RHQ Management Platform
- * Copyright (C) 2005-2010 Red Hat, Inc.
+ * Copyright (C) 2005-2011 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
@@ -36,6 +36,7 @@ import org.rhq.enterprise.gui.coregui.client.PermissionsLoadedListener;
import org.rhq.enterprise.gui.coregui.client.PermissionsLoader;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
import org.rhq.enterprise.gui.coregui.client.components.table.AbstractTableAction;
+import org.rhq.enterprise.gui.coregui.client.components.table.EscapedHtmlCellFormatter;
import org.rhq.enterprise.gui.coregui.client.components.table.TableActionEnablement;
import org.rhq.enterprise.gui.coregui.client.components.table.TableSection;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
@@ -56,8 +57,8 @@ public class GroupDefinitionListView extends
TableSection<GroupDefinitionDataSou
super(locatorId, TITLE);
setHeaderIcon(headerIcon);
-
setDataSource(GroupDefinitionDataSource.getInstance());
+ setEscapeHtmlInDetailsLinkColumn(true);
}
@Override
@@ -67,7 +68,9 @@ public class GroupDefinitionListView extends
TableSection<GroupDefinitionDataSou
idField.setWidth(50);
ListGridField nameField = new ListGridField("name",
MSG.common_title_name(), 150);
+ nameField.setCellFormatter(new EscapedHtmlCellFormatter());
ListGridField descriptionField = new ListGridField("description",
MSG.common_title_description());
+ descriptionField.setCellFormatter(new EscapedHtmlCellFormatter());
ListGridField expressionField = new ListGridField("expression",
MSG.view_dynagroup_expressionSet(), 250);
expressionField.setCellFormatter(new CellFormatter() {
public String format(Object value, ListGridRecord record, int rowNum, int
colNum) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
index a302455..10daf03 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
@@ -1,6 +1,6 @@
/*
* RHQ Management Platform
- * Copyright (C) 2005-2010 Red Hat, Inc.
+ * Copyright (C) 2005-2011 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
@@ -73,10 +73,12 @@ import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.PermissionsLoadedListener;
import org.rhq.enterprise.gui.coregui.client.PermissionsLoader;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
+import org.rhq.enterprise.gui.coregui.client.components.table.EscapedHtmlCellFormatter;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGroupsDataSource;
import
org.rhq.enterprise.gui.coregui.client.inventory.groups.definitions.GroupDefinitionExpressionBuilder.AddExpressionHandler;
+import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
@@ -139,11 +141,8 @@ public class SingleGroupDefinitionView extends LocatableVLayout
implements Bookm
form.setDataSource(GroupDefinitionDataSource.getInstance());
form.setHiliteRequiredFields(true);
form.setRequiredTitleSuffix(" <span style=\"color: red;\">*
</span>:");
- if (groupDefinition.getId() == 0) {
- form.setSaveOperationType(DSOperationType.ADD);
- } else {
- form.setSaveOperationType(DSOperationType.UPDATE);
- }
+ DSOperationType saveOperationType = (groupDefinition.getId() == 0) ?
DSOperationType.ADD : DSOperationType.UPDATE;
+ form.setSaveOperationType(saveOperationType);
final DynaGroupChildrenView dynaGroupChildrenView = new
DynaGroupChildrenView(extendLocatorId("DynaGroups"),
groupDefinitionId);
@@ -201,7 +200,7 @@ public class SingleGroupDefinitionView extends LocatableVLayout
implements Bookm
} else {
Record newRecord = results[0];
GroupDefinition newGroupDefinition =
GroupDefinitionDataSource.getInstance().copyValues(
- (ListGridRecord) newRecord);
+ newRecord);
if (recalc) {
recalculate(dynaGroupChildrenView,
newGroupDefinition.getId());
}
@@ -257,12 +256,13 @@ public class SingleGroupDefinitionView extends LocatableVLayout
implements Bookm
public String format(Object value, ListGridRecord record, int rowNum, int
colNum) {
String linkName = record.getAttributeAsString(NAME.propertyName());
String linkUrl =
LinkManager.getResourceGroupLink(record.getAttributeAsInt("id"));
- return "<a href=\"" + linkUrl +
"\">" + linkName + "</a>";
+ return "<a href=\"" + linkUrl +
"\">" + StringUtility.escapeHtml(linkName) + "</a>";
}
});
ListGridField descriptionField = new
ListGridField(DESCRIPTION.propertyName(), DESCRIPTION.title());
descriptionField.setWidth("300");
+ descriptionField.setCellFormatter(new EscapedHtmlCellFormatter());
ListGridField typeNameField = new ListGridField(TYPE.propertyName(),
TYPE.title());
typeNameField.setWidth("100");
@@ -350,12 +350,12 @@ public class SingleGroupDefinitionView extends LocatableVLayout
implements Bookm
templateSelectorTitleSpacer.setColSpan(1);
templateSelectorTitleSpacer.setEndRow(false);
- templateSelector = new SelectItem("templateSelector");
+ // TODO: i18n title
+ templateSelector = new SelectItem("templateSelector", "Saved
Expression");
templateStrings = getTemplates();
templateSelector.setValueMap(templateStrings.keySet().toArray(new
String[templateStrings.size()]));
templateSelector.setAllowEmptyValue(true);
templateSelector.setWidth(300);
- templateSelector.setShowTitle(false);
templateSelector.setColSpan(1);
templateSelector.setEndRow(true);
templateSelector.setStartRow(false);