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@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());