[rhq] modules/enterprise
by Heiko W. Rupp
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java | 4 ++++
1 file changed, 4 insertions(+)
New commits:
commit 2ca38db2901ff56a78dbcfda105916a2396e6fcf
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Dec 14 14:46:54 2010 +0100
One more null check.
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
index dbc586f..7eb7917 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
@@ -191,6 +191,10 @@ public class GenericServerPluginTest extends AbstractEJB3Test {
}
private void deleteAllTestPluginJars() {
+ if (this.pluginService==null) {
+ System.err.println("Plugin service was null !!");
+ return;
+ }
MasterServerPluginContainerConfiguration masterConfig = this.pluginService.masterConfig;
if (masterConfig==null)
return;
13 years, 6 months
[rhq] modules/enterprise
by Heiko W. Rupp
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
New commits:
commit a36f8d319b79c54e45ac5418c2c01097b73028eb
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Dec 14 14:19:30 2010 +0100
Null check.
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
index f3aa994..dbc586f 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
@@ -191,8 +191,10 @@ public class GenericServerPluginTest extends AbstractEJB3Test {
}
private void deleteAllTestPluginJars() {
- TestGenericServerPluginService pluginService1 = this.pluginService;
- MasterServerPluginContainerConfiguration masterConfig = pluginService1.masterConfig;
+ MasterServerPluginContainerConfiguration masterConfig = this.pluginService.masterConfig;
+ if (masterConfig==null)
+ return;
+
File pluginDirectory = masterConfig.getPluginDirectory();
File[] files = pluginDirectory.listFiles();
13 years, 6 months
[rhq] 2 commits - modules/enterprise
by Heiko W. Rupp
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java | 6 ++++--
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java | 7 ++++++-
2 files changed, 10 insertions(+), 3 deletions(-)
New commits:
commit b0a0ac4b888e814e3dfa3e7804b608b1a8714602
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Dec 14 13:42:43 2010 +0100
Be a little more verbose in case of error.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java
index 61f613e..456208c 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java
@@ -630,10 +630,12 @@ public final class LookupUtil {
@SuppressWarnings("unchecked")
private static <T> T lookupLocal(Class<? super T> type) {
+ String localJNDIName = "-not initialized-";
try {
- return (T) lookup(getLocalJNDIName(type));
+ localJNDIName = getLocalJNDIName(type);
+ return (T) lookup(localJNDIName);
} catch (NamingException e) {
- throw new RuntimeException("Failed to lookup local interface to EJB " + type, e);
+ throw new RuntimeException("Failed to lookup local interface to EJB " + type + ", localJNDI=[" + localJNDIName + "]", e);
}
}
commit 2fcd970852de9f5468df6bfd676a2ca456d6970d
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Dec 14 13:42:19 2010 +0100
Split to find offender.
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
index 73849b7..f3aa994 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
@@ -38,6 +38,7 @@ import org.rhq.core.domain.plugin.ServerPlugin;
import org.rhq.core.util.MessageDigestGenerator;
import org.rhq.core.util.stream.StreamUtil;
import org.rhq.enterprise.server.plugin.ServerPluginsLocal;
+import org.rhq.enterprise.server.plugin.pc.MasterServerPluginContainerConfiguration;
import org.rhq.enterprise.server.plugin.pc.ServerPluginType;
import org.rhq.enterprise.server.plugin.pc.generic.TestGenericServerPluginService.State;
import org.rhq.enterprise.server.plugin.pc.generic.TestGenericServerPluginService.TestGenericPluginManager;
@@ -190,7 +191,11 @@ public class GenericServerPluginTest extends AbstractEJB3Test {
}
private void deleteAllTestPluginJars() {
- File[] files = this.pluginService.masterConfig.getPluginDirectory().listFiles();
+ TestGenericServerPluginService pluginService1 = this.pluginService;
+ MasterServerPluginContainerConfiguration masterConfig = pluginService1.masterConfig;
+ File pluginDirectory = masterConfig.getPluginDirectory();
+
+ File[] files = pluginDirectory.listFiles();
if (files != null) {
for (File file : files) {
if (file.getName().endsWith(".jar")) {
13 years, 6 months
[rhq] 2 commits - modules/enterprise
by Heiko W. Rupp
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java | 42 -
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementDataManagerTest.java | 231 ++++++++++
2 files changed, 253 insertions(+), 20 deletions(-)
New commits:
commit d35402236a2c8e63abd5c110cf575b7ca1c84044
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Dec 14 12:41:38 2010 +0100
New test class around measurement handling. First case is bz 658491
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementDataManagerTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementDataManagerTest.java
new file mode 100644
index 0000000..53e21c9
--- /dev/null
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementDataManagerTest.java
@@ -0,0 +1,231 @@
+/*
+ * 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.server.measurement.test;
+
+import java.util.Date;
+import java.util.Random;
+
+import javax.persistence.EntityManager;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import org.rhq.core.domain.auth.Subject;
+import org.rhq.core.domain.measurement.DataType;
+import org.rhq.core.domain.measurement.DisplayType;
+import org.rhq.core.domain.measurement.MeasurementCategory;
+import org.rhq.core.domain.measurement.MeasurementDefinition;
+import org.rhq.core.domain.measurement.MeasurementReport;
+import org.rhq.core.domain.measurement.MeasurementSchedule;
+import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
+import org.rhq.core.domain.measurement.MeasurementUnits;
+import org.rhq.core.domain.measurement.calltime.CallTimeData;
+import org.rhq.core.domain.measurement.calltime.CallTimeDataComposite;
+import org.rhq.core.domain.resource.Agent;
+import org.rhq.core.domain.resource.Resource;
+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.enterprise.server.measurement.CallTimeDataManagerLocal;
+import org.rhq.enterprise.server.measurement.MeasurementDataManagerLocal;
+import org.rhq.enterprise.server.resource.ResourceManagerLocal;
+import org.rhq.enterprise.server.test.AbstractEJB3Test;
+import org.rhq.enterprise.server.util.LookupUtil;
+
+/**
+ * Test some measurement subsystem functionality
+ * @author Heiko W. Rupp
+ */
+
+public class MeasurementDataManagerTest extends AbstractEJB3Test {
+
+ private final Log log = LogFactory.getLog(MeasurementDataManagerTest.class);
+
+ private ResourceManagerLocal resourceManager;
+ private MeasurementDataManagerLocal measurementDataManager;
+ private CallTimeDataManagerLocal callTimeDataManager;
+
+ private Subject overlord;
+
+ private Resource resource1,resource2;
+ private ResourceType theResourceType;
+ private Agent theAgent;
+ private MeasurementDefinition theDefinition;
+
+ @BeforeMethod
+ public void beforeMethod() {
+ try {
+ prepareScheduler();
+
+ this.resourceManager = LookupUtil.getResourceManager();
+ this.measurementDataManager = LookupUtil.getMeasurementDataManager();
+ this.callTimeDataManager = LookupUtil.getCallTimeDataManager();
+ this.overlord = LookupUtil.getSubjectManager().getOverlord();
+ } catch (Throwable t) {
+ // Catch RuntimeExceptions and Errors and dump their stack trace, because Surefire will completely swallow them
+ // and throw a cryptic NPE (see http://jira.codehaus.org/browse/SUREFIRE-157)!
+ t.printStackTrace();
+ throw new RuntimeException(t);
+ }
+ }
+
+ @AfterMethod
+ public void afterMethod() throws Exception {
+ try {
+ EntityManager em = getEntityManager();
+ getTransactionManager().begin();
+
+ MeasurementSchedule schedule1 = resource1.getSchedules().iterator().next();
+ MeasurementSchedule schedule2 = resource2.getSchedules().iterator().next();
+ schedule1 = em.find(MeasurementSchedule.class,schedule1.getId());
+ schedule2 = em.find(MeasurementSchedule.class,schedule2.getId());
+ em.remove(schedule1);
+ em.remove(schedule2);
+ resource1 = em.find(Resource.class,resource1.getId());
+ resource2 = em.find(Resource.class,resource2.getId());
+ em.remove(resource1);
+ em.remove(resource2);
+ theDefinition = em.find(MeasurementDefinition.class,theDefinition.getId());
+ em.remove(theDefinition);
+ theResourceType = em.find(ResourceType.class,theResourceType.getId());
+ em.remove(theResourceType);
+ theAgent = em.find(Agent.class,theAgent.getId());
+ em.remove(theAgent);
+
+ getTransactionManager().commit();
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw e;
+ }
+
+ finally {
+ unprepareScheduler();
+ }
+ }
+
+
+ @Test
+ public void bz658491() throws Exception {
+ EntityManager em = beginTx();
+
+ try {
+ setupResources(em);
+ commitAndClose(em);
+
+ MeasurementSchedule schedule1 = resource1.getSchedules().iterator().next();
+ MeasurementSchedule schedule2 = resource2.getSchedules().iterator().next();
+ MeasurementScheduleRequest request1 = new MeasurementScheduleRequest(schedule1);
+ MeasurementScheduleRequest request2 = new MeasurementScheduleRequest(schedule2);
+
+ CallTimeData data1 = new CallTimeData(request1);
+ CallTimeData data2 = new CallTimeData(request2);
+
+ data1.addCallData("/foo", new Date(),100);
+ data2.addCallData("/bar", new Date(),200);
+
+ MeasurementReport report = new MeasurementReport();
+ report.addData(data1);
+ report.addData(data2);
+
+ measurementDataManager.mergeMeasurementReport(report);
+
+
+ PageList<CallTimeDataComposite> list1 = callTimeDataManager.findCallTimeDataForResource(overlord,schedule1.getId(),
+ 0,System.currentTimeMillis(),new PageControl());
+ PageList<CallTimeDataComposite> list2 = callTimeDataManager.findCallTimeDataForResource(overlord,schedule2.getId(),
+ 0,System.currentTimeMillis(),new PageControl());
+
+ assert list1 != null;
+ assert list2 != null;
+
+ assert list1.size() == 1 : "List 1 returned " + list1.size() + " entries, expected was 1";
+ assert list2.size() == 1 : "List 2 returned " + list2.size() + " entries, expected was 1";
+
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw e;
+ }
+
+ finally {
+ unprepareScheduler();
+ }
+ }
+
+
+ /**
+ * Just set up a resource where we can attach the availabilities to
+ *
+ * @param em The EntityManager to use
+ *
+ * @return A Resource ready to use
+ */
+ private void setupResources(EntityManager em) {
+ theAgent = new Agent("testagent", "localhost", 1234, "", "randomToken");
+ em.persist(theAgent);
+
+ theResourceType = new ResourceType("test-plat", "test-plugin", ResourceCategory.PLATFORM, null);
+ em.persist(theResourceType);
+
+ theDefinition = new MeasurementDefinition("CT-Def", MeasurementCategory.PERFORMANCE,
+ MeasurementUnits.MILLISECONDS, DataType.CALLTIME,true,60000, DisplayType.SUMMARY);
+ theDefinition.setResourceType(theResourceType);
+ em.persist(theDefinition);
+
+
+ resource1 = new Resource("test-platform-key1", "test-platform-name", theResourceType);
+ resource1.setUuid("" + new Random().nextInt());
+ resource1.setAgent(theAgent);
+ em.persist(resource1);
+ resource2 = new Resource("test-platform-key2", "test-platform-name", theResourceType);
+ resource2.setUuid("" + new Random().nextInt());
+ resource2.setAgent(theAgent);
+ em.persist(resource2);
+
+ MeasurementSchedule schedule1 = new MeasurementSchedule(theDefinition,resource1);
+ em.persist(schedule1);
+ theDefinition.addSchedule(schedule1);
+ resource1.addSchedule(schedule1);
+
+ MeasurementSchedule schedule2 = new MeasurementSchedule(theDefinition,resource2);
+ em.persist(schedule2);
+ theDefinition.addSchedule(schedule2);
+ resource2.addSchedule(schedule2);
+
+ em.flush();
+ }
+
+ private EntityManager beginTx() throws Exception {
+ getTransactionManager().begin();
+ EntityManager em = getEntityManager();
+ return em;
+ }
+
+ private void commitAndClose(EntityManager em) throws Exception {
+ getTransactionManager().commit();
+ em.close();
+ }
+
+
+}
commit b1bb8f858e37c8b6f6d9a99f3d1f7afb28927528
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Dec 14 12:40:55 2010 +0100
Catch a possible NPE
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
index e61fc0c..a5b5a38 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
@@ -403,21 +403,23 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
}
// one more thing, delete any autogroup backing groups
- List<ResourceGroup> backingGroups = attachedResource.getAutoGroupBackingGroups();
- if (null != backingGroups && !backingGroups.isEmpty()) {
- int size = backingGroups.size();
- int[] backingGroupIds = new int[size];
- for (int i = 0; (i < size); ++i) {
- backingGroupIds[i] = backingGroups.get(i).getId();
- }
- try {
- resourceGroupManager.deleteResourceGroups(user, backingGroupIds);
- } catch (Throwable t) {
- if (log.isDebugEnabled()) {
- log.error("Bulk delete error for autogroup backing group deletion for " + backingGroupIds, t);
- } else {
- log.error("Bulk delete error for autogroup backing group deletion for " + backingGroupIds + ": "
- + t.getMessage());
+ if (attachedResource!=null) {
+ List<ResourceGroup> backingGroups = attachedResource.getAutoGroupBackingGroups();
+ if (null != backingGroups && !backingGroups.isEmpty()) {
+ int size = backingGroups.size();
+ int[] backingGroupIds = new int[size];
+ for (int i = 0; (i < size); ++i) {
+ backingGroupIds[i] = backingGroups.get(i).getId();
+ }
+ try {
+ resourceGroupManager.deleteResourceGroups(user, backingGroupIds);
+ } catch (Throwable t) {
+ if (log.isDebugEnabled()) {
+ log.error("Bulk delete error for autogroup backing group deletion for " + backingGroupIds, t);
+ } else {
+ log.error("Bulk delete error for autogroup backing group deletion for " + backingGroupIds + ": "
+ + t.getMessage());
+ }
}
}
}
@@ -742,7 +744,7 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
resource.getId())));
}
- // fill out the tree, including only the direct ancestors and all viewable relations
+ // fill out the tree, including only the direct ancestors and all viewable relations
List<ResourceLineageComposite> result = new LinkedList<ResourceLineageComposite>();
for (ResourceLineageComposite ancestor : resourceLineage) {
@@ -750,14 +752,14 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
result.add(ancestor);
// if the ancestor is not locked, include relevant children. Also, always show viewable
- // siblings of the target resource.
+ // siblings of the target resource.
if (!ancestor.isLocked() || ancestor.getResource() == parent) {
// get children
Set<Resource> children = ancestor.getResource().getChildResources();
// remove any that are in the ancestry to avoid repeated handling
children.removeAll(rawResourceLineage);
- // only add the viewable children
+ // only add the viewable children
List<Resource> viewableChildren = new ArrayList<Resource>(children.size());
for (Resource child : children) {
boolean isCommitted = (child.getInventoryStatus() == InventoryStatus.COMMITTED);
@@ -788,7 +790,7 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
if (isCommitted && isViewable) {
// if not a direct ancestor add to the list (direct ancestors already added by default)
if (!rawResourceLineage.contains(grandChild)) {
- // ensure we have the parent in the entity
+ // ensure we have the parent in the entity
grandChild.getParentResource().getId();
ResourceLineageComposite composite = new ResourceLineageComposite(grandChild, false);
result.add(composite);
@@ -1827,7 +1829,7 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
if (resourceError.getErrorType() == ResourceErrorType.INVALID_PLUGIN_CONFIGURATION
|| resourceError.getErrorType() == ResourceErrorType.AVAILABILITY_CHECK
|| resourceError.getErrorType() == ResourceErrorType.UPGRADE) {
- // there should be at most one invalid plugin configuration error, availability check
+ // there should be at most one invalid plugin configuration error, availability check
// or upgrade error per resource, so delete any currently existing ones before we add this new one
List<ResourceError> doomedErrors = resource.getResourceErrors(resourceError.getErrorType());
13 years, 6 months
[rhq] modules/enterprise
by Heiko W. Rupp
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit d353fefd3135e16e5d2e8444986f25b52f0645de
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Dec 14 11:18:48 2010 +0100
Fix an issue that prevented building the UI for German locale.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
index de58cee..e78f5be 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
@@ -1624,7 +1624,7 @@ datasource_templateSchedules_enabled_detailed=Sammeln der Daten für Metrik [{0}
datasource_templateSchedules_enabled_failed=Konnte das Sammeln der Daten für die Metrik [{0}] [{1}] als Standard für Ressourcen mit Type-ID [{2}] nicht beginnen.
datasource_templateSchedules_updated=Zeitpläne für die ausgewählte Metrik [{0}] aktualisiert.
datasource_templateSchedules_updated_detail=Zeitplan für das Sammeln von Daten für Metrik [{0}] [{1}] als Standard für Ressourcen mit Typ-ID [{2}] auf [{3}] Sekunden gesetzt.
-datasource_templateSchedules_updated_failed=Aktualisieren des Zeitplans für das Sammeln von Daten für Metrik [{0}] [{1}] als Standard für Ressourcen mit Typ-ID [{2}] ist fehlgeschlagen.
+datasource_templateSchedules_updated_failed=Aktualisieren des Zeitplans auf [{0}] Sekunden für das Sammeln von Daten für Metrik [{1}] [{2}] als Standard für Ressourcen mit Typ-ID [{3}] ist fehlgeschlagen.
view_table_drawFail=Konnte die Tabelle [{0}] nicht zeichnen.
view_dashboardManager_deleteFail=Konnte das Dashboard nicht löschen.
view_tree_common_loadFailed_group=Konnte die Gruppe mit ID [{0}] nicht laden
13 years, 6 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java | 11 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/OverviewView.java | 57 ----------
2 files changed, 1 insertion(+), 67 deletions(-)
New commits:
commit 32f014cc679547fb39547165beb08d48196dc369
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Mon Dec 13 23:42:18 2010 -0500
remove resource overview page - its obsolete. "activity" subtab is now the one we are using
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
index f2bd570..50e994f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
@@ -61,7 +61,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitorin
import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring.traits.TraitsView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.operation.OperationHistoryView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.summary.ActivityView;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.summary.OverviewView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
@@ -87,7 +86,6 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
private TwoLevelTab eventsTab;
private TwoLevelTab contentTab;
- private SubTab summaryOverview;
private SubTab summaryActivity;
private SubTab summaryTimeline;
private SubTab monitorGraphs;
@@ -124,13 +122,11 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
summaryTab = new TwoLevelTab(getTabSet().extendLocatorId("Summary"), new ViewName("Summary", MSG
.view_tabs_common_summary()), ImageManager.getResourceIcon(ResourceCategory.SERVICE, Boolean.TRUE));
- summaryOverview = new SubTab(summaryTab.extendLocatorId("Overview"), new ViewName("Overview", MSG
- .view_tabs_common_overview()), null);
summaryActivity = new SubTab(summaryTab.extendLocatorId("Activity"), new ViewName("Activity", MSG
.view_tabs_common_activity()), null);
summaryTimeline = new SubTab(summaryTab.extendLocatorId("Timeline"), new ViewName("Timeline", MSG
.view_tabs_common_timeline()), null);
- summaryTab.registerSubTabs(summaryOverview, summaryActivity, summaryTimeline);
+ summaryTab.registerSubTabs(summaryActivity, summaryTimeline);
tabs.add(summaryTab);
inventoryTab = new TwoLevelTab(getTabSet().extendLocatorId("Inventory"), new ViewName("Inventory", MSG
@@ -145,8 +141,6 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
"ConnectionSettingsHistory", MSG.view_tabs_common_connectionSettingsHistory()), null);
inventoryGroups = new SubTab(inventoryTab.extendLocatorId("Groups"), new ViewName("Groups", MSG
.view_tabs_common_groups()), null);
- //inventoryGroupMembership = new SubTab(inventoryTab.extendLocatorId("GroupMembership"), new ViewName(
- // "GroupMembership", MSG.view_tabs_common_group_membership()), null);
inventoryAgent = new SubTab(inventoryTab.extendLocatorId("Agent"), new ViewName("Agent", MSG
.view_tabs_common_agent()), null);
inventoryTab.registerSubTabs(this.inventoryChildren, this.inventoryChildHistory, this.inventoryConn,
@@ -251,9 +245,6 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
}
private void updateSummaryTabContent(Resource resource) {
- updateSubTab(this.summaryTab, this.summaryOverview, new OverviewView(this.summaryTab
- .extendLocatorId("OverviewView"), this.resourceComposite), true, true);
-
updateSubTab(this.summaryTab, this.summaryActivity, new ActivityView(this.summaryActivity
.extendLocatorId("View"), this.resourceComposite), true, true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/OverviewView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/OverviewView.java
deleted file mode 100644
index d7b787b..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/OverviewView.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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.inventory.resource.detail.summary;
-
-import com.smartgwt.client.widgets.HTMLFlow;
-
-import org.rhq.core.domain.resource.composite.ResourceComposite;
-import org.rhq.enterprise.gui.coregui.client.RefreshableView;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
-
-/**
- * The Resource Summary>Overview tab.
- *
- * @author Lukas Krejci
- *
- * @deprecated This can be removed, since we now display the overview info in the collapsible pane above
- * the Resource tabs (ips, 12/10/10).
- */
-@Deprecated
-public class OverviewView extends LocatableVLayout implements RefreshableView {
-
- private OverviewForm form;
-
- public OverviewView(String locatorId, ResourceComposite resourceComposite) {
- super(locatorId);
- this.form = new OverviewForm(extendLocatorId("form"), resourceComposite);
- HTMLFlow separator = new HTMLFlow();
- separator.setContents("<hr>");
-
- form.setHeight("200");
- setLeft("10%");
-
- addMember(form);
- }
-
- @Override
- public void refresh() {
- form.loadData();
- }
-
-}
13 years, 6 months
[rhq] etc/m2
by Joseph Marques
etc/m2/settings.xml | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
New commits:
commit 084cdb16d42a49864392ecd9b5546950bf6677b7
Author: Joseph Marques <joseph(a)redhat.com>
Date: Mon Dec 13 16:53:21 2010 -0500
update sample settings.xml file to provide rhq.test.* and rhq.dev.* properties for each database
diff --git a/etc/m2/settings.xml b/etc/m2/settings.xml
index fc7d47f..8c0dada 100644
--- a/etc/m2/settings.xml
+++ b/etc/m2/settings.xml
@@ -105,6 +105,21 @@
<rhq.test.quartz.driverDelegateClass>org.quartz.impl.jdbcjobstore.PostgreSQLDelegate</rhq.test.quartz.driverDelegateClass>
<rhq.test.quartz.selectWithLockSQL>SELECT * FROM {0}LOCKS ROWLOCK WHERE LOCK_NAME = ? FOR UPDATE</rhq.test.quartz.selectWithLockSQL>
<rhq.test.quartz.lockHandlerClass>org.quartz.impl.jdbcjobstore.StdRowLockSemaphore</rhq.test.quartz.lockHandlerClass>
+
+ <rhq.dev.ds.connection-url>jdbc:postgresql://127.0.0.1:5432/rhq</rhq.dev.ds.connection-url>
+ <rhq.dev.ds.user-name>rhqadmin</rhq.dev.ds.user-name>
+ <rhq.dev.ds.password>rhqadmin</rhq.dev.ds.password>
+ <rhq.dev.ds.type-mapping>PostgreSQL</rhq.dev.ds.type-mapping>
+ <rhq.dev.ds.driver-class>org.postgresql.Driver</rhq.dev.ds.driver-class>
+ <rhq.dev.ds.xa-datasource-class>org.postgresql.xa.PGXADataSource</rhq.dev.ds.xa-datasource-class>
+ <rhq.dev.ds.server-name>127.0.0.1</rhq.dev.ds.server-name>
+ <rhq.dev.ds.port>5432</rhq.dev.ds.port>
+ <rhq.dev.ds.db-name>rhq</rhq.dev.ds.db-name>
+ <rhq.dev.ds.hibernate-dialect>org.hibernate.dialect.PostgreSQLDialect</rhq.dev.ds.hibernate-dialect>
+ <!-- quartz properties -->
+ <rhq.dev.quartz.driverDelegateClass>org.quartz.impl.jdbcjobstore.PostgreSQLDelegate</rhq.dev.quartz.driverDelegateClass>
+ <rhq.dev.quartz.selectWithLockSQL>SELECT * FROM {0}LOCKS ROWLOCK WHERE LOCK_NAME = ? FOR UPDATE</rhq.dev.quartz.selectWithLockSQL>
+ <rhq.dev.quartz.lockHandlerClass>org.quartz.impl.jdbcjobstore.StdRowLockSemaphore</rhq.dev.quartz.lockHandlerClass>
</properties>
</profile>
@@ -126,6 +141,22 @@
<rhq.test.quartz.driverDelegateClass>org.quartz.impl.jdbcjobstore.StdJDBCDelegate</rhq.test.quartz.driverDelegateClass>
<rhq.test.quartz.selectWithLockSQL>SELECT * FROM {0}LOCKS ROWLOCK WHERE LOCK_NAME = ? FOR UPDATE</rhq.test.quartz.selectWithLockSQL>
<rhq.test.quartz.lockHandlerClass>org.quartz.impl.jdbcjobstore.StdRowLockSemaphore</rhq.test.quartz.lockHandlerClass>
+
+ <rhq.dev.ds.driver-class>org.h2.Driver</rhq.dev.ds.driver-class>
+ <rhq.dev.ds.connection-url>jdbc:h2:~/rhq;MVCC=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOG=2</rhq.dev.ds.connection-url>
+ <rhq.dev.ds.user-name>rhqadmin</rhq.dev.ds.user-name>
+ <rhq.dev.ds.password>rhqadmin</rhq.dev.ds.password>
+ <rhq.dev.ds.type-mapping>h2</rhq.dev.ds.type-mapping>
+ <rhq.dev.ds.xa-datasource-class>org.h2.jdbcx.JdbcDataSource</rhq.dev.ds.xa-datasource-class>
+ <rhq.dev.ds.server-name>127.0.0.1</rhq.dev.ds.server-name>
+ <rhq.dev.ds.port>9092</rhq.dev.ds.port>
+ <rhq.dev.ds.db-name>rhq</rhq.dev.ds.db-name>
+ <!-- This custom dialect is required for proper operation using H2, see class JavaDoc for more info -->
+ <rhq.dev.ds.hibernate-dialect>org.rhq.core.server.H2CustomDialect</rhq.dev.ds.hibernate-dialect>
+ <!-- quartz properties -->
+ <rhq.dev.quartz.driverDelegateClass>org.quartz.impl.jdbcjobstore.StdJDBCDelegate</rhq.dev.quartz.driverDelegateClass>
+ <rhq.dev.quartz.selectWithLockSQL>SELECT * FROM {0}LOCKS ROWLOCK WHERE LOCK_NAME = ? FOR UPDATE</rhq.dev.quartz.selectWithLockSQL>
+ <rhq.dev.quartz.lockHandlerClass>org.quartz.impl.jdbcjobstore.StdRowLockSemaphore</rhq.dev.quartz.lockHandlerClass>
</properties>
</profile>
@@ -146,6 +177,21 @@
<rhq.test.quartz.driverDelegateClass>org.quartz.impl.jdbcjobstore.MSSQLDelegate</rhq.test.quartz.driverDelegateClass>
<rhq.test.quartz.selectWithLockSQL>UPDATE {0}LOCKS SET LOCK_NAME = LOCK_NAME WHERE LOCK_NAME = ?</rhq.test.quartz.selectWithLockSQL>
<rhq.test.quartz.lockHandlerClass>org.quartz.impl.jdbcjobstore.UpdateLockRowSemaphore</rhq.test.quartz.lockHandlerClass>
+
+ <rhq.dev.ds.driver-class>net.sourceforge.jtds.jdbc.Driver</rhq.dev.ds.driver-class>
+ <rhq.dev.ds.connection-url>jdbc:jtds:sqlserver://localhost:1433;databaseName=rhq</rhq.dev.ds.connection-url>
+ <rhq.dev.ds.user-name>rhqadmin</rhq.dev.ds.user-name>
+ <rhq.dev.ds.password>rhqadmin</rhq.dev.ds.password>
+ <rhq.dev.ds.type-mapping>sqlserver</rhq.dev.ds.type-mapping>
+ <rhq.dev.ds.xa-datasource-class>net.sourceforge.jtds.jdbcx.JtdsDataSource</rhq.dev.ds.xa-datasource-class>
+ <rhq.dev.ds.server-name>localhost</rhq.dev.ds.server-name>
+ <rhq.dev.ds.port>1433</rhq.dev.ds.port>
+ <rhq.dev.ds.db-name>rhq</rhq.dev.ds.db-name>
+ <rhq.dev.ds.hibernate-dialect>org.hibernate.dialect.SQLServerDialect</rhq.dev.ds.hibernate-dialect>
+ <!-- quartz properties -->
+ <rhq.dev.quartz.driverDelegateClass>org.quartz.impl.jdbcjobstore.MSSQLDelegate</rhq.dev.quartz.driverDelegateClass>
+ <rhq.dev.quartz.selectWithLockSQL>UPDATE {0}LOCKS SET LOCK_NAME = LOCK_NAME WHERE LOCK_NAME = ?</rhq.dev.quartz.selectWithLockSQL>
+ <rhq.dev.quartz.lockHandlerClass>org.quartz.impl.jdbcjobstore.UpdateLockRowSemaphore</rhq.dev.quartz.lockHandlerClass>
</properties>
</profile>
@@ -166,6 +212,21 @@
<rhq.test.quartz.driverDelegateClass>org.quartz.impl.jdbcjobstore.oracle.OracleDelegate</rhq.test.quartz.driverDelegateClass>
<rhq.test.quartz.selectWithLockSQL>SELECT * FROM {0}LOCKS ROWLOCK WHERE LOCK_NAME = ? FOR UPDATE</rhq.test.quartz.selectWithLockSQL>
<rhq.test.quartz.lockHandlerClass>org.quartz.impl.jdbcjobstore.StdRowLockSemaphore</rhq.test.quartz.lockHandlerClass>
+
+ <rhq.dev.ds.connection-url>jdbc:oracle:thin:@127.0.0.1:1521:xe</rhq.dev.ds.connection-url>
+ <rhq.dev.ds.user-name>rhqadmin</rhq.dev.ds.user-name>
+ <rhq.dev.ds.password>rhqadmin</rhq.dev.ds.password>
+ <rhq.dev.ds.type-mapping>Oracle10g</rhq.dev.ds.type-mapping>
+ <rhq.dev.ds.driver-class>oracle.jdbc.driver.OracleDriver</rhq.dev.ds.driver-class>
+ <rhq.dev.ds.xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</rhq.dev.ds.xa-datasource-class>
+ <rhq.dev.ds.server-name></rhq.dev.ds.server-name> <!-- can be left blank, oracle does not use this -->
+ <rhq.dev.ds.port></rhq.dev.ds.port> <!-- can be left blank, oracle does not use this -->
+ <rhq.dev.ds.db-name></rhq.dev.ds.db-name> <!-- can be left blank, oracle does not use this -->
+ <rhq.dev.ds.hibernate-dialect>org.hibernate.dialect.Oracle10gDialect</rhq.dev.ds.hibernate-dialect>
+ <!-- quartz properties -->
+ <rhq.dev.quartz.driverDelegateClass>org.quartz.impl.jdbcjobstore.oracle.OracleDelegate</rhq.dev.quartz.driverDelegateClass>
+ <rhq.dev.quartz.selectWithLockSQL>SELECT * FROM {0}LOCKS ROWLOCK WHERE LOCK_NAME = ? FOR UPDATE</rhq.dev.quartz.selectWithLockSQL>
+ <rhq.dev.quartz.lockHandlerClass>org.quartz.impl.jdbcjobstore.StdRowLockSemaphore</rhq.dev.quartz.lockHandlerClass>
</properties>
</profile>
13 years, 6 months
[rhq] modules/enterprise
by ips
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/BookmarkableView.java | 4 ++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/RefreshableView.java | 1 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java | 5 ++++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/AbstractSectionedLeftNavigationView.java | 8 ++++++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java | 4 +---
5 files changed, 16 insertions(+), 6 deletions(-)
New commits:
commit 917151ed255b6a96ddc12dd39cc5b8e0f53586bb
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Mon Dec 13 19:46:02 2010 -0500
3rd and hopefully final take of fix for https://bugzilla.redhat.com/show_bug.cgi?id=661528
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/BookmarkableView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/BookmarkableView.java
index 73eeceb..eccb940 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/BookmarkableView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/BookmarkableView.java
@@ -55,6 +55,10 @@ package org.rhq.enterprise.gui.coregui.client;
* }
* </code>
*
+ * <b>NOTE:</b> If the view implementing BookmarkableView also implements {@link RefreshableView}, the
+ * {@link #renderView} implementation is responsible for invoking {@link RefreshableView#refresh()} to ensure the
+ * view's data is fresh.
+ *
* @author Ian Springer
*/
public interface BookmarkableView {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/RefreshableView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/RefreshableView.java
index 162e950..6f078e0 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/RefreshableView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/RefreshableView.java
@@ -29,4 +29,5 @@ public interface RefreshableView {
* Refresh this view, i.e. reload its data from the Server.
*/
void refresh();
+
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java
index 7a4c292..0b2d1e6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java
@@ -22,6 +22,7 @@
*/
package org.rhq.enterprise.gui.coregui.client.components.table;
+import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.user.client.History;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.data.SortSpecifier;
@@ -315,7 +316,9 @@ public abstract class TableSection<DS extends RPCDataSource> extends Table<DS> i
protected void switchToTableView() {
final Canvas contents = getTableContents();
if (contents != null) {
-
+ // First refresh the table's data.
+ Log.debug("Refreshing data for [" + getClass().getName() + "]...");
+ refresh();
if (detailsHolder != null && detailsHolder.isVisible()) {
detailsHolder.animateHide(AnimationEffect.WIPE, new AnimationCallback() {
@Override
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/AbstractSectionedLeftNavigationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/AbstractSectionedLeftNavigationView.java
index 5bab96c..0951e8d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/AbstractSectionedLeftNavigationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/AbstractSectionedLeftNavigationView.java
@@ -23,6 +23,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import com.allen_sauer.gwt.log.client.Log;
import com.smartgwt.client.types.VisibilityMode;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.grid.events.CellClickEvent;
@@ -54,6 +55,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTreeGrid;
*/
public abstract class AbstractSectionedLeftNavigationView extends LocatableHLayout implements BookmarkableView,
InitializableView {
+
private String viewId;
private boolean initialized;
private ViewId currentSectionViewId;
@@ -222,8 +224,9 @@ public abstract class AbstractSectionedLeftNavigationView extends LocatableHLayo
} else {
if (this.currentContent instanceof BookmarkableView) {
((BookmarkableView) this.currentContent).renderView(viewPath.next().next());
- }
- if (this.currentContent instanceof RefreshableView) {
+ } else if (this.currentContent instanceof RefreshableView && this.currentContent.isDrawn()) {
+ // Refresh the data on the content pane, so it's not stale.
+ Log.debug("Refreshing data for [" + this.currentContent.getClass().getName() + "]...");
((RefreshableView) this.currentContent).refresh();
}
}
@@ -245,4 +248,5 @@ public abstract class AbstractSectionedLeftNavigationView extends LocatableHLayo
}
}
}
+
}
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 a4f76c8..d36e17c 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
@@ -240,9 +240,7 @@ public abstract class AbstractTwoLevelTabSetView<T, U extends Layout> extends Lo
if (subView instanceof BookmarkableView) {
// Handle any remaining view items (e.g. id of a selected item in a subtab that contains a Master-Details view).
((BookmarkableView) subView).renderView(viewPath);
- }
-
- if (subView instanceof RefreshableView && viewPath.isEnd() && subView.isDrawn()) {
+ } else if (subView instanceof RefreshableView && subView.isDrawn()) {
// Refresh the data on the subtab, so it's not stale.
Log.debug("Refreshing data for [" + subView.getClass().getName() + "]...");
((RefreshableView) subView).refresh();
13 years, 6 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java | 2 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/GWTServiceLookup.java | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
New commits:
commit 10366d80d5bb45b47012e939f180c9b2ba511b3f
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Mon Dec 13 18:20:24 2010 -0500
remotely installing agents takes a long time, up the gwt timeout
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java
index 17769a7..3241cd5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java
@@ -63,7 +63,7 @@ public class RemoteAgentInstallView extends LocatableVLayout {
public static final ViewName VIEW_ID = new ViewName("RemoteAgentInstall", MSG
.view_adminTopology_remoteAgentInstall());
- private RemoteInstallGWTServiceAsync remoteInstallService = GWTServiceLookup.getRemoteInstallService();
+ private RemoteInstallGWTServiceAsync remoteInstallService = GWTServiceLookup.getRemoteInstallService(600000);
private DynamicForm connectionForm;
private DynamicForm buttonsForm;
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 d5cb3c0..5ec9af2 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
@@ -113,8 +113,8 @@ public class GWTServiceLookup {
return secure(TagGWTServiceAsync.Util.getInstance());
}
- public static RemoteInstallGWTServiceAsync getRemoteInstallService() {
- return secure(RemoteInstallGWTServiceAsync.Util.getInstance());
+ public static RemoteInstallGWTServiceAsync getRemoteInstallService(int timeout) {
+ return secure(RemoteInstallGWTServiceAsync.Util.getInstance(), timeout);
}
public static RepoGWTServiceAsync getRepoService() {
13 years, 6 months
[rhq] modules/enterprise
by Jay Shaughnessy
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupContextMenu.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/NewResourceTreeView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java | 258 +++++-----
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 1
5 files changed, 153 insertions(+), 118 deletions(-)
New commits:
commit c1d60232ce99c61922b24fa488217ef4b8a010e7
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Dec 13 17:43:21 2010 -0500
ResourceTree Context menu work
- Instead of pop up dialogs for configuration view/edit, navigate to the
resource's config view and keep the interaction consistent.
- Protect the context menu options with user resource permission checking
- Don't select the right-clicked tree node because a right click does not
force navigation to the right-clicked resource.
- Use same "Connection Settings" title in context menu as found in
Inventory subtab. Removed obsolete property.
- Added a linkmanager call to get to a specific subtab (gwt only)
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java
index a1284ba..6528e76 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java
@@ -40,6 +40,14 @@ public class LinkManager {
}
}
+ public static String getResourceTabLink(int resourceId, String tabName, String subTabName) {
+ if (GWT) {
+ return "#Resource/" + resourceId + "/" + tabName + ((null == subTabName) ? "" : ("/" + subTabName));
+ } else {
+ return "/rhq/resource/summary/overview.xhtml?id=" + resourceId;
+ }
+ }
+
public static String getResourceGroupLink(int groupId) {
if (GWT) {
return "#ResourceGroup/" + groupId;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupContextMenu.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupContextMenu.java
index 7d68c72..972ba73 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupContextMenu.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupContextMenu.java
@@ -92,7 +92,7 @@ public class ResourceGroupContextMenu extends LocatableMenu {
addItem(new MenuItem("Type: " + resourceType.getName()));
- MenuItem editPluginConfiguration = new MenuItem(MSG.view_tree_common_contextMenu_pluginConfiguration());
+ MenuItem editPluginConfiguration = new MenuItem(MSG.view_tabs_common_connectionSettings());
editPluginConfiguration.addClickHandler(new ClickHandler() {
public void onClick(MenuItemClickEvent event) {
int groupId = group.getId();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/NewResourceTreeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/NewResourceTreeView.java
index 4f899b9..93803a5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/NewResourceTreeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/NewResourceTreeView.java
@@ -191,7 +191,7 @@ public class NewResourceTreeView extends LocatableVLayout {
contextMenu.addItem(new MenuItem(MSG.view_tree_common_contextMenu_type_name_label(resourceType.getName())));
- MenuItem editPluginConfiguration = new MenuItem(MSG.view_tree_common_contextMenu_pluginConfiguration());
+ MenuItem editPluginConfiguration = new MenuItem(MSG.view_tabs_common_connectionSettings());
editPluginConfiguration.addClickHandler(new ClickHandler() {
public void onClick(MenuItemClickEvent event) {
int resourceId = resource.getId();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
index 92193a3..ffcfce4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
@@ -35,9 +35,6 @@ import com.smartgwt.client.data.DSCallback;
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.DSResponse;
import com.smartgwt.client.types.SelectionStyle;
-import com.smartgwt.client.widgets.Window;
-import com.smartgwt.client.widgets.events.CloseClickHandler;
-import com.smartgwt.client.widgets.events.CloseClientEvent;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.grid.events.SelectionChangedHandler;
import com.smartgwt.client.widgets.grid.events.SelectionEvent;
@@ -64,20 +61,23 @@ import org.rhq.core.domain.operation.OperationDefinition;
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.resource.ResourceCategory;
import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.resource.composite.ResourceLineageComposite;
+import org.rhq.core.domain.resource.composite.ResourcePermission;
import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.Breadcrumb;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
+import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.ViewId;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
-import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.inventory.resource.graph.GraphPortlet;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGroupGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceTypeGWTServiceAsync;
+import org.rhq.enterprise.gui.coregui.client.inventory.InventoryView;
import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.ResourceGroupContextMenu;
import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.ResourceGroupDetailView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSelectListener;
@@ -197,9 +197,15 @@ public class ResourceTreeView extends LocatableVLayout {
treeGrid.addNodeContextClickHandler(new NodeContextClickHandler() {
public void onNodeContextClick(final NodeContextClickEvent event) {
- event.getNode();
+ // stop the browser right-click menu
event.cancel();
+ // don't select the node on a right click, since we're not navigating to it
+ treeGrid.deselectRecord(event.getNode());
+ if (null != selectedNodeId) {
+ treeGrid.selectRecord(treeGrid.getTree().findById(selectedNodeId));
+ }
+
if (event.getNode() instanceof AutoGroupTreeNode) {
showContextMenu((AutoGroupTreeNode) event.getNode());
} else if (event.getNode() instanceof ResourceTreeNode) {
@@ -354,161 +360,183 @@ public class ResourceTreeView extends LocatableVLayout {
}
private void showContextMenu(final ResourceTreeNode node) {
- ResourceType type = node.getResource().getResourceType();
- ResourceTypeRepository.Cache.getInstance().getResourceTypes(
- type.getId(),
- EnumSet.of(ResourceTypeRepository.MetadataType.operations, ResourceTypeRepository.MetadataType.children,
- ResourceTypeRepository.MetadataType.subCategory,
- ResourceTypeRepository.MetadataType.pluginConfigurationDefinition,
- ResourceTypeRepository.MetadataType.resourceConfigurationDefinition),
- new ResourceTypeRepository.TypeLoadedCallback() {
- public void onTypesLoaded(ResourceType type) {
- buildResourceContextMenu(node.getResource(), type);
- resourceContextMenu.showContextMenu();
+ final Resource resource = node.getResource();
+ final int resourceId = resource.getId();
+
+ // fetch the resource composite, we need resource permission info for enablement decisions
+ ResourceCriteria criteria = new ResourceCriteria();
+ criteria.addFilterId(resourceId);
+ GWTServiceLookup.getResourceService().findResourceCompositesByCriteria(criteria,
+ new AsyncCallback<PageList<ResourceComposite>>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_inventory_resource_loadFailed(String.valueOf(resourceId)),
+ Message.Severity.Warning));
+
+ CoreGUI.goToView(InventoryView.VIEW_ID.getName());
+ }
+
+ public void onSuccess(PageList<ResourceComposite> result) {
+ if (result.isEmpty()) {
+ onFailure(new Exception(MSG.view_inventory_resource_loadFailed(String.valueOf(resourceId))));
+ } else {
+ final ResourceComposite resourceComposite = result.get(0);
+
+ // make sure we have all the Type information necessary to render the menus
+ ResourceType type = resource.getResourceType();
+ ResourceTypeRepository.Cache.getInstance().getResourceTypes(
+ type.getId(),
+ EnumSet.of(ResourceTypeRepository.MetadataType.operations,
+ ResourceTypeRepository.MetadataType.children,
+ ResourceTypeRepository.MetadataType.subCategory,
+ ResourceTypeRepository.MetadataType.pluginConfigurationDefinition,
+ ResourceTypeRepository.MetadataType.resourceConfigurationDefinition,
+ ResourceTypeRepository.MetadataType.measurements),
+ new ResourceTypeRepository.TypeLoadedCallback() {
+ public void onTypesLoaded(ResourceType type) {
+ buildResourceContextMenu(resourceComposite, type);
+ resourceContextMenu.showContextMenu();
+ }
+ });
+ }
}
});
}
- private void buildResourceContextMenu(final Resource resource, final ResourceType resourceType) {
+ private void buildResourceContextMenu(final ResourceComposite resourceComposite, final ResourceType resourceType) {
+ final Resource resource = resourceComposite.getResource();
+ final ResourcePermission resourcePermission = resourceComposite.getResourcePermission();
+
+ // resource name
resourceContextMenu.setItems(new MenuItem(resource.getName()));
+ // resource type name
resourceContextMenu.addItem(new MenuItem(MSG.view_tree_common_contextMenu_type_name_label(resourceType
.getName())));
- MenuItem editPluginConfiguration = new MenuItem(MSG.view_tree_common_contextMenu_pluginConfiguration());
+ // separator
+ resourceContextMenu.addItem(new MenuItemSeparator());
+
+ // plugin config
+ MenuItem editPluginConfiguration = new MenuItem(MSG.view_tabs_common_connectionSettings());
editPluginConfiguration.addClickHandler(new ClickHandler() {
public void onClick(MenuItemClickEvent event) {
- int resourceId = resource.getId();
- int resourceTypeId = resourceType.getId();
-
- Window configEditor = new Window();
- configEditor.setTitle(MSG.view_tree_common_contextMenu_editPluginConfiguration(resource.getName()));
- configEditor.setWidth(800);
- configEditor.setHeight(800);
- configEditor.setIsModal(true);
- configEditor.setShowModalMask(true);
- configEditor.setCanDragResize(true);
- configEditor.centerInPage();
- configEditor.addItem(new ConfigurationEditor("PluginConfig-" + resource.getName(), resourceId,
- resourceTypeId, ConfigurationEditor.ConfigType.plugin));
- configEditor.show();
-
+ CoreGUI.goToView(LinkManager.getResourceTabLink(resource.getId(), "Inventory", "ConnectionSettings"));
}
});
editPluginConfiguration.setEnabled(resourceType.getPluginConfigurationDefinition() != null);
resourceContextMenu.addItem(editPluginConfiguration);
+ // resource config
MenuItem editResourceConfiguration = new MenuItem(MSG.view_tree_common_contextMenu_resourceConfiguration());
- editResourceConfiguration.addClickHandler(new ClickHandler() {
- public void onClick(MenuItemClickEvent event) {
- int resourceId = resource.getId();
- int resourceTypeId = resourceType.getId();
-
- final Window configEditor = new Window();
- configEditor.setTitle(MSG.view_tree_common_contextMenu_editResourceConfiguration(resource.getName()));
- configEditor.setWidth(800);
- configEditor.setHeight(800);
- configEditor.setIsModal(true);
- configEditor.setShowModalMask(true);
- configEditor.setCanDragResize(true);
- configEditor.setShowResizer(true);
- configEditor.centerInPage();
- configEditor.addCloseClickHandler(new CloseClickHandler() {
- public void onCloseClick(CloseClientEvent closeClientEvent) {
- configEditor.destroy();
- }
- });
- configEditor.addItem(new ConfigurationEditor("ResourceConfig-" + resource.getName(), resourceId,
- resourceTypeId, ConfigurationEditor.ConfigType.resource));
- configEditor.show();
-
- }
- });
- editResourceConfiguration.setEnabled(resourceType.getResourceConfigurationDefinition() != null);
+ boolean enabled = resourcePermission.isConfigureRead()
+ && resourceType.getResourceConfigurationDefinition() != null;
+ editResourceConfiguration.setEnabled(enabled);
+ if (enabled) {
+ editResourceConfiguration.addClickHandler(new ClickHandler() {
+ public void onClick(MenuItemClickEvent event) {
+ CoreGUI.goToView(LinkManager.getResourceTabLink(resource.getId(), "Configuration", "Current"));
+ }
+ });
+ }
resourceContextMenu.addItem(editResourceConfiguration);
+ // separator
resourceContextMenu.addItem(new MenuItemSeparator());
// Operations Menu
MenuItem operations = new MenuItem(MSG.view_tree_common_contextMenu_operations());
- Menu opSubMenu = new Menu();
- for (final OperationDefinition operationDefinition : resourceType.getOperationDefinitions()) {
- MenuItem operationItem = new MenuItem(operationDefinition.getDisplayName());
- operationItem.addClickHandler(new ClickHandler() {
- public void onClick(MenuItemClickEvent event) {
- int resourceId = ((ResourceTreeNode) treeGrid.getTree().findById(selectedNodeId)).getResource()
- .getId();
+ enabled = (resourcePermission.isControl() && !resourceType.getOperationDefinitions().isEmpty());
+ operations.setEnabled(enabled);
+ if (enabled) {
+ Menu opSubMenu = new Menu();
+ for (final OperationDefinition operationDefinition : resourceType.getOperationDefinitions()) {
+ MenuItem operationItem = new MenuItem(operationDefinition.getDisplayName());
+ operationItem.addClickHandler(new ClickHandler() {
+ public void onClick(MenuItemClickEvent event) {
+ int resourceId = ((ResourceTreeNode) treeGrid.getTree().findById(selectedNodeId)).getResource()
+ .getId();
- ResourceCriteria criteria = new ResourceCriteria();
- criteria.addFilterId(resourceId);
+ ResourceCriteria criteria = new ResourceCriteria();
+ criteria.addFilterId(resourceId);
- GWTServiceLookup.getResourceService().findResourcesByCriteria(criteria,
- new AsyncCallback<PageList<Resource>>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(
- MSG.view_tree_common_contextMenu_operations_loadFailed(), caught);
- }
+ GWTServiceLookup.getResourceService().findResourcesByCriteria(criteria,
+ new AsyncCallback<PageList<Resource>>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError(
+ MSG.view_tree_common_contextMenu_operations_loadFailed(), caught);
+ }
- public void onSuccess(PageList<Resource> result) {
- new OperationCreateWizard(result.get(0), operationDefinition).startOperationWizard();
- }
- });
+ public void onSuccess(PageList<Resource> result) {
+ new OperationCreateWizard(result.get(0), operationDefinition)
+ .startOperationWizard();
+ }
+ });
- }
- });
- opSubMenu.addItem(operationItem);
- // todo action
+ }
+ });
+ opSubMenu.addItem(operationItem);
+ // todo action
+ }
+ operations.setSubmenu(opSubMenu);
}
- operations.setEnabled(!resourceType.getOperationDefinitions().isEmpty());
- operations.setSubmenu(opSubMenu);
resourceContextMenu.addItem(operations);
+ // Metric graph addition menu
resourceContextMenu.addItem(buildMetricsMenu(resourceType));
- // Create Menu
+ // Create Child Menu
MenuItem createChildMenu = new MenuItem(MSG.common_button_create_child());
- Menu createChildSubMenu = new Menu();
- for (final ResourceType childType : resourceType.getChildResourceTypes()) {
- if (childType.isCreatable()) {
- MenuItem createItem = new MenuItem(childType.getName());
-
- createItem.addClickHandler(new ClickHandler() {
- public void onClick(MenuItemClickEvent event) {
- ResourceFactoryCreateWizard.showCreateWizard(resource, childType);
- }
- });
+ enabled = resourcePermission.isCreateChildResources();
+ if (enabled) {
+ Menu createChildSubMenu = new Menu();
+ for (final ResourceType childType : resourceType.getChildResourceTypes()) {
+ if (childType.isCreatable()) {
+ MenuItem createItem = new MenuItem(childType.getName());
+
+ createItem.addClickHandler(new ClickHandler() {
+ public void onClick(MenuItemClickEvent event) {
+ ResourceFactoryCreateWizard.showCreateWizard(resource, childType);
+ }
+ });
- createChildSubMenu.addItem(createItem);
+ createChildSubMenu.addItem(createItem);
+ }
}
+ createChildMenu.setSubmenu(createChildSubMenu);
+ enabled = createChildSubMenu.getItems().length > 0;
}
- createChildMenu.setSubmenu(createChildSubMenu);
- createChildMenu.setEnabled(createChildSubMenu.getItems().length > 0);
+ createChildMenu.setEnabled(enabled);
resourceContextMenu.addItem(createChildMenu);
- // Manually Add Menu
+ // Manual Import Menu
MenuItem importChildMenu = new MenuItem(MSG.common_button_import());
- Menu importChildSubMenu = new Menu();
- for (final ResourceType childType : resourceType.getChildResourceTypes()) {
- if (childType.isSupportsManualAdd()) {
- MenuItem importItem = new MenuItem(childType.getName());
+ enabled = resourcePermission.isCreateChildResources();
+ if (enabled) {
+ Menu importChildSubMenu = new Menu();
+ for (final ResourceType childType : resourceType.getChildResourceTypes()) {
+ if (childType.isSupportsManualAdd()) {
+ MenuItem importItem = new MenuItem(childType.getName());
+
+ importItem.addClickHandler(new ClickHandler() {
+ public void onClick(MenuItemClickEvent event) {
+ ResourceFactoryImportWizard.showImportWizard(resource, childType);
+ }
+ });
- importItem.addClickHandler(new ClickHandler() {
- public void onClick(MenuItemClickEvent event) {
- ResourceFactoryImportWizard.showImportWizard(resource, childType);
- }
- });
+ importChildSubMenu.addItem(importItem);
+ }
+ }
- importChildSubMenu.addItem(importItem);
+ if (resourceType.getCategory() == ResourceCategory.PLATFORM) {
+ loadManuallyAddServersToPlatforms(importChildSubMenu, resource);
}
- }
- if (resourceType.getCategory() == ResourceCategory.PLATFORM) {
- loadManuallyAddServersToPlatforms(importChildSubMenu, resource);
+ importChildMenu.setSubmenu(importChildSubMenu);
+ enabled = importChildSubMenu.getItems().length > 0;
}
-
- importChildMenu.setSubmenu(importChildSubMenu);
- importChildMenu.setEnabled(importChildSubMenu.getItems().length > 0);
+ importChildMenu.setEnabled(enabled);
resourceContextMenu.addItem(importChildMenu);
}
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 33ff980..f5d15c3 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
@@ -1300,7 +1300,6 @@ view_tree_common_contextMenu_loadFail_children = Failed to load platform manual
view_tree_common_contextMenu_loadFail_dashboards = Failed to load user dashboards
view_tree_common_contextMenu_loadFail_group = Failed to load group for context menu
view_tree_common_contextMenu_type_name_label = Type: {0}
-view_tree_common_contextMenu_pluginConfiguration = Plugin Configuration
view_tree_common_contextMenu_resourceConfiguration = Resource Configuration
view_tree_common_contextMenu_editPluginConfiguration = Edit [{0}] Plugin Configuration
view_tree_common_contextMenu_editResourceConfiguration = Edit [{0}] Resource Configuration
13 years, 6 months