[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java | 26 +++++++++-
1 file changed, 24 insertions(+), 2 deletions(-)
New commits:
commit 94be9df7fdad867c1643259d860e80b5c966d477
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Fri Mar 18 11:01:22 2011 -0400
this is a locatable class, so it should be implementing Locatable interface
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java
index 359abfd..ea6a2f1 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java
@@ -7,10 +7,19 @@ import com.smartgwt.client.widgets.IButton;
*
* @author Jay Shaughnessy
*/
-public class LocatableIButton extends IButton {
+public class LocatableIButton extends IButton implements Locatable {
+ private String locatorId;
+
+ /**
+ * <pre>
+ * ID Format: "simpleClassname_locatorId"
+ * </pre>
+ * @param locatorId not null or empty.
+ */
public LocatableIButton(String locatorId) {
- this(locatorId, null);
+ super();
+ init(locatorId);
}
/**
@@ -18,10 +27,23 @@ public class LocatableIButton extends IButton {
* ID Format: "simpleClassname_locatorId"
* </pre>
* @param locatorId not null or empty.
+ * @param title
*/
public LocatableIButton(String locatorId, String title) {
super(title);
+ init(locatorId);
+ }
+
+ private void init(String locatorId) {
+ this.locatorId = locatorId;
SeleniumUtility.setID(this, locatorId);
}
+ public String getLocatorId() {
+ return locatorId;
+ }
+
+ public String extendLocatorId(String extension) {
+ return this.locatorId + "_" + extension;
+ }
}
13 years, 3 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageCenterView.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
New commits:
commit 411d51c2651217a4994651670e3c121c969e21c7
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Fri Mar 18 10:06:10 2011 -0400
add separator
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageCenterView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageCenterView.java
index d0588ca..1891bd4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageCenterView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageCenterView.java
@@ -87,13 +87,13 @@ public class MessageCenterView extends LocatableVLayout implements MessageCenter
showDetails(message);
}
});
- messagesMenu.addItem(messageItem, 1);
+ messagesMenu.addItem(messageItem, 2); // put this just below the "clear all msgs" item and the separator
// to avoid flooding the message center, clip old messages
final int maxMessages = 25;
if (messageCount > maxMessages) {
MenuItem[] items = messagesMenu.getItems();
- MenuItem[] clippedItems = new MenuItem[maxMessages + 1]; // +1 to take into account the Clear All Messages item
+ MenuItem[] clippedItems = new MenuItem[maxMessages + 2]; // +2 to take into account the Clear All Messages item and the separator
System.arraycopy(items, 0, clippedItems, 0, clippedItems.length);
messagesMenu.setItems(clippedItems);
}
@@ -109,6 +109,11 @@ public class MessageCenterView extends LocatableVLayout implements MessageCenter
}
});
messagesMenu.setItems(clearItem); // setItems making this the only item in the menu
+
+ MenuItem separator = new MenuItem();
+ separator.setIsSeparator(true);
+ messagesMenu.addItem(separator);
+
markForRedraw();
}
13 years, 3 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageCenterView.java | 114 ++++------
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 1
2 files changed, 57 insertions(+), 58 deletions(-)
New commits:
commit ef4dc73f70fd6c1fd2e1b45b13d5645b5b5ed1e0
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Mar 17 17:58:34 2011 -0400
BZ 681355 - message center enhancements. you can now clear the messages via the top "Clear All Messages" menu item.
The newest/latest message appears at the top - the messages are now in descending order.
There is a limit to the number of messages in the message center, the older messages get clipped.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageCenterView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageCenterView.java
index a96b25a..d0588ca 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageCenterView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageCenterView.java
@@ -18,14 +18,9 @@
*/
package org.rhq.enterprise.gui.coregui.client.util.message;
-import java.util.List;
-
-import com.allen_sauer.gwt.log.client.Log;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.VerticalAlignment;
import com.smartgwt.client.widgets.Window;
-import com.smartgwt.client.widgets.events.ClickEvent;
-import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.events.CloseClickHandler;
import com.smartgwt.client.widgets.events.CloseClientEvent;
import com.smartgwt.client.widgets.form.DynamicForm;
@@ -34,6 +29,7 @@ import com.smartgwt.client.widgets.form.fields.StaticTextItem;
import com.smartgwt.client.widgets.menu.IMenuButton;
import com.smartgwt.client.widgets.menu.Menu;
import com.smartgwt.client.widgets.menu.MenuItem;
+import com.smartgwt.client.widgets.menu.events.ClickHandler;
import com.smartgwt.client.widgets.menu.events.MenuItemClickEvent;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
@@ -50,6 +46,10 @@ public class MessageCenterView extends LocatableVLayout implements MessageCenter
public static final String LOCATOR_ID = "MessageCenter";
+ private Menu messagesMenu;
+ private IMenuButton messageCenterButton;
+ private int messageCount;
+
public MessageCenterView(String locatorId) {
super(locatorId, 5);
setHeight100();
@@ -60,39 +60,63 @@ public class MessageCenterView extends LocatableVLayout implements MessageCenter
@Override
protected void onDraw() {
super.onDraw();
+
+ messagesMenu = new LocatableMenu(this.extendLocatorId("Messages"));
+
+ messageCenterButton = new LocatableIMenuButton(extendLocatorId("RecentEvents"), MSG
+ .view_messageCenter_messageTitle(), messagesMenu);
+ messageCenterButton.setAutoFit(true);
+
+ emptyMenu();
+ addMember(messageCenterButton);
+
CoreGUI.getMessageCenter().addMessageListener(this);
+ }
- final Menu recentEventsMenu = new LocatableMenu(this.extendLocatorId("Messages"));
-
- IMenuButton recentEventsButton = new LocatableIMenuButton(extendLocatorId("RecentEvents"), MSG
- .view_messageCenter_messageTitle(), recentEventsMenu);
- recentEventsButton.setAutoFit(true);
-
- recentEventsButton.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent clickEvent) {
- List<Message> messages = CoreGUI.getMessageCenter().getMessages();
- if (messages.isEmpty()) {
- recentEventsMenu.setItems(new MenuItem(MSG.view_messageCenter_noRecentMessages()));
- } else {
- MenuItem[] items = new MenuItem[messages.size()];
- for (int i = 0, messagesSize = messages.size(); i < messagesSize; i++) {
- final Message message = messages.get(i);
- MenuItem messageItem = new MenuItem(message.conciseMessage, getSeverityIcon(message.severity));
-
- items[i] = messageItem;
-
- messageItem.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {
- public void onClick(MenuItemClickEvent event) {
- showDetails(message);
- }
- });
- }
- recentEventsMenu.setItems(items);
+ public void onMessage(final Message message) {
+ if (!message.isTransient()) {
+ if (messageCount == 0) {
+ addClearMenuItem();
+ }
+ messageCount++;
+
+ MenuItem messageItem = new MenuItem(message.conciseMessage, getSeverityIcon(message.severity));
+ messageItem.addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(MenuItemClickEvent event) {
+ showDetails(message);
}
+ });
+ messagesMenu.addItem(messageItem, 1);
+
+ // to avoid flooding the message center, clip old messages
+ final int maxMessages = 25;
+ if (messageCount > maxMessages) {
+ MenuItem[] items = messagesMenu.getItems();
+ MenuItem[] clippedItems = new MenuItem[maxMessages + 1]; // +1 to take into account the Clear All Messages item
+ System.arraycopy(items, 0, clippedItems, 0, clippedItems.length);
+ messagesMenu.setItems(clippedItems);
+ }
+ }
+ }
+
+ private void addClearMenuItem() {
+ MenuItem clearItem = new MenuItem(MSG.view_messageCenter_clearAllMessages());
+ clearItem.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {
+ @Override
+ public void onClick(MenuItemClickEvent event) {
+ emptyMenu();
}
});
+ messagesMenu.setItems(clearItem); // setItems making this the only item in the menu
+ markForRedraw();
+ }
- addMember(recentEventsButton);
+ private void emptyMenu() {
+ CoreGUI.getMessageCenter().getMessages().clear();
+ messageCount = 0;
+ messagesMenu.setItems(new MenuItem(MSG.view_messageCenter_noRecentMessages()));
+ markForRedraw();
}
private void showDetails(Message message) {
@@ -138,31 +162,6 @@ public class MessageCenterView extends LocatableVLayout implements MessageCenter
});
}
- public void onMessage(final Message message) {
- if (!message.isTransient()) {
- logMessage(message);
- }
- }
-
- private void logMessage(Message message) {
- // TODO: Format the message better.
- String logMessage = message.toString();
- switch (message.getSeverity()) {
- case Info:
- Log.info(logMessage);
- break;
- case Warning:
- Log.warn(logMessage);
- break;
- case Error:
- Log.error(logMessage);
- break;
- case Fatal:
- Log.fatal(logMessage);
- break;
- }
- }
-
private String getSeverityIcon(Message.Severity severity) {
String iconSrc = null;
switch (severity) {
@@ -179,5 +178,4 @@ public class MessageCenterView extends LocatableVLayout implements MessageCenter
}
return iconSrc;
}
-
}
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
index 11bafec..b7bc5c4 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
@@ -2087,6 +2087,7 @@ view_searchGUI_loginStatus = Unable to determine login status, check server stat
#--------------------------
view_messageCenter_button_messages = Messages
view_messageCenter_noRecentMessages = No Recent Messages
+view_messageCenter_clearAllMessages = Clear All Messages
view_messageCenter_messageTitle = Message Center
view_messageCenter_messageSeverity = Severity
view_messageCenter_messageTime = Time
13 years, 3 months
[rhq] 2 commits - modules/core modules/enterprise
by John Sanda
modules/core/domain/src/main/java/org/rhq/core/domain/plugin/Plugin.java | 28 ++++++
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginsUIBean.java | 23 ++++-
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/startup/StartupServlet.java | 9 ++
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java | 36 +++++++-
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerLocal.java | 38 +++++++-
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/scheduler/jobs/PurgePluginsJob.java | 43 ++++++++++
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java | 3
7 files changed, 164 insertions(+), 16 deletions(-)
New commits:
commit 0f155ea0c73e15258b6489a59ff758bdbe1c8bcc
Merge: da19c1a 189da6b
Author: John Sanda <jsanda(a)redhat.com>
Date: Thu Mar 17 16:26:10 2011 -0400
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit da19c1a6b8d117e0ca04702938e5c7abce6348b6
Author: John Sanda <jsanda(a)redhat.com>
Date: Thu Mar 17 16:17:59 2011 -0400
[BZ 683545] scan plugins directory after deleting plugin and fix purge logic
This commit addresses a problem that occurs when deleting, purging, then
re-adding the plugin. The agent plugin scanner maintains a cache of
plugins on the file system, and that cache was getting dirty. This
results in the scanner failing to detect a plugin that has been re-added
as a new plugin, and consequently, the plugin did not get re-installed.
Now when deleting a plugin, a scan is immediately triggered.
Then if you went yo purge right away, you could wind up with a
constraint violoation in rhq_resource_type. Resource types are purged in
a scheduled job, so it was possible to purge and re-add a plugin before
its resource types have been purged. Now the plugin is marked to be
purged. The purge is done in a scheduled job and is not done until all
resource types from the plugin have been purged.
Once the user sees that the plugin has been purged, he knows it is safe
to re-add it.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/plugin/Plugin.java b/modules/core/domain/src/main/java/org/rhq/core/domain/plugin/Plugin.java
index 61a7211..34eb929 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/plugin/Plugin.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/plugin/Plugin.java
@@ -218,7 +218,29 @@ import javax.persistence.NamedQuery;
+ " JOIN res.resourceType rt " //
+ " WHERE ( rt.category = :resourceCategory OR :resourceCategory IS NULL ) " //
+ " AND ( rt.name = :resourceTypeName OR :resourceTypeName IS NULL ) ) " //
- + " ORDER BY p.name") //
+ + " ORDER BY p.name"), //
+
+ @NamedQuery(name = Plugin.QUERY_FIND_ALL_TO_PURGE, query = ""
+ + " SELECT new org.rhq.core.domain.plugin.Plugin( " //
+ + " p.id, "
+ + " p.name, "
+ + " p.path, "
+ + " p.displayName, "
+ + " p.enabled, "
+ + " p.status, "
+ + " p.description, "
+ + " p.help, "
+ + " p.md5, "
+ + " p.version, "
+ + " p.ampsVersion, "
+ + " p.ctime, "
+ + " p.mtime) "
+ + " FROM Plugin p "
+ + " WHERE p.ctime = -1 AND p.status = 'DELETED'"
+ ),
+
+ @NamedQuery(name = Plugin.PURGE_PLUGINS, query = ""
+ + " DELETE FROM Plugin p WHERE p IN (:plugins)")
})
@Entity
public class Plugin extends AbstractPlugin {
@@ -233,9 +255,13 @@ public class Plugin extends AbstractPlugin {
public static final String QUERY_FIND_ALL = "Plugin.findAll";
public static final String QUERY_FIND_ALL_INSTALLED = "Plugin.findAllInstalled";
public static final String QUERY_FIND_ALL_DELETED = "Plugin.findAllDeleted";
+ public static final String QUERY_FIND_ALL_TO_PURGE = "Plugin.findAllToPurge";
public static final String UPDATE_PLUGINS_ENABLED_BY_IDS = "Plugin.updatePluginsEnabledByIds";
public static final String QUERY_FIND_BY_RESOURCE_TYPE_AND_CATEGORY = "Plugin.findByResourceType";
public static final String UPDATE_PLUGIN_ENABLED_BY_ID = "Plugin.updatePluginEnabledById";
+ public static final String PURGE_PLUGINS = "Plugin.purgePlugins";
+
+ public static final long PURGED = -1;
public Plugin() {
super();
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginsUIBean.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginsUIBean.java
index 5eb3f93..10fc861 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginsUIBean.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginsUIBean.java
@@ -221,6 +221,8 @@ public class InstalledPluginsUIBean {
}
pluginMgr.deletePlugins(subject, Arrays.asList(getSelectedPluginIds()));
+ PluginDeploymentScannerMBean scanner = LookupUtil.getPluginDeploymentScanner();
+ scanner.scanAndRegister();
FacesContextUtility.addMessage(FacesMessage.SEVERITY_INFO, "Deleted plugins: " + pluginNames);
} catch (Exception e) {
processException("Failed to delete agent plugins", e);
@@ -368,14 +370,31 @@ public class InstalledPluginsUIBean {
return;
}
+ List<String> pluginsToDelete = new ArrayList<String>();
+ for (Plugin plugin : selectedPlugins) {
+ if (plugin.getStatus() != PluginStatusType.DELETED) {
+ pluginsToDelete.add(plugin.getName());
+ }
+ }
+
+ if (!pluginsToDelete.isEmpty()) {
+ FacesContextUtility.addMessage(FacesMessage.SEVERITY_WARN, "Plugins must be deleted before they " +
+ "they can be purged. The following plugins must first be deleted: " + pluginsToDelete + ". No " +
+ "plugins were purged.");
+ return;
+ }
+
List<String> pluginNames = new ArrayList<String>();
for (Plugin plugin : selectedPlugins) {
pluginNames.add(plugin.getName());
}
Subject subject = EnterpriseFacesContextUtility.getSubject();
- pluginMgr.purgePlugins(subject, getIds(getSelectedAgentPlugins()));
- FacesContextUtility.addMessage(FacesMessage.SEVERITY_INFO, "Purged server plugins: " + pluginNames);
+ pluginMgr.markPluginsForPurge(subject, getIds(getSelectedAgentPlugins()));
+ FacesContextUtility.addMessage(FacesMessage.SEVERITY_INFO, "Preparing to purge agent plugins: " +
+ pluginNames + ". This make take a few minutes since all type definitions from the plugins must " +
+ "first be purged from the system. The plugins will still be visible on this page until they have " +
+ "been purged.");
} catch (Exception e) {
processException("Failed to purge agent plugins", e);
}
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/startup/StartupServlet.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/startup/StartupServlet.java
index b5c0ac9..0799f70 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/startup/StartupServlet.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/startup/StartupServlet.java
@@ -384,6 +384,15 @@ public class StartupServlet extends HttpServlet {
log("Cannot schedule purge resource types job: " + e.getMessage());
}
+ try {
+ // Do not check until we are up at least 1 min, and every 5 minutes thereafter.
+ final long initialDelay = 1000L * 60;
+ final long interval = 1000L * 60 * 5;
+ scheduler.scheduleSimpleRepeatingJob(PurgePluginsJob.class, true, false, initialDelay, interval);
+ } catch (Exception e) {
+ log("Cannot schedule purge plugins job: " + e.getMessage());
+ }
+
// DynaGroup Auto-Recalculation Job
try {
// Do not check until we are up at least 1 min, and every minute thereafter.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
index 15193c6..b0ca65d 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
@@ -31,12 +31,17 @@ import org.rhq.core.clientapi.descriptor.AgentPluginDescriptorUtil;
import org.rhq.core.clientapi.descriptor.plugin.PluginDescriptor;
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.authz.Permission;
+import org.rhq.core.domain.criteria.Criteria;
+import org.rhq.core.domain.criteria.ResourceTypeCriteria;
import org.rhq.core.domain.plugin.Plugin;
import org.rhq.core.domain.plugin.PluginStatusType;
import org.rhq.core.domain.resource.ResourceCategory;
import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.core.domain.util.PageControl;
+import org.rhq.core.domain.util.PageList;
import org.rhq.core.util.jdbc.JDBCUtil;
import org.rhq.enterprise.server.RHQConstants;
+import org.rhq.enterprise.server.auth.SubjectManagerLocal;
import org.rhq.enterprise.server.authz.RequiredPermission;
import org.rhq.enterprise.server.inventory.InventoryManagerLocal;
import org.rhq.enterprise.server.resource.ResourceManagerLocal;
@@ -70,6 +75,9 @@ public class PluginManagerBean implements PluginManagerLocal {
@EJB
private ResourceManagerLocal resourceMgr;
+ @EJB
+ private SubjectManagerLocal subjectMgr;
+
/**
* Returns the information on the given plugin as found in the database.
* @param name the name of a plugin
@@ -84,17 +92,30 @@ public class PluginManagerBean implements PluginManagerLocal {
}
@Override
- public void purgePlugins(Subject subject, List<Integer> pluginIds) throws Exception {
- deletePlugins(subject, pluginIds);
-
+ public void markPluginsForPurge(Subject subject, List<Integer> pluginIds) throws Exception {
for (Integer id : pluginIds) {
Plugin plugin = entityManager.find(Plugin.class, id);
- log.info("Purging [" + plugin + "] from the database");
- entityManager.remove(plugin);
+ plugin.setCtime(Plugin.PURGED);
+ log.info("Scheduling plugin [" + plugin + "] to be purged from the database.");
}
}
@Override
+ public boolean isReadyForPurge(Plugin plugin) {
+ ResourceTypeCriteria criteria = new ResourceTypeCriteria();
+ criteria.addFilterPluginName(plugin.getName());
+ criteria.setRestriction(Criteria.Restriction.COUNT_ONLY);
+ PageList results = resourceTypeMgr.findResourceTypesByCriteria(subjectMgr.getOverlord(), criteria);
+
+ return results.getTotalSize() == 0;
+ }
+
+ @Override
+ public void purgePlugins(List<Plugin> plugins) {
+ entityManager.createNamedQuery(Plugin.PURGE_PLUGINS).setParameter("plugins", plugins).executeUpdate();
+ }
+
+ @Override
public List<Plugin> getPlugins() {
return entityManager.createNamedQuery(Plugin.QUERY_FIND_ALL).getResultList();
}
@@ -110,6 +131,11 @@ public class PluginManagerBean implements PluginManagerLocal {
return entityManager.createNamedQuery(Plugin.QUERY_FIND_ALL_DELETED).getResultList();
}
+ @Override
+ public List<Plugin> findPluginsMarkedForPurge() {
+ return entityManager.createNamedQuery(Plugin.QUERY_FIND_ALL_TO_PURGE).getResultList();
+ }
+
@SuppressWarnings("unchecked")
public List<Plugin> getAllPluginsById(List<Integer> pluginIds) {
if (pluginIds == null || pluginIds.size() == 0) {
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerLocal.java
index 0a1ad1b..7ae1738 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerLocal.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerLocal.java
@@ -36,8 +36,17 @@ public interface PluginManagerLocal {
*/
List<Plugin> getInstalledPlugins();
+ /**
+ * @return All plugins that have been marked deleted.
+ */
List<Plugin> findAllDeletedPlugins();
+
+ /**
+ * @return All plugins that are scheduled to be purged.
+ */
+ List<Plugin> findPluginsMarkedForPurge();
+
/**
* Returns a list of plugins with the specified ids. Both installed and deleted plugins will be included in the
* results.
@@ -69,17 +78,34 @@ public interface PluginManagerLocal {
void deletePlugins(Subject subject, List<Integer> pluginIds) throws Exception;
/**
- * Permanently removes the plugins with the specified ids from the database. This operation first calls
- * {@link #deletePlugins(Subject, List)} as a safeguard to ensure that the plugins are first deleted. In a HA
- * deployment however, you should wait at least 5 minutes after deleting a plugin before purging it. Five minutes
- * is the default interval of the agent plugin scanner. This should be sufficient time for servers in the cluster
- * to delete the plugin from the file system.
+ * Schedules a plugin to be purged. Purging a plugin permanently deletes it from the database. Purging is done
+ * asynchronously and will not happen until all resource types defined by the plugin have first been purged. Plugins
+ * must first be deleted before they can be purged. A plugin is considered a candidate for being purged if its
+ * status is set to <code>DELETED</code> and its <code>ctime</code> is set to {@link Plugin#PURGED}. This method
+ * does not flip the status of the plugins to <code>DELETED</code> since it assumes that has already been done. It
+ * only sets <code>ctime</code> to <code>PURGED</code>.
*
* @param subject The user purging the plugin
* @param pluginIds The ids of the plugins to be purged
* @throws Exception if an error occurs
+ * @see org.rhq.enterprise.server.scheduler.jobs.PurgePluginsJob PurgePluginsJob
+ */
+ void markPluginsForPurge(Subject subject, List<Integer> pluginIds) throws Exception;
+
+ /**
+ * @param plugin The plugin to check
+ * @return true if the plugin can be purged, false otherwise. A plugin can only be purged when all resource types
+ * defined by the plugin have already been purged.
+ */
+ boolean isReadyForPurge(Plugin plugin);
+
+ /**
+ * Permanently deletes the plugins from the database. This method assumes that the plugins are already in the
+ * deleted state. This method is not intended for general use. It is called from
+ * {@link org.rhq.enterprise.server.scheduler.jobs.PurgePluginsJob PurgePluginsJob}.
+ * @param plugins The plugins to remove from the database.
*/
- void purgePlugins(Subject subject, List<Integer> pluginIds) throws Exception;
+ void purgePlugins(List<Plugin> plugins);
void setPluginEnabledFlag(Subject subject, int pluginId, boolean enabled) throws Exception;
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/scheduler/jobs/PurgePluginsJob.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/scheduler/jobs/PurgePluginsJob.java
new file mode 100644
index 0000000..79e49b7
--- /dev/null
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/scheduler/jobs/PurgePluginsJob.java
@@ -0,0 +1,43 @@
+package org.rhq.enterprise.server.scheduler.jobs;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+import org.rhq.core.domain.plugin.Plugin;
+import org.rhq.enterprise.server.resource.metadata.PluginManagerLocal;
+import org.rhq.enterprise.server.util.LookupUtil;
+
+/**
+ * This job purges plugins from the database asynchronously. It queries for plugins that are scheduled to be purged.
+ * A plugin is considered a candidate for purging when its status is <code>DELETED</code> and its <code>ctime</code>
+ * is set to {@link Plugin#PURGED}. A plugin is only purged when all of the resource types defined by the plugin have
+ * already been purged. Puring resource types is performed by {@link PurgeResourceTypesJob}.
+ */
+public class PurgePluginsJob extends AbstractStatefulJob {
+
+ private static final Log log = LogFactory.getLog(PurgePluginsJob.class);
+
+ @Override
+ public void executeJobCode(JobExecutionContext context) throws JobExecutionException {
+ PluginManagerLocal pluginMgr = LookupUtil.getPluginManager();
+ List<Plugin> plugins = pluginMgr.findPluginsMarkedForPurge();
+ List<Plugin> pluginsToPurge = new ArrayList<Plugin>();
+
+ for (Plugin plugin : plugins) {
+ if (pluginMgr.isReadyForPurge(plugin)) {
+ log.debug("Preparing to purge plugin [" + plugin.getName() + "]");
+ pluginsToPurge.add(plugin);
+ }
+ }
+
+ if (!pluginsToPurge.isEmpty()) {
+ pluginMgr.purgePlugins(pluginsToPurge);
+ log.debug("Purged " + pluginsToPurge.size() + " plugins");
+ }
+ }
+}
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
index 13b864c..a12d7a8 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
@@ -1,6 +1,5 @@
package org.rhq.enterprise.server.resource.metadata;
-import java.util.Arrays;
import java.util.List;
import javax.ejb.EJBException;
@@ -131,7 +130,7 @@ public class PluginManagerBeanTest extends MetadataBeanTest {
Plugin plugin2 = getPlugin("PluginManagerBeanTestPlugin2",
"Deleting a plugin should not remove it from the database");
- pluginMgr.purgePlugins(subjectMgr.getOverlord(), asList(plugin1.getId(), plugin2.getId()));
+ pluginMgr.markPluginsForPurge(subjectMgr.getOverlord(), asList(plugin1.getId(), plugin2.getId()));
assertEquals("Failed to purge plugins from the database", 1, pluginMgr.getPlugins().size());
}
13 years, 3 months
[rhq] modules/enterprise
by mazz
modules/enterprise/server/safe-invoker/src/main/java/org/rhq/enterprise/server/util/HibernateDetachUtility.java | 81 ++++------
1 file changed, 39 insertions(+), 42 deletions(-)
New commits:
commit 189da6b3f02c7b17c0fcb64193e67d0165281c3a
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Mar 17 16:14:21 2011 -0400
BZ 688000 - we cannot recurse over HashSet fields because HashSet$KeySet doesn't support addAll and thus the old code threw an UnsupportedOperationException.
need to convert the Set to a List so we can process each individual item, but then convert it back to a Set since that's the type of the real field.
diff --git a/modules/enterprise/server/safe-invoker/src/main/java/org/rhq/enterprise/server/util/HibernateDetachUtility.java b/modules/enterprise/server/safe-invoker/src/main/java/org/rhq/enterprise/server/util/HibernateDetachUtility.java
index e56f076..dcc6643 100644
--- a/modules/enterprise/server/safe-invoker/src/main/java/org/rhq/enterprise/server/util/HibernateDetachUtility.java
+++ b/modules/enterprise/server/safe-invoker/src/main/java/org/rhq/enterprise/server/util/HibernateDetachUtility.java
@@ -18,15 +18,6 @@
*/
package org.rhq.enterprise.server.util;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.hibernate.Hibernate;
-import org.hibernate.proxy.HibernateProxy;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlTransient;
-
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
@@ -43,9 +34,19 @@ import java.util.ListIterator;
import java.util.Map;
import java.util.Set;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlTransient;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.hibernate.Hibernate;
+import org.hibernate.proxy.HibernateProxy;
+
/**
* @author Greg Hinkle
*/
+@SuppressWarnings("unchecked")
public class HibernateDetachUtility {
private static final Log LOG = LogFactory.getLog(HibernateDetachUtility.class);
@@ -67,7 +68,7 @@ public class HibernateDetachUtility {
}
private static void nullOutUninitializedFields(Object value, Set<Integer> nulledObjects, int depth,
- SerializationType serializationType) throws Exception {
+ SerializationType serializationType) throws Exception {
if (depth > 50) {
LOG.warn("Getting different object hierarchies back from calls: " + value.getClass().getName());
return;
@@ -87,7 +88,7 @@ public class HibernateDetachUtility {
} else if (value instanceof List) {
// Null out any entries in initialized collections
- ListIterator i = ((List)value).listIterator();
+ ListIterator i = ((List) value).listIterator();
while (i.hasNext()) {
Object val = i.next();
Object replace = replaceObject(val);
@@ -112,7 +113,7 @@ public class HibernateDetachUtility {
nullOutUninitializedFields(item, nulledObjects, depth + 1, serializationType);
}
collection.removeAll(itemsToBeReplaced);
- collection.addAll(replacementItems);
+ collection.addAll(replacementItems); // watch out! if this collection is a Set, HashMap$MapSet doesn't support addAll. See BZ 688000
} else if (value instanceof Map) {
for (Object key : ((Map) value).keySet()) {
nullOutUninitializedFields(((Map) value).get(key), nulledObjects, depth + 1, serializationType);
@@ -123,26 +124,21 @@ public class HibernateDetachUtility {
return;
}
-
if (serializationType == SerializationType.JAXB) {
XmlAccessorType at = value.getClass().getAnnotation(XmlAccessorType.class);
if (at != null && at.value() == XmlAccessType.FIELD) {
- //System.out.println("----------XML--------- field access");
nullOutFieldsByFieldAccess(value, nulledObjects, depth, serializationType);
} else {
- //System.out.println("----------XML--------- accessor access");
nullOutFieldsByAccessors(value, nulledObjects, depth, serializationType);
}
} else if (serializationType == SerializationType.SERIALIZATION) {
- // System.out.println("-----------JRMP-------- field access");
nullOutFieldsByFieldAccess(value, nulledObjects, depth, serializationType);
}
}
private static void nullOutFieldsByFieldAccess(Object object, Set<Integer> nulledObjects, int depth,
- SerializationType serializationType) throws Exception {
-
+ SerializationType serializationType) throws Exception {
Class tmpClass = object.getClass();
List<Field> fieldsToClean = new ArrayList<Field>();
@@ -154,10 +150,8 @@ public class HibernateDetachUtility {
nullOutFieldsByFieldAccess(object, fieldsToClean, nulledObjects, depth, serializationType);
}
-
- @SuppressWarnings("unchecked")
- private static void nullOutFieldsByFieldAccess(Object object, List<Field> classFields, Set<Integer> nulledObjects, int depth,
- SerializationType serializationType) throws Exception {
+ private static void nullOutFieldsByFieldAccess(Object object, List<Field> classFields, Set<Integer> nulledObjects,
+ int depth, SerializationType serializationType) throws Exception {
boolean accessModifierFlag = false;
for (Field field : classFields) {
@@ -189,7 +183,7 @@ public class HibernateDetachUtility {
replacement = null;
}
} catch (Exception e) {
- System.out.println("Unable to write replace object " + fieldValue.getClass());
+ LOG.error("Unable to write replace object " + fieldValue.getClass(), e);
}
}
@@ -197,12 +191,13 @@ public class HibernateDetachUtility {
String className = ((HibernateProxy) fieldValue).getHibernateLazyInitializer().getEntityName();
Class clazz = Class.forName(className);
- Class[] constArgs = {Integer.class};
+ Class[] constArgs = { Integer.class };
Constructor construct = null;
try {
construct = clazz.getConstructor(constArgs);
- replacement = construct.newInstance((Integer) ((HibernateProxy) fieldValue).getHibernateLazyInitializer().getIdentifier());
+ replacement = construct.newInstance((Integer) ((HibernateProxy) fieldValue)
+ .getHibernateLazyInitializer().getIdentifier());
field.set(object, replacement);
} catch (NoSuchMethodException nsme) {
@@ -214,17 +209,17 @@ public class HibernateDetachUtility {
if (!idField.isAccessible()) {
idField.setAccessible(true);
}
- idField.set(replacement, (Integer) ((HibernateProxy) fieldValue).getHibernateLazyInitializer().getIdentifier());
+ idField.set(replacement, (Integer) ((HibernateProxy) fieldValue)
+ .getHibernateLazyInitializer().getIdentifier());
} catch (Exception e) {
e.printStackTrace();
- System.out.println("No id constructor and unable to set field id for base bean " + className);
+ LOG.error("No id constructor and unable to set field id for base bean " + className, e);
}
field.set(object, replacement);
}
}
-
} else {
if (fieldValue instanceof org.hibernate.collection.PersistentCollection) {
// Replace hibernate specific collection types
@@ -234,26 +229,30 @@ public class HibernateDetachUtility {
} else {
Object replacement = null;
+ boolean needToNullOutFields = true; // needed for BZ 688000
if (fieldValue instanceof Map) {
replacement = new HashMap((Map) fieldValue);
} else if (fieldValue instanceof List) {
replacement = new ArrayList((List) fieldValue);
} else if (fieldValue instanceof Set) {
- replacement = new HashSet((Set) fieldValue);
+ ArrayList l = new ArrayList((Set) fieldValue); // cannot recurse Sets, see BZ 688000
+ nullOutUninitializedFields(l, nulledObjects, depth + 1, serializationType);
+ replacement = new HashSet(l); // convert it back to a Set since that's the type of the real collection, see BZ 688000
+ needToNullOutFields = false;
} else if (fieldValue instanceof Collection) {
replacement = new ArrayList((Collection) fieldValue);
}
setField(object, field.getName(), replacement);
- nullOutUninitializedFields(replacement, nulledObjects, depth + 1, serializationType);
+ if (needToNullOutFields) {
+ nullOutUninitializedFields(replacement, nulledObjects, depth + 1, serializationType);
+ }
}
} else {
- if (fieldValue != null &&
- (fieldValue.getClass().getName().contains("org.rhq") ||
- fieldValue instanceof Collection ||
- fieldValue instanceof Object[] ||
- fieldValue instanceof Map))
+ if (fieldValue != null
+ && (fieldValue.getClass().getName().contains("org.rhq") || fieldValue instanceof Collection
+ || fieldValue instanceof Object[] || fieldValue instanceof Map))
nullOutUninitializedFields((fieldValue), nulledObjects, depth + 1, serializationType);
}
}
@@ -264,7 +263,6 @@ public class HibernateDetachUtility {
}
-
private static Object replaceObject(Object object) {
Object replacement = null;
@@ -277,16 +275,15 @@ public class HibernateDetachUtility {
String className = object.getClass().getName();
} catch (Exception e) {
- System.out.println("Unable to write replace object " + object.getClass());
+ LOG.error("Unable to write replace object " + object.getClass(), e);
}
}
}
return replacement;
}
-
private static void nullOutFieldsByAccessors(Object value, Set<Integer> nulledObjects, int depth,
- SerializationType serializationType) throws Exception {
+ SerializationType serializationType) throws Exception {
// Null out any collections that aren't loaded
BeanInfo bi = Introspector.getBeanInfo(value.getClass(), Object.class);
@@ -309,18 +306,18 @@ public class HibernateDetachUtility {
Method writeMethod = pd.getWriteMethod();
if ((writeMethod != null) && (writeMethod.getAnnotation(XmlTransient.class) == null)) {
- pd.getWriteMethod().invoke(value, new Object[]{null});
+ pd.getWriteMethod().invoke(value, new Object[] { null });
} else {
nullOutField(value, pd.getName());
}
} catch (Exception lie) {
LOG.debug("Couldn't null out: " + pd.getName() + " off of " + value.getClass().getSimpleName()
- + " trying field access", lie);
+ + " trying field access", lie);
nullOutField(value, pd.getName());
}
} else {
if ((propertyValue instanceof Collection)
- || ((propertyValue != null) && propertyValue.getClass().getName().startsWith("org.rhq.core.domain"))) {
+ || ((propertyValue != null) && propertyValue.getClass().getName().startsWith("org.rhq.core.domain"))) {
nullOutUninitializedFields(propertyValue, nulledObjects, depth + 1, serializationType);
}
}
13 years, 3 months
[rhq] 3 commits - etc/dev-utils modules/enterprise
by Simeon Pinder
etc/dev-utils/TestLdapSettings.java | 640 ++++++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertPortletConfigurationDataSource.java | 23
modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/alert/Flag_blue_16.png |binary
4 files changed, 664 insertions(+), 1 deletion(-)
New commits:
commit 88c4388fd80b226f34826153fe21c7cbb56f676e
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Thu Mar 17 14:42:40 2011 -0400
initial commit of TestLdapSetting dev-tool for setup/debug of LDAP-RHQ integrations
diff --git a/etc/dev-utils/TestLdapSettings.java b/etc/dev-utils/TestLdapSettings.java
new file mode 100644
index 0000000..4df79dc
--- /dev/null
+++ b/etc/dev-utils/TestLdapSettings.java
@@ -0,0 +1,640 @@
+package com.test;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.naming.Context;
+import javax.naming.NamingEnumeration;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.SearchControls;
+import javax.naming.directory.SearchResult;
+import javax.naming.ldap.InitialLdapContext;
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.border.LineBorder;
+import javax.swing.border.TitledBorder;
+
+//import org.rhq.enterprise.server.util.security.UntrustedSSLSocketFactory;
+
+/* Is a development test tool that allows the user to simulate the RHQ server side
+ * LDAP calls during auth/authz operations.
+ *
+ * @author Simeon Pinder
+ */
+public class TestLdapSettings extends JFrame {
+ //shared fields
+ private JTextArea testResults;
+ private JCheckBox ssl;
+ private JTextField testUserNameValue;
+ private JTextField testUserPasswordValue;
+ private HashMap<String, JTextField> fieldMappings;
+ private String[] keys;
+ private JCheckBox enableLdapReferral;
+ private JCheckBox enableVerboseDebugging;
+ private JCheckBox enableVerboseGroupParsing;
+ private String advdb = "**Verbose:debug ----";
+
+ private static final long serialVersionUID = 1L;
+ int textBoxWidth = 20;
+
+ public static void main(String args[]) {
+ new TestLdapSettings();
+ }
+
+ // Configure window properties
+ private TestLdapSettings() {
+
+ setTitle("Check LDAP Settings: Simulates LDAP checks/queries of RHQ LDAP integration");
+ getContentPane().setLayout(new BorderLayout());
+ // top panel definition
+ JPanel top = new JPanel();
+ top.setLayout(new BoxLayout(top, BoxLayout.Y_AXIS));
+ top.setBorder(LineBorder.createGrayLineBorder());
+ keys = new String[] { "URL:", "Search Filter:",
+ "Search Base:","Login Property",
+ "Username:", "Group Search Filter:",
+ "Password:", "Group Member Filter:",
+ };
+ fieldMappings = loadUiFields(top, keys);
+
+ //add the two checkboxes for additiona debugging options
+ enableLdapReferral= new JCheckBox("[follow] ldap referrals");
+ enableLdapReferral.setSelected(false);
+ enableVerboseDebugging= new JCheckBox("more verbose logging");
+ enableVerboseDebugging.setSelected(false);
+ enableVerboseGroupParsing= new JCheckBox("more detailed group parsing");
+ enableVerboseGroupParsing.setSelected(false);
+ //put into row display
+ JPanel advancedDebugRegion = new JPanel();
+ advancedDebugRegion.setLayout(new FlowLayout(FlowLayout.LEFT));
+ LineBorder advancedBorder = new LineBorder(Color.BLACK, 2);
+ TitledBorder debugBorder = new TitledBorder(advancedBorder, "Debug:");
+ advancedDebugRegion.setBorder(debugBorder);
+ advancedDebugRegion.add(enableLdapReferral);
+ advancedDebugRegion.add(enableVerboseDebugging);
+ advancedDebugRegion.add(enableVerboseGroupParsing);
+ top.add(advancedDebugRegion);
+
+ ssl = new JCheckBox("SSL:");
+ ssl.setEnabled(false);
+ top.add(ssl);
+ // test user auth region
+ JPanel testUserRegion = new JPanel();
+ testUserRegion.setLayout(new FlowLayout(FlowLayout.LEFT));
+ LineBorder border = new LineBorder(Color.BLUE, 2);
+ TitledBorder tBorder = new TitledBorder(border, "Authentication/Authorization Check Credentials: (insert valid ldap user assigned to group)");
+ testUserRegion.setBorder(tBorder);
+ JLabel testUserName = new JLabel("Test UserName:");
+ testUserNameValue = new JTextField(textBoxWidth);
+ JLabel testUserPassword = new JLabel("Test Password:");
+ testUserPasswordValue = new JTextField(textBoxWidth);
+ testUserRegion.add(testUserName);
+ testUserRegion.add(testUserNameValue);
+ testUserRegion.add(testUserPassword);
+ testUserRegion.add(testUserPasswordValue);
+ top.add(testUserRegion);
+
+ // center
+ JPanel center = new JPanel();
+ center.setLayout(new BoxLayout(center, BoxLayout.X_AXIS));
+ // build center panel
+ buildCenterPanel(center);
+
+ // final component layout
+ getContentPane().add(top, BorderLayout.NORTH);
+ getContentPane().add(center, BorderLayout.CENTER);
+ this.setSize(720, 700);
+ addWindowListener(new WindowAdapter() {
+ public void windowClosing(WindowEvent e) {
+ System.exit(0);
+ }
+ });
+ setVisible(true);
+ }
+
+ // define the center display panel.
+ private void buildCenterPanel(JPanel center) {
+ // First element is Test Button
+ JButton test = new JButton("Test Settings");
+ center.add(test);
+ // second is large text box that display ldap queries
+ testResults = new JTextArea("(click button to test settings values: simulates 4 separate checks showing ldap filters used)",
+ 40, 40);
+ JScrollPane jsp = new JScrollPane(testResults);
+ center.add(jsp);
+ test.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ testResults.setText("");//clear out empty msg
+ //trim spaces from all fields
+ String ldapServer = fieldMappings.get(keys[0]).getText().trim();
+ String searchFilter = fieldMappings.get(keys[1]).getText().trim();
+ String searchBase = fieldMappings.get(keys[2]).getText().trim();
+ String loginProperty = fieldMappings.get(keys[3]).getText().trim();
+ String bindUserName = fieldMappings.get(keys[4]).getText().trim();
+ String groupSearchFilter = fieldMappings.get(keys[5]).getText().trim();
+ String bindPassword = fieldMappings.get(keys[6]).getText().trim();
+ String groupMemberFilter = fieldMappings.get(keys[7]).getText().trim();
+ String testUserName = testUserNameValue.getText().trim();
+ String testUserPassword = testUserPasswordValue.getText().trim();
+ // validate initial required elements
+ String msg = null;
+ boolean proceed = true;
+ //valid required details set.
+ if (ldapServer.isEmpty() || bindUserName.isEmpty()
+ || bindPassword.isEmpty() || searchBase.isEmpty()) {
+ msg ="STEP-1:FAIL: "+ keys[0] + ", " + keys[2] + ", " + keys[4] + ", "
+ + keys[6] + " cannot be empty to proceed.";
+ log(msg);
+ proceed = false;
+ }
+ Properties env;
+ InitialLdapContext ctx = null;
+ if (proceed) {// attempt initial ldap bind from RHQ server
+ msg = "STEP-1:TESTING: Attempting to bind to server:" + ldapServer
+ + "\n with user '" + bindUserName
+ + "' and password entered.";
+ log(msg);
+ env = getProperties(ldapServer);
+ env.setProperty(Context.SECURITY_PRINCIPAL, bindUserName);
+ env.setProperty(Context.SECURITY_CREDENTIALS, bindPassword);
+ env.setProperty(Context.SECURITY_AUTHENTICATION, "simple");
+ try {
+ ctx = new InitialLdapContext(env, null);
+ msg = "STEP-1:PASS: LDAP bind credentials are correct. Successfully connected to '"
+ + ldapServer
+ + "'.\n This means the LDAP Bind credentials for the RHQ Server authentication/authorization requests to ldap server "
+ + "are correct.";
+ if(enableVerboseDebugging.isSelected()){
+ msg+="\n"+advdb+" LDAP simple authentication bind successful.";
+ }
+ log(msg);
+ proceed = true;
+ } catch (Exception ex) {
+ msg = "STEP-1:FAIL: Unable to connect to the LDAP server with credentials specified.\n";
+ msg+="Exception:"+ex.getMessage();
+ if(enableVerboseDebugging.isSelected()){
+ msg = appendStacktraceToMsg(msg, ex);
+ }
+ log(msg);
+ proceed = false;
+ }
+ }
+ if (proceed) {// retrieve test credentials to test run auth
+ // load search controls
+ SearchControls searchControls = getSearchControls();
+ // validating searchFilter and test user/pass creds
+ proceed = true;
+ if (testUserName.isEmpty() || (testUserPassword.isEmpty())) {
+ msg = "STEP-2:FAIL: Test Username/Password fields cannot be empty for this step.";
+ log(msg);
+ proceed = false;
+ }
+ // testing a valid user involves a filtered ldap search
+ // using the loginProperty, and optionally searchFilter
+ String userDN = "";
+ if (proceed) {
+ // default loginProperty to cn if it's not set
+ if (loginProperty.isEmpty()) {
+ loginProperty = "cn";
+ if(enableVerboseDebugging.isSelected()){
+ String mesg = "As you have not specified a login property, defaulting to 'cn'";
+ log(advdb+" "+msg);
+ }
+ }
+ String filter;
+ if (!searchFilter.isEmpty()) {
+ filter = "(&(" + loginProperty + "=" + testUserName
+ + ")" + "(" + searchFilter + "))";
+ } else {
+ filter = "(" + loginProperty + "=" + testUserName
+ + ")";
+ }
+ if(enableVerboseDebugging.isSelected()){
+ log(advdb+" The searchfilter is optionally appended to login property for additional shared attribute across users.");
+ }
+ msg = "STEP-2:TESTING: To validate the test user the following LDAP filtered component will be used to find matching users:\n";
+ msg += filter;
+ log(msg);
+ // test out the search on the target ldap server
+ try {
+ String[] baseDNs = searchBase.split(";");
+ for (int x = 0; x < baseDNs.length; x++) {
+ NamingEnumeration answer = ctx.search(
+ baseDNs[x], filter, searchControls);
+ if(enableVerboseDebugging.isSelected()){
+ log(advdb+" this search was excuted against DN component '"+baseDNs[x]+"'.");
+ }
+ // boolean ldapApiNpeFound = false;
+ if (!answer.hasMoreElements()) {
+ msg="STEP-2:WARN Unable to locate a matching users for the filter'"+filter+
+ "'. Please check your loginProperty. Usually 'cn' or 'uid'";
+ log(msg);
+ continue;
+ }
+ // Going with the first match
+ SearchResult si = (SearchResult) answer.next();
+
+ // Construct the UserDN
+ userDN = si.getName() + "," + baseDNs[x];
+ msg = "STEP-2:PASS: The test user '"
+ + testUserName
+ + "' was succesfully located, and the following userDN will be used in authorization check:\n";
+ msg += userDN;
+ log(msg);
+
+ ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, userDN);
+ ctx.addToEnvironment(Context.SECURITY_CREDENTIALS,testUserPassword);
+ ctx.addToEnvironment(Context.SECURITY_AUTHENTICATION,"simple");
+
+ // if successful then verified that user and pw
+ // are valid ldap credentials
+ ctx.reconnect(null);
+ msg = "STEP-2:PASS: The user '"
+ + testUserName
+ + "' was succesfully authenticated using userDN '"
+ + userDN + "' and password provided.\n"
+ +"*Note: the loginProperty must match the loginProperty listed in dn: for the user. It is the DN that RHQ will lookup and use.";
+ log(msg);
+ }
+ } catch (Exception ex) {
+ msg = "STEP-2:FAIL: There was an error while searching for or authenticating the user '"
+ + testUserName + "'\n";
+ msg += ex.getMessage();
+ if(enableVerboseDebugging.isSelected()){
+ msg = appendStacktraceToMsg(msg, ex);
+ }
+ log(msg);
+ proceed=false;
+ }
+ }
+ // with authentication completed, now check authorization.
+ // validate filter components to list all available groups
+ proceed = false;
+ if (!groupSearchFilter.isEmpty()) {
+ Set<Map<String, String>> ret = new HashSet<Map<String, String>>();
+ String filter = String
+ .format("(%s)", groupSearchFilter);
+ msg = "STEP-3:TESTING: This ldap filter "
+ + filter
+ + " will be used to locate ALL available LDAP groups";
+ log(msg);
+ try {
+ String[] baseDNs = searchBase.split(";");
+ for (int x = 0; x < baseDNs.length; x++) {
+ if(enableVerboseDebugging.isSelected()){
+ log(advdb+" this search was excuted against DN component '"+baseDNs[x]+"'.");
+ }
+ NamingEnumeration answer = ctx.search(
+ baseDNs[x], filter, searchControls);
+
+ if(enableVerboseGroupParsing.isSelected()){//in this mode report initial state of Enumeration results
+ log(advdb+" LDAP Group Search/Enumeration found "+((answer.hasMore())? " SOME ":" NO ")+" matching group(s).");
+ }
+
+ boolean ldapApiEnumerationBugEncountered = false;
+ while ((!ldapApiEnumerationBugEncountered)
+ && answer.hasMoreElements()) {
+ // We use the first match
+ SearchResult si = null;
+ try {
+ si = (SearchResult) answer.next();
+ } catch (NullPointerException npe) {
+ if(enableVerboseDebugging.isSelected()){
+ log(advdb+" NullPtr exception detected. If known LDAP api enum npe ignore: "+npe.getMessage()+".");
+ }
+ ldapApiEnumerationBugEncountered = true;
+ break;
+ }
+ Map<String, String> entry = new HashMap<String, String>();
+ if(enableVerboseDebugging.isSelected()||enableVerboseGroupParsing.isSelected()){
+ Attributes attributeContainer = si.getAttributes();
+ NamingEnumeration<? extends Attribute> attributes = attributeContainer.getAll();
+ String attributesReturned = " ";
+ while(attributes.hasMore()){
+ attributesReturned+=attributes.next().getID()+",";
+ }
+ String dbugMesg="\n"+advdb+" Group search LDAP ("+attributeContainer.size()+") attributes located for group '"+si.getName()+"' are ["+
+ attributesReturned.substring(0, attributesReturned.length()-1)+"].";
+ //directly update here to shorten messages for lots of groups
+ testResults.setText(testResults.getText() + dbugMesg);
+
+ //additionally parse attribute ids and values for illegal ldap characters
+ if(enableVerboseGroupParsing.isSelected()){
+ attributes = attributeContainer.getAll();
+ String currentAttributeId ="";
+ String currentValue ="";
+ //spinder: 3/17/11: should we bail on first bad data or display them all?
+ while(attributes.hasMore()){
+ boolean badData = false;
+ Attribute att = attributes.next();
+ currentAttributeId =att.getID();
+ if(containsIllegalLdap(currentAttributeId)){
+ log(advdb+" LDAP Group: bad atrribute data detected for group '"+si.getName()+"' for attribute '"+currentAttributeId+"'.");
+ badData=true;
+ }
+ if(att.getAll()!=null){
+ NamingEnumeration<?> enumer = att.getAll();
+ while(enumer.hasMore()){
+ currentValue = enumer.next()+"";
+ if(containsIllegalLdap(currentValue)){
+ log(advdb+" LDAP Group: bad data detected for group '"+si.getName()+"' with attribute '"+currentAttributeId+"' and value:"+currentValue);
+ badData=true;
+ }
+ }
+ }
+ if(badData){
+ log(advdb+"** LDAP Group: Some bad LDAP data detected for group '"+si.getName()+"'.");
+ }
+ }
+ }
+ }
+
+ Attribute commonNameAttr = si.getAttributes()
+ .get("cn");
+ if(commonNameAttr!=null){
+ String name = (String) commonNameAttr.get();
+ name = name.trim();
+ Attribute desc = si.getAttributes().get(
+ "description");
+ String description = desc != null ? (String) desc
+ .get()
+ : "";
+ description = description.trim();
+ entry.put("id", name);
+ entry.put("name", name);
+ entry.put("description", description);
+ ret.add(entry);
+ }else{//unable to retrieve details for specific group.
+ log(advdb+" There was an error retrieving 'cn' attribute for group '"+si.getName()+"'. Not adding to returned list of groups. ");
+ }
+ }
+ }
+ msg = "STEP-3:TESTING: Using Group Search Filter '" + filter
+ + "', " + ret.size()
+ + " ldap group(s) were located.\n";
+ if (ret.size() > 0) {
+ HashMap<String, String>[] ldapLists = new HashMap[ret.size()];
+ ret.toArray(ldapLists);
+ if(enableVerboseGroupParsing.isSelected()){//in this mode go beyond the first ten results.
+ msg += "STEP-3:PASS: Listing 'all' of the ldap groups located: \n";
+ for (int i = 0; i < ret.size(); i++) {
+ msg += ldapLists[i] + "\n";
+ }
+ }else{//otherwise only show first 10[subset of available groups]
+ msg += "STEP-3:PASS: Listing a few(<=10) of the ldap groups located: \n";
+ for (int i = 0; (i < ret.size() && i < 10); i++) {
+ msg += ldapLists[i] + "\n";
+ }
+ }
+ proceed = true;// then can proceed to next step.
+ }
+ log(msg);
+ } catch (Exception ex) {
+ msg = "STEP-3:FAIL: There was an error searching with the groupFilter supplied: "
+ + groupSearchFilter + "'\n";
+ msg += ex.getMessage();
+ if(enableVerboseDebugging.isSelected()){
+ msg = appendStacktraceToMsg(msg, ex);
+ }
+ log(msg);
+ proceed=false;
+ }
+ } else {
+ msg = "STEP-3:FAIL: Group Search Filter: cannot be empty to proceed.";
+ log(msg);
+ proceed=false;
+ }
+ // retrieve lists of authorized groups available for the
+ if (proceed) {
+ // check groupMember
+ if (!groupMemberFilter.isEmpty()) {
+ Set<Map<String, String>> ret = new HashSet<Map<String, String>>();
+ String filter = String.format("(&(%s)(%s=%s))",
+ groupSearchFilter, groupMemberFilter,
+ userDN);
+ msg = "STEP-4:TESTING: about to do ldap search with filter \n'"
+ + filter
+ + "'\n to locate groups that test user IS authorized to access.";
+ log(msg);
+ try {
+ String[] baseDNs = searchBase.split(";");
+ for (int x = 0; x < baseDNs.length; x++) {
+ NamingEnumeration answer = ctx.search(
+ baseDNs[x], filter, searchControls);
+ boolean ldapApiEnumerationBugEncountered = false;
+ //BZ:582471- ldap api bug change
+ while ((!ldapApiEnumerationBugEncountered)
+ && answer.hasMoreElements()) {
+ // We use the first match
+ SearchResult si = null;
+ try {
+ si = (SearchResult) answer.next();
+ } catch (NullPointerException npe) {
+ ldapApiEnumerationBugEncountered = true;
+ break;
+ }
+ Map<String, String> entry = new HashMap<String, String>();
+ String name = (String) si
+ .getAttributes().get("cn")
+ .get();
+ name = name.trim();
+ Attribute desc = si.getAttributes()
+ .get("description");
+ String description = desc != null ? (String) desc
+ .get()
+ : "";
+ description = description.trim();
+ entry.put("id", name);
+ entry.put("name", name);
+ entry.put("description", description);
+ ret.add(entry);
+ }
+ }
+ msg = "STEP-4:TESTING: Using Group Search Filter '"
+ + filter + "', " + ret.size()
+ + " ldap group(s) were located.\n";
+ if (ret.size() > 0) {
+ HashMap<String, String>[] ldapLists = new HashMap[ret
+ .size()];
+ ret.toArray(ldapLists);
+ msg += "STEP-4:PASS: Listing a few of the ldap groups located: \n";
+ // iterate over first ten or less to demonstrate retrieve
+ for (int i = 0; (i < ret.size() && i < 10); i++) {
+ msg += ldapLists[i] + "\n";
+ }
+ proceed = true;// then can proceed to next
+ // step.
+ }else{
+ msg+="STEP-4:WARN: With current settings, test user is not authorized for any groups. Is this correct?";
+ }
+ log(msg);
+ } catch (Exception ex) {
+ msg = "STEP-4:FAIL: There was an error searching with the groupFilter supplied: "
+ + groupSearchFilter + "'\n";
+ msg += ex.getMessage();
+ if(enableVerboseDebugging.isSelected()){
+ msg = appendStacktraceToMsg(msg, ex);
+ }
+ log(msg);
+ proceed=false;
+ }
+
+ } else {
+ msg = "STEP-4:FAIL: Group Member Filter must be non-empty to proceed with simulating authorization check for test user.";
+ log(msg);
+ }
+ }
+ if(proceed){
+ msg="COMPLETED:PASS: The current settings, for successful steps, should be correct to enter into your RHQ server.";
+ msg+="\n\n\n\n When you encounter failures, warnings or other unexpected results you should use an external ";
+ msg+="LDAP search utility to check that the generated filters return the expected LDAP results.";
+ log(msg);
+ }
+ }
+ }
+
+ private boolean containsIllegalLdap(String currentValue) {
+ boolean invalidData = false;
+ if((currentValue!=null)&&(!currentValue.trim().isEmpty())){
+ //TODO: spinder 3/17/11: need to figure out regex to filter/detect bad data in returned ldap. Giving up for now.
+// String regex = "(?<=(?:[^\\]|^)(\\\\)+|[^\\]|^)[/,+\"><;=#]|(?<=(?:[^\\]|^)(\\\\)+|[^\\]|^)\\(?!\\|[/,+\"><;=#]| $|(?<=^\\) )|^";
+// regex = "(?<=(?:[^\\\\]|^)(\\\\\\\\)+|[^\\\\]|^)[/,+\\\"><;=#]|(?<=(?:[^\\\\]|^)(\\\\\\\\)+|[^\\\\]|^)\\\\(?!\\\\|[/,+\\\"><;=#]| $|(?<=^\\\\) )|^";
+// System.out.println("++++++++ CURR VAL:"+currentValue+":INV-CHeck:"+currentValue.matches(",+\"\\<;\n=/")+":NEWCHECK:"+(currentValue.matches(regex)));
+// if(currentValue.matches(",+\"\\<;\n=/")){
+// invalidData=true;
+// }
+// String badList = ",+\"\\<;\n=";
+ String badList = "+\"\\<;\n";
+ for(char car :currentValue.toCharArray()){
+ for(char c :badList.toCharArray()){
+ if(car == c){
+ invalidData=true;
+ }
+ }
+ }
+
+ }
+ return invalidData;
+ }
+
+ private String appendStacktraceToMsg(String msg, Exception ex) {
+ String moreVerbose = "";
+ moreVerbose+=advdb+" Exception type:"+ex.getClass()+"\n";
+ moreVerbose+=advdb+" Exception stack trace reference:"+ex.getStackTrace()+"\n";
+ if(ex.getStackTrace()!=null){
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ ex.printStackTrace(pw);
+ moreVerbose+=advdb+" stack trace reference:"+sw.toString();
+ }
+ msg+="\n"+moreVerbose;
+ return msg;
+ }
+ });
+ }
+
+ // throw the label and fields together, two to a row.
+ private HashMap<String, JTextField> loadUiFields(JPanel top,
+ String[] componentKeys) {
+ HashMap<String, JTextField> mappings = new HashMap<String, JTextField>();
+ for (int i = 0; i < componentKeys.length; i++) {
+ String firstLabelKey = componentKeys[i];
+ String secondLabelKey = componentKeys[++i];
+ // locate second key
+ JPanel row = new JPanel();
+ row.setLayout(new FlowLayout(FlowLayout.LEFT));
+ JLabel label1 = new JLabel(firstLabelKey);
+ label1.setSize(textBoxWidth, 5);
+ JTextField value1 = new JTextField(textBoxWidth);
+ JLabel label2 = new JLabel(secondLabelKey);
+ JTextField value2 = new JTextField(textBoxWidth);
+ row.add(label1);
+ row.add(value1);
+ row.add(Box.createRigidArea(new Dimension(0, 5)));
+ row.add(label2);
+ row.add(value2);
+ mappings.put(firstLabelKey, value1);
+ mappings.put(secondLabelKey, value2);
+ top.add(row);
+ }
+
+ return mappings;
+ }
+
+ private Properties getProperties(String contentProvider) {
+ Properties env = new Properties();
+ env.setProperty(Context.INITIAL_CONTEXT_FACTORY,
+ "com.sun.jndi.ldap.LdapCtxFactory");
+ env.setProperty(Context.PROVIDER_URL, contentProvider);
+ if(!enableLdapReferral.isSelected()){
+ env.setProperty(Context.REFERRAL, "ignore");
+ }else{
+ String msg="**---- You have chosen to tell LDAP servers to [FOLLOW] context referrals. Default is [IGNORE] referrals. --**";
+ log(msg);
+ env.setProperty(Context.REFERRAL, "follow");
+ }
+
+// // Setup SSL if requested
+// String protocol = ssl.isSelected()? "ssl":"";
+// if ((protocol != null) && protocol.equals("ssl")) {
+// String ldapSocketFactory = env
+// .getProperty("java.naming.ldap.factory.socket");
+// if (ldapSocketFactory == null) {
+// env.put("java.naming.ldap.factory.socket",
+// UntrustedSSLSocketFactory.class.getName());
+// }
+// env.put(Context.SECURITY_PROTOCOL, "ssl");
+// }
+
+ return env;
+ }
+
+ private String delineate() {
+ String line = "-";
+ for (int i = 0; i < 30; i++) {
+ line += "-";
+ }
+ return line;
+ }
+
+ private void log(String msg) {
+ String message = "\n" + delineate() + "\n";
+ message += msg;
+ message += "\n" + delineate() + "\n\n";
+ testResults.setText(testResults.getText() + message);
+ }
+
+ private SearchControls getSearchControls() {
+ int scope = SearchControls.SUBTREE_SCOPE;
+ int timeLimit = 0;
+ long countLimit = 0;
+ String[] returnedAttributes = null;
+ boolean returnObject = false;
+ boolean deference = false;
+ SearchControls constraints = new SearchControls(scope, countLimit,
+ timeLimit, returnedAttributes, returnObject, deference);
+ return constraints;
+ }
+}
commit bee528cb2c27de06c50a3bb0e8cf23513d715702
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Thu Mar 17 14:42:03 2011 -0400
some missing documentation.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertPortletConfigurationDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertPortletConfigurationDataSource.java
index 6ccd6af..8ebfed5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertPortletConfigurationDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertPortletConfigurationDataSource.java
@@ -1,3 +1,21 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2010 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
package org.rhq.enterprise.gui.coregui.client.alert;
import com.allen_sauer.gwt.log.client.Log;
@@ -22,6 +40,11 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigura
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigurationEditorComponent.Constant;
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.recent.alerts.RecentAlertsPortlet;
+/** Customize the AlertDataSource to pull fetch criteria information from
+ * the Configuration object passed in.
+ *
+ * @author Simeon
+ */
public class AlertPortletConfigurationDataSource extends AlertDataSource {
//configuration attributes
private Integer[] alertFilterResourceIds = {};
commit 33af4dd34bfda0276352a7824e2b03fbb357abd9
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Thu Mar 17 10:39:01 2011 -0400
fixing small alert icon method in ImageManager to be consistent with other subsystems.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java
index 43f0f69..f30c23b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java
@@ -321,7 +321,7 @@ public class ImageManager {
}
public static String getAlertIcon() {
- return "subsystems/alert/Alert_LOW_16.png";
+ return "subsystems/alert/Flag_blue_16.png";
}
public static String getAlertLargeIcon() {
diff --git a/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/alert/Flag_blue_16.png b/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/alert/Flag_blue_16.png
new file mode 100644
index 0000000..f7f04b3
Binary files /dev/null and b/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/alert/Flag_blue_16.png differ
13 years, 3 months
[rhq] modules/enterprise
by ips
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java | 88 +++++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/PropertyValueChangeEvent.java | 20 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java | 17 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationFactory.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationView.java | 20 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestGroupConfigurationView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageBar.java | 1
12 files changed, 123 insertions(+), 76 deletions(-)
New commits:
commit 97f2a0a2c31661bf07b140b95143b586ffd3b0d6
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Thu Mar 17 14:21:19 2011 -0400
config editor now throws a prop changed event at init if one or more props have invalid values (most commonly this happens when the props have a non-null erroMessage field)
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java
index 15ca21f..5e83850 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java
@@ -22,7 +22,6 @@ package org.rhq.enterprise.gui.coregui.client.admin;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.widgets.IButton;
@@ -204,8 +203,8 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
@Override
public void propertyValueChanged(PropertyValueChangeEvent event) {
- if (event.isValidationStateChanged()) {
- Set<String> invalidPropertyNames = event.getInvalidPropertyNames();
+ if (event.isInvalidPropertySetChanged()) {
+ Map<String, String> invalidPropertyNames = event.getInvalidPropertyNames();
if (invalidPropertyNames.isEmpty()) {
this.saveButton.enable();
} else {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
index 5f4c47e..9d1c1ba 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
@@ -24,6 +24,7 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.EnumSet;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -56,7 +57,6 @@ import com.smartgwt.client.widgets.form.fields.CanvasItem;
import com.smartgwt.client.widgets.form.fields.CheckboxItem;
import com.smartgwt.client.widgets.form.fields.FloatItem;
import com.smartgwt.client.widgets.form.fields.FormItem;
-import com.smartgwt.client.widgets.form.fields.HeaderItem;
import com.smartgwt.client.widgets.form.fields.IntegerItem;
import com.smartgwt.client.widgets.form.fields.PasswordItem;
import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
@@ -72,7 +72,6 @@ import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
import com.smartgwt.client.widgets.form.validator.CustomValidator;
import com.smartgwt.client.widgets.form.validator.FloatRangeValidator;
import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator;
-import com.smartgwt.client.widgets.form.validator.IsBooleanValidator;
import com.smartgwt.client.widgets.form.validator.IsFloatValidator;
import com.smartgwt.client.widgets.form.validator.IsIntegerValidator;
import com.smartgwt.client.widgets.form.validator.LengthRangeValidator;
@@ -162,7 +161,7 @@ public class ConfigurationEditor extends LocatableVLayout {
private String editorTitle = null;
private boolean readOnly = false;
- private Set<String> invalidPropertyNames = new HashSet<String>();
+ private Map<String, String> invalidPropertyNameToDisplayNameMap = new HashMap<String, String>();
private Set<PropertyValueChangeListener> propertyValueChangeListeners = new HashSet<PropertyValueChangeListener>();
public static enum ConfigType {
@@ -246,11 +245,11 @@ public class ConfigurationEditor extends LocatableVLayout {
}
public boolean validate() {
- return this.topLevelPropertiesValuesManager.validate();
+ return (this.topLevelPropertiesValuesManager.validate());
}
public boolean isValid() {
- return this.topLevelPropertiesValuesManager.hasErrors();
+ return (!this.topLevelPropertiesValuesManager.hasErrors());
}
public void addPropertyValueChangeListener(PropertyValueChangeListener propertyValueChangeListener) {
@@ -397,6 +396,7 @@ public class ConfigurationEditor extends LocatableVLayout {
DynamicForm form = buildPropertiesForm(layout.extendLocatorId("Props"), propertyDefinitions, configuration);
form.setBorder("1px solid #AAA");
+ form.validate();
layout.addMember(form);
} else {
// One or more prop groups, so create a section stack with one section per group.
@@ -421,9 +421,27 @@ public class ConfigurationEditor extends LocatableVLayout {
layout.addMember(sectionStack);
}
+ fireInitialPropertyChangedEvent();
+
return layout;
}
+ private void fireInitialPropertyChangedEvent() {
+ Map validationErrors = this.topLevelPropertiesValuesManager.getErrors();
+ if (validationErrors != null) {
+ for (Object key : validationErrors.keySet()) {
+ String propertyName = (String) key;
+ PropertyDefinition propertyDefinition = this.configurationDefinition.get(propertyName);
+ this.invalidPropertyNameToDisplayNameMap.put(propertyName, propertyDefinition.getDisplayName());
+ }
+ if (!this.invalidPropertyNameToDisplayNameMap.isEmpty()) {
+ PropertyValueChangeEvent event = new PropertyValueChangeEvent(null, null, true,
+ this.invalidPropertyNameToDisplayNameMap);
+ firePropertyChangedEvent(event);
+ }
+ }
+ }
+
private LocatableToolStrip buildToolStrip(LocatableVLayout layout, final SectionStack sectionStack) {
LocatableToolStrip toolStrip = new LocatableToolStrip(layout.extendLocatorId("Tools"));
toolStrip.setBackgroundImage(null);
@@ -471,7 +489,7 @@ public class ConfigurationEditor extends LocatableVLayout {
SectionStackSection section;
if (group == null) {
section = new SectionStackSection(MSG.common_title_generalProp());
-
+ section.setExpanded(true);
} else {
section = new SectionStackSection(
"<div style=\"float:left; font-weight: bold;\">"
@@ -489,6 +507,12 @@ public class ConfigurationEditor extends LocatableVLayout {
DynamicForm form = buildPropertiesForm(locatorId, propertyDefinitions, configuration);
+ // If the group contains any invalid properties, expand the section so the user can see the error icons next to
+ // the invalid properties.
+ if (!form.validate()) {
+ section.setExpanded(true);
+ }
+
section.addItem(form);
return section;
}
@@ -697,25 +721,31 @@ public class ConfigurationEditor extends LocatableVLayout {
}
protected void firePropertyChangedEvent(Property property, PropertyDefinition propertyDefinition, boolean isValid) {
- boolean wasValidBefore = this.invalidPropertyNames.isEmpty();
- Property topLevelProperty = getTopLevelProperty(property);
+ boolean wasValidBefore = this.invalidPropertyNameToDisplayNameMap.isEmpty();
+ PropertyDefinition topLevelPropertyDefinition = getTopLevelPropertyDefinition(propertyDefinition);
+ boolean invalidPropertySetChanged;
if (isValid) {
- this.invalidPropertyNames.remove(topLevelProperty.getName());
+ invalidPropertySetChanged =
+ (this.invalidPropertyNameToDisplayNameMap.remove(topLevelPropertyDefinition.getName()) != null);
} else {
- this.invalidPropertyNames.add(topLevelProperty.getName());
+ invalidPropertySetChanged =
+ (this.invalidPropertyNameToDisplayNameMap.put(topLevelPropertyDefinition.getName(),
+ topLevelPropertyDefinition.getDisplayName()) != null);
}
- boolean isValidNow = this.invalidPropertyNames.isEmpty();
- boolean validationStateChanged = (isValidNow != wasValidBefore);
+ PropertyValueChangeEvent event = new PropertyValueChangeEvent(property, propertyDefinition,
+ invalidPropertySetChanged, this.invalidPropertyNameToDisplayNameMap);
+ firePropertyChangedEvent(event);
+ }
+
+ private void firePropertyChangedEvent(PropertyValueChangeEvent event) {
for (PropertyValueChangeListener propertyValueChangeListener : this.propertyValueChangeListeners) {
- PropertyValueChangeEvent event = new PropertyValueChangeEvent(property, propertyDefinition,
- validationStateChanged, this.invalidPropertyNames);
propertyValueChangeListener.propertyValueChanged(event);
}
}
- public Set<String> getInvalidPropertyNames() {
- return this.invalidPropertyNames;
+ public Map<String, String> getInvalidPropertyNames() {
+ return this.invalidPropertyNameToDisplayNameMap;
}
private FormItem buildMapField(String parentLocatorId, PropertyDefinitionMap propertyDefinitionMap,
@@ -1346,6 +1376,21 @@ public class ConfigurationEditor extends LocatableVLayout {
propertySimple.setValue(value);
}
+ protected static PropertyDefinition getTopLevelPropertyDefinition(PropertyDefinition propertyDefinition) {
+ PropertyDefinition currentPropertyDefinition = propertyDefinition;
+ while (currentPropertyDefinition.getConfigurationDefinition() == null) {
+ if (currentPropertyDefinition.getParentPropertyListDefinition() != null) {
+ currentPropertyDefinition = currentPropertyDefinition.getParentPropertyListDefinition();
+ } else if (currentPropertyDefinition.getParentPropertyMapDefinition() != null) {
+ currentPropertyDefinition = currentPropertyDefinition.getParentPropertyMapDefinition();
+ } else {
+ Log.error("Property definition " + currentPropertyDefinition + " has no parent.");
+ break;
+ }
+ }
+ return currentPropertyDefinition;
+ }
+
protected static Property getTopLevelProperty(Property property) {
Property currentProperty = property;
while (currentProperty.getConfiguration() == null) {
@@ -1424,7 +1469,7 @@ public class ConfigurationEditor extends LocatableVLayout {
return (propertyDefinition.isReadOnly());
}
- protected List<Validator> buildValidators(PropertyDefinitionSimple propertyDefinition, Property property) {
+ protected List<Validator> buildValidators(PropertyDefinitionSimple propertyDefinition, PropertySimple property) {
List<Validator> validators = new ArrayList<Validator>();
Validator typeValidator = null;
@@ -1480,11 +1525,8 @@ public class ConfigurationEditor extends LocatableVLayout {
}
}
- if (property.getErrorMessage() != null) {
- this.invalidPropertyNames.add(property.getName());
- PluginReportedErrorValidator validator = new PluginReportedErrorValidator(property);
- validators.add(validator);
- }
+ PluginReportedErrorValidator validator = new PluginReportedErrorValidator(property);
+ validators.add(validator);
return validators;
}
@@ -1631,7 +1673,7 @@ public class ConfigurationEditor extends LocatableVLayout {
@Override
protected boolean condition(Object value) {
String errorMessage = this.property.getErrorMessage();
- boolean valid = (errorMessage != null);
+ boolean valid = (errorMessage == null);
if (!valid) {
setErrorMessage(errorMessage);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/PropertyValueChangeEvent.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/PropertyValueChangeEvent.java
index 2ba852d..c4db776 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/PropertyValueChangeEvent.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/PropertyValueChangeEvent.java
@@ -19,7 +19,7 @@
*/
package org.rhq.enterprise.gui.coregui.client.components.configuration;
-import java.util.Set;
+import java.util.Map;
import org.rhq.core.domain.configuration.Property;
import org.rhq.core.domain.configuration.definition.PropertyDefinition;
@@ -28,16 +28,17 @@ import org.rhq.core.domain.configuration.definition.PropertyDefinition;
* @author Ian Springer
*/
public class PropertyValueChangeEvent {
+
private Property property;
private PropertyDefinition propertyDefinition;
- private boolean validationStateChanged;
- private Set<String> invalidPropertyNames;
+ private boolean invalidPropertySetChanged;
+ private Map<String, String> invalidPropertyNames;
- public PropertyValueChangeEvent(Property property, PropertyDefinition propertyDefinition, boolean validationStatechanged,
- Set<String> invalidPropertyNames) {
+ public PropertyValueChangeEvent(Property property, PropertyDefinition propertyDefinition, boolean invalidPropertySetChanged,
+ Map<String, String> invalidPropertyNames) {
this.property = property;
this.propertyDefinition = propertyDefinition;
- this.validationStateChanged = validationStatechanged;
+ this.invalidPropertySetChanged = invalidPropertySetChanged;
this.invalidPropertyNames = invalidPropertyNames;
}
@@ -49,11 +50,12 @@ public class PropertyValueChangeEvent {
return propertyDefinition;
}
- public boolean isValidationStateChanged() {
- return validationStateChanged;
+ public boolean isInvalidPropertySetChanged() {
+ return invalidPropertySetChanged;
}
- public Set<String> getInvalidPropertyNames() {
+ public Map<String, String> getInvalidPropertyNames() {
return invalidPropertyNames;
}
+
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
index 93d31d7..4864145 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
@@ -69,7 +69,6 @@ import com.smartgwt.client.widgets.grid.events.SelectionChangedHandler;
import com.smartgwt.client.widgets.grid.events.SelectionEvent;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.LayoutSpacer;
-import com.smartgwt.client.widgets.layout.VLayout;
import com.smartgwt.client.widgets.menu.IMenuButton;
import com.smartgwt.client.widgets.menu.MenuItem;
import com.smartgwt.client.widgets.menu.events.MenuItemClickEvent;
@@ -100,7 +99,7 @@ public class Table<DS extends RPCDataSource> extends LocatableHLayout implements
protected static final String FIELD_ID = "id";
protected static final String FIELD_NAME = "name";
- private VLayout contents;
+ private LocatableVLayout contents;
private HTMLFlow title;
@@ -211,6 +210,12 @@ public class Table<DS extends RPCDataSource> extends LocatableHLayout implements
protected void onInit() {
super.onInit();
+ contents = new LocatableVLayout(extendLocatorId("tableContents"));
+ contents.setWidth100();
+ contents.setHeight100();
+ //contents.setOverflow(Overflow.AUTO);
+ addMember(contents);
+
filterForm = new TableFilter(this);
/*
@@ -227,7 +232,7 @@ public class Table<DS extends RPCDataSource> extends LocatableHLayout implements
}
}
- listGrid = new LocatableListGrid(getLocatorId());
+ listGrid = new LocatableListGrid(contents.extendLocatorId("ListGrid"));
listGrid.setAutoFetchData(autoFetchData);
if (criteria != null) {
@@ -261,12 +266,6 @@ public class Table<DS extends RPCDataSource> extends LocatableHLayout implements
listGrid.setDataSource(dataSource);
}
- contents = new LocatableVLayout(extendLocatorId("tableContents"));
- contents.setWidth100();
- contents.setHeight100();
- //contents.setOverflow(Overflow.AUTO);
- addMember(contents);
-
contents.addMember(listGrid);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java
index cb789b5..208d669 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java
@@ -22,7 +22,6 @@ import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.types.Overflow;
@@ -220,15 +219,15 @@ public class GroupResourceConfigurationEditView extends LocatableVLayout impleme
public void propertyValueChanged(PropertyValueChangeEvent event) {
MessageCenter messageCenter = CoreGUI.getMessageCenter();
Message message;
- if (event.isValidationStateChanged()) {
- Set<String> invalidPropertyNames = event.getInvalidPropertyNames();
+ if (event.isInvalidPropertySetChanged()) {
+ Map<String, String> invalidPropertyNames = event.getInvalidPropertyNames();
if (invalidPropertyNames.isEmpty()) {
this.saveButton.enable();
message = new Message(MSG.view_group_resConfig_edit_valid(), Message.Severity.Info, EnumSet.of(
Message.Option.Transient, Message.Option.Sticky));
} else {
this.saveButton.disable();
- message = new Message(MSG.view_group_resConfig_edit_invalid(invalidPropertyNames.toString()),
+ message = new Message(MSG.view_group_resConfig_edit_invalid(invalidPropertyNames.values().toString()),
Message.Severity.Error, EnumSet.of(Message.Option.Transient, Message.Option.Sticky));
}
messageCenter.notify(message);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java
index 973c371..98b785f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java
@@ -22,7 +22,6 @@ import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.types.Overflow;
@@ -230,15 +229,15 @@ public class GroupPluginConfigurationEditView extends LocatableVLayout implement
public void propertyValueChanged(PropertyValueChangeEvent event) {
MessageCenter messageCenter = CoreGUI.getMessageCenter();
Message message;
- if (event.isValidationStateChanged()) {
- Set<String> invalidPropertyNames = event.getInvalidPropertyNames();
+ if (event.isInvalidPropertySetChanged()) {
+ Map<String, String> invalidPropertyNames = event.getInvalidPropertyNames();
if (invalidPropertyNames.isEmpty()) {
this.saveButton.enable();
message = new Message(MSG.view_group_pluginConfig_edit_valid(), Message.Severity.Info, EnumSet.of(
Message.Option.Transient, Message.Option.Sticky));
} else {
this.saveButton.disable();
- message = new Message(MSG.view_group_pluginConfig_edit_invalid(invalidPropertyNames.toString()),
+ message = new Message(MSG.view_group_pluginConfig_edit_invalid(invalidPropertyNames.values().toString()),
Message.Severity.Error, EnumSet.of(Message.Option.Transient, Message.Option.Sticky));
}
messageCenter.notify(message);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
index 87476e8..101bf32 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
@@ -19,7 +19,7 @@
package org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.configuration;
import java.util.EnumSet;
-import java.util.Set;
+import java.util.Map;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.types.Overflow;
@@ -183,8 +183,8 @@ public class ResourceConfigurationEditView extends LocatableVLayout implements P
public void propertyValueChanged(PropertyValueChangeEvent event) {
MessageCenter messageCenter = CoreGUI.getMessageCenter();
Message message;
- if (event.isValidationStateChanged()) {
- Set<String> invalidPropertyNames = event.getInvalidPropertyNames();
+ if (event.isInvalidPropertySetChanged()) {
+ Map<String, String> invalidPropertyNames = event.getInvalidPropertyNames();
if (invalidPropertyNames.isEmpty()) {
this.saveButton.enable();
message = new Message(MSG.view_configurationDetails_allPropertiesValid(), Message.Severity.Info,
@@ -192,7 +192,7 @@ public class ResourceConfigurationEditView extends LocatableVLayout implements P
} else {
this.saveButton.disable();
message = new Message(MSG.view_configurationDetails_somePropertiesInvalid(invalidPropertyNames
- .toString()), Message.Severity.Error, EnumSet.of(Message.Option.Transient, Message.Option.Sticky));
+ .values().toString()), Message.Severity.Error, EnumSet.of(Message.Option.Transient, Message.Option.Sticky));
}
messageCenter.notify(message);
} else {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
index 1195d1e..9789c6f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
@@ -19,7 +19,7 @@
package org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.inventory;
import java.util.EnumSet;
-import java.util.Set;
+import java.util.Map;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.types.Overflow;
@@ -158,8 +158,8 @@ public class PluginConfigurationEditView extends LocatableVLayout implements Pro
public void propertyValueChanged(PropertyValueChangeEvent event) {
MessageCenter messageCenter = CoreGUI.getMessageCenter();
Message message;
- if (event.isValidationStateChanged()) {
- Set<String> invalidPropertyNames = event.getInvalidPropertyNames();
+ if (event.isInvalidPropertySetChanged()) {
+ Map<String, String> invalidPropertyNames = event.getInvalidPropertyNames();
if (invalidPropertyNames.isEmpty()) {
this.saveButton.enable();
message = new Message(MSG.view_connectionSettingsDetails_allPropertiesValid(), Message.Severity.Info,
@@ -167,7 +167,7 @@ public class PluginConfigurationEditView extends LocatableVLayout implements Pro
} else {
this.saveButton.disable();
message = new Message(MSG.view_connectionSettingsDetails_somePropertiesInvalid(invalidPropertyNames
- .toString()), Message.Severity.Error, EnumSet.of(Message.Option.Transient, Message.Option.Sticky));
+ .values().toString()), Message.Severity.Error, EnumSet.of(Message.Option.Transient, Message.Option.Sticky));
}
messageCenter.notify(message);
} else {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationFactory.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationFactory.java
index f1bb986..08c94d7 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationFactory.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationFactory.java
@@ -221,8 +221,10 @@ public abstract class TestConfigurationFactory {
configuration.setVersion(1);
configuration.put(new PropertySimple("String1", "blah"));
- configuration.put(new PropertySimple("String2",
- "a really, really, really, really, really long value that won't fit in the text input box"));
+ PropertySimple string2Prop = new PropertySimple("String2",
+ "a really, really, really, really, really long value that won't fit in the text input box");
+ string2Prop.setErrorMessage("illegal value!");
+ configuration.put(string2Prop);
configuration.put(new PropertySimple("LongString", "blah blah blah\nblah blah blah"));
configuration.put(new PropertySimple("Password", null));
configuration.put(new PropertySimple("Boolean", false));
@@ -280,7 +282,9 @@ public abstract class TestConfigurationFactory {
configuration.put(new PropertyList("ReadOnlyListOfMaps", propMap4, propMap5));
configuration.put(new PropertySimple("myString1", "grouped String 1"));
- configuration.put(new PropertySimple("myString2", "grouped String 2"));
+ PropertySimple myString2Prop = new PropertySimple("myString2", "grouped String 2");
+ myString2Prop.setErrorMessage("bogus value!");
+ configuration.put(myString2Prop);
configuration.put(new PropertySimple("myString3", "strings are cool"));
configuration.put(new PropertySimple("myEnum", "Burlington"));
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationView.java
index f1845b7..3f3e154 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationView.java
@@ -1,6 +1,6 @@
/*
* RHQ Management Platform
- * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2010-2011, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
@@ -20,13 +20,12 @@
package org.rhq.enterprise.gui.coregui.client.test.configuration;
import java.util.EnumSet;
-import java.util.Set;
+import java.util.Map;
import com.smartgwt.client.types.Overflow;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.layout.LayoutSpacer;
-import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
@@ -37,6 +36,7 @@ import org.rhq.enterprise.gui.coregui.client.components.configuration.PropertyVa
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.MessageCenter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableIButton;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
/**
@@ -64,12 +64,12 @@ public class TestConfigurationView
setWidth100();
setHeight100();
- ToolStrip toolStrip = new ToolStrip();
+ LocatableToolStrip toolStrip = new LocatableToolStrip(extendLocatorId("ToolStrip"));
toolStrip.setWidth100();
toolStrip.addMember(new LayoutSpacer());
- this.saveButton = new LocatableIButton(this.extendLocatorId("Save"), MSG.common_button_save());
+ this.saveButton = new LocatableIButton(toolStrip.extendLocatorId("Save"), MSG.common_button_save());
this.saveButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
save();
@@ -90,8 +90,8 @@ public class TestConfigurationView
public void propertyValueChanged(PropertyValueChangeEvent event) {
MessageCenter messageCenter = CoreGUI.getMessageCenter();
Message message;
- if (event.isValidationStateChanged()) {
- Set<String> invalidPropertyNames = event.getInvalidPropertyNames();
+ if (event.isInvalidPropertySetChanged()) {
+ Map<String, String> invalidPropertyNames = event.getInvalidPropertyNames();
if (invalidPropertyNames.isEmpty()) {
this.saveButton.enable();
message = new Message("All properties now have valid values, so the configuration can now be saved.",
@@ -100,7 +100,7 @@ public class TestConfigurationView
else {
this.saveButton.disable();
message = new Message(
- "The following properties have invalid values: " + invalidPropertyNames
+ "The following properties have invalid values: " + invalidPropertyNames.values()
+ " - the values must be corrected before the configuration can be saved.",
Message.Severity.Error, EnumSet.of(Message.Option.Transient, Message.Option.Sticky));
}
@@ -120,10 +120,12 @@ public class TestConfigurationView
editor = createConfigurationEditor();
addMember(editor);
+ markForRedraw();
}
protected ConfigurationEditor createConfigurationEditor() {
- ConfigurationEditor editor = new ConfigurationEditor(extendLocatorId("Editor"), this.configurationDefinition, this.configuration);
+ ConfigurationEditor editor = new ConfigurationEditor(extendLocatorId("Editor"), this.configurationDefinition,
+ this.configuration);
editor.setEditorTitle("Test Configuration");
editor.setOverflow(Overflow.AUTO);
editor.addPropertyValueChangeListener(this);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestGroupConfigurationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestGroupConfigurationView.java
index 8179fbd..d2d9c94 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestGroupConfigurationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestGroupConfigurationView.java
@@ -22,7 +22,7 @@ package org.rhq.enterprise.gui.coregui.client.test.configuration;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
-import java.util.Set;
+import java.util.Map;
import com.smartgwt.client.types.Overflow;
import com.smartgwt.client.widgets.events.ClickEvent;
@@ -99,8 +99,8 @@ public class TestGroupConfigurationView
public void propertyValueChanged(PropertyValueChangeEvent event) {
MessageCenter messageCenter = CoreGUI.getMessageCenter();
Message message;
- if (event.isValidationStateChanged()) {
- Set<String> invalidPropertyNames = event.getInvalidPropertyNames();
+ if (event.isInvalidPropertySetChanged()) {
+ Map<String, String> invalidPropertyNames = event.getInvalidPropertyNames();
if (invalidPropertyNames.isEmpty()) {
this.saveButton.enable();
message = new Message("All properties now have valid values, so the configuration can now be saved.",
@@ -109,7 +109,7 @@ public class TestGroupConfigurationView
else {
this.saveButton.disable();
message = new Message(
- "The following properties have invalid values: " + invalidPropertyNames
+ "The following properties have invalid values: " + invalidPropertyNames.values()
+ " - the values must be corrected before the configuration can be saved.",
Message.Severity.Error, EnumSet.of(Message.Option.Transient, Message.Option.Sticky));
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageBar.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageBar.java
index 29d7b75..39648a2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageBar.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/message/MessageBar.java
@@ -61,6 +61,7 @@ public class MessageBar extends LocatableHLayout implements MessageCenter.Messag
label.setAlign(Alignment.CENTER);
label.setWidth("600px");
label.setHeight("30px");
+ label.setCanSelectText(true);
setLabelEmpty();
addMember(label);
13 years, 3 months
[rhq] 2 commits - modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/OperationGWTService.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AbstractGWTServiceImpl.java | 32 +++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AgentGWTServiceImpl.java | 6 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertDefinitionGWTServiceImpl.java | 18 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertGWTServiceImpl.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertTemplateGWTServiceImpl.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AuthorizationGWTServiceImpl.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AvailabilityGWTServiceImpl.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/BundleGWTServiceImpl.java | 46 ++++----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ClusterGWTServiceImpl.java | 8 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ConfigurationGWTServiceImpl.java | 54 +++++-----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ContentGWTServiceImpl.java | 18 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DashboardGWTServiceImpl.java | 6 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/EventGWTServiceImpl.java | 23 ++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/GroupAlertDefinitionGWTServiceImpl.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/GroupDefinitionExpressionBuilderGWTServiceImpl.java | 6 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementChartsGWTServiceImpl.java | 12 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementDataGWTServiceImpl.java | 42 +++----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementScheduleGWTServiceImpl.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/OperationGWTServiceImpl.java | 47 +++-----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/PluginGWTServiceImpl.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RemoteInstallGWTServiceImpl.java | 14 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RepoGWTServiceImpl.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceBossGWTServiceImpl.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java | 37 +++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGroupGWTServiceImpl.java | 30 ++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceTypeGWTServiceImpl.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RoleGWTServiceImpl.java | 14 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SearchGWTServiceImpl.java | 14 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SubjectGWTServiceImpl.java | 33 ++----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SystemGWTServiceImpl.java | 17 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/TagGWTServiceImpl.java | 20 +--
32 files changed, 292 insertions(+), 269 deletions(-)
New commits:
commit 154b0692271ea83e1c80ca5d0721abedee4879e9
Merge: 5fc7467 24f2511
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Mar 17 13:30:01 2011 -0400
Merge commit 'origin/master'
commit 5fc7467f24614ef244d3a07f53b797038cdf1df9
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Mar 17 13:29:29 2011 -0400
BZ 688679 - correlate server side exceptions with gwt client exception messages. make sure we log the exceptions on server side because gwt error messages some times are not helpful
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/OperationGWTService.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/OperationGWTService.java
index cd7e631..f4d8085 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/OperationGWTService.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/OperationGWTService.java
@@ -59,9 +59,9 @@ public interface OperationGWTService extends RemoteService {
int scheduleGroupOperation(GroupOperationSchedule groupOperationSchedule) throws RuntimeException;
- ResourceOperationSchedule getResourceOperationSchedule(int scheduleId);
+ ResourceOperationSchedule getResourceOperationSchedule(int scheduleId) throws RuntimeException;
- GroupOperationSchedule getGroupOperationSchedule(int scheduleId);
+ GroupOperationSchedule getGroupOperationSchedule(int scheduleId) throws RuntimeException;
void unscheduleResourceOperation(ResourceOperationSchedule resourceOperationSchedule) throws RuntimeException;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AbstractGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AbstractGWTServiceImpl.java
index 51416e6..81308cc 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AbstractGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AbstractGWTServiceImpl.java
@@ -31,6 +31,7 @@ import com.google.gwt.user.server.rpc.RPCRequest;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import org.rhq.core.domain.auth.Subject;
+import org.rhq.core.util.exception.ThrowableUtil;
import org.rhq.enterprise.gui.coregui.client.UserSessionManager;
import org.rhq.enterprise.server.auth.SubjectManagerLocal;
import org.rhq.enterprise.server.util.HibernatePerformanceMonitor;
@@ -94,6 +95,37 @@ public abstract class AbstractGWTServiceImpl extends RemoteServiceServlet {
this.rpcMethod.set(className + "." + methodName);
}
+ /**
+ * Our GWT Service implementations should call this whenever it needs to send an exception to the GWT client.
+ * @param t the server side exception that needs to be thrown
+ * @returns a RuntimeException that is the real exception that should be thrown to the GWT client
+ */
+ protected RuntimeException getExceptionToThrowToClient(Throwable t) throws RuntimeException {
+ return getExceptionToThrowToClient(t, null);
+ }
+
+ /**
+ * Our GWT Service implementations should call this whenever it needs to send an exception to the GWT client.
+ * @param t the server side exception that needs to be thrown
+ * @param message an extra message to put in the returned exception
+ * @returns a RuntimeException that is the real exception that should be thrown to the GWT client
+ */
+ protected RuntimeException getExceptionToThrowToClient(Throwable t, String message) throws RuntimeException {
+ // this id is so the user can correlate this exception in the server log with the client message in the browser
+ StringBuilder id = new StringBuilder("[");
+ id.append(System.currentTimeMillis());
+ if (message != null) {
+ id.append(" ").append(message);
+ }
+ id.append("] ");
+
+ // log the exception server-side
+ Log.warn("Sending exception to client: " + id.toString(), t);
+
+ // cannot assume gwt client has our exception classes, only send the messages in a generic runtime exception
+ return new RuntimeException(id.toString() + ThrowableUtil.getAllMessages(t));
+ }
+
@SuppressWarnings("unchecked")
private void printHeaders(HttpServletRequest req) {
// TODO: figure out why SESSION_NAME header and other GWT-specific headers are missing occasionally
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AgentGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AgentGWTServiceImpl.java
index 448debd..b23aa79 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AgentGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AgentGWTServiceImpl.java
@@ -41,7 +41,7 @@ public class AgentGWTServiceImpl extends AbstractGWTServiceImpl implements Agent
return SerialUtility.prepare(agentManager.getAgentByResourceId(getSessionSubject(), resourceId),
"AgentService.getAgentForResource");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -52,7 +52,7 @@ public class AgentGWTServiceImpl extends AbstractGWTServiceImpl implements Agent
return SerialUtility.prepare(agentManager.pingAgentByResourceId(getSessionSubject(), resourceId),
"AgentService.pingAgentForResource");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -61,7 +61,7 @@ public class AgentGWTServiceImpl extends AbstractGWTServiceImpl implements Agent
// return SerialUtility.prepare(availabilityManager.findAvailabilityForResource(getSessionSubject(),
// resourceId, pc), "AvailabilityService.findAvailabilityForResource");
// } catch (Throwable t) {
- // throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ // throw getExceptionToThrowToClient(t);
// }
// }
}
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 6f15250..e26aa8a 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
@@ -59,7 +59,7 @@ public class AlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl implem
return SerialUtility.prepare(results, "findAlertDefinitionsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -69,7 +69,7 @@ public class AlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl implem
int results = alertDefManager.createAlertDefinition(getSessionSubject(), alertDefinition, resourceId);
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -81,7 +81,7 @@ public class AlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl implem
alertDefinition, updateInternals);
return SerialUtility.prepare(results, "updateAlertDefinition");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -91,7 +91,7 @@ public class AlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl implem
int results = alertDefManager.enableAlertDefinitions(getSessionSubject(), alertDefinitionIds);
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -101,7 +101,7 @@ public class AlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl implem
int results = alertDefManager.disableAlertDefinitions(getSessionSubject(), alertDefinitionIds);
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -111,7 +111,7 @@ public class AlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl implem
int results = alertDefManager.removeAlertDefinitions(getSessionSubject(), alertDefinitionIds);
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -121,7 +121,7 @@ public class AlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl implem
String[] results = alertDefManager.getAlertNotificationConfigurationPreview(getSessionSubject(), notifs);
return SerialUtility.prepare(results, "getAlertNotificationConfigurationPreview");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -134,7 +134,7 @@ public class AlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl implem
}
return SerialUtility.prepare(results.toArray(new String[results.size()]), "getAllAlertSenders");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -144,7 +144,7 @@ public class AlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl implem
ConfigurationDefinition results = alertNotifManager.getConfigurationDefinitionForSender(sender);
return SerialUtility.prepare(results, "getConfigurationDefinitionForSender");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertGWTServiceImpl.java
index 3ae0259..0fd72f7 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertGWTServiceImpl.java
@@ -53,7 +53,7 @@ public class AlertGWTServiceImpl extends AbstractGWTServiceImpl implements Alert
}
return SerialUtility.prepare(result, "AlertService.findAlertsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -61,7 +61,7 @@ public class AlertGWTServiceImpl extends AbstractGWTServiceImpl implements Alert
try {
return this.alertManager.deleteAlerts(getSessionSubject(), alertIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -69,7 +69,7 @@ public class AlertGWTServiceImpl extends AbstractGWTServiceImpl implements Alert
try {
return this.alertManager.deleteAlertsByContext(getSessionSubject(), context);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -77,7 +77,7 @@ public class AlertGWTServiceImpl extends AbstractGWTServiceImpl implements Alert
try {
return this.alertManager.acknowledgeAlerts(getSessionSubject(), alertIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -85,7 +85,7 @@ public class AlertGWTServiceImpl extends AbstractGWTServiceImpl implements Alert
try {
return this.alertManager.acknowledgeAlertsByContext(getSessionSubject(), context);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertTemplateGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertTemplateGWTServiceImpl.java
index 7179ffc..724bcb2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertTemplateGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AlertTemplateGWTServiceImpl.java
@@ -37,7 +37,7 @@ public class AlertTemplateGWTServiceImpl extends AbstractGWTServiceImpl implemen
.createAlertTemplate(getSessionSubject(), alertDefinition, resourceTypeId);
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -49,7 +49,7 @@ public class AlertTemplateGWTServiceImpl extends AbstractGWTServiceImpl implemen
purgeInternals);
return SerialUtility.prepare(results, "AlertTemplateService.updateAlertTemplate");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -59,7 +59,7 @@ public class AlertTemplateGWTServiceImpl extends AbstractGWTServiceImpl implemen
alertTemplateManager.enableAlertTemplates(getSessionSubject(), alertDefinitionIds);
return;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -69,7 +69,7 @@ public class AlertTemplateGWTServiceImpl extends AbstractGWTServiceImpl implemen
alertTemplateManager.disableAlertTemplates(getSessionSubject(), alertDefinitionIds);
return;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -79,7 +79,7 @@ public class AlertTemplateGWTServiceImpl extends AbstractGWTServiceImpl implemen
alertTemplateManager.removeAlertTemplates(getSessionSubject(), alertDefinitionIds);
return;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AuthorizationGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AuthorizationGWTServiceImpl.java
index a23bf27..bf56c99 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AuthorizationGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AuthorizationGWTServiceImpl.java
@@ -42,7 +42,7 @@ public class AuthorizationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(new HashSet<Permission>(authorizationManager.getExplicitResourcePermissions(
getSessionSubject(), resourceId)), "AuthorizationManager.getExplicitResourcePermissions");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -51,7 +51,7 @@ public class AuthorizationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(new HashSet<Permission>(authorizationManager.getImplicitResourcePermissions(
getSessionSubject(), resourceId)), "AuthorizationManager.getImplicitResourcePermissions");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -60,7 +60,7 @@ public class AuthorizationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(new HashSet<Permission>(authorizationManager.getExplicitGroupPermissions(
getSessionSubject(), groupId)), "AuthorizationManager.getExplicitGroupPermissions");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -69,7 +69,7 @@ public class AuthorizationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(new HashSet<Permission>(authorizationManager.getImplicitGroupPermissions(
getSessionSubject(), groupId)), "AuthorizationManager.getImplicitGroupPermissions");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -79,7 +79,7 @@ public class AuthorizationGWTServiceImpl extends AbstractGWTServiceImpl implemen
.getExplicitGlobalPermissions(getSessionSubject())),
"AuthorizationManager.getExplicitGlobalPermissions");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AvailabilityGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AvailabilityGWTServiceImpl.java
index 93e16c9..3685915 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AvailabilityGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AvailabilityGWTServiceImpl.java
@@ -41,7 +41,7 @@ public class AvailabilityGWTServiceImpl extends AbstractGWTServiceImpl implement
return SerialUtility.prepare(availabilityManager.findAvailabilityForResource(getSessionSubject(),
resourceId, pc), "AvailabilityService.findAvailabilityForResource");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/BundleGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/BundleGWTServiceImpl.java
index daf457d..3d9c312 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/BundleGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/BundleGWTServiceImpl.java
@@ -53,7 +53,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
BundleVersion results = bundleManager.createBundleVersionViaURL(getSessionSubject(), url);
return SerialUtility.prepare(results, "createBundleVersionViaURL");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -62,7 +62,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
BundleVersion results = bundleManager.createBundleVersionViaRecipe(getSessionSubject(), recipe);
return SerialUtility.prepare(results, "createBundleVersionViaRecipe");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -75,7 +75,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
bundleDestinationId, description, configuration);
return SerialUtility.prepare(result, "createBundleDeployment");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -87,7 +87,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
description, deployDir, groupId);
return SerialUtility.prepare(result, "createBundleDestination");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -98,7 +98,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
version, recipe);
return SerialUtility.prepare(results, "createBundleVersion");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -106,7 +106,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
try {
bundleManager.deleteBundles(getSessionSubject(), bundleIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -114,7 +114,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
try {
bundleManager.deleteBundle(getSessionSubject(), bundleId);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -122,7 +122,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
try {
bundleManager.deleteBundleDeployment(getSessionSubject(), bundleDeploymentId);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -130,7 +130,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
try {
bundleManager.deleteBundleDestination(getSessionSubject(), bundleDestinationId);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -138,7 +138,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
try {
bundleManager.deleteBundleVersion(getSessionSubject(), bundleVersionId, deleteBundleIfEmpty);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -148,7 +148,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
bundleTypes.addAll(bundleManager.getAllBundleTypes(getSessionSubject()));
return SerialUtility.prepare(bundleTypes, "getAllBundleTypes");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -158,7 +158,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
results.putAll(bundleManager.getAllBundleVersionFilenames(getSessionSubject(), bundleVersionId));
return SerialUtility.prepare(results, "getAllBundleVersionFilenames");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -170,7 +170,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
prevDeploymentId);
return SerialUtility.prepare(result, "getBundleDeploymentName");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -181,7 +181,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
isCleanDeployment);
return SerialUtility.prepare(result, "scheduleBundleDeployment");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -192,7 +192,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
bundleDeploymentId, deploymentDescription, isCleanDeployment);
return SerialUtility.prepare(result, "scheduleRevertBundleDeployment");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -201,7 +201,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
PageList<Bundle> results = bundleManager.findBundlesByCriteria(getSessionSubject(), criteria);
return SerialUtility.prepare(results, "findBundlesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -212,7 +212,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
criteria);
return SerialUtility.prepare(result, "BundleService.findBundleDeploymentsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -223,7 +223,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
criteria);
return SerialUtility.prepare(result, "BundleService.findBundleDestinationsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -232,7 +232,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
PageList<BundleFile> result = bundleManager.findBundleFilesByCriteria(getSessionSubject(), criteria);
return SerialUtility.prepare(result, "BundleService.findBundleFilesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -243,7 +243,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
getSessionSubject(), criteria);
return SerialUtility.prepare(result, "BundleService.findBundleResourceDeploymentsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -252,7 +252,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
PageList<BundleVersion> results = bundleManager.findBundleVersionsByCriteria(getSessionSubject(), criteria);
return SerialUtility.prepare(results, "findBundleVersionsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -263,7 +263,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
results = bundleManager.findBundlesWithLatestVersionCompositesByCriteria(getSessionSubject(), criteria);
return SerialUtility.prepare(results, "findBundlesWithLatestVersionCompositesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -271,7 +271,7 @@ public class BundleGWTServiceImpl extends AbstractGWTServiceImpl implements Bund
try {
bundleManager.purgeBundleDestination(getSessionSubject(), bundleDestinationId);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ClusterGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ClusterGWTServiceImpl.java
index ad81c84..4001ab0 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ClusterGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ClusterGWTServiceImpl.java
@@ -49,7 +49,7 @@ public class ClusterGWTServiceImpl extends AbstractGWTServiceImpl implements Clu
return SerialUtility.prepare(clusterManager.createAutoClusterBackingGroup(getSessionSubject(), clusterKey,
addResources), "ClusterGWTServiceImpl.createAutoClusterBackingGroup");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -58,7 +58,7 @@ public class ClusterGWTServiceImpl extends AbstractGWTServiceImpl implements Clu
return SerialUtility.prepare(clusterManager.getAutoClusterBackingGroup(getSessionSubject(), clusterKey),
"ClusterGWTServiceImpl.getAutoClusterBackingGroup");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -67,7 +67,7 @@ public class ClusterGWTServiceImpl extends AbstractGWTServiceImpl implements Clu
return SerialUtility.prepare(clusterManager.getAutoClusterResources(getSessionSubject(), clusterKey),
"ClusterGWTServiceImpl.getAutoClusterResources");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -76,7 +76,7 @@ public class ClusterGWTServiceImpl extends AbstractGWTServiceImpl implements Clu
return SerialUtility.prepare(clusterManager.getClusterTree(getSessionSubject(), groupId),
"ClusterGWTServiceImpl.getClusterTree");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ConfigurationGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ConfigurationGWTServiceImpl.java
index 4e551ed..22aadb6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ConfigurationGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ConfigurationGWTServiceImpl.java
@@ -54,7 +54,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
this.configurationManager.purgePluginConfigurationUpdates(getSessionSubject(), configUpdateIds,
purgeInProgress);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -65,7 +65,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
configurationManager.purgeResourceConfigurationUpdates(getSessionSubject(), configUpdateIds,
purgeInProgress);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -74,7 +74,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
try {
configurationManager.rollbackResourceConfiguration(getSessionSubject(), resourceId, configHistoryId);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -83,7 +83,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
try {
configurationManager.rollbackPluginConfiguration(getSessionSubject(), resourceId, configHistoryId);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -94,7 +94,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
getSessionSubject(), resourceId);
return SerialUtility.prepare(update, "ConfigurationService.getLatestResourceConfigurationUpdate");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -105,7 +105,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
getSessionSubject(), resourceId);
return SerialUtility.prepare(update, "ConfigurationService.getLatestPluginConfigurationUpdate");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -115,7 +115,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
Configuration configuration = configurationManager.getPluginConfiguration(getSessionSubject(), resourceId);
return SerialUtility.prepare(configuration, "ConfigurationService.getPluginConfiguration");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -126,7 +126,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
getSessionSubject(), resourceTypeId);
return SerialUtility.prepare(definition, "ConfigurationService.getPluginConfigDefinition");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -137,7 +137,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
.getResourceConfiguration(getSessionSubject(), resourceId);
return SerialUtility.prepare(configuration, "ResourceConfiguration");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -148,7 +148,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
.getResourceConfigurationDefinitionWithTemplatesForResourceType(getSessionSubject(), resourceTypeId);
return SerialUtility.prepare(definition, "ResourceDefinition");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -171,7 +171,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(updates, "ConfigurationService.findResourceConfigurationUpdates");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -183,7 +183,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
resourceId, configuration);
return SerialUtility.prepare(update, "ConfigurationService.updateResourceConfiguration");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -195,7 +195,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
resourceId, configuration);
return SerialUtility.prepare(update, "ConfigurationService.updatePluginConfiguration");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -218,7 +218,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(updates, "ConfigurationService.findResourceConfigurationUpdatesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -241,7 +241,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(updates, "ConfigurationService.findPluginConfigurationUpdatesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -254,7 +254,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(updates,
"ConfigurationService.findGroupResourceConfigurationUpdatesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -266,7 +266,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
.findGroupPluginConfigurationUpdatesByCriteria(getSessionSubject(), criteria);
return SerialUtility.prepare(updates, "ConfigurationService.findGroupPluginConfigurationUpdatesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -287,7 +287,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(disambiguatedConfigurationComposites,
"ConfigurationService.findResourceConfigurationsForGroup");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -307,7 +307,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(disambiguatedConfigurationComposites,
"ConfigurationService.findPluginConfigurationsForGroup");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -327,7 +327,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(disambiguatedConfigurationComposites,
"ConfigurationService.findResourceConfigurationsForGroupUpdate");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -347,7 +347,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(disambiguatedConfigurationComposites,
"ConfigurationService.findPluginConfigurationsForGroupUpdate");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -359,7 +359,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
this.configurationManager.scheduleGroupResourceConfigurationUpdate(getSessionSubject(), groupId,
configurations);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -371,7 +371,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
this.configurationManager.scheduleGroupPluginConfigurationUpdate(getSessionSubject(), groupId,
configurations);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -382,7 +382,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
this.configurationManager.deleteGroupPluginConfigurationUpdates(getSessionSubject(), groupId,
groupPluginConfigUpdateIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -393,7 +393,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
this.configurationManager.deleteGroupResourceConfigurationUpdates(getSessionSubject(), groupId,
groupResourceConfigUpdateIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -410,7 +410,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
}
return configurationComposites;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -424,7 +424,7 @@ public class ConfigurationGWTServiceImpl extends AbstractGWTServiceImpl implemen
}
return configurations;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ContentGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ContentGWTServiceImpl.java
index 69c5d20..3de4c93 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ContentGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ContentGWTServiceImpl.java
@@ -60,7 +60,7 @@ public class ContentGWTServiceImpl extends AbstractGWTServiceImpl implements Con
try {
contentManager.deletePackageVersion(getSessionSubject(), packageVersionId);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -70,7 +70,7 @@ public class ContentGWTServiceImpl extends AbstractGWTServiceImpl implements Con
return SerialUtility.prepare(contentManager.findPackageVersionsByCriteria(getSessionSubject(), criteria),
"ContentService.findPackageVersionsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -79,7 +79,7 @@ public class ContentGWTServiceImpl extends AbstractGWTServiceImpl implements Con
return SerialUtility.prepare(contentManager.findPackagesByCriteria(getSessionSubject(), criteria),
"ContentService.findPackagesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -91,7 +91,7 @@ public class ContentGWTServiceImpl extends AbstractGWTServiceImpl implements Con
"ContentService.findInstalledPackageHistoryByCriteria");
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -100,7 +100,7 @@ public class ContentGWTServiceImpl extends AbstractGWTServiceImpl implements Con
return SerialUtility.prepare(contentManager.findPackagesWithLatestVersion(getSessionSubject(), criteria),
"ContentService.findPackagesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
public PageList<InstalledPackageHistory> getInstalledPackageHistoryForResource(int resourceId, int count)
@@ -110,7 +110,7 @@ public class ContentGWTServiceImpl extends AbstractGWTServiceImpl implements Con
return SerialUtility.prepare(contentUiManager.getInstalledPackageHistoryForResource(resourceId, pc),
"ContentService.getInstalledPackageHistoryForResource");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -119,7 +119,7 @@ public class ContentGWTServiceImpl extends AbstractGWTServiceImpl implements Con
return SerialUtility.prepare(contentManager.findArchitectures(getSessionSubject()),
"ContentService.getArchitectures");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -128,7 +128,7 @@ public class ContentGWTServiceImpl extends AbstractGWTServiceImpl implements Con
return SerialUtility.prepare(contentManager.getResourceCreationPackageType(resourceTypeId),
"ContentService.getResourceCreationPackageType");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -138,7 +138,7 @@ public class ContentGWTServiceImpl extends AbstractGWTServiceImpl implements Con
return SerialUtility.prepare(contentManager.findPackageTypeWithVersionFormat(getSessionSubject(), resourceTypeId, packageTypeName),
"ContentService.findPackageType");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DashboardGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DashboardGWTServiceImpl.java
index 3aa0910..a97c8ab 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DashboardGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DashboardGWTServiceImpl.java
@@ -45,7 +45,7 @@ public class DashboardGWTServiceImpl extends AbstractGWTServiceImpl implements D
return SerialUtility.prepare(dashboardManager.findDashboardsByCriteria(getSessionSubject(), criteria),
"DashboardManager.findDashboardsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -54,7 +54,7 @@ public class DashboardGWTServiceImpl extends AbstractGWTServiceImpl implements D
return SerialUtility.prepare(dashboardManager.storeDashboard(getSessionSubject(), dashboard),
"DashboardManager.storeDashboard");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -62,7 +62,7 @@ public class DashboardGWTServiceImpl extends AbstractGWTServiceImpl implements D
try {
dashboardManager.removeDashboard(getSessionSubject(), dashboardId);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/EventGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/EventGWTServiceImpl.java
index 2303a5c..b770e55 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/EventGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/EventGWTServiceImpl.java
@@ -31,7 +31,6 @@ import org.rhq.core.domain.event.Event;
import org.rhq.core.domain.event.EventSeverity;
import org.rhq.core.domain.event.composite.EventComposite;
import org.rhq.core.domain.util.PageList;
-import org.rhq.core.util.exception.ThrowableUtil;
import org.rhq.enterprise.gui.coregui.client.gwt.EventGWTService;
import org.rhq.enterprise.gui.coregui.server.util.SerialUtility;
import org.rhq.enterprise.server.event.EventManagerLocal;
@@ -53,7 +52,7 @@ public class EventGWTServiceImpl extends AbstractGWTServiceImpl implements Event
return SerialUtility.prepare(eventManager.getSeverityBuckets(getSessionSubject(), resourceId, begin, end,
numBuckets), "EventService.getSeverityBuckets");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -64,7 +63,7 @@ public class EventGWTServiceImpl extends AbstractGWTServiceImpl implements Event
parentResourceId, resourceTypeId, begin, end, numBuckets),
"EventService.getSeverityBucketsForAutoGroup");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -74,7 +73,7 @@ public class EventGWTServiceImpl extends AbstractGWTServiceImpl implements Event
return SerialUtility.prepare(eventManager.getSeverityBucketsForCompGroup(getSessionSubject(),
resourceGroupId, begin, end, numBuckets), "EventService.getSeverityBucketsForCompGroup");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -82,8 +81,8 @@ public class EventGWTServiceImpl extends AbstractGWTServiceImpl implements Event
try {
return SerialUtility.prepare(eventManager.getEventCountsBySeverity(getSessionSubject(), resourceId,
startDate, endDate), "EventService.getEventCountsBySeverity");
- } catch (Exception e) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(e));
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
}
}
@@ -91,8 +90,8 @@ public class EventGWTServiceImpl extends AbstractGWTServiceImpl implements Event
try {
return SerialUtility.prepare(eventManager.getEventCountsBySeverityForGroup(getSessionSubject(), groupId,
startDate, endDate), "EventService.getEventCountsBySeverityForGroup");
- } catch (Exception e) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(e));
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
}
}
@@ -101,7 +100,7 @@ public class EventGWTServiceImpl extends AbstractGWTServiceImpl implements Event
return SerialUtility.prepare(eventManager.findEventsByCriteria(getSessionSubject(), criteria),
"EventService.findEventsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -110,7 +109,7 @@ public class EventGWTServiceImpl extends AbstractGWTServiceImpl implements Event
return SerialUtility.prepare(eventManager.findEventCompositesByCriteria(getSessionSubject(), criteria),
"EventService.findEventsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -118,7 +117,7 @@ public class EventGWTServiceImpl extends AbstractGWTServiceImpl implements Event
try {
return eventManager.deleteEventsForContext(getSessionSubject(), context, eventIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -126,7 +125,7 @@ public class EventGWTServiceImpl extends AbstractGWTServiceImpl implements Event
try {
return eventManager.purgeEventsForContext(getSessionSubject(), context);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/GroupAlertDefinitionGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/GroupAlertDefinitionGWTServiceImpl.java
index 38a076b..867a2cd 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/GroupAlertDefinitionGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/GroupAlertDefinitionGWTServiceImpl.java
@@ -39,7 +39,7 @@ public class GroupAlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl i
resourceGroupId);
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -51,7 +51,7 @@ public class GroupAlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl i
groupAlertDefinition, purgeInternals);
return SerialUtility.prepare(results, "updateGroupAlertDefinitions");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -62,7 +62,7 @@ public class GroupAlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl i
.enableGroupAlertDefinitions(getSessionSubject(), groupAlertDefinitionIds);
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -73,7 +73,7 @@ public class GroupAlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl i
groupAlertDefinitionIds);
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -84,7 +84,7 @@ public class GroupAlertDefinitionGWTServiceImpl extends AbstractGWTServiceImpl i
.removeGroupAlertDefinitions(getSessionSubject(), groupAlertDefinitionIds);
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/GroupDefinitionExpressionBuilderGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/GroupDefinitionExpressionBuilderGWTServiceImpl.java
index 7e629bd..28dd5b5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/GroupDefinitionExpressionBuilderGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/GroupDefinitionExpressionBuilderGWTServiceImpl.java
@@ -42,7 +42,7 @@ public class GroupDefinitionExpressionBuilderGWTServiceImpl extends AbstractGWTS
try {
return new ArrayList<String>(builder.getPluginConfigurationPropertyNames(resourceTypeId));
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -51,7 +51,7 @@ public class GroupDefinitionExpressionBuilderGWTServiceImpl extends AbstractGWTS
try {
return new ArrayList<String>(builder.getResourceConfigurationPropertyNames(resourceTypeId));
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -60,7 +60,7 @@ public class GroupDefinitionExpressionBuilderGWTServiceImpl extends AbstractGWTS
try {
return new ArrayList<String>(builder.getTraitPropertyNames(resourceTypeId));
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementChartsGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementChartsGWTServiceImpl.java
index 4ba2327..60c0ef6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementChartsGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementChartsGWTServiceImpl.java
@@ -45,7 +45,7 @@ public class MeasurementChartsGWTServiceImpl extends AbstractGWTServiceImpl impl
.getMetricDisplaySummariesForAutoGroup(getSessionSubject(), parent, type, viewName));
return SerialUtility.prepare(list, "MeasurementCharts.getMetricDisplaySummariesForAutoGroup1");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -58,7 +58,7 @@ public class MeasurementChartsGWTServiceImpl extends AbstractGWTServiceImpl impl
enabledOnly));
return SerialUtility.prepare(list, "MeasurementCharts.getMetricDisplaySummariesForAutoGroup2");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -73,7 +73,7 @@ public class MeasurementChartsGWTServiceImpl extends AbstractGWTServiceImpl impl
.getMetricDisplaySummariesForCompatibleGroup(getSessionSubject(), groupId, viewName));
return SerialUtility.prepare(list, "MeasurementCharts.getMetricDisplaySummariesForCompatibleGroup1");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -86,7 +86,7 @@ public class MeasurementChartsGWTServiceImpl extends AbstractGWTServiceImpl impl
enabledOnly));
return SerialUtility.prepare(list, "MeasurementCharts.getMetricDisplaySummariesForCompatibleGroup2");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -101,7 +101,7 @@ public class MeasurementChartsGWTServiceImpl extends AbstractGWTServiceImpl impl
.getMetricDisplaySummariesForResource(getSessionSubject(), resourceId, viewName));
return SerialUtility.prepare(list, "MeasurementCharts.getMetricDisplaySummariesForResource1");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -113,7 +113,7 @@ public class MeasurementChartsGWTServiceImpl extends AbstractGWTServiceImpl impl
.getMetricDisplaySummariesForResource(getSessionSubject(), resourceId, schedIds, begin, end));
return SerialUtility.prepare(list, "MeasurementCharts.getMetricDisplaySummariesForResource2");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementDataGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementDataGWTServiceImpl.java
index 7ff5d62..9ff56a1 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementDataGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementDataGWTServiceImpl.java
@@ -69,7 +69,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
return SerialUtility.prepare(dataManager.findCurrentTraitsForResource(getSessionSubject(), resourceId,
displayType), "MeasurementDataService.findCurrentTraitsForResource");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -78,7 +78,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
return SerialUtility.prepare(dataManager.findLiveData(getSessionSubject(), resourceId, definitionIds),
"MeasurementDataService.findLiveData");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -88,7 +88,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
return SerialUtility.prepare(dataManager.findDataForResource(getSessionSubject(), resourceId,
definitionIds, beginTime, endTime, numPoints), "MeasurementDataService.findDataForResource");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -103,7 +103,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
}
return SerialUtility.prepare(results, "MeasurementDataService.findDataForCompatibleGroup");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -113,7 +113,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
return SerialUtility.prepare(callTimeDataManager.findCallTimeDataForResource(getSessionSubject(),
scheduleId, start, end, pageControl), "MeasurementDataService.findCallTimeDataForResource");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -123,7 +123,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
return SerialUtility.prepare(definitionManager.findMeasurementDefinitionsByCriteria(getSessionSubject(),
criteria), "MeasurementDataService.findMeasurementDefinintionsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -133,7 +133,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
return SerialUtility.prepare(scheduleManager.findSchedulesByCriteria(getSessionSubject(), criteria),
"MeasurementDataService.findMeasurementSchedulesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -144,7 +144,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
context, PageControl.getUnlimitedInstance()),
"MeasurementDataService.getMeasurementScheduleCompositesByContext");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -155,7 +155,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
metricNameFilter, resourceNameFilter, parentNameFilter, pc),
"MeasurementDataService.getSchedulesWithOOBs");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -164,7 +164,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
return SerialUtility.prepare(measurementOOBManager.getHighestNOOBsForResource(getSessionSubject(),
resourceId, n), "MeasurementDataService.getHighestNOOBsForResource");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -174,7 +174,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
measurementOOBManager.getHighestNOOBsForGroup(getSessionSubject(), groupId, n),
"MeasurementDataService.getHighestNOOBsForGroup");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -182,7 +182,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
try {
scheduleManager.enableSchedulesForResource(getSessionSubject(), resourceId, measurementDefinitionIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -190,7 +190,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
try {
scheduleManager.disableSchedulesForResource(getSessionSubject(), resourceId, measurementDefinitionIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -200,7 +200,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
scheduleManager.updateSchedulesForResource(getSessionSubject(), resourceId, measurementDefinitionIds,
collectionInterval);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -210,7 +210,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
scheduleManager.enableSchedulesForCompatibleGroup(getSessionSubject(), resourceGroupId,
measurementDefinitionIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -220,7 +220,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
scheduleManager.disableSchedulesForCompatibleGroup(getSessionSubject(), resourceGroupId,
measurementDefinitionIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -230,7 +230,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
scheduleManager.updateSchedulesForCompatibleGroup(getSessionSubject(), resourceGroupId,
measurementDefinitionIds, collectionInterval);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -240,7 +240,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
scheduleManager.updateDefaultCollectionIntervalForMeasurementDefinitions(getSessionSubject(),
measurementDefinitionIds, 0, updateExistingSchedules);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -250,7 +250,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
scheduleManager.updateDefaultCollectionIntervalForMeasurementDefinitions(getSessionSubject(),
measurementDefinitionIds, -1, updateExistingSchedules);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -260,7 +260,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
scheduleManager.updateDefaultCollectionIntervalForMeasurementDefinitions(getSessionSubject(),
measurementDefinitionIds, collectionInterval, updateExistingSchedules);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -282,7 +282,7 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
return SerialUtility.prepare(results, "MeasurementDataService.findTraitsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementScheduleGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementScheduleGWTServiceImpl.java
index 2ae5e40..d6c3e7b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementScheduleGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementScheduleGWTServiceImpl.java
@@ -44,7 +44,7 @@ public class MeasurementScheduleGWTServiceImpl extends AbstractGWTServiceImpl im
return SerialUtility.prepare(new ArrayList<MeasurementSchedule>(schedules),
"MeasurementSchedule.findSchedulesForResourceAndType");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/OperationGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/OperationGWTServiceImpl.java
index 0290135..59ad907 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/OperationGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/OperationGWTServiceImpl.java
@@ -38,7 +38,6 @@ import org.rhq.core.domain.operation.composite.ResourceOperationScheduleComposit
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.util.PageControl;
import org.rhq.core.domain.util.PageList;
-import org.rhq.core.util.exception.ThrowableUtil;
import org.rhq.enterprise.gui.coregui.client.gwt.OperationGWTService;
import org.rhq.enterprise.gui.coregui.server.util.SerialUtility;
import org.rhq.enterprise.server.operation.OperationManagerLocal;
@@ -77,7 +76,7 @@ public class OperationGWTServiceImpl extends AbstractGWTServiceImpl implements O
return SerialUtility.prepare(result, "OperationService.findResourceOperationHistoriesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -89,15 +88,15 @@ public class OperationGWTServiceImpl extends AbstractGWTServiceImpl implements O
return SerialUtility.prepare(result, "OperationService.findGroupOperationHistoriesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
- public void deleteOperationHistory(int operationHistoryId, boolean deleteEvenIfInProgress) {
+ public void deleteOperationHistory(int operationHistoryId, boolean deleteEvenIfInProgress) throws RuntimeException {
try {
operationManager.deleteOperationHistory(getSessionSubject(), operationHistoryId, deleteEvenIfInProgress);
- } catch (RuntimeException e) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(e));
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
}
}
@@ -108,7 +107,7 @@ public class OperationGWTServiceImpl extends AbstractGWTServiceImpl implements O
ResourceOperationSchedule opSchedule = operationManager.scheduleResourceOperation(getSessionSubject(),
resourceId, operationName, 0, 0, 0, 0, parameters, description);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -121,35 +120,33 @@ public class OperationGWTServiceImpl extends AbstractGWTServiceImpl implements O
ResourceOperationSchedule opSchedule = operationManager.scheduleResourceOperation(getSessionSubject(),
resourceId, operationName, parameters, cronTrigger, description);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
public int scheduleResourceOperation(ResourceOperationSchedule resourceOperationSchedule) throws RuntimeException {
try {
return operationManager.scheduleResourceOperation(getSessionSubject(), resourceOperationSchedule);
- } catch (RuntimeException e) {
- e.printStackTrace();
- throw new RuntimeException(ThrowableUtil.getAllMessages(e));
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
}
}
public int scheduleGroupOperation(GroupOperationSchedule groupOperationSchedule) throws RuntimeException {
try {
return operationManager.scheduleGroupOperation(getSessionSubject(), groupOperationSchedule);
- } catch (RuntimeException e) {
- e.printStackTrace();
- throw new RuntimeException(ThrowableUtil.getAllMessages(e));
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
}
}
- public ResourceOperationSchedule getResourceOperationSchedule(int scheduleId) {
+ public ResourceOperationSchedule getResourceOperationSchedule(int scheduleId) throws RuntimeException {
ResourceOperationSchedule resourceOperationSchedule = operationManager.getResourceOperationSchedule(
getSessionSubject(), scheduleId);
return SerialUtility.prepare(resourceOperationSchedule, "getResourceOperationSchedule");
}
- public GroupOperationSchedule getGroupOperationSchedule(int scheduleId) {
+ public GroupOperationSchedule getGroupOperationSchedule(int scheduleId) throws RuntimeException {
GroupOperationSchedule groupOperationSchedule = operationManager.getGroupOperationSchedule(getSessionSubject(),
scheduleId);
return SerialUtility.prepare(groupOperationSchedule, "getGroupOperationSchedule");
@@ -160,9 +157,8 @@ public class OperationGWTServiceImpl extends AbstractGWTServiceImpl implements O
try {
operationManager.unscheduleResourceOperation(getSessionSubject(), resourceOperationSchedule.getJobId()
.toString(), resourceOperationSchedule.getResource().getId());
- } catch (RuntimeException e) {
- e.printStackTrace();
- throw new RuntimeException(ThrowableUtil.getAllMessages(e));
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
}
}
@@ -170,9 +166,8 @@ public class OperationGWTServiceImpl extends AbstractGWTServiceImpl implements O
try {
operationManager.unscheduleGroupOperation(getSessionSubject(),
groupOperationSchedule.getJobId().toString(), groupOperationSchedule.getGroup().getId());
- } catch (RuntimeException e) {
- e.printStackTrace();
- throw new RuntimeException(ThrowableUtil.getAllMessages(e));
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
}
}
@@ -191,7 +186,7 @@ public class OperationGWTServiceImpl extends AbstractGWTServiceImpl implements O
return SerialUtility.prepare(lastCompletedResourceOps, "OperationService.findRecentCompletedOperations");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -206,7 +201,7 @@ public class OperationGWTServiceImpl extends AbstractGWTServiceImpl implements O
return SerialUtility.prepare(scheduledResourceOps, "OperationService.findScheduledOperations");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -217,7 +212,7 @@ public class OperationGWTServiceImpl extends AbstractGWTServiceImpl implements O
return SerialUtility.prepare(resourceOperationSchedules, "findScheduledResourceOperations");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -228,7 +223,7 @@ public class OperationGWTServiceImpl extends AbstractGWTServiceImpl implements O
return SerialUtility.prepare(groupOperationSchedules, "findScheduledGroupOperations");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/PluginGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/PluginGWTServiceImpl.java
index 692c46a..45d98bc 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/PluginGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/PluginGWTServiceImpl.java
@@ -40,7 +40,7 @@ public class PluginGWTServiceImpl extends AbstractGWTServiceImpl implements Plug
try {
return new ArrayList<Plugin>(manager.getInstalledPlugins());
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RemoteInstallGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RemoteInstallGWTServiceImpl.java
index b397c15..3362bf9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RemoteInstallGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RemoteInstallGWTServiceImpl.java
@@ -44,7 +44,7 @@ public class RemoteInstallGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(remoteInstallManager.agentInstallCheck(getSessionSubject(), remoteAccessInfo,
agentInstallPath), "RemoteInstallService.agentInstallCheck");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -53,7 +53,7 @@ public class RemoteInstallGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(remoteInstallManager.installAgent(getSessionSubject(), remoteAccessInfo,
parentPath), "RemoteInstallService.installAgent");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -62,7 +62,7 @@ public class RemoteInstallGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(remoteInstallManager.startAgent(getSessionSubject(), remoteAccessInfo,
agentInstallPath), "RemoteInstallService.startAgent");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -71,7 +71,7 @@ public class RemoteInstallGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(remoteInstallManager.stopAgent(getSessionSubject(), remoteAccessInfo,
agentInstallPath), "RemoteInstallService.stopAgent");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -80,7 +80,7 @@ public class RemoteInstallGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(remoteInstallManager.agentStatus(getSessionSubject(), remoteAccessInfo,
agentInstallPath), "RemoteInstallService.agentStatus");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -89,7 +89,7 @@ public class RemoteInstallGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare((remoteInstallManager.findAgentInstallPath(getSessionSubject(),
remoteAccessInfo, parentPath)), "RemoteInstallService.findAgentInstallPath");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -98,7 +98,7 @@ public class RemoteInstallGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare((remoteInstallManager.remotePathDiscover(getSessionSubject(),
remoteAccessInfo, parentPath)), "RemoteInstallService.remotePathDiscover");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RepoGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RepoGWTServiceImpl.java
index 100289c..f3be776 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RepoGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RepoGWTServiceImpl.java
@@ -45,7 +45,7 @@ public class RepoGWTServiceImpl extends AbstractGWTServiceImpl implements RepoGW
return SerialUtility.prepare(repoManager.findReposByCriteria(getSessionSubject(), criteria),
"RepoService.findReposByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceBossGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceBossGWTServiceImpl.java
index 34019fe..d3bcc8e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceBossGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceBossGWTServiceImpl.java
@@ -43,7 +43,7 @@ public class ResourceBossGWTServiceImpl extends AbstractGWTServiceImpl implement
// note: this does not need to be sent through SerialUtility.prepare as it has no entities
return resourceBoss.getInventorySummary(getSessionSubject());
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
index 4c474c1..7b32034 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
@@ -44,7 +44,6 @@ import org.rhq.core.domain.resource.composite.ResourceInstallCount;
import org.rhq.core.domain.resource.composite.ResourceLineageComposite;
import org.rhq.core.domain.util.PageControl;
import org.rhq.core.domain.util.PageList;
-import org.rhq.core.util.exception.ThrowableUtil;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGWTService;
import org.rhq.enterprise.gui.coregui.server.util.SerialUtility;
import org.rhq.enterprise.server.discovery.DiscoveryBossLocal;
@@ -126,7 +125,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
return SerialUtility.prepare(result, "ResourceService.findResourcesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -145,7 +144,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
return SerialUtility.prepare(result, "ResourceService.findResourceCompositesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -160,7 +159,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
return SerialUtility.prepare(result, "ResourceService.findProblemResources");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -171,7 +170,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
"ResourceService.getResourceLineageAndSiblings");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -180,7 +179,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
return SerialUtility.prepare(resourceManager.getRootResourceForResource(resourceId),
"ResourceService.getPlatformForResource");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -198,7 +197,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
return SerialUtility.prepare(platforms, "ResourceService.findRecentlyAddedResources");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -207,7 +206,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
return SerialUtility.prepare(resourceManager.uninventoryResources(getSessionSubject(), resourceIds),
"ResourceService.uninventoryResources");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -215,7 +214,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
try {
resourceManager.updateResource(getSessionSubject(), resource);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -237,7 +236,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
resourceFactoryManager.createResource(getSessionSubject(), parentResourceId, newResourceTypeId,
newResourceName, pluginConfig, newResourceConfiguration);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -259,7 +258,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
resourceFactoryManager.createPackageBackedResourceViaPackageVersion(getSessionSubject(), parentResourceId,
newResourceTypeId, newResourceName, pluginConfig, deploymentTimeConfiguration, packageVersionId);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -268,7 +267,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
return SerialUtility.prepare(resourceFactoryManager.deleteResources(getSessionSubject(), resourceIds),
"ResourceService.deleteResources");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -278,7 +277,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
return SerialUtility.prepare(discoveryBoss.getQueuedPlatformsAndServers(getSessionSubject(), EnumSet
.copyOf(statuses), pc), "ResourceService.getQueuedPlatformsAndServers");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -286,7 +285,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
try {
discoveryBoss.importResources(getSessionSubject(), resourceIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -294,7 +293,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
try {
discoveryBoss.ignoreResources(getSessionSubject(), resourceIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -302,7 +301,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
try {
discoveryBoss.unignoreResources(getSessionSubject(), resourceIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -311,7 +310,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
return SerialUtility.prepare(resourceManager.findResourceErrors(getSessionSubject(), resourceId),
"ResourceService.getResourceErrors");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -322,7 +321,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
pluginConfiguration);
return SerialUtility.prepare(result, "ResourceService.manuallyAddResource");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -332,7 +331,7 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
groupByVersions);
return SerialUtility.prepare(result, "ResourceService.findResourceInstallCounts");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGroupGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGroupGWTServiceImpl.java
index 6963b8c..b185242 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGroupGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGroupGWTServiceImpl.java
@@ -47,7 +47,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
PageList<ResourceGroup> groups = groupManager.findResourceGroupsByCriteria(getSessionSubject(), criteria);
return SerialUtility.prepare(groups, "ResourceGroupService.findResourceGroupsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -58,7 +58,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
getSessionSubject(), criteria);
return SerialUtility.prepare(composites, "ResourceGroupService.findResourceGroupCompositesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -69,7 +69,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
getSessionSubject(), criteria);
return SerialUtility.prepare(definitions, "ResourceGroupService.findGroupDefinitionsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -77,7 +77,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
try {
groupManager.setAssignedResources(getSessionSubject(), groupId, resourceIds, setType);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -87,7 +87,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
groupManager.setAssignedResourceGroupsForResource(getSessionSubject(), resourceId, resourceGroupIds,
setType);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -98,7 +98,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
groupManager.setAssignedResources(user, group.getId(), resourceIds, true);
return SerialUtility.prepare(group, "ResourceGroupService.createResourceGroup");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -109,7 +109,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
groupManager.setAssignedResources(user, group.getId(), resourceIds, true);
return SerialUtility.prepare(group, "ResourceGroupService.createResourceGroup");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -117,7 +117,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
try {
groupManager.deleteResourceGroups(getSessionSubject(), groupIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -125,7 +125,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
try {
groupManager.updateResourceGroup(getSessionSubject(), group);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -133,7 +133,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
try {
groupManager.updateResourceGroup(getSessionSubject(), group, null, updateMembership);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -143,7 +143,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(results, "ResourceGroupService.createGroupDefinition");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -151,7 +151,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
try {
definitionManager.updateGroupDefinition(getSessionSubject(), groupDefinition);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -161,7 +161,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
definitionManager.calculateGroupMembership(getSessionSubject(), nextGroupDefinitionId);
}
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -171,7 +171,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
definitionManager.removeGroupDefinition(getSessionSubject(), nextGroupDefinitionId);
}
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -180,7 +180,7 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
try {
groupManager.setRecursive(getSessionSubject(), groupId, isRecursive);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceTypeGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceTypeGWTServiceImpl.java
index 223a23e..7a3d964 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceTypeGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceTypeGWTServiceImpl.java
@@ -29,7 +29,7 @@ public class ResourceTypeGWTServiceImpl extends AbstractGWTServiceImpl implement
return SerialUtility.prepare(typeManager.findResourceTypesByCriteria(getSessionSubject(), criteria),
"ResourceTypes.findResourceTypesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -47,7 +47,7 @@ public class ResourceTypeGWTServiceImpl extends AbstractGWTServiceImpl implement
}
return SerialUtility.prepare(types, "ResourceTypes.getResourceTypesForResourceAncestors");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -59,7 +59,7 @@ public class ResourceTypeGWTServiceImpl extends AbstractGWTServiceImpl implement
return SerialUtility
.prepare(new ArrayList<ResourceType>(list), "ResourceTypes.getAllResourceTypeAncestors");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -72,7 +72,7 @@ public class ResourceTypeGWTServiceImpl extends AbstractGWTServiceImpl implement
resourceTypeId);
return SerialUtility.prepare(map, "ResourceTypes.getResourceTypeDescendantsWithOperations");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -83,7 +83,7 @@ public class ResourceTypeGWTServiceImpl extends AbstractGWTServiceImpl implement
Map<Integer, ResourceTypeTemplateCountComposite> map = typeManager.getTemplateCountCompositeMap();
return SerialUtility.prepare(map, "ResourceTypes.getTemplateCountCompositeMap");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RoleGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RoleGWTServiceImpl.java
index 73659e0..8ff8457 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RoleGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/RoleGWTServiceImpl.java
@@ -41,7 +41,7 @@ public class RoleGWTServiceImpl extends AbstractGWTServiceImpl implements RoleGW
return SerialUtility.prepare(roleManager.findRolesByCriteria(getSessionSubject(), criteria),
"RoleService.findRolesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -49,7 +49,7 @@ public class RoleGWTServiceImpl extends AbstractGWTServiceImpl implements RoleGW
try {
return SerialUtility.prepare(roleManager.createRole(getSessionSubject(), role), "RoleService.createRole");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -57,7 +57,7 @@ public class RoleGWTServiceImpl extends AbstractGWTServiceImpl implements RoleGW
try {
return SerialUtility.prepare(roleManager.updateRole(getSessionSubject(), role), "RoleService.updateRole");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -65,7 +65,7 @@ public class RoleGWTServiceImpl extends AbstractGWTServiceImpl implements RoleGW
try {
roleManager.deleteRoles(getSessionSubject(), roleIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -73,7 +73,7 @@ public class RoleGWTServiceImpl extends AbstractGWTServiceImpl implements RoleGW
try {
roleManager.setAssignedResourceGroups(getSessionSubject(), roleId, resourceGroupIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -81,7 +81,7 @@ public class RoleGWTServiceImpl extends AbstractGWTServiceImpl implements RoleGW
try {
roleManager.setAssignedSubjects(getSessionSubject(), roleId, subjectIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -89,7 +89,7 @@ public class RoleGWTServiceImpl extends AbstractGWTServiceImpl implements RoleGW
try {
roleManager.setAssignedSubjectRoles(getSessionSubject(), subjectId, roleIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SearchGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SearchGWTServiceImpl.java
index 1af6f3f..fac1c35 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SearchGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SearchGWTServiceImpl.java
@@ -47,7 +47,7 @@ public class SearchGWTServiceImpl extends AbstractGWTServiceImpl implements Sear
List<SearchSuggestion> results = searchAssistManager.getTabAwareSuggestions(expression, caretPosition, tab);
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -58,7 +58,7 @@ public class SearchGWTServiceImpl extends AbstractGWTServiceImpl implements Sear
List<SearchSuggestion> results = searchAssistManager.getSuggestions(expression, caretPosition);
return results;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -66,7 +66,7 @@ public class SearchGWTServiceImpl extends AbstractGWTServiceImpl implements Sear
try {
return savedSearchManager.createSavedSearch(getSessionSubject(), savedSearch);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -76,7 +76,7 @@ public class SearchGWTServiceImpl extends AbstractGWTServiceImpl implements Sear
savedSearch.setName(newName);
return savedSearchManager.updateSavedSearch(getSessionSubject(), savedSearch);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -86,7 +86,7 @@ public class SearchGWTServiceImpl extends AbstractGWTServiceImpl implements Sear
savedSearch.setPattern(newPattern);
return savedSearchManager.updateSavedSearch(getSessionSubject(), savedSearch);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -94,7 +94,7 @@ public class SearchGWTServiceImpl extends AbstractGWTServiceImpl implements Sear
try {
savedSearchManager.deleteSavedSearch(getSessionSubject(), savedSearchId);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -103,7 +103,7 @@ public class SearchGWTServiceImpl extends AbstractGWTServiceImpl implements Sear
return SerialUtility.prepare(savedSearchManager.findSavedSearchesByCriteria(getSessionSubject(), criteria),
"SearchService.findRolesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SubjectGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SubjectGWTServiceImpl.java
index e690d84..064035d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SubjectGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SubjectGWTServiceImpl.java
@@ -21,7 +21,6 @@ package org.rhq.enterprise.gui.coregui.server.gwt;
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.criteria.SubjectCriteria;
import org.rhq.core.domain.util.PageList;
-import org.rhq.core.util.exception.ThrowableUtil;
import org.rhq.enterprise.gui.coregui.client.gwt.SubjectGWTService;
import org.rhq.enterprise.gui.coregui.server.util.SerialUtility;
import org.rhq.enterprise.server.auth.SubjectManagerLocal;
@@ -41,7 +40,7 @@ public class SubjectGWTServiceImpl extends AbstractGWTServiceImpl implements Sub
try {
subjectManager.createPrincipal(getSessionSubject(), username, password);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -50,7 +49,7 @@ public class SubjectGWTServiceImpl extends AbstractGWTServiceImpl implements Sub
return SerialUtility.prepare(subjectManager.createSubject(getSessionSubject(), subjectToCreate),
"SubjectManager.createSubject");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -59,7 +58,7 @@ public class SubjectGWTServiceImpl extends AbstractGWTServiceImpl implements Sub
return SerialUtility.prepare(subjectManager.createSubject(getSessionSubject(), subjectToCreate, password),
"SubjectManager.createSubject");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -67,7 +66,7 @@ public class SubjectGWTServiceImpl extends AbstractGWTServiceImpl implements Sub
try {
subjectManager.deleteSubjects(getSessionSubject(), subjectIds);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -75,7 +74,7 @@ public class SubjectGWTServiceImpl extends AbstractGWTServiceImpl implements Sub
try {
return SerialUtility.prepare(subjectManager.login(username, password), "SubjectManager.login");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -83,7 +82,7 @@ public class SubjectGWTServiceImpl extends AbstractGWTServiceImpl implements Sub
try {
subjectManager.logout(sessionId);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -92,7 +91,7 @@ public class SubjectGWTServiceImpl extends AbstractGWTServiceImpl implements Sub
return SerialUtility.prepare(subjectManager.updateSubject(getSessionSubject(), subjectToModify),
"SubjectManager.updateSubject");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -101,7 +100,7 @@ public class SubjectGWTServiceImpl extends AbstractGWTServiceImpl implements Sub
return SerialUtility.prepare(subjectManager
.updateSubject(getSessionSubject(), subjectToModify, newPassword), "SubjectManager.updateSubject");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -110,10 +109,10 @@ public class SubjectGWTServiceImpl extends AbstractGWTServiceImpl implements Sub
try {
Subject processedSubject = subjectManager.processSubjectForLdap(subjectToModify, password);
return SerialUtility.prepare(processedSubject, "SubjectManager.processSubjectForLdap");
- } catch (LoginException e) {
- throw new RuntimeException("LoginException: " + e.getMessage());
- } catch (RuntimeException e) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(e));
+ } catch (LoginException le) {
+ throw new RuntimeException("LoginException: " + le.getMessage());
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
}
}
@@ -122,7 +121,7 @@ public class SubjectGWTServiceImpl extends AbstractGWTServiceImpl implements Sub
return SerialUtility.prepare(subjectManager.findSubjectsByCriteria(getSessionSubject(), criteria),
"SubjectManager.findSubjectsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -130,16 +129,16 @@ public class SubjectGWTServiceImpl extends AbstractGWTServiceImpl implements Sub
try {
return subjectManager.isUserWithPrincipal(username);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
public Subject checkAuthentication(String username, String password) {
try {
- return SerialUtility.prepare(subjectManager.checkAuthentication(username, password),
+ return SerialUtility.prepare(subjectManager.checkAuthentication(username, password),
"SubjectManager.checkAuthentication");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SystemGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SystemGWTServiceImpl.java
index c2dae6e..bb94c66 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SystemGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SystemGWTServiceImpl.java
@@ -28,7 +28,6 @@ import java.util.Properties;
import org.rhq.core.domain.common.ProductInfo;
import org.rhq.core.domain.common.ServerDetails;
-import org.rhq.core.util.exception.ThrowableUtil;
import org.rhq.enterprise.gui.coregui.client.gwt.SystemGWTService;
import org.rhq.enterprise.server.core.AgentManagerLocal;
import org.rhq.enterprise.server.system.SystemManagerLocal;
@@ -53,7 +52,7 @@ public class SystemGWTServiceImpl extends AbstractGWTServiceImpl implements Syst
try {
return systemManager.getServerDetails(getSessionSubject()).getProductInfo();
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -62,7 +61,7 @@ public class SystemGWTServiceImpl extends AbstractGWTServiceImpl implements Syst
try {
return systemManager.getServerDetails(getSessionSubject());
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -72,7 +71,7 @@ public class SystemGWTServiceImpl extends AbstractGWTServiceImpl implements Syst
Properties props = systemManager.getSystemConfiguration(getSessionSubject());
return convertFromProperties(props);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -82,7 +81,7 @@ public class SystemGWTServiceImpl extends AbstractGWTServiceImpl implements Syst
Properties props = convertToProperties(map);
systemManager.setSystemConfiguration(getSessionSubject(), props, skipValidation);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -96,7 +95,7 @@ public class SystemGWTServiceImpl extends AbstractGWTServiceImpl implements Syst
return convertFromProperties(props);
} catch (Throwable t) {
- throw new RuntimeException("Agent download information not available. " + ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t, "Agent download information not available.");
}
}
@@ -115,7 +114,7 @@ public class SystemGWTServiceImpl extends AbstractGWTServiceImpl implements Syst
}
return map;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -146,7 +145,7 @@ public class SystemGWTServiceImpl extends AbstractGWTServiceImpl implements Syst
p.load(new FileInputStream(versionFile));
return convertFromProperties(p);
} catch (Throwable t) {
- throw new RuntimeException("Unable to retrieve client version info. " + ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t, "Unable to retrieve client version info.");
}
}
@@ -163,7 +162,7 @@ public class SystemGWTServiceImpl extends AbstractGWTServiceImpl implements Syst
ret.put(file.getName(), "/downloads/bundle-deployer/" + file.getName());
return ret;
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/TagGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/TagGWTServiceImpl.java
index 2f28bbf..38a298c0 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/TagGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/TagGWTServiceImpl.java
@@ -48,7 +48,7 @@ public class TagGWTServiceImpl extends AbstractGWTServiceImpl implements TagGWTS
return SerialUtility.prepare(tagManager.findTagsByCriteria(getSessionSubject(), tagCriteria),
"TagService.findTagsByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -56,7 +56,7 @@ public class TagGWTServiceImpl extends AbstractGWTServiceImpl implements TagGWTS
try {
return SerialUtility.prepare(tagManager.addTags(getSessionSubject(), tags), "TagService.addTags");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -64,7 +64,7 @@ public class TagGWTServiceImpl extends AbstractGWTServiceImpl implements TagGWTS
try {
tagManager.removeTags(getSessionSubject(), tags);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -72,7 +72,7 @@ public class TagGWTServiceImpl extends AbstractGWTServiceImpl implements TagGWTS
try {
tagManager.updateResourceTags(getSessionSubject(), resourceId, tags);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -80,7 +80,7 @@ public class TagGWTServiceImpl extends AbstractGWTServiceImpl implements TagGWTS
try {
tagManager.updateResourceGroupTags(getSessionSubject(), resourceGroupId, tags);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -88,7 +88,7 @@ public class TagGWTServiceImpl extends AbstractGWTServiceImpl implements TagGWTS
try {
tagManager.updateBundleTags(getSessionSubject(), bundleId, tags);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -96,7 +96,7 @@ public class TagGWTServiceImpl extends AbstractGWTServiceImpl implements TagGWTS
try {
tagManager.updateBundleVersionTags(getSessionSubject(), bundleVersionId, tags);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -104,7 +104,7 @@ public class TagGWTServiceImpl extends AbstractGWTServiceImpl implements TagGWTS
try {
tagManager.updateBundleDeploymentTags(getSessionSubject(), bundleDeploymentId, tags);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -112,7 +112,7 @@ public class TagGWTServiceImpl extends AbstractGWTServiceImpl implements TagGWTS
try {
tagManager.updateBundleDestinationTags(getSessionSubject(), bundleDestinationId, tags);
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
@@ -123,7 +123,7 @@ public class TagGWTServiceImpl extends AbstractGWTServiceImpl implements TagGWTS
tagManager.findTagReportCompositesByCriteria(getSessionSubject(), tagCriteria),
"TagService.findTagReportCompositesByCriteria");
} catch (Throwable t) {
- throw new RuntimeException(ThrowableUtil.getAllMessages(t));
+ throw getExceptionToThrowToClient(t);
}
}
}
13 years, 3 months
[rhq] 2 commits - modules/enterprise
by Jay Shaughnessy
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java | 11 ++++++++++
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/perspective/activator/context/ResourceActivationContext.java | 6 ++++-
2 files changed, 16 insertions(+), 1 deletion(-)
New commits:
commit 24f25116d56dc5d46ca9a4b733240e1dedf7f5f8
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Thu Mar 17 12:31:27 2011 -0400
Rendering of JSF monitor (avail) pages failed if the resource type had no
resource facets (for example, Embedded JBossWeb Server resources or, I think,
Bundle handler resources). Added handling for this.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/perspective/activator/context/ResourceActivationContext.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/perspective/activator/context/ResourceActivationContext.java
index de91285..7f13169 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/perspective/activator/context/ResourceActivationContext.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/perspective/activator/context/ResourceActivationContext.java
@@ -62,7 +62,11 @@ public class ResourceActivationContext extends AbstractResourceOrGroupActivation
if (this.facets == null) {
ResourceFacets resourceFacets = this.resourceTypeManager.getResourceFacets(resource.getResourceType()
.getId());
- this.facets = EnumSet.copyOf(resourceFacets.getFacets());
+ try {
+ this.facets = EnumSet.copyOf(resourceFacets.getFacets());
+ } catch (IllegalArgumentException e) {
+ this.facets = EnumSet.noneOf(ResourceTypeFacet.class);
+ }
}
return this.facets;
}
commit 39bddd7e8616e65a5d6b74035a1597203b69c327
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Thu Mar 17 12:29:11 2011 -0400
Switching tabs quickly in the resource detail view could result in a
lock up where the tabs endlessly "rotated". This results because the
content of tab1 finishes loading after the request for tab2. This fix
disables the tabset between the tab selection and the load completion, thus
(in theory) preventing tab2 from being fired until it's safe. It seems to be
working...
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java
index b722739..e303c50 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java
@@ -134,7 +134,14 @@ public abstract class AbstractTwoLevelTabSetView<T, U extends Layout> extends Lo
}
public void onTabSelected(TwoLevelTabSelectedEvent tabSelectedEvent) {
+
+ // We want to finish the tab selection process, which may involve async loading of content,
+ // before allowing more tab selection. This avoids potential tab "looping" that happens when a new
+ // tab is selected before the previous one could finish loading. So, disable the tab set here, and
+ // re-enable it later when the tab content is actuall rendered (see selectTab).
+
if (getSelectedItemId() == null) {
+ this.tabSet.disable();
CoreGUI.goToView(History.getToken());
} else {
String tabPath = "/" + tabSelectedEvent.getId() + "/" + tabSelectedEvent.getSubTabId();
@@ -144,6 +151,7 @@ public abstract class AbstractTwoLevelTabSetView<T, U extends Layout> extends Lo
// than going directly to the tab's URL. In this case, fire a history event to go to the tab and make it the
// current history item.
if (!(History.getToken().equals(path) || History.getToken().startsWith(path + "/"))) {
+ this.tabSet.disable();
CoreGUI.goToView(path);
}
}
@@ -228,8 +236,11 @@ public abstract class AbstractTwoLevelTabSetView<T, U extends Layout> extends Lo
((RefreshableView) subView).refresh();
}
+ // ensure the tabset is enabled (disabled in onTabSelected), and redraw
+ this.tabSet.enable();
this.tabSet.markForRedraw();
} catch (Exception e) {
+ this.tabSet.enable();
Log.info("Failed to select tab " + tabName + "/" + subtabName + ": " + e);
}
}
13 years, 3 months
[rhq] 3 commits - modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/GWTServiceLookup.java | 4 ++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryImportWizard.java | 4 +-
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/discovery/DiscoveryBossBean.java | 16 +++-------
3 files changed, 12 insertions(+), 12 deletions(-)
New commits:
commit 4629ee6ce064e487c2b1adab06ad7e2524f63d05
Merge: 88ab6d9 67f853a
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Mar 17 12:28:09 2011 -0400
Merge commit 'origin/master'
commit 88ab6d906ca33bfa8136b451c7c18f2e94ca713c
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Mar 17 12:05:32 2011 -0400
in the gui ui - we are losing the plugin exception message that tells us why the manual add failed
don't wrap an exception in an exception - just throw the original, the gwt service impl will handle scrubbing the exception so gwt ui can handle it
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/discovery/DiscoveryBossBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/discovery/DiscoveryBossBean.java
index b4d092d..84ae777 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/discovery/DiscoveryBossBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/discovery/DiscoveryBossBean.java
@@ -339,16 +339,12 @@ public class DiscoveryBossBean implements DiscoveryBossLocal, DiscoveryBossRemot
Resource result = null;
- try {
- ResourceType resourceType = this.resourceTypeManager.getResourceTypeById(subject, resourceTypeId);
- // the subsequent call to manuallyAddResource requires a detached ResourceType param so clear
- entityManager.clear();
- MergeResourceResponse response = manuallyAddResource(subject, resourceType, parentResourceId,
- pluginConfiguration);
- result = this.resourceManager.getResourceById(subject, response.getResourceId());
- } catch (Exception e) {
- throw new Exception(e.getMessage());
- }
+ ResourceType resourceType = this.resourceTypeManager.getResourceTypeById(subject, resourceTypeId);
+ // the subsequent call to manuallyAddResource requires a detached ResourceType param so clear
+ entityManager.clear();
+ MergeResourceResponse response = manuallyAddResource(subject, resourceType, parentResourceId,
+ pluginConfiguration);
+ result = this.resourceManager.getResourceById(subject, response.getResourceId());
return result;
}
commit 79d201ae9f77c9f48d4b121275d05d3be0c67720
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Mar 17 11:46:11 2011 -0400
manually adding a resource may take some time to complete, give 5m max
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/GWTServiceLookup.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/GWTServiceLookup.java
index 63014aa..fd9e3ed 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/GWTServiceLookup.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/GWTServiceLookup.java
@@ -66,6 +66,10 @@ public class GWTServiceLookup {
return secure(ResourceGWTServiceAsync.Util.getInstance());
}
+ public static ResourceGWTServiceAsync getResourceService(int timeout) {
+ return secure(ResourceGWTServiceAsync.Util.getInstance(), timeout);
+ }
+
public static ResourceGroupGWTServiceAsync getResourceGroupService() {
return secure(ResourceGroupGWTServiceAsync.Util.getInstance());
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryImportWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryImportWizard.java
index 2723440..8e45760 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryImportWizard.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryImportWizard.java
@@ -79,8 +79,8 @@ public class ResourceFactoryImportWizard extends AbstractResourceFactoryWizard {
int createTypeId = getChildType().getId();
Configuration newConfiguration = this.getNewResourceConfiguration();
- GWTServiceLookup.getResourceService().manuallyAddResource(createTypeId, parentResourceId, newConfiguration,
- new AsyncCallback<Resource>() {
+ GWTServiceLookup.getResourceService(300000).manuallyAddResource(createTypeId, parentResourceId,
+ newConfiguration, new AsyncCallback<Resource>() {
public void onFailure(Throwable caught) {
CoreGUI.getErrorHandler().handleError(MSG.widget_resourceFactoryWizard_importFailure(), caught);
getView().closeDialog();
13 years, 3 months