modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java
| 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsAlertDefinitionForm.java
| 11
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsEditor.java
| 14
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/GroupAlertDefinitionsView.java
| 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NewConditionEditor.java
| 147 +++++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java
| 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java
| 10
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/TemplateAlertDefinitionsView.java
| 5
8 files changed, 162 insertions(+), 44 deletions(-)
New commits:
commit 4752d410687ff02f7c04e3f62a552f3f7e55bb06
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Mon Sep 13 14:17:48 2010 -0400
get new condition editor to show metrics, operations, etc
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java
index 23bc0cc..657fd5c 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java
@@ -29,6 +29,7 @@ import org.rhq.core.domain.alert.AlertDefinition;
import org.rhq.core.domain.alert.AlertPriority;
import org.rhq.core.domain.alert.BooleanExpression;
import org.rhq.core.domain.criteria.AlertDefinitionCriteria;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
@@ -118,14 +119,14 @@ public abstract class AbstractAlertDefinitionsView extends
TableSection {
AlertDefinition alertDef = getAlertDefinitionDataSource().copyValues(record);
SingleAlertDefinitionView singleAlertDefinitionView = new
SingleAlertDefinitionView(this
- .extendLocatorId(alertDef.getName()), alertDef);
+ .extendLocatorId(alertDef.getName()), getResourceType(), alertDef);
return singleAlertDefinitionView;
}
@Override
public SingleAlertDefinitionView getDetailsView(int id) {
final SingleAlertDefinitionView singleAlertDefinitionView = new
SingleAlertDefinitionView(this
- .extendLocatorId("Empty"));
+ .extendLocatorId("singleAlertDefinitionView"), getResourceType());
if (id == 0) {
// create an empty one with all defaults
@@ -160,6 +161,8 @@ public abstract class AbstractAlertDefinitionsView extends
TableSection {
return singleAlertDefinitionView;
}
+ protected abstract ResourceType getResourceType();
+
protected abstract Criteria getCriteria();
protected abstract AbstractAlertDefinitionsDataSource
getAlertDefinitionDataSource();
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsAlertDefinitionForm.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsAlertDefinitionForm.java
index e1cb68f..182173a 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsAlertDefinitionForm.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsAlertDefinitionForm.java
@@ -32,6 +32,7 @@ import com.smartgwt.client.widgets.form.fields.StaticTextItem;
import org.rhq.core.domain.alert.AlertCondition;
import org.rhq.core.domain.alert.AlertDefinition;
import org.rhq.core.domain.alert.BooleanExpression;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
@@ -40,6 +41,7 @@ import
org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
*/
public class ConditionsAlertDefinitionForm extends LocatableVLayout implements
EditAlertDefinitionForm {
+ private final ResourceType resourceType;
private AlertDefinition alertDefinition;
private SelectItem conditionExpression;
@@ -49,12 +51,13 @@ public class ConditionsAlertDefinitionForm extends LocatableVLayout
implements E
private boolean formBuilt = false;
- public ConditionsAlertDefinitionForm(String locatorId) {
- this(locatorId, null);
+ public ConditionsAlertDefinitionForm(String locatorId, ResourceType resourceType) {
+ this(locatorId, resourceType, null);
}
- public ConditionsAlertDefinitionForm(String locatorId, AlertDefinition
alertDefinition) {
+ public ConditionsAlertDefinitionForm(String locatorId, ResourceType resourceType,
AlertDefinition alertDefinition) {
super(locatorId);
+ this.resourceType = resourceType;
this.alertDefinition = alertDefinition;
}
@@ -146,7 +149,7 @@ public class ConditionsAlertDefinitionForm extends LocatableVLayout
implements E
conditionExpressionForm.setFields(conditionExpression,
conditionExpressionStatic);
- conditionsEditor = new
ConditionsEditor(this.extendLocatorId("conditionsEditor"), null);
+ conditionsEditor = new
ConditionsEditor(this.extendLocatorId("conditionsEditor"), resourceType, null);
setMembers(conditionExpressionForm, conditionsEditor);
formBuilt = true;
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsEditor.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsEditor.java
index 1742ec0..78261a3 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsEditor.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsEditor.java
@@ -29,12 +29,14 @@ import java.util.Set;
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.DSResponse;
import com.smartgwt.client.data.fields.DataSourceTextField;
+import com.smartgwt.client.types.Overflow;
import com.smartgwt.client.widgets.Window;
import com.smartgwt.client.widgets.events.CloseClickHandler;
import com.smartgwt.client.widgets.events.CloseClientEvent;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.alert.AlertCondition;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.enterprise.gui.coregui.client.alert.AlertFormatUtility;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
@@ -47,11 +49,13 @@ import
org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
*/
public class ConditionsEditor extends LocatableVLayout {
+ private ResourceType resourceType;
private HashSet<AlertCondition> conditions;
private Table table;
- public ConditionsEditor(String locatorId, HashSet<AlertCondition> conditions)
{
+ public ConditionsEditor(String locatorId, ResourceType resourceType,
HashSet<AlertCondition> conditions) {
super(locatorId);
+ this.resourceType = resourceType;
setConditions(conditions);
}
@@ -90,20 +94,24 @@ public class ConditionsEditor extends LocatableVLayout {
public void executeAction(ListGridRecord[] selection) {
final Window winModal = new Window();
winModal.setTitle("Add Condition");
+ winModal.setOverflow(Overflow.VISIBLE);
winModal.setShowMinimizeButton(false);
winModal.setIsModal(true);
winModal.setShowModalMask(true);
winModal.setAutoSize(true);
winModal.setAutoCenter(true);
+ //winModal.setShowResizer(true);
+ //winModal.setCanDragResize(true);
winModal.centerInPage();
winModal.addCloseClickHandler(new CloseClickHandler() {
@Override
public void onCloseClick(CloseClientEvent event) {
- winModal.destroy();
+ winModal.markForDestroy();
}
});
+
NewConditionEditor newConditionEditor = new
NewConditionEditor(extendLocatorId("newConditionEditor"),
- conditions);
+ conditions, ConditionsEditor.this.resourceType, winModal);
winModal.addItem(newConditionEditor);
winModal.show();
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/GroupAlertDefinitionsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/GroupAlertDefinitionsView.java
index c0b37ca..ec67b08 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/GroupAlertDefinitionsView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/GroupAlertDefinitionsView.java
@@ -27,6 +27,7 @@ import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.grid.ListGridRecord;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.domain.resource.group.ResourceGroup;
/**
@@ -44,6 +45,11 @@ public class GroupAlertDefinitionsView extends
AbstractAlertDefinitionsView {
}
@Override
+ protected ResourceType getResourceType() {
+ return group.getResourceType();
+ }
+
+ @Override
protected Criteria getCriteria() {
Criteria criteria = new Criteria();
criteria.addCriteria(CRITERIA_GROUP_ID, group.getId());
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NewConditionEditor.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NewConditionEditor.java
index c6c59c1..7922824 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NewConditionEditor.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NewConditionEditor.java
@@ -24,11 +24,13 @@
package org.rhq.enterprise.gui.coregui.client.alert.definitions;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedHashMap;
+import java.util.Set;
import com.smartgwt.client.types.Alignment;
-import com.smartgwt.client.util.SC;
+import com.smartgwt.client.widgets.Window;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.FormItemIfFunction;
import com.smartgwt.client.widgets.form.fields.ButtonItem;
@@ -44,7 +46,10 @@ import org.rhq.core.domain.alert.AlertCondition;
import org.rhq.core.domain.alert.AlertConditionCategory;
import org.rhq.core.domain.event.EventSeverity;
import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.domain.measurement.MeasurementDefinition;
+import org.rhq.core.domain.operation.OperationDefinition;
import org.rhq.core.domain.operation.OperationRequestStatus;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
/**
@@ -52,12 +57,59 @@ import
org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
*/
public class NewConditionEditor extends LocatableDynamicForm {
- private HashSet<AlertCondition> conditions; // the new condition we create goes
into this set
private SelectItem conditionTypeSelectItem;
+ private HashSet<AlertCondition> conditions; // the new condition we create goes
into this set
+ private Collection<String> metrics;
+ private Collection<String> traits;
+ private Collection<String> operations;
+ private boolean supportsEvents;
+ private Window parentWindow; // where this form is located; after form is OK'ed,
this window will be destroyed
+
+ public NewConditionEditor(String locatorId, HashSet<AlertCondition> conditions,
ResourceType rtype, Window parent) {
- public NewConditionEditor(String locatorId, HashSet<AlertCondition> conditions)
{
super(locatorId);
this.conditions = conditions;
+ this.parentWindow = parent;
+
+ this.supportsEvents = (rtype.getEventDefinitions() != null &
rtype.getEventDefinitions().size() > 0);
+
+ Set<MeasurementDefinition> metricDefinitions =
rtype.getMetricDefinitions();
+ Set<OperationDefinition> operationDefinitions =
rtype.getOperationDefinitions();
+ if (metricDefinitions == null || metricDefinitions.size() == 0) {
+ this.metrics = null;
+ this.traits = null;
+ } else {
+ for (MeasurementDefinition measurementDefinition : metricDefinitions) {
+ switch (measurementDefinition.getDataType()) {
+ case MEASUREMENT: {
+ if (this.metrics == null) {
+ this.metrics = new ArrayList<String>();
+ }
+ this.metrics.add(measurementDefinition.getDisplayName());
+ break;
+ }
+ case TRAIT: {
+ if (this.traits == null) {
+ this.traits = new ArrayList<String>();
+ }
+ this.traits.add(measurementDefinition.getDisplayName());
+ break;
+ }
+ default: {
+ break;
+ }
+ }
+ }
+ }
+
+ if (operationDefinitions == null || operationDefinitions.size() == 0) {
+ this.operations = null;
+ } else {
+ this.operations = new ArrayList<String>(operationDefinitions.size());
+ for (OperationDefinition operationDefinition : operationDefinitions) {
+ this.operations.add(operationDefinition.getDisplayName());
+ }
+ }
}
@Override
@@ -68,15 +120,23 @@ public class NewConditionEditor extends LocatableDynamicForm {
conditionTypeSelectItem = new SelectItem("conditionType",
"Condition Type");
LinkedHashMap<String, String> condTypes = new LinkedHashMap<String,
String>(7);
- condTypes.put(AlertConditionCategory.THRESHOLD.name(), "Measurement Absolute
Value Threshold");
- condTypes.put(AlertConditionCategory.BASELINE.name(), "Measurement Baseline
Threshold");
- condTypes.put(AlertConditionCategory.CHANGE.name(), "Measurement Value
Change");
- condTypes.put(AlertConditionCategory.TRAIT.name(), "Trait Value
Change");
condTypes.put(AlertConditionCategory.AVAILABILITY.name(), "Availability
Change");
- condTypes.put(AlertConditionCategory.CONTROL.name(), "Operation
Execution");
- condTypes.put(AlertConditionCategory.EVENT.name(), "Event Detection");
+ if (metrics != null) {
+ condTypes.put(AlertConditionCategory.THRESHOLD.name(), "Measurement
Absolute Value Threshold");
+ condTypes.put(AlertConditionCategory.BASELINE.name(), "Measurement
Baseline Threshold");
+ condTypes.put(AlertConditionCategory.CHANGE.name(), "Measurement Value
Change");
+ }
+ if (traits != null) {
+ condTypes.put(AlertConditionCategory.TRAIT.name(), "Trait Value
Change");
+ }
+ if (operations != null) {
+ condTypes.put(AlertConditionCategory.CONTROL.name(), "Operation
Execution");
+ }
+ if (supportsEvents) {
+ condTypes.put(AlertConditionCategory.EVENT.name(), "Event
Detection");
+ }
conditionTypeSelectItem.setValueMap(condTypes);
-
conditionTypeSelectItem.setDefaultValue(AlertConditionCategory.THRESHOLD.name());
+
conditionTypeSelectItem.setDefaultValue(AlertConditionCategory.AVAILABILITY.name());
conditionTypeSelectItem.setWrapTitle(false);
conditionTypeSelectItem.setRedrawOnChange(true);
conditionTypeSelectItem.setWidth("*");
@@ -91,21 +151,31 @@ public class NewConditionEditor extends LocatableDynamicForm {
ok.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
- // TODO
- SC.say("Not yet implemented");
+ if (validate(false)) {
+ // TODO
+ NewConditionEditor.this.parentWindow.markForDestroy();
+ }
}
});
ArrayList<FormItem> formItems = new ArrayList<FormItem>();
formItems.add(conditionTypeSelectItem);
formItems.add(spacer);
- formItems.addAll(buildMetricThresholdFormItems());
- formItems.addAll(buildMetricBaselineFormItems());
- formItems.addAll(buildMetricChangeFormItems());
- formItems.addAll(buildTraitChangeFormItems());
formItems.addAll(buildAvailabilityChangeFormItems());
- formItems.addAll(buildOperationFormItems());
- formItems.addAll(buildEventFormItems());
+ if (metrics != null) {
+ formItems.addAll(buildMetricThresholdFormItems());
+ formItems.addAll(buildMetricBaselineFormItems());
+ formItems.addAll(buildMetricChangeFormItems());
+ }
+ if (traits != null) {
+ formItems.addAll(buildTraitChangeFormItems());
+ }
+ if (operations != null) {
+ formItems.addAll(buildOperationFormItems());
+ }
+ if (supportsEvents) {
+ formItems.addAll(buildEventFormItems());
+ }
formItems.add(ok);
setFields(formItems.toArray(new FormItem[formItems.size()]));
@@ -126,6 +196,8 @@ public class NewConditionEditor extends LocatableDynamicForm {
TextItem absoluteValue = new TextItem("metricAbsoluteValue",
"Metric Value");
absoluteValue.setWrapTitle(false);
absoluteValue.setRequired(true);
+ absoluteValue
+ .setTooltip("The threshold value of the metric that will trigger the
condition when compared using the selected comparator.");
absoluteValue.setShowIfCondition(ifFunc);
formItems.add(absoluteValue);
@@ -148,6 +220,8 @@ public class NewConditionEditor extends LocatableDynamicForm {
TextItem baselinePercentage = new TextItem("baselinePercentage",
"Baseline Percentage");
baselinePercentage.setWrapTitle(false);
baselinePercentage.setRequired(true);
+ baselinePercentage
+ .setTooltip("A collected metric value will trigger this condition when
compared to this percentage of the selected baseline value using the selected
comparator");
baselinePercentage.setShowIfCondition(ifFunc);
formItems.add(baselinePercentage);
@@ -158,8 +232,9 @@ public class NewConditionEditor extends LocatableDynamicForm {
baselines.put("max", "Maximum"); // title should have the
current value of the max baseline
baselineSelection.setValueMap(baselines);
baselineSelection.setDefaultValue("avg");
- baselineSelection.setWidth("*");
baselineSelection.setWrapTitle(false);
+ baselineSelection.setWidth("*");
+ baselineSelection.setRedrawOnChange(true);
baselineSelection.setShowIfCondition(ifFunc);
formItems.add(baselineSelection);
@@ -189,14 +264,16 @@ public class NewConditionEditor extends LocatableDynamicForm {
StaticTextItem helpItem = buildHelpTextItem("traitHelp", helpStr,
ifFunc);
formItems.add(helpItem);
- LinkedHashMap<String, String> traits = new LinkedHashMap<String,
String>();
- // TODO
- traits.put("dummy trait", "Dummy Trait Name");
+ LinkedHashMap<String, String> traitsMap = new LinkedHashMap<String,
String>();
+ for (String traitName : this.traits) {
+ traitsMap.put(traitName, traitName);
+ }
SelectItem traitSelection = new SelectItem("trait",
"Trait");
- traitSelection.setValueMap(traits);
- traitSelection.setDefaultValue(traits.keySet().iterator().next()); // just use
the first one
+ traitSelection.setValueMap(traitsMap);
+ traitSelection.setDefaultValue(traitsMap.keySet().iterator().next()); // just use
the first one
traitSelection.setWidth("*");
+ traitSelection.setRedrawOnChange(true);
traitSelection.setShowIfCondition(ifFunc);
formItems.add(traitSelection);
@@ -234,12 +311,15 @@ public class NewConditionEditor extends LocatableDynamicForm {
formItems.add(helpItem);
LinkedHashMap<String, String> ops = new LinkedHashMap<String,
String>();
- // TODO
- ops.put("dummy op", "Dummy Op Name");
+ for (String opName : this.operations) {
+ ops.put(opName, opName);
+ }
SelectItem opSelection = new SelectItem("operation",
"Operation");
opSelection.setValueMap(ops);
opSelection.setDefaultValue(ops.keySet().iterator().next()); // just use the
first one
+ opSelection.setWidth("*");
+ opSelection.setRedrawOnChange(true);
opSelection.setShowIfCondition(ifFunc);
formItems.add(opSelection);
@@ -251,7 +331,6 @@ public class NewConditionEditor extends LocatableDynamicForm {
operationStatuses.put(OperationRequestStatus.CANCELED.name(),
OperationRequestStatus.CANCELED.name());
opResultsSelection.setValueMap(operationStatuses);
opResultsSelection.setDefaultValue(OperationRequestStatus.FAILURE.name());
- opResultsSelection.setWidth("*");
opResultsSelection.setWrapTitle(false);
opResultsSelection.setShowIfCondition(ifFunc);
formItems.add(opResultsSelection);
@@ -283,6 +362,8 @@ public class NewConditionEditor extends LocatableDynamicForm {
TextItem eventRegex = new TextItem("eventRegex", "Regular
Expression");
eventRegex.setRequired(false);
+ eventRegex
+ .setTooltip("If specified, this is a regular expression that must match
a collected event message in order to trigger the condition.");
eventRegex.setWrapTitle(false);
eventRegex.setShowIfCondition(ifFunc);
formItems.add(eventRegex);
@@ -292,13 +373,16 @@ public class NewConditionEditor extends LocatableDynamicForm {
private SelectItem buildMetricDropDownMenu(String itemName, FormItemIfFunction
ifFunc) {
- LinkedHashMap<String, String> metrics = new LinkedHashMap<String,
String>();
- metrics.put("dummy metric", "Dummy Metric Name");
+ LinkedHashMap<String, String> metricsMap = new LinkedHashMap<String,
String>();
+ for (String metricName : this.metrics) {
+ metricsMap.put(metricName, metricName);
+ }
SelectItem metricSelection = new SelectItem(itemName, "Metric");
- metricSelection.setValueMap(metrics);
- metricSelection.setDefaultValue(metrics.keySet().iterator().next()); // just use
the first one
+ metricSelection.setValueMap(metricsMap);
+ metricSelection.setDefaultValue(metricsMap.keySet().iterator().next()); // just
use the first one
metricSelection.setWidth("*");
+ metricSelection.setRedrawOnChange(true);
metricSelection.setShowIfCondition(ifFunc);
return metricSelection;
}
@@ -313,6 +397,7 @@ public class NewConditionEditor extends LocatableDynamicForm {
SelectItem comparatorSelection = new SelectItem(itemName,
"Comparator");
comparatorSelection.setValueMap(comparators);
comparatorSelection.setDefaultValue("<");
+ comparatorSelection.setTooltip("How a collected metric value should be
compared to the given threshold value");
comparatorSelection.setShowIfCondition(ifFunc);
return comparatorSelection;
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java
index 7cf7226..83a8629 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java
@@ -28,6 +28,7 @@ import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.domain.resource.ResourceType;
/**
* @author John Mazzitelli
@@ -44,6 +45,11 @@ public class ResourceAlertDefinitionsView extends
AbstractAlertDefinitionsView {
}
@Override
+ protected ResourceType getResourceType() {
+ return resource.getResourceType();
+ }
+
+ @Override
protected Criteria getCriteria() {
Criteria criteria = new Criteria();
criteria.addCriteria(CRITERIA_RESOURCE_ID, resource.getId());
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java
index d06e422..8269a8d 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java
@@ -30,6 +30,7 @@ import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.tab.Tab;
import org.rhq.core.domain.alert.AlertDefinition;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableButton;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
@@ -41,6 +42,7 @@ import
org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
public class SingleAlertDefinitionView extends LocatableVLayout {
private AlertDefinition alertDefinition;
+
private GeneralPropertiesAlertDefinitionForm generalProperties;
private ConditionsAlertDefinitionForm conditions;
private NotificationsAlertDefinitionForm notifications;
@@ -51,11 +53,11 @@ public class SingleAlertDefinitionView extends LocatableVLayout {
private Button saveButton;
private Button cancelButton;
- public SingleAlertDefinitionView(String locatorId) {
- this(locatorId, null);
+ public SingleAlertDefinitionView(String locatorId, ResourceType resourceType) {
+ this(locatorId, resourceType, null);
}
- public SingleAlertDefinitionView(String locatorId, AlertDefinition alertDefinition)
{
+ public SingleAlertDefinitionView(String locatorId, ResourceType resourceType,
AlertDefinition alertDefinition) {
super(locatorId);
this.alertDefinition = alertDefinition;
@@ -68,7 +70,7 @@ public class SingleAlertDefinitionView extends LocatableVLayout {
generalPropertiesTab.setPane(generalProperties);
Tab conditionsTab = new
LocatableTab(tabSet.extendLocatorId("Conditions"), "Conditions");
- conditions = new ConditionsAlertDefinitionForm(this.getLocatorId(),
alertDefinition);
+ conditions = new ConditionsAlertDefinitionForm(this.getLocatorId(), resourceType,
alertDefinition);
conditionsTab.setPane(conditions);
Tab notificationsTab = new
LocatableTab(tabSet.extendLocatorId("Notifications"),
"Notifications");
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/TemplateAlertDefinitionsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/TemplateAlertDefinitionsView.java
index d2f44f6..d5a5e14 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/TemplateAlertDefinitionsView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/TemplateAlertDefinitionsView.java
@@ -44,6 +44,11 @@ public class TemplateAlertDefinitionsView extends
AbstractAlertDefinitionsView {
}
@Override
+ protected ResourceType getResourceType() {
+ return resourceType;
+ }
+
+ @Override
protected Criteria getCriteria() {
Criteria criteria = new Criteria();
criteria.addCriteria(CRITERIA_RESOURCE_TYPE_ID, resourceType.getId());