modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NewNotificationEditor.java
| 34 ++++++++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/AlertDefinitionGWTService.java
| 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertDefinitionGWTServiceImpl.java
| 16 ++++
3 files changed, 47 insertions(+), 5 deletions(-)
New commits:
commit 29888fd3a7ed804c812b299f1509ae5980321b3a
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Sep 30 16:18:14 2010 -0400
populate the notif drop down with all sender names
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NewNotificationEditor.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NewNotificationEditor.java
index 1711bd5..5da3c43 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NewNotificationEditor.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NewNotificationEditor.java
@@ -26,6 +26,7 @@ package org.rhq.enterprise.gui.coregui.client.alert.definitions;
import java.util.ArrayList;
import java.util.LinkedHashMap;
+import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.FormItemIfFunction;
@@ -38,6 +39,8 @@ import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
import org.rhq.core.domain.alert.AlertDefinition;
import org.rhq.core.domain.alert.notification.AlertNotification;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
/**
@@ -70,18 +73,39 @@ public class NewNotificationEditor extends LocatableDynamicForm {
notificationSenderSelectItem = new SelectItem("notificationSender",
"Notification Sender");
- LinkedHashMap<String, String> senders = new LinkedHashMap<String,
String>();
if (notificationToEdit != null) {
// we were given a notification to edit, you can't change the sender
type, its the only option
- senders.put(notificationToEdit.getSenderName(),
notificationToEdit.getSenderName());
notificationSenderSelectItem.setDisabled(true);
+ LinkedHashMap<String, String> senders = new LinkedHashMap<String,
String>(1);
+ senders.put(notificationToEdit.getSenderName(),
notificationToEdit.getSenderName());
+ notificationSenderSelectItem.setValueMap(senders);
} else {
+ notificationSenderSelectItem.setValueMap("Loading...");
+ notificationSenderSelectItem.setDisabled(true);
// we are creating a new notification, need to provide all senders as
options
- senders.put("System Users", "System Users");
- senders.put("dummySender", "Dummy Sender");
+ GWTServiceLookup.getAlertDefinitionService().getAllAlertSenders(new
AsyncCallback<String[]>() {
+ @Override
+ public void onSuccess(String[] result) {
+ if (result != null && result.length > 0) {
+ LinkedHashMap<String, String> senders = new
LinkedHashMap<String, String>(result.length);
+ for (String senderName : result) {
+ senders.put(senderName, senderName);
+ }
+ notificationSenderSelectItem.setValueMap(senders);
+ notificationSenderSelectItem.setDisabled(false);
+ notificationSenderSelectItem.redraw();
+ } else {
+ CoreGUI.getErrorHandler().handleError("No alert senders
available");
+ }
+ }
+
+ @Override
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError("Cannot get alert
senders", caught);
+ }
+ });
}
- notificationSenderSelectItem.setValueMap(senders);
notificationSenderSelectItem.setDefaultToFirstOption(true);
notificationSenderSelectItem.setWrapTitle(false);
notificationSenderSelectItem.setRedrawOnChange(true);
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/AlertDefinitionGWTService.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/AlertDefinitionGWTService.java
index 4819bac..ee93aed 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/AlertDefinitionGWTService.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/AlertDefinitionGWTService.java
@@ -41,4 +41,6 @@ public interface AlertDefinitionGWTService extends RemoteService {
int removeAlertDefinitions(Integer[] alertDefinitionIds) throws Exception;
String[] getAlertNotificationConfigurationPreview(AlertNotification[] notifs) throws
Exception;
+
+ String[] getAllAlertSenders() throws Exception;
}
\ No newline at end of file
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertDefinitionGWTServiceImpl.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertDefinitionGWTServiceImpl.java
index d1f492b..b906473 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertDefinitionGWTServiceImpl.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertDefinitionGWTServiceImpl.java
@@ -18,6 +18,8 @@
*/
package org.rhq.enterprise.gui.coregui.server.gwt;
+import java.util.List;
+
import org.rhq.core.domain.alert.AlertDefinition;
import org.rhq.core.domain.alert.notification.AlertNotification;
import org.rhq.core.domain.criteria.AlertDefinitionCriteria;
@@ -26,12 +28,14 @@ import org.rhq.core.util.exception.ThrowableUtil;
import org.rhq.enterprise.gui.coregui.client.gwt.AlertDefinitionGWTService;
import org.rhq.enterprise.gui.coregui.server.util.SerialUtility;
import org.rhq.enterprise.server.alert.AlertDefinitionManagerLocal;
+import org.rhq.enterprise.server.alert.AlertNotificationManagerLocal;
import org.rhq.enterprise.server.util.LookupUtil;
public class AlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl implements
AlertDefinitionGWTService {
private static final long serialVersionUID = 1L;
private AlertDefinitionManagerLocal alertDefManager =
LookupUtil.getAlertDefinitionManager();
+ private AlertNotificationManagerLocal alertNotifManager =
LookupUtil.getAlertNotificationManager();
@Override
public PageList<AlertDefinition>
findAlertDefinitionsByCriteria(AlertDefinitionCriteria criteria) {
@@ -106,4 +110,16 @@ public class AlertDefinitionGWTServiceImpl extends
AbstractGWTServiceImpl implem
}
}
+ @Override
+ public String[] getAllAlertSenders() throws Exception {
+ try {
+ List<String> results = alertNotifManager.listAllAlertSenders();
+ if (results == null) {
+ return null;
+ }
+ return SerialUtility.prepare(results.toArray(new String[results.size()]),
"getAllAlertSenders");
+ } catch (Exception e) {
+ throw new RuntimeException(ThrowableUtil.getAllMessages(e));
+ }
+ }
}
\ No newline at end of file
Show replies by date