[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rhq-commits
Subject:    [rhq] modules/enterprise
From:       mazz () fedoraproject ! org (mazz)
Date:       2010-09-30 20:19:53
Message-ID: 20100930201953.33E96120153 () lists ! fedorahosted ! org
[Download RAW message or body]

 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 at 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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic