[rhq] 6 commits - modules/enterprise modules/helpers modules/plugins pom.xml
by Heiko W. Rupp
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/performance/test/AvailabilityInsertPurgeTest.java | 212 ++++++++++
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3PerformanceTest.java | 101 ++++
modules/helpers/perftest-data-gen/install_files.sh | 6
modules/helpers/perftest-data-gen/pom.xml | 1
modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java | 19
modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlDiscoveryComponent.java | 25 -
pom.xml | 1
7 files changed, 350 insertions(+), 15 deletions(-)
New commits:
commit 6a4c52d2c965cb68fbcb40b9ccfe5256cccd2c01
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Fri Aug 20 14:38:25 2010 +0200
Prototypical work for the PerfTests
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/performance/test/AvailabilityInsertPurgeTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/performance/test/AvailabilityInsertPurgeTest.java
new file mode 100644
index 0000000..58603ea
--- /dev/null
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/performance/test/AvailabilityInsertPurgeTest.java
@@ -0,0 +1,212 @@
+/*
+ * 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.performance.test;
+
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import au.com.bytecode.opencsv.CSVReader;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.rhq.core.domain.plugin.Plugin;
+import org.rhq.core.domain.resource.Agent;
+import org.rhq.core.domain.resource.ResourceCategory;
+import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.enterprise.server.test.AbstractEJB3PerformanceTest;
+
+import org.testng.annotations.Test;
+
+/**
+ * Performance test the availabilities subsystem
+ *
+ * @author Heiko W. Rupp
+ */
+@Test(groups = "PERF")
+public class AvailabilityInsertPurgeTest extends AbstractEJB3PerformanceTest {
+
+ private final Log log = LogFactory.getLog(AvailabilityInsertPurgeTest.class);
+
+ /*
+ * we need to replace the ids in the csv files with the ids that we get back from the
+ * databse in relations. So store them as pair <csv-id,new entity-id>
+ */
+ private Map<Integer,Integer> agentsTranslationTable = new HashMap<Integer,Integer>();
+ private Map<Integer,Integer> pluginsTranslationTable = new HashMap<Integer,Integer>();
+ private Map<Integer,Integer> resourceTypeTranslationTable = new HashMap<Integer,Integer>();
+
+
+ public void testOne() throws Exception {
+ setup();
+ startTiming();
+
+ Thread.sleep(1234);
+
+ endTiming();
+
+ commitTimings();
+
+ }
+
+ private void setup() {
+ setupAgents();
+ setupPlugins();
+ setupResourceTypes();
+ // TODO set up resources
+
+ }
+
+ private void setupAgents() {
+ String descriptorFile = "perftest/agents.csv";
+ URL descriptorUrl = this.getClass().getClassLoader().getResource(descriptorFile);
+ FileReader fr = null;
+ try {
+ String fileName = descriptorUrl.getFile();
+ fr = new FileReader(fileName);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace(); // TODO: Customise this generated block
+ return;
+ }
+ try {
+ CSVReader reader = new CSVReader(fr,',','"',1); // Skip 1st line, use " as quote char and , as separator
+
+ List<String[]> lines = reader.readAll();
+ System.out.println("# of lines: " + lines.size());
+ for (String[] line : lines) {
+ if (line[0].startsWith("#"))
+ continue; // comment
+
+ int originalId = Integer.parseInt(line[0]);
+ Agent agent = new Agent(line[1],line[2],Integer.parseInt(line[3]),line[5],line[4]);// TODO more information?
+ getEntityManager().persist(agent);
+ int id = agent.getId();
+
+ agentsTranslationTable.put(originalId,id);
+
+
+ }
+ }
+ catch (IOException ioe) {
+ ioe.printStackTrace();
+ }
+ finally {
+ try {
+ fr.close();
+ } catch (IOException e) {
+ e.printStackTrace(); // TODO: Customise this generated block
+ }
+ }
+
+ }
+
+ private void setupPlugins() {
+ String descriptorFile = "perftest/plugins.csv";
+ URL descriptorUrl = this.getClass().getClassLoader().getResource(descriptorFile);
+ FileReader fr = null;
+ try {
+ String fileName = descriptorUrl.getFile();
+ fr = new FileReader(fileName);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace(); // TODO: Customise this generated block
+ return;
+ }
+ try {
+ CSVReader reader = new CSVReader(fr,',','"',1);
+
+ List<String[]> lines = reader.readAll();
+ System.out.println("# of lines: " + lines.size());
+ for (String[] line : lines) {
+ if (line[0].startsWith("#"))
+ continue; // comment
+
+ int originalId = Integer.parseInt(line[0]);
+ Plugin plugin = new Plugin(line[1],line[5],line[6]);
+ plugin.setDisplayName(line[2]);
+ plugin.setVersion(line[3]);
+ plugin.setAmpsVersion(line[4]);
+ getEntityManager().persist(plugin);
+
+ int id = plugin.getId();
+ pluginsTranslationTable.put(originalId,id);
+ }
+ }
+ catch (IOException ioe) {
+ ioe.printStackTrace();
+ }
+ finally {
+ try {
+ fr.close();
+ } catch (IOException e) {
+ e.printStackTrace(); // TODO: Customise this generated block
+ }
+ }
+
+ }
+ private void setupResourceTypes() {
+
+ // TODO first pull in the parentResourceTypes.csv file to get a mapping for them.
+
+ String descriptorFile = "perftest/resourceTypes.csv";
+ URL descriptorUrl = this.getClass().getClassLoader().getResource(descriptorFile);
+ FileReader fr = null;
+ try {
+ String fileName = descriptorUrl.getFile();
+ fr = new FileReader(fileName);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace(); // TODO: Customise this generated block
+ return;
+ }
+ try {
+ CSVReader reader = new CSVReader(fr,',','"',1);
+
+ List<String[]> lines = reader.readAll();
+ System.out.println("# of lines: " + lines.size());
+ for (String[] line : lines) {
+ if (line[0].startsWith("#"))
+ continue; // comment
+
+ int originalId = Integer.parseInt(line[0]);
+ ResourceType parentType = null; // TODO get from parent-child table
+ ResourceCategory category = ResourceCategory.valueOf(line[2]);
+ ResourceType rt = new ResourceType(line[1],line[3],category,parentType);
+ getEntityManager().persist(rt);
+
+ int id = rt.getId();
+ resourceTypeTranslationTable.put(originalId,id);
+ }
+ }
+ catch (IOException ioe) {
+ ioe.printStackTrace();
+ }
+ finally {
+ try {
+ fr.close();
+ } catch (IOException e) {
+ e.printStackTrace(); // TODO: Customise this generated block
+ }
+ }
+
+ }
+}
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3PerformanceTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3PerformanceTest.java
new file mode 100644
index 0000000..05b3495
--- /dev/null
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3PerformanceTest.java
@@ -0,0 +1,101 @@
+/*
+ * 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.test;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Helper that introduces timing functionality on top of the Abstract EJB tests.
+ *
+ * @author Heiko W. Rupp
+ */
+public class AbstractEJB3PerformanceTest extends AbstractEJB3Test {
+
+ private static final Log log = LogFactory.getLog("TIMING_INFO");
+
+
+ private static final String DEFAULT = "-default-";
+ private Map<String,Long> timings = new HashMap<String, Long>();
+ private Map<String,Long> startTime = new HashMap<String, Long>();
+
+
+ protected void startTiming(String name) {
+ long now = System.currentTimeMillis();
+ startTime.put(name,now);
+
+ }
+
+ protected void endTiming(String name) {
+
+ boolean found = startTime.containsKey(name);
+ assert found : "No start time information for name [" + name + "] found - did you call startTiming()?";
+
+
+ long now = System.currentTimeMillis();
+ long start = startTime.get(name);
+ long duration = (now - start);
+ if (timings.containsKey(name)) {
+ long timing = timings.get(name);
+ timing+=duration;
+ timings.put(name,timing);
+ }
+ else {
+ timings.put(name,duration);
+ }
+ }
+
+ protected void startTiming() {
+ startTiming(DEFAULT);
+ }
+
+ protected void endTiming() {
+ endTiming(DEFAULT);
+ }
+
+
+ protected void commitTimings() {
+
+ Set<Map.Entry<String,Long>> data = timings.entrySet();
+ for (Map.Entry<String,Long> item : data) {
+ log.info(":| " + item.getKey() + " => " + item.getValue());
+ }
+ timings.clear();
+ startTime.clear();
+ }
+
+ protected void assertTiming(String name, long maxDuration) {
+
+ boolean found = timings.containsKey(name);
+ assert found : "No timing information for name [" + name + "] found";
+
+ long duration = timings.get(name);
+
+ assert duration < maxDuration : "Execution took longer than given max ( " + duration + " > " + maxDuration + ")";
+
+ }
+
+ protected void assertTiming(long maxDuration) {
+ assertTiming(DEFAULT,maxDuration);
+ }
+}
commit 74d0107cf4038dc3e307a384f25efd54bea22b93
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Fri Aug 20 14:37:57 2010 +0200
Create dir if not there.
diff --git a/modules/helpers/perftest-data-gen/install_files.sh b/modules/helpers/perftest-data-gen/install_files.sh
index 0a33154..3513612 100644
--- a/modules/helpers/perftest-data-gen/install_files.sh
+++ b/modules/helpers/perftest-data-gen/install_files.sh
@@ -4,4 +4,8 @@ set -x
pwd
-cp target/*.csv ../../enterprise/server/jar/src/test/resources/perftest/
\ No newline at end of file
+if [ ! -d ../../enterprise/server/jar/src/test/resources/perftest/ ]
+then
+ mkdir -p ../../enterprise/server/jar/src/test/resources/perftest/
+fi
+cp target/*.csv ../../enterprise/server/jar/src/test/resources/perftest/
commit 5ecc0338f2129d34de47c80f670ac1478efe92f5
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Fri Aug 20 14:23:41 2010 +0200
Add table and OrderBy column
diff --git a/modules/helpers/perftest-data-gen/pom.xml b/modules/helpers/perftest-data-gen/pom.xml
index dceeb22..b9dafce 100644
--- a/modules/helpers/perftest-data-gen/pom.xml
+++ b/modules/helpers/perftest-data-gen/pom.xml
@@ -40,5 +40,4 @@
</dependency>
</dependencies>
-
</project>
\ No newline at end of file
diff --git a/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java b/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
index 4e0857e..f51973f 100644
--- a/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
+++ b/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
@@ -42,11 +42,13 @@ public class DataGen {
private static final String DOTCSV = ".csv";
private static final String[][] props = {//
- {"agents","RHQ_Agent","id,name,address,port,agenttoken,remote_endpoint"},
- {"plugins","RHQ_Plugin","id,name,display_name,version,amps_version"},
- {"resourceTypes","RHQ_resource_type","id,name,category,plugin"}, // TODO parent / child types?
- {"resources","RHQ_resource","id,uuid,resource_key,name,resource_type_id,parent_resource_id"} // TODO child resources?
- };
+ // filename , table , columns , oderby column
+ {"agents","RHQ_Agent","id,name,address,port,agenttoken,remote_endpoint","id"},
+ {"plugins","RHQ_Plugin","id,name,display_name,version,amps_version,path,md5","id"},
+ {"resourceTypes","RHQ_resource_type","id,name,category,plugin","id"},
+ {"parentResourceTypes","RHQ_RESOURCE_TYPE_PARENTS","resource_type_id,parent_resource_type_id",null},
+ {"resources","RHQ_resource","id,uuid,resource_key,name,resource_type_id,parent_resource_id","id"} // TODO child resources?
+ };
public static void main(String[] args) {
@@ -83,12 +85,17 @@ public class DataGen {
String fileName = prop[0];
String tableName = prop[1];
String columns = prop[2];
+ String orderBy = prop[3];
+
File agents = new File(TARGET + fileName + DOTCSV);
System.out.println("Writing file: " + agents.getAbsolutePath());
CSVWriter writer = new CSVWriter(new FileWriter(agents));
Statement stm = conn.createStatement();
- String query = "SELECT " + columns + " FROM " + tableName;
+ String query = "SELECT " + columns + " FROM " + tableName ;
+ if (orderBy!=null) {
+ query += " ORDER BY " + orderBy + " ASC";
+ }
System.out.println(" using query: [" + query + "]");
System.out.flush();
ResultSet rs = stm.executeQuery(query);
commit fce93b5bcb146d746b35f786bebc0b35ab9bc7a2
Merge: 660a61e... 462e15f...
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Fri Aug 20 12:58:23 2010 +0200
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit 660a61e8f9e2796b69e39922406353bf227bd448
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Fri Aug 20 12:57:56 2010 +0200
Be less loud on exceptions when talking to MySQL.
diff --git a/modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlDiscoveryComponent.java b/modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlDiscoveryComponent.java
index f50fbc0..4f1045e 100644
--- a/modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlDiscoveryComponent.java
+++ b/modules/plugins/mysql/src/main/java/org/rhq/plugins/mysql/MySqlDiscoveryComponent.java
@@ -62,7 +62,10 @@ public class MySqlDiscoveryComponent implements ResourceDiscoveryComponent, Manu
ProcessInfo procInfo = result.getProcessInfo();
- servers.add(createResourceDetails(context,context.getDefaultPluginConfiguration(),procInfo));
+ DiscoveredResourceDetails resourceDetails = createResourceDetails(context, context.getDefaultPluginConfiguration(), procInfo);
+ if (resourceDetails!=null) {
+ servers.add(resourceDetails);
+ }
}
return servers;
@@ -78,14 +81,22 @@ public class MySqlDiscoveryComponent implements ResourceDiscoveryComponent, Manu
}
protected static DiscoveredResourceDetails createResourceDetails(ResourceDiscoveryContext discoveryContext,
- Configuration pluginConfiguration,
- ProcessInfo processInfo) {
+ Configuration pluginConfiguration, ProcessInfo processInfo) {
+
String key = buildUrl(pluginConfiguration);
String db = pluginConfiguration.getSimple(DB_CONFIGURATION_PROPERTY).getStringValue();
String name = "MySql [" + db + "]";
- String version = getVersion(pluginConfiguration);
- return new DiscoveredResourceDetails(discoveryContext.getResourceType(), key, name, version,
- DEFAULT_RESOURCE_DESCRIPTION, pluginConfiguration, processInfo);
+ try {
+ String version = getVersion(pluginConfiguration);
+ return new DiscoveredResourceDetails(discoveryContext.getResourceType(), key, name, version,
+ DEFAULT_RESOURCE_DESCRIPTION, pluginConfiguration, processInfo);
+ } catch (Exception e) {
+ log.warn("Getting details failed: " + e.getMessage());
+ if (e.getCause()!=null) {
+ log.warn(" caused by: " + e.getCause().getMessage());
+ }
+ }
+ return null;
}
protected static String buildUrl(Configuration config) {
@@ -104,7 +115,7 @@ public class MySqlDiscoveryComponent implements ResourceDiscoveryComponent, Manu
version = conn.getMetaData().getDatabaseProductVersion();
} catch (SQLException e) {
// TODO GH: How to put this back to the server while inventorying this resource in an unconfigured state
- log.info("Exception detecting mysql instance version", e);
+ log.info("Exception detecting mysql instance version" + e.getMessage());
}
return version;
}
commit 19c1364252e04afde403a0413e0259a9f68d990e
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Thu Aug 19 15:14:49 2010 +0200
Add John Sanda's blog.
diff --git a/pom.xml b/pom.xml
index 6271e7e..6f27b89 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1206,6 +1206,7 @@
</developer>
<developer>
<name>John Sanda</name>
+ <url>http://johnsanda.blogspot.com</url>
<timezone>-5</timezone>
</developer>
<developer>
13 years, 8 months
[rhq] Branch 'code-smell' - 68 commits - etc/cli-scripts modules/core modules/enterprise modules/helpers modules/plugins pom.xml
by lkrejci
etc/cli-scripts/util.js | 95 ++
modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceNamesDisambiguationResult.java | 58 -
modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/composite/ResourceGroupComposite.java | 12
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java | 15
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/DemoCanvas.java | 45 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/SearchGUI.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java | 94 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleResourceGroupSelector.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleSubjectSelector.java | 35 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/SubjectRoleSelector.java | 15
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java | 101 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertsView.java | 9
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/BundleSelector.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleSummaryStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDataStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDistroFileStep.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/DeployStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDeploymentInfoStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDeploymentOptionsStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/SelectBundleStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/SelectBundleVersionStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/selection/PlatformResourceGroupSelector.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentView.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/GetRevertInfoStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/RevertStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/SubTabLayout.java | 101 --
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java | 343 ++++------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/EnhancedDynamicForm.java | 1
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/RadioGroupWithComponentsItem.java | 12
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java | 65 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java | 20
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/BooleanCellFormatter.java | 17
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java | 35 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableWidget.java | 10
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/upload/DynamicCallbackForm.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/AbstractWizardStep.java | 21
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java | 14
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/MeasurementDataGWTService.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGroupGWTService.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleDataSource.java | 42 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java | 131 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java | 117 +++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java | 50 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupsDataSource.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java | 45 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTopView.java | 65 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java | 131 +++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java | 45 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java | 12
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupMembersStep.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java | 125 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java | 102 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java | 81 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSelectListener.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java | 38 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeDatasource.java | 70 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java | 194 +++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/SmallGraphView.java | 32
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java | 79 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesView.java | 24
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/create/OperationSchedulingStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/DashboardView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ConfigurationTemplateStep.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceGroupSelector.java | 37 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceSelector.java | 116 ++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/PluginTypeTreeView.java | 115 +++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDynamicForm.java | 24
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java | 24
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableListGrid.java | 23
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java | 47 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTreeGrid.java | 22
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java | 24
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java | 109 +++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/AuthorizationGWTServiceImpl.java | 25
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/MeasurementDataGWTServiceImpl.java | 17
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGroupGWTServiceImpl.java | 10
modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css | 6
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/authentication/AuthenticateUserAction.java | 2
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/paging/ResourceNameDisambiguatingPagedListDataModel.java | 7
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/discovery/AutoDiscoveryQueueUIBean.java | 4
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/resource/group/inventory/AddGroupResourcesFormPrepareAction.java | 42 -
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/autodiscovery/ViewAction.java | 4
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/recentlyApproved/ViewAction.java | 4
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/resourcehealth/RSSAction.java | 1
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/resourcehealth/ViewAction.java | 1
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/util/DisambiguatedResourceListUtil.java | 7
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/measurement/tables/resource/ResourceMetricsTableUIBean.java | 2
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/navigation/resource/ResourceSelectUIBean.java | 2
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/subsystem/SubsystemConfigurationUpdateUIBean.java | 1
modules/enterprise/gui/portal-war/src/main/webapp/rhq/group/operation/groupOperationHistoryDetails-plain.xhtml | 3
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java | 12
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java | 6
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java | 4
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java | 12
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java | 103 ++-
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DisambiguationPolicy.java | 104 ++-
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DisambiguationUpdateStrategy.java | 15
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/Disambiguator.java | 68 +
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/ReportPartitions.java | 112 +--
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java | 37 -
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerLocal.java | 5
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerRemote.java | 6
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java | 2
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java | 2
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/security/UntrustedSSLProtocolSocketFactory.java | 5
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/webservices/WebservicesManagerBean.java | 5
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/DistributionManagerBeanTest.java | 9
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/group/definition/framework/test/ExpressionEvaluatorTest.java | 3
modules/helpers/perftest-data-gen/install_files.sh | 7
modules/helpers/perftest-data-gen/pom.xml | 44 +
modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java | 101 ++
modules/helpers/pom.xml | 1
modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/helper/JmxConnectionHelper.java | 14
modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerComponent.java | 1
pom.xml | 38 +
122 files changed, 2558 insertions(+), 1451 deletions(-)
New commits:
commit 4d5b070e7e77d53f32d93ee9788e52e1ff5b509f
Merge: 88faac6... 462e15f...
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Fri Aug 20 12:46:56 2010 +0200
Merge branch 'master' into code-smell
commit 462e15fcb1978820f9c04619144f810b60b2aed8
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Thu Aug 19 15:08:42 2010 -0400
upgrade EMS from 1.2.15 to 1.2.15.1
diff --git a/pom.xml b/pom.xml
index 6271e7e..fc988a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,7 +85,7 @@
<jsf-api.version>1.2_14</jsf-api.version>
<jsf-impl.version>1.2_14</jsf-impl.version>
<ojdbc5.version>11.2.0.1.0</ojdbc5.version>
- <ems.version>1.2.15</ems.version>
+ <ems.version>1.2.15.1</ems.version>
<postgresql.version>8.4-701.jdbc3</postgresql.version>
<h2.version>1.2.139</h2.version>
<jtds.version>1.2.2</jtds.version>
commit 4c67d86d06cfae297d20ecc2969a302017b3790f
Author: Joseph Marques <joseph(a)redhat.com>
Date: Thu Aug 19 12:47:02 2010 -0400
disable link from group op details page to resource op details
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/group/operation/groupOperationHistoryDetails-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/group/operation/groupOperationHistoryDetails-plain.xhtml
index 8c9834e..4f4d485 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/group/operation/groupOperationHistoryDetails-plain.xhtml
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/group/operation/groupOperationHistoryDetails-plain.xhtml
@@ -162,11 +162,14 @@
<h:outputText styleClass="headerText" value="Name"/>
</f:facet>
+ <ui:remove>
<h:outputLink value="/rhq/resource/operation/resourceOperationHistoryDetails-plain.xhtml">
<f:param name="id" value="#{resourceHistoryItem.resource.id}"/>
<f:param name="opId" value="#{resourceHistoryItem.id}"/>
<h:outputText value="#{resourceHistoryItem.operationDefinition.displayName}"/>
</h:outputLink>
+ </ui:remove>
+ <h:outputText value="#{resourceHistoryItem.operationDefinition.displayName}"/>
</rich:column>
commit d45fd8b2b3624846b7b0b27a79e3abde96a2d063
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Thu Aug 19 14:51:33 2010 +0200
Add a script to copy the generated csv files over to the server tests.
diff --git a/modules/helpers/perftest-data-gen/install_files.sh b/modules/helpers/perftest-data-gen/install_files.sh
new file mode 100644
index 0000000..0a33154
--- /dev/null
+++ b/modules/helpers/perftest-data-gen/install_files.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -x
+
+pwd
+
+cp target/*.csv ../../enterprise/server/jar/src/test/resources/perftest/
\ No newline at end of file
commit ee41bb1a5c7fc1bb4f61d672f9865c971b4e5724
Merge: d516c7c... fe3c4a4...
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Thu Aug 19 10:36:41 2010 +0200
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit fe3c4a473cfeaf90f417b9f0af73cc8e7aadb022
Author: Joseph Marques <joseph(a)redhat.com>
Date: Wed Aug 18 21:55:13 2010 -0400
fix summary>dashboard sub-tab linkage for resources
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/DashboardView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/DashboardView.java
index c29deec..b857b35 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/DashboardView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/DashboardView.java
@@ -46,7 +46,6 @@ public class DashboardView extends FullHTMLPane implements ResourceSelectListene
@Override
public void onResourceSelected(ResourceComposite resourceComposite) {
this.resourceComposite = resourceComposite;
- setContentsURL("/rhq/resource/summary/summary-plain.xhtml?id="
- + resourceComposite.getResource().getId());
+ setContentsURL("/rhq/resource/summary/overview-plain.xhtml?id=" + resourceComposite.getResource().getId());
}
}
commit 132910516670d8972fbf50d94586e86a667fd638
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Wed Aug 18 20:04:37 2010 -0400
remove superfluous call to ResourceManager.updateResource()
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
index dfab090..aac1143 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
@@ -29,7 +29,6 @@ import org.rhq.core.domain.configuration.ConfigurationUpdateStatus;
import org.rhq.core.domain.configuration.ResourceConfigurationUpdate;
import org.rhq.core.domain.resource.Resource;
import org.rhq.enterprise.server.auth.SubjectManagerLocal;
-import org.rhq.enterprise.server.resource.ResourceManagerLocal;
import org.rhq.enterprise.server.util.LookupUtil;
public class ConfigurationServerServiceImpl implements ConfigurationServerService {
@@ -66,7 +65,6 @@ public class ConfigurationServerServiceImpl implements ConfigurationServerServic
public void persistUpdatedResourceConfiguration(int resourceId, Configuration resourceConfiguration) {
ConfigurationManagerLocal configurationManager = LookupUtil.getConfigurationManager();
SubjectManagerLocal subjectManager = LookupUtil.getSubjectManager();
- ResourceManagerLocal resourceManager = LookupUtil.getResourceManager();
Subject overlord = subjectManager.getOverlord();
ResourceConfigurationUpdate update = configurationManager.persistNewResourceConfigurationUpdateHistory(
@@ -80,11 +78,7 @@ public class ConfigurationServerServiceImpl implements ConfigurationServerServic
}
}
- Resource resource = update.getResource();
- Configuration configuration = update.getConfiguration().deepCopy(false); // clone the config, zeroing out ids
-
- resourceManager.updateResource(overlord, resource); // update simple properties, still need to merge config
- configurationManager.setResourceConfiguration(resource.getId(), configuration); // now merge latest config
-
+ Configuration configuration = update.getConfiguration().deepCopy(false); // clone the config, zeroing out ids
+ configurationManager.setResourceConfiguration(resourceId, configuration); // now set it as the current config on the Resource
}
-}
\ No newline at end of file
+}
commit 23419f815c97149f8028a525a27b55e5a3d32b61
Author: Joseph Marques <joseph(a)redhat.com>
Date: Wed Aug 18 15:49:20 2010 -0400
get rid of some compiler errors / warnings
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 ffbd94b..7218061 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
@@ -35,32 +35,27 @@ public class AuthorizationGWTServiceImpl extends AbstractGWTServiceImpl implemen
private AuthorizationManagerLocal authorizationManager = LookupUtil.getAuthorizationManager();
public Set<Permission> getExplicitResourcePermissions(int resourceId) {
- return SerialUtility.prepare(
- new HashSet(authorizationManager.getExplicitResourcePermissions(getSessionSubject(), resourceId)),
- "AuthorizationManager.getExplicitResourcePermissions");
+ return SerialUtility.prepare(new HashSet<Permission>(authorizationManager.getExplicitResourcePermissions(
+ getSessionSubject(), resourceId)), "AuthorizationManager.getExplicitResourcePermissions");
}
public Set<Permission> getImplicitResourcePermissions(int resourceId) {
- return SerialUtility.prepare(
- new HashSet(authorizationManager.getImplicitResourcePermissions(getSessionSubject(), resourceId)),
- "AuthorizationManager.getImplicitResourcePermissions");
+ return SerialUtility.prepare(new HashSet<Permission>(authorizationManager.getImplicitResourcePermissions(
+ getSessionSubject(), resourceId)), "AuthorizationManager.getImplicitResourcePermissions");
}
public Set<Permission> getExplicitGroupPermissions(int groupId) {
- return SerialUtility.prepare(
- new HashSet(authorizationManager.getExplicitGroupPermissions(getSessionSubject(), groupId)),
- "AuthorizationManager.getExplicitGroupPermissions");
+ return SerialUtility.prepare(new HashSet<Permission>(authorizationManager.getExplicitGroupPermissions(
+ getSessionSubject(), groupId)), "AuthorizationManager.getExplicitGroupPermissions");
}
public Set<Permission> getImplicitGroupPermissions(int groupId) {
- return SerialUtility.prepare(
- new HashSet(authorizationManager.getImplicitGroupPermissions(getSessionSubject(), groupId)),
- "AuthorizationManager.getImplicitGroupPermissions");
+ return SerialUtility.prepare(new HashSet<Permission>(authorizationManager.getImplicitGroupPermissions(
+ getSessionSubject(), groupId)), "AuthorizationManager.getImplicitGroupPermissions");
}
public Set<Permission> getExplicitGlobalPermissions() {
- return SerialUtility.prepare(
- new HashSet(authorizationManager.getExplicitGlobalPermissions(getSessionSubject())),
- "AuthorizationManager.getExplicitGlobalPermissions");
+ return SerialUtility.prepare(new HashSet<Permission>(authorizationManager
+ .getExplicitGlobalPermissions(getSessionSubject())), "AuthorizationManager.getExplicitGlobalPermissions");
}
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java
index 82ffd48..cac0892 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java
@@ -244,7 +244,7 @@ public final class CriteriaQueryGenerator {
String returnValue = null;
if (value instanceof String) {
returnValue = "'" + prepareStringBindValue((String) value) + "'";
- } else if (value instanceof Enum) {
+ } else if (value instanceof Enum<?>) {
// note: this strategy won't work for entities with multiple enums that are persisted differently
EnumType type = getPersistenceEnumType(value.getClass());
if (type == EnumType.STRING) {
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 9d61cfd..61f613e 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
@@ -637,7 +637,7 @@ public final class LookupUtil {
}
}
- @SuppressWarnings( { "unchecked", "unused" })
+ @SuppressWarnings("unchecked")
private static <T> T lookupRemote(Class<? super T> type) {
try {
return (T) lookup(getRemoteJNDIName(type));
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/security/UntrustedSSLProtocolSocketFactory.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/security/UntrustedSSLProtocolSocketFactory.java
index 1218e64..dca9282 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/security/UntrustedSSLProtocolSocketFactory.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/security/UntrustedSSLProtocolSocketFactory.java
@@ -24,10 +24,13 @@ import java.net.Socket;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
+
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.X509TrustManager;
+
import org.apache.commons.httpclient.protocol.Protocol;
+import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;
import org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory;
/**
@@ -55,7 +58,7 @@ public class UntrustedSSLProtocolSocketFactory extends SSLProtocolSocketFactory
if (!isRegistered()) {
if (untrustSSL == null) {
- untrustSSL = new Protocol("https", new UntrustedSSLProtocolSocketFactory(), 443);
+ untrustSSL = new Protocol("https", (ProtocolSocketFactory) new UntrustedSSLProtocolSocketFactory(), 443);
}
Protocol.registerProtocol("https", untrustSSL);
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/DistributionManagerBeanTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/DistributionManagerBeanTest.java
index e24f39c..037c071 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/DistributionManagerBeanTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/content/test/DistributionManagerBeanTest.java
@@ -63,21 +63,24 @@ public class DistributionManagerBeanTest extends AbstractEJB3Test {
assert distro == null;
}
+ @SuppressWarnings("unchecked")
public void testDistributionFiles() throws Exception {
String kslabel = "testCreateDeleteRepo";
String kspath = "/tmp";
- int id = distManager.createDistribution(overlord, kslabel, kspath, distType).getId();
+ // don't get id, if not needed downstream
+ //int id = distManager.createDistribution(overlord, kslabel, kspath, distType).getId();
+ distManager.createDistribution(overlord, kslabel, kspath, distType);
Distribution distro = distManager.getDistributionByLabel(kslabel);
DistributionFile distfile = new DistributionFile(distro, "vmlinux", "d41d8cd98f00b204e9800998ecf8427e");
EntityManager em = getEntityManager();
em.persist(distfile);
- Query query = em.createNamedQuery(distfile.SELECT_BY_DIST_ID);
+ Query query = em.createNamedQuery(DistributionFile.SELECT_BY_DIST_ID);
query.setParameter("distId", distro.getId());
List<DistributionFile> results = query.getResultList();
assert results.size() != 0;
- Query querydel = em.createNamedQuery(distfile.DELETE_BY_DIST_ID);
+ Query querydel = em.createNamedQuery(DistributionFile.DELETE_BY_DIST_ID);
querydel.setParameter("distId", distro.getId());
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/group/definition/framework/test/ExpressionEvaluatorTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/group/definition/framework/test/ExpressionEvaluatorTest.java
index 7b958ef..fd3db2e 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/group/definition/framework/test/ExpressionEvaluatorTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/group/definition/framework/test/ExpressionEvaluatorTest.java
@@ -19,6 +19,7 @@
package org.rhq.enterprise.server.resource.group.definition.framework.test;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import org.testng.annotations.Test;
@@ -158,7 +159,7 @@ public class ExpressionEvaluatorTest extends AbstractEJB3Test {
public void testWellFormedExpressions() throws Exception {
String[][] successTestCases = getSuccessTestCases();
- List<Integer> suppressedCases = Arrays.asList();
+ List<Integer> suppressedCases = Collections.emptyList();
getTransactionManager().begin();
try {
commit 75c3c13a68f88836da805eac2acea1deb722d422
Author: Joseph Marques <joseph(a)redhat.com>
Date: Wed Aug 18 13:47:30 2010 -0400
modify ConfigurationServerServiceImpl to take into account new semantics for ResourceManagerBean.updateResource
* remove call to 'resource.setResourceConfiguration(configuration)', it was redundant with 'configurationManager.setResourceConfiguration(resource.getId(), configuration)'
* update comments to accurately reflect what work is being done at which steps
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
index 6ae1e16..dfab090 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
@@ -81,10 +81,10 @@ public class ConfigurationServerServiceImpl implements ConfigurationServerServic
}
Resource resource = update.getResource();
- // First clone the config, zeroing out all id's.
- Configuration configuration = update.getConfiguration().deepCopy(false);
- configurationManager.setResourceConfiguration(resource.getId(), configuration);
- resource.setResourceConfiguration(configuration);
- resourceManager.updateResource(overlord, resource);
+ Configuration configuration = update.getConfiguration().deepCopy(false); // clone the config, zeroing out ids
+
+ resourceManager.updateResource(overlord, resource); // update simple properties, still need to merge config
+ configurationManager.setResourceConfiguration(resource.getId(), configuration); // now merge latest config
+
}
}
\ No newline at end of file
commit d516c7cc5eeb8c2d807ed1e11992d211b9dd50aa
Merge: 768bdc1... 36b0828...
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Wed Aug 18 16:53:36 2010 +0200
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit 563c5f32e5212488904e0c52b28b879af0b36f08
Author: Joseph Marques <joseph(a)redhat.com>
Date: Wed Aug 18 10:48:16 2010 -0400
fix ResourceManagerRemote to use naming conventions established for remote API
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java
index 01ed5a1..8f8604d 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java
@@ -109,8 +109,8 @@ public interface ResourceManagerRemote {
*/
@WebMethod
Resource updateResource( //
- @WebParam(name = "subject") Subject user, //
- @WebParam(name = "resource") Resource resource);
+ @WebParam(name = "subject") Subject subject, //
+ @WebParam(name = "resource") Resource resource);
/**
* Removes these resources from inventory. The resources may subsequently be rediscovered. Note that for
commit 36b0828833f339b27fbb8512fa4fdc362e3c5dd8
Merge: aaaac7d... d40f338...
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Wed Aug 18 10:39:40 2010 -0400
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit d40f338fe64cc2a24b08e85a80d83fff458109c7
Merge: 5f825b8... b53c54e...
Author: John Sanda <jsanda(a)redhat.com>
Date: Wed Aug 18 10:28:47 2010 -0400
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit 5f825b8c325fefc97c32af51c7fd19139e8229ca
Author: John Sanda <jsanda(a)redhat.com>
Date: Wed Aug 18 10:27:29 2010 -0400
Adding some generic utility functions for use in CLI scripts
diff --git a/etc/cli-scripts/util.js b/etc/cli-scripts/util.js
new file mode 100644
index 0000000..e0bb219
--- /dev/null
+++ b/etc/cli-scripts/util.js
@@ -0,0 +1,95 @@
+/**
+ * If obj is a JS array or a java.util.Collection, each element is passed to
+ * the callback function. If obj is a java.util.Map, each map entry is passed
+ * to the callback function as a key/value pair. If obj is none of the
+ * aforementioned types, it is treated as a generic object and each of its
+ * properties is passed to the callback function as a name/value pair.
+ */
+function foreach(obj, fn) {
+ if (obj instanceof Array) {
+ for (i in obj) {
+ fn(obj[i]);
+ }
+ }
+ else if (obj instanceof java.util.Collection) {
+ var iterator = obj.iterator();
+ while (iterator.hasNext()) {
+ fn(iterator.next());
+ }
+ }
+ else if (obj instanceof java.util.Map) {
+ var iterator = obj.entrySet().iterator()
+ while (iterator.hasNext()) {
+ var entry = iterator.next();
+ fn(entry.key, entry.value);
+ }
+ }
+ else { // assume we have a generic object
+ for (i in obj) {
+ fn(i, obj[i]);
+ }
+ }
+}
+
+/**
+ * Iterates over obj similar to foreach. fn should be a predicate that evaluates
+ * to true or false. The first match that is found is returned.
+ */
+function find(obj, fn) {
+ if (obj instanceof Array) {
+ for (i in obj) {
+ if (fn(obj[i])) {
+ return obj[i]
+ }
+ }
+ }
+ else if (obj instanceof java.util.Collection) {
+ var iterator = obj.iterator();
+ while (iterator.hasNext()) {
+ var next = iterator.next();
+ if (fn(next)) {
+ return next;
+ }
+ }
+ }
+ else if (obj instanceof java.util.Map) {
+ var iterator = obj.entrySet().iterator();
+ while (iterator.hasNext()) {
+ var entry = iterator.next();
+ if (fn(entry.key, entry.value)) {
+ return {key: entry.key, value: entry.value};
+ }
+ }
+ }
+ else {
+ for (i in obj) {
+ if (fn(i, obj[i])) {
+ return {key: i, value: obj[i]};
+ }
+ }
+ }
+ return null;
+}
+
+/**
+ * Iterates over obj similar to foreach. fn should be a predicate that evaluates
+ * to true or false. All of the matches are returned in a java.util.List.
+ */
+function findAll(obj, fn) {
+ var matches = java.util.ArrayList();
+ if ((obj instanceof Array) || (obj instanceof java.util.Collection)) {
+ foreach(obj, function(element) {
+ if (fn(element)) {
+ matches.add(element);
+ }
+ });
+ }
+ else {
+ foreach(obj, function(key, value) {
+ if (fn(theKey, theValue)) {
+ matches.add({key: theKey, value: theValue});
+ }
+ });
+ }
+ return matches;
+}
commit aaaac7d771794bc60510b105380bcc0d8482cbec
Merge: de55f13... b53c54e...
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Wed Aug 18 10:20:20 2010 -0400
Merge branch 'master' into master-jay
commit de55f13450544b831725d912b97e50f110d1d698
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Wed Aug 18 10:11:54 2010 -0400
Prevent duplicate setting of the current resource [group]. This is a bit
of a leak and also causes ID conflict.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTopView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTopView.java
index c75f6e8..53d259b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTopView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTopView.java
@@ -52,12 +52,10 @@ public class ResourceGroupTopView extends HLayout implements BookmarkableView {
private ResourceGroupGWTServiceAsync groupService = GWTServiceLookup.getResourceGroupService();
-
public ResourceGroupTopView() {
}
-
@Override
protected void onInit() {
super.onInit();
@@ -73,37 +71,49 @@ public class ResourceGroupTopView extends HLayout implements BookmarkableView {
detailView = new ResourceGroupDetailView();
-// treeView.addResourceSelectListener(detailView);
+ // treeView.addResourceSelectListener(detailView);
setContent(detailView);
}
-
public void setSelectedGroup(final int groupId, final ViewPath view) {
+ // check if requested group is already the current group
+ if (null != currentGroup && currentGroup.getResourceGroup().getId() == groupId) {
+ return;
+ }
+
ResourceGroupCriteria criteria = new ResourceGroupCriteria();
criteria.addFilterId(groupId);
//criteria.fetchTags(true);
- groupService.findResourceGroupCompositesByCriteria(criteria, new AsyncCallback<PageList<ResourceGroupComposite>>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getMessageCenter().notify(new Message("Group with id [" + groupId +
- "] does not exist or is not accessible.", Message.Severity.Warning));
- caught.printStackTrace();
- CoreGUI.goTo(InventoryView.VIEW_PATH);
- }
-
- public void onSuccess(PageList<ResourceGroupComposite> result) {
- if (result.isEmpty()) {
- //noinspection ThrowableInstanceNeverThrown
- onFailure(new Exception("Group with id [" + groupId + "] does not exist."));
- } else {
- currentGroup = result.get(0);
- treeView.setSelectedGroup(currentGroup.getResourceGroup().getId());
- detailView.onGroupSelected(currentGroup);
+ groupService.findResourceGroupCompositesByCriteria(criteria,
+ new AsyncCallback<PageList<ResourceGroupComposite>>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getMessageCenter().notify(
+ new Message("Group with id [" + groupId + "] does not exist or is not accessible.",
+ Message.Severity.Warning));
+ caught.printStackTrace();
+ CoreGUI.goTo(InventoryView.VIEW_PATH);
}
- }
- });
- }
+ public void onSuccess(PageList<ResourceGroupComposite> result) {
+ if (result.isEmpty()) {
+ //noinspection ThrowableInstanceNeverThrown
+ onFailure(new Exception("Group with id [" + groupId + "] does not exist."));
+ } else {
+ // check if requested group is already the current group. This can happen if
+ // renderView (or any callers) execute in quick succession on the same resource group,
+ // because of the (async) delay in this call path
+ if (null != currentGroup && currentGroup.getResourceGroup().getId() == groupId) {
+ return;
+ }
+
+ currentGroup = result.get(0);
+ treeView.setSelectedGroup(currentGroup.getResourceGroup().getId());
+ detailView.onGroupSelected(currentGroup);
+ }
+ }
+ });
+ }
public void setContent(Canvas newContent) {
if (contentCanvas.getChildren().length > 0)
@@ -112,7 +122,6 @@ public class ResourceGroupTopView extends HLayout implements BookmarkableView {
contentCanvas.markForRedraw();
}
-
public void renderView(ViewPath viewPath) {
if (viewPath.isEnd()) {
// default detail view
@@ -121,14 +130,10 @@ public class ResourceGroupTopView extends HLayout implements BookmarkableView {
}
Integer groupId = Integer.parseInt(viewPath.getCurrent().getPath());
-
- if (currentGroup == null || currentGroup.getResourceGroup().getId() != groupId) {
- // The previous history item did not already point to this group.
- setSelectedGroup(groupId, viewPath);
- }
+ setSelectedGroup(groupId, viewPath);
viewPath.next();
- this.detailView.renderView(viewPath);
+ this.detailView.renderView(viewPath);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSelectListener.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSelectListener.java
index 21806ab..cf285ea 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSelectListener.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSelectListener.java
@@ -26,7 +26,7 @@ import org.rhq.core.domain.resource.composite.ResourceComposite;
public interface ResourceSelectListener {
/**
- * An event handler that is called then the user selects a Resource.
+ * An event handler that is called when the user selects a Resource.
*
* @param resourceComposite a Resource composite for the Resource that was just selected by the user; the Resource
* wrapped by the composite's ResourceType will be mostly fetched.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java
index 535cdca..b4f140b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java
@@ -54,7 +54,6 @@ public class ResourceTopView extends HLayout implements BookmarkableView {
private ResourceGWTServiceAsync resourceService = GWTServiceLookup.getResourceService();
-
public ResourceTopView() {
}
@@ -73,23 +72,28 @@ public class ResourceTopView extends HLayout implements BookmarkableView {
addMember(contentCanvas);
// created above
-// detailView = new ResourceDetailView();
+ // detailView = new ResourceDetailView();
treeView.addResourceSelectListener(detailView);
setContent(detailView);
}
-
public void setSelectedResource(final int resourceId, final ViewPath view) {
+ // Prevent multiple calls in a row for the same resource.
+ if (null != this.currentResource && currentResource.getResource().getId() == resourceId) {
+ return;
+ }
+
ResourceCriteria criteria = new ResourceCriteria();
criteria.addFilterId(resourceId);
criteria.fetchTags(true);
//criteria.fetchParentResource(true);
resourceService.findResourceCompositesByCriteria(criteria, new AsyncCallback<PageList<ResourceComposite>>() {
public void onFailure(Throwable caught) {
- CoreGUI.getMessageCenter().notify(new Message("Resource with id [" + resourceId +
- "] does not exist or is not accessible.", Message.Severity.Warning));
+ CoreGUI.getMessageCenter().notify(
+ new Message("Resource with id [" + resourceId + "] does not exist or is not accessible.",
+ Message.Severity.Warning));
CoreGUI.goTo(InventoryView.VIEW_PATH);
}
@@ -106,7 +110,6 @@ public class ResourceTopView extends HLayout implements BookmarkableView {
});
}
-
private void loadResourceType(final ResourceComposite resourceComposite, final ViewPath view) {
final Resource resource = resourceComposite.getResource();
ResourceTypeRepository.Cache.getInstance().getResourceTypes(
@@ -122,13 +125,19 @@ public class ResourceTopView extends HLayout implements BookmarkableView {
});
}
-
private void completeSetSelectedResource(ResourceComposite resourceComposite, ViewPath viewPath) {
+ // Prevent multiple calls in a row for the same resource. This can happen if renderView executes
+ // in quick succession on the same resource viewpath, because of the (async) delay between
+ // setSelectedResource and this call
+ if (null != this.currentResource
+ && currentResource.getResource().getId() == resourceComposite.getResource().getId()) {
+ return;
+ }
+
this.currentResource = resourceComposite;
this.detailView.onResourceSelected(resourceComposite);
}
-
public void setContent(Canvas newContent) {
if (contentCanvas.getChildren().length > 0)
contentCanvas.getChildren()[0].destroy();
@@ -136,7 +145,6 @@ public class ResourceTopView extends HLayout implements BookmarkableView {
contentCanvas.markForRedraw();
}
-
public void renderView(ViewPath viewPath) {
if (viewPath.isEnd()) {
// default detail view
@@ -145,11 +153,7 @@ public class ResourceTopView extends HLayout implements BookmarkableView {
}
Integer resourceId = Integer.parseInt(viewPath.getCurrent().getPath());
-
- if (currentResource == null || currentResource.getResource().getId() != resourceId) {
- // The previous history item did not already point to this Resource.
- setSelectedResource(resourceId, viewPath);
- }
+ setSelectedResource(resourceId, viewPath);
this.treeView.renderView(viewPath);
commit 1e91147abf3db61eeb181efcb542a94967ee9e5b
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Wed Aug 18 10:10:33 2010 -0400
Avoid NPE if currentAvail has yet to be set
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeDatasource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeDatasource.java
index 1adee12..ecb4806 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeDatasource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeDatasource.java
@@ -37,6 +37,7 @@ import com.smartgwt.client.widgets.tree.TreeNode;
import org.rhq.core.domain.criteria.ResourceCriteria;
import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.domain.measurement.ResourceAvailability;
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.resource.ResourceCategory;
import org.rhq.core.domain.resource.ResourceSubCategory;
@@ -105,27 +106,26 @@ public class ResourceTreeDatasource extends DataSource {
// Asume success
response.setStatus(0);
switch (request.getOperationType()) {
- case ADD:
- //executeAdd(request, response);
- break;
- case FETCH:
- executeFetch(requestId, request, response);
- break;
- case REMOVE:
- //executeRemove(lstRec);
- break;
- case UPDATE:
- //executeAdd(lstRec, false);
- break;
-
- default:
- break;
+ case ADD:
+ //executeAdd(request, response);
+ break;
+ case FETCH:
+ executeFetch(requestId, request, response);
+ break;
+ case REMOVE:
+ //executeRemove(lstRec);
+ break;
+ case UPDATE:
+ //executeAdd(lstRec, false);
+ break;
+
+ default:
+ break;
}
return request.getData();
}
-
public void executeFetch(final String requestId, final DSRequest request, final DSResponse response) {
final long start = System.currentTimeMillis();
@@ -167,15 +167,17 @@ public class ResourceTreeDatasource extends DataSource {
private void processIncomingData(List<Resource> result, final DSResponse response, final String requestId) {
- ResourceTypeRepository.Cache.getInstance().loadResourceTypes(result,
- EnumSet.of(ResourceTypeRepository.MetadataType.operations, ResourceTypeRepository.MetadataType.children, ResourceTypeRepository.MetadataType.subCategory),
- new ResourceTypeRepository.ResourceTypeLoadedCallback() {
- public void onResourceTypeLoaded(List<Resource> result) {
- response.setData(build(result));
- processResponse(requestId, response);
- response.setStatus(DSResponse.STATUS_SUCCESS);
- }
- });
+ ResourceTypeRepository.Cache.getInstance().loadResourceTypes(
+ result,
+ EnumSet.of(ResourceTypeRepository.MetadataType.operations, ResourceTypeRepository.MetadataType.children,
+ ResourceTypeRepository.MetadataType.subCategory),
+ new ResourceTypeRepository.ResourceTypeLoadedCallback() {
+ public void onResourceTypeLoaded(List<Resource> result) {
+ response.setData(build(result));
+ processResponse(requestId, response);
+ response.setStatus(DSResponse.STATUS_SUCCESS);
+ }
+ });
}
/**
@@ -200,12 +202,11 @@ public class ResourceTreeDatasource extends DataSource {
HashMap<ResourceSubCategory, CategoryTreeNode> categories = new HashMap<ResourceSubCategory, CategoryTreeNode>();
HashMap<ResourceType, TypeTreeNode> types = new HashMap<ResourceType, TypeTreeNode>();
-
for (ResourceTreeNode node : nodes) {
built.add(node);
if (!types.containsKey(node.getResourceType())
- && node.getResourceType().getCategory() != ResourceCategory.PLATFORM) {
+ && node.getResourceType().getCategory() != ResourceCategory.PLATFORM) {
String parentResourceId = String.valueOf(node.getResource().getParentResource().getId());
@@ -264,7 +265,6 @@ public class ResourceTreeDatasource extends DataSource {
}
}
-
public static class TypeTreeNode extends TreeNode {
private TypeTreeNode(String parentId, String parentResourceId, String type) {
@@ -288,7 +288,7 @@ public class ResourceTreeDatasource extends DataSource {
String id = String.valueOf(resource.getId());
String parentId = resource.getParentResource() == null ? null
- : (resource.getParentResource().getId() + "_" + resource.getResourceType().getName());
+ : (resource.getParentResource().getId() + "_" + resource.getResourceType().getName());
// System.out.println(id + " / " + parentId);
@@ -302,13 +302,14 @@ public class ResourceTreeDatasource extends DataSource {
setAttribute("name", resource.getName());
setAttribute("description", resource.getDescription());
+ ResourceAvailability currentAvail = resource.getCurrentAvailability();
setAttribute(
- "currentAvailability",
- resource.getCurrentAvailability().getAvailabilityType() == AvailabilityType.UP ? "/images/icons/availability_green_16.png"
- : "/images/icons/availability_red_16.png");
+ "currentAvailability",
+ (null != currentAvail && currentAvail.getAvailabilityType() == AvailabilityType.UP) ? "/images/icons/availability_green_16.png"
+ : "/images/icons/availability_red_16.png");
setIsFolder((resource.getResourceType().getChildResourceTypes() != null && !resource.getResourceType()
- .getChildResourceTypes().isEmpty()));
+ .getChildResourceTypes().isEmpty()));
}
public Resource getResource() {
commit 98b4e155771fe69e5aa325d938f554c10aa8bd16
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Wed Aug 18 10:08:35 2010 -0400
Selenium Work - Avoid having an Abstract class re-use the same name/title
for all of its subclasses. This causes ID conflicts. Let the subclasses
define unique names/titles.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java
index 333b500..55379d1 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java
@@ -25,6 +25,7 @@ import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
+
import org.rhq.core.domain.criteria.MeasurementScheduleCriteria;
import org.rhq.enterprise.gui.coregui.client.components.table.BooleanCellFormatter;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
@@ -37,15 +38,12 @@ import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
* @author Ian Springer
*/
public abstract class AbstractMeasurementScheduleListView extends Table {
- private static final String TITLE = "Metric Collection Schedules";
-
- private static final SortSpecifier[] SORT_SPECIFIERS = new SortSpecifier[]{
- new SortSpecifier(MeasurementScheduleCriteria.SORT_FIELD_DISPLAY_NAME, SortDirection.ASCENDING)
- };
+ private static final SortSpecifier[] SORT_SPECIFIERS = new SortSpecifier[] { new SortSpecifier(
+ MeasurementScheduleCriteria.SORT_FIELD_DISPLAY_NAME, SortDirection.ASCENDING) };
- public AbstractMeasurementScheduleListView(AbstractMeasurementScheduleDataSource dataSource, Criteria criteria,
- String[] excludedFieldNames) {
- super(TITLE, criteria, SORT_SPECIFIERS, excludedFieldNames);
+ public AbstractMeasurementScheduleListView(String title, AbstractMeasurementScheduleDataSource dataSource,
+ Criteria criteria, String[] excludedFieldNames) {
+ super(title, criteria, SORT_SPECIFIERS, excludedFieldNames);
setDataSource(dataSource);
}
@@ -58,7 +56,7 @@ public abstract class AbstractMeasurementScheduleListView extends Table {
protected void onInit() {
super.onInit();
- ListGrid listGrid = getListGrid();
+ ListGrid listGrid = getListGrid();
listGrid.getField(MeasurementScheduleCriteria.SORT_FIELD_DISPLAY_NAME).setWidth("20%");
listGrid.getField(MeasurementScheduleCriteria.SORT_FIELD_DESCRIPTION).setWidth("40%");
listGrid.getField(MeasurementScheduleCriteria.SORT_FIELD_DATA_TYPE).setWidth("10%");
@@ -79,7 +77,7 @@ public abstract class AbstractMeasurementScheduleListView extends Table {
getDataSource().disableSchedules(AbstractMeasurementScheduleListView.this);
}
});
- addExtraWidget(new UpdateCollectionIntervalWidget(this));
+ addExtraWidget(new UpdateCollectionIntervalWidget(this));
}
class MillisecondsCellFormatter implements CellFormatter {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java
index a9b10f2..89273ff 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java
@@ -19,6 +19,7 @@
package org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.monitoring.schedules;
import com.smartgwt.client.data.Criteria;
+
import org.rhq.core.domain.criteria.MeasurementScheduleCriteria;
import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasurementScheduleListView;
@@ -28,10 +29,12 @@ import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasuremen
* @author Ian Springer
*/
public class SchedulesView extends AbstractMeasurementScheduleListView {
+ private static final String TITLE = "Group Metric Collection Schedules";
+
private static final String[] EXCLUDED_FIELD_NAMES = new String[] { MeasurementScheduleCriteria.FILTER_FIELD_RESOURCE_GROUP_ID };
public SchedulesView(int resourceGroupId) {
- super(new SchedulesDataSource(resourceGroupId), createCriteria(resourceGroupId), EXCLUDED_FIELD_NAMES);
+ super(TITLE, new SchedulesDataSource(resourceGroupId), createCriteria(resourceGroupId), EXCLUDED_FIELD_NAMES);
}
private static Criteria createCriteria(int resourceGroupId) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesView.java
index 9b60119..ca4f159 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesView.java
@@ -19,6 +19,7 @@
package org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring.schedules;
import com.smartgwt.client.data.Criteria;
+
import org.rhq.core.domain.criteria.MeasurementScheduleCriteria;
import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasurementScheduleListView;
@@ -28,10 +29,13 @@ import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasuremen
* @author Ian Springer
*/
public class SchedulesView extends AbstractMeasurementScheduleListView {
+
+ private static final String TITLE = "Metric Collection Schedules";
+
private static final String[] EXCLUDED_FIELD_NAMES = new String[] { MeasurementScheduleCriteria.FILTER_FIELD_RESOURCE_ID };
public SchedulesView(int resourceId) {
- super(new SchedulesDataSource(resourceId), createCriteria(resourceId), EXCLUDED_FIELD_NAMES);
+ super(TITLE, new SchedulesDataSource(resourceId), createCriteria(resourceId), EXCLUDED_FIELD_NAMES);
}
private static Criteria createCriteria(int resourceId) {
commit 1c44909cf24b45241bc42baa231fba3ccff7cccc
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Wed Aug 18 10:06:15 2010 -0400
Selenium Work - Table now extends LocatableVLayout as opposed to VLayout
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 94b4199..43e45aa 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
@@ -41,18 +41,18 @@ 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.toolbar.ToolStrip;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableIButton;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableListGrid;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
/**
* @author Greg Hinkle
* @author Ian Springer
*/
-public class Table extends VLayout {
+public class Table extends LocatableVLayout {
private static final SelectionEnablement DEFAULT_SELECTION_ENABLEMENT = SelectionEnablement.ALWAYS;
@@ -127,7 +127,7 @@ public class Table extends VLayout {
public Table(String tableTitle, Criteria criteria, SortSpecifier[] sortSpecifiers, String[] excludedFieldNames,
boolean autoFetchData) {
- super();
+ super(tableTitle);
setWidth100();
setHeight100();
commit 768bdc1f7984816df30d8468fd85d747b025be29
Merge: efc3d35... b53c54e...
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Wed Aug 18 11:39:01 2010 +0200
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit 42a36978ba0640df8ce8b0835ac2d067801806be
Merge: 3217ce7... 7677e9f...
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Aug 17 22:48:52 2010 -0400
Merge branch 'master' into master-jay
Conflicts:
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupMembersStep.java
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceSelector.java
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
diff --cc modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
index aa4c428,d35ec53..94b4199
--- 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
@@@ -389,6 -398,11 +402,11 @@@ public class Table extends VLayout
}
tableAction.actionButton.setDisabled(!enabled);
}
+ for (Canvas extraWidget : extraWidgets) {
+ if (extraWidget instanceof TableWidget) {
- ((TableWidget)extraWidget).refresh(this.listGrid);
++ ((TableWidget) extraWidget).refresh(this.listGrid);
+ }
+ }
this.tableInfo.setContents("Total: " + listGrid.getTotalRows() + " (" + count + " selected)");
}
}
diff --cc modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
index 993e92b,d579c8c..a55b334
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
@@@ -98,9 -103,7 +103,8 @@@ public class GroupCreateWizard extends
public void onSuccess(ResourceGroup result) {
CoreGUI.getMessageCenter().notify(
new Message("Saved new group " + result.getName(), Message.Severity.Info));
+
- // try and get the new group reflected in the UI.
- CoreGUI.refresh();
+ resourceGroupListView.refresh();
}
});
diff --cc modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java
index c519956,70c5445..4026e47
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java
@@@ -33,8 -33,9 +33,8 @@@ import com.smartgwt.client.widgets.tree
import com.smartgwt.client.widgets.tree.TreeGrid;
import com.smartgwt.client.widgets.tree.TreeNode;
- import org.rhq.core.domain.resource.Resource;
-import org.rhq.core.domain.measurement.AvailabilityType;
import org.rhq.core.domain.resource.ResourceCategory;
+ import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ViewId;
diff --cc modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
index a5dde2e,b56df20..280cb89
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
@@@ -18,17 -18,6 +18,15 @@@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.AVAILABILITY;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.CATEGORY;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.DESCRIPTION;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
+
- import java.util.List;
+import java.util.Map;
+
- import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.DSResponse;
@@@ -49,15 -38,20 +47,12 @@@ import org.rhq.enterprise.gui.coregui.c
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.util.RPCDataSource;
- import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.AVAILABILITY;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.CATEGORY;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.DESCRIPTION;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
-
/**
* @author Greg Hinkle
*/
public class ResourceDatasource extends RPCDataSource<Resource> {
- private String query;
--
private ResourceGWTServiceAsync resourceService = GWTServiceLookup.getResourceService();
public ResourceDatasource() {
@@@ -70,7 -60,7 +65,7 @@@
DataSourceField idDataField = new DataSourceIntegerField("id", "ID", 20);
idDataField.setPrimaryKey(true);
- DataSourceImageField iconField = new DataSourceImageField("icon");
- DataSourceImageField iconField = new DataSourceImageField("icon","");
++ DataSourceImageField iconField = new DataSourceImageField("icon", "");
iconField.setImageURLPrefix("types/");
DataSourceTextField nameDataField = new DataSourceTextField(NAME.propertyName(), NAME.title(), 200);
@@@ -93,14 -83,7 +88,6 @@@
categoryDataField, availabilityDataField);
}
- public String getQuery() {
- return query;
- }
--
- public void setQuery(String query) {
- this.query = query;
- }
-
public void executeFetch(final DSRequest request, final DSResponse response) {
ResourceCriteria criteria = getFetchCriteria(request);
diff --cc modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
index 9a5993b,97a55db..98e5ab9
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
@@@ -115,10 -122,31 +122,30 @@@ public class ResourceSearchView extend
getListGrid().setFields(idField, iconField, nameField, descriptionField, typeNameField, pluginNameField,
categoryField, availabilityField);
- addTableAction("Uninventory", Table.SelectionEnablement.ANY, "Are you sure you want to delete # resources?",
- new TableAction() {
- public void executeAction(ListGridRecord[] selection) {
- getListGrid().removeSelectedData();
+ addTableAction("Uninventory", Table.SelectionEnablement.ANY,
+ "Are you sure you want to uninventory # resources?", new TableAction() {
+ public void executeAction(ListGridRecord[] selections) {
+ int[] resourceIds = new int[selections.length];
+ int index = 0;
+ for (ListGridRecord selection : selections) {
+ resourceIds[index++] = selection.getAttributeAsInt("id");
+ }
+ ResourceGWTServiceAsync resourceManager = GWTServiceLookup.getResourceService();
+
+ resourceManager.uninventoryResources(resourceIds, new AsyncCallback<List<Integer>>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError("Failed to uninventory selected resources", caught);
+ }
+
+ public void onSuccess(List<Integer> result) {
+ CoreGUI.getMessageCenter()
+ .notify(
+ new Message("Successfully uninventoried " + result.size() + " resources",
+ Severity.Info));
+
+ ResourceSearchView.this.refresh();
+ }
+ });
-
}
});
diff --cc modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
index 53909d1,d761dbd..8e51dd9
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
@@@ -88,10 -87,9 +88,9 @@@ public class MenuBarView extends VLayou
// loggedInAs.setWrap(false);
// loggedInAs.setValign(VerticalAlignment.CENTER);
// helpLayout.addMember(loggedInAs);
-
- topStrip.addMember(new Hyperlink("Help", "Help"));
- topStrip.addMember(new Hyperlink("Preferences", "Preferences"));
- topStrip.addMember(new Hyperlink("Log Out", "LogOut"));
+ topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Help", "Help")));
+ topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Preferences", "Preferences")));
+ topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Log Out", "LogOut")));
// helpLayout.setLayoutAlign(VerticalAlignment.CENTER);
// topStrip.addMember(helpLayout);
commit b53c54eb2727ea1f98e103fee5f8d93e57a4c25d
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Aug 17 18:49:23 2010 -0400
upgrade EMS from 1.2.14 to 1.2.15
diff --git a/pom.xml b/pom.xml
index bc895da..13e4cc8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,7 +85,7 @@
<jsf-api.version>1.2_14</jsf-api.version>
<jsf-impl.version>1.2_14</jsf-impl.version>
<ojdbc5.version>11.2.0.1.0</ojdbc5.version>
- <ems.version>1.2.14</ems.version>
+ <ems.version>1.2.15</ems.version>
<postgresql.version>8.4-701.jdbc3</postgresql.version>
<h2.version>1.2.139</h2.version>
<jtds.version>1.2.2</jtds.version>
commit 3217ce7871f55fd792b3c123ded5ab9d133b2350
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Aug 17 16:43:05 2010 -0400
Selenium Integration Work
- Add "Locatable" widget class wrappers
- Add SeleniumUtility class
- Add explicit ID hooks to
- all Selectors
- several other places (but no where near all)
- Fixed issues with selector filters
- Worked around GWT bug http://code.google.com/p/smartgwt/issues/detail?id=490
which breaks use of AdvancedCriteria.
- Fixed issues in the InventoryView stacks
- Added html hooks to MenuBar
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/DemoCanvas.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/DemoCanvas.java
index bf912cd..3fc37f4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/DemoCanvas.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/DemoCanvas.java
@@ -18,12 +18,6 @@
*/
package org.rhq.enterprise.gui.coregui.client;
-import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.ResourceSelector;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeTreeView;
-import org.rhq.enterprise.gui.coregui.client.report.tag.TagCloudView;
-
import com.smartgwt.client.types.Side;
import com.smartgwt.client.types.TabBarControls;
import com.smartgwt.client.widgets.Canvas;
@@ -35,6 +29,11 @@ import com.smartgwt.client.widgets.menu.events.ItemClickHandler;
import com.smartgwt.client.widgets.tab.Tab;
import com.smartgwt.client.widgets.tab.TabSet;
+import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.ResourceSelector;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeTreeView;
+import org.rhq.enterprise.gui.coregui.client.report.tag.TagCloudView;
+
/**
* @author Greg Hinkle
*/
@@ -45,7 +44,7 @@ public class DemoCanvas extends Canvas {
setWidth100();
setHeight100();
-
+
final TabSet topTabSet = new TabSet();
topTabSet.setTabBarPosition(Side.TOP);
topTabSet.setWidth100();//(1200);
@@ -60,10 +59,9 @@ public class DemoCanvas extends Canvas {
final Tab configTab = new Tab("Configuration Editor");
//Tab alertHistoryTab = new Tab("Alert History");
-
tagTab.setPane(new TagCloudView());
-
- selectorTab.setPane(new ResourceSelector());
+
+ selectorTab.setPane(new ResourceSelector("Demo Resource Selector"));
// Agent: resource (10005) type (10060)
// Raw: 10003 / 10023
@@ -93,18 +91,18 @@ public class DemoCanvas extends Canvas {
System.out.println("Loading: " + x);
topTabSet.removeTab(configTab);
switch (x) {
- case 0:
- configTab.setPane(new ConfigurationEditor(10005, 10060));
- break;
- case 1:
- configTab.setPane(new ConfigurationEditor(10003, 10023));
- break;
- case 2:
- configTab.setPane(new ConfigurationEditor(10002, 10022));
- break;
- case 3:
- configTab.setPane(new ConfigurationEditor(10149, 10134));
- break;
+ case 0:
+ configTab.setPane(new ConfigurationEditor(10005, 10060));
+ break;
+ case 1:
+ configTab.setPane(new ConfigurationEditor(10003, 10023));
+ break;
+ case 2:
+ configTab.setPane(new ConfigurationEditor(10002, 10022));
+ break;
+ case 3:
+ configTab.setPane(new ConfigurationEditor(10149, 10134));
+ break;
}
topTabSet.addTab(configTab, 0);
topTabSet.selectTab(0);
@@ -113,7 +111,8 @@ public class DemoCanvas extends Canvas {
}
});
- topTabSet.setTabBarControls(TabBarControls.TAB_SCROLLER, TabBarControls.TAB_PICKER, new MenuButton("Config Resource", configSelectMenu));
+ topTabSet.setTabBarControls(TabBarControls.TAB_SCROLLER, TabBarControls.TAB_PICKER, new MenuButton(
+ "Config Resource", configSelectMenu));
addChild(topTabSet);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java
index cca86be..5b76f3a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java
@@ -18,15 +18,9 @@
*/
package org.rhq.enterprise.gui.coregui.client.admin.roles;
-import org.rhq.core.domain.auth.Subject;
-import org.rhq.core.domain.authz.Permission;
-import org.rhq.core.domain.authz.Role;
-import org.rhq.core.domain.resource.group.ResourceGroup;
-import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-import org.rhq.enterprise.gui.coregui.client.components.HeaderLabel;
-import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.ResourceGroupSelector;
-import org.rhq.enterprise.gui.coregui.client.util.message.Message;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSCallback;
@@ -51,9 +45,15 @@ import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.layout.VLayout;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
+import org.rhq.core.domain.auth.Subject;
+import org.rhq.core.domain.authz.Permission;
+import org.rhq.core.domain.authz.Role;
+import org.rhq.core.domain.resource.group.ResourceGroup;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.components.HeaderLabel;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.ResourceGroupSelector;
+import org.rhq.enterprise.gui.coregui.client.util.message.Message;
/**
* @author Greg Hinkle
@@ -62,10 +62,8 @@ public class RoleEditView extends VLayout {
private Role roleBeingEdited;
-
private Label message = new Label("Select a role to edit...");
-
private VLayout editCanvas;
private HeaderLabel editLabel;
private DynamicForm form;
@@ -79,7 +77,6 @@ public class RoleEditView extends VLayout {
private Window editorWindow;
-
public RoleEditView() {
super();
setPadding(10);
@@ -121,13 +118,11 @@ public class RoleEditView extends VLayout {
groupSelectorItem.setTitleOrientation(TitleOrientation.TOP);
groupSelectorItem.setColSpan(2);
-
subjectSelectorItem = new CanvasItem("subjectSelectionCanvas", "Assigned Subjects");
subjectSelectorItem.setCanvas(new Label("loading...")); //new RoleSubjectSelector(null));
subjectSelectorItem.setTitleOrientation(TitleOrientation.TOP);
subjectSelectorItem.setColSpan(2);
-
SubmitItem saveButton = new SubmitItem("save", "Save");
saveButton.addClickHandler(new ClickHandler() {
@@ -144,14 +139,8 @@ public class RoleEditView extends VLayout {
}
});
-
- form.setItems(
- idItem,
- nameItem,
- permissionEditorItem,
- groupSelectorItem,
- subjectSelectorItem,
- saveButton, new ResetItem("reset", "Reset"));
+ form.setItems(idItem, nameItem, permissionEditorItem, groupSelectorItem, subjectSelectorItem, saveButton,
+ new ResetItem("reset", "Reset"));
editCanvas.addMember(form);
@@ -168,24 +157,25 @@ public class RoleEditView extends VLayout {
permissionEditorItem.setParentForm(form);
permissionEditorItem.setPermissions((Set<Permission>) record.getAttributeAsObject("permissions"));
- groupSelector = new RoleResourceGroupSelector((Collection<ResourceGroup>) record.getAttributeAsObject("resourceGroups"));
+ groupSelector = new RoleResourceGroupSelector("RoleEditor-Groups", (Collection<ResourceGroup>) record
+ .getAttributeAsObject("resourceGroups"));
groupSelectorItem.setCanvas(groupSelector);
-
- subjectSelector = new RoleSubjectSelector((Collection<Subject>) record.getAttributeAsObject("subjects"));
+ subjectSelector = new RoleSubjectSelector("RoleEditor-Subjects", (Collection<Subject>) record
+ .getAttributeAsObject("subjects"));
subjectSelectorItem.setCanvas(subjectSelector);
} catch (Throwable t) {
t.printStackTrace();
}
-// markForRedraw();
+ // markForRedraw();
}
public void editNone() {
message.show();
editCanvas.hide();
-// markForRedraw();
+ // markForRedraw();
}
public void editNew() {
@@ -195,7 +185,6 @@ public class RoleEditView extends VLayout {
editLabel.setContents("Create Role");
-
editorWindow = new Window();
editorWindow.setTitle("Create Role");
editorWindow.setWidth(800);
@@ -209,7 +198,6 @@ public class RoleEditView extends VLayout {
}
-
public void save() {
System.out.println("Saving role");
@@ -230,18 +218,17 @@ public class RoleEditView extends VLayout {
roleId = Integer.parseInt(new ListGridRecord(dsRequest.getData()).getAttribute("id"));
}
+ GWTServiceLookup.getRoleService().setAssignedResourceGroups(roleId, groupIds,
+ new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError("Failed to update role's assigned groups", caught);
+ }
- GWTServiceLookup.getRoleService().setAssignedResourceGroups(
- roleId, groupIds,
- new AsyncCallback<Void>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError("Failed to update role's assigned groups", caught);
- }
-
- public void onSuccess(Void result) {
- CoreGUI.getMessageCenter().notify(new Message("Updated assigned groups", Message.Severity.Info));
- }
- });
+ public void onSuccess(Void result) {
+ CoreGUI.getMessageCenter().notify(
+ new Message("Updated assigned groups", Message.Severity.Info));
+ }
+ });
HashSet<Integer> selectedSubjects = subjectSelector.getSelection();
int[] subjectIds = new int[selectedSubjects.size()];
@@ -250,18 +237,16 @@ public class RoleEditView extends VLayout {
subjectIds[i++] = id;
}
+ GWTServiceLookup.getRoleService().setAssignedSubjects(roleId, subjectIds, new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError("Failed to update role's assigned subjects", caught);
+ }
- GWTServiceLookup.getRoleService().setAssignedSubjects(
- roleId, subjectIds,
- new AsyncCallback<Void>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError("Failed to update role's assigned subjects", caught);
- }
-
- public void onSuccess(Void result) {
- CoreGUI.getMessageCenter().notify(new Message("Updated role assigned subjects", Message.Severity.Info));
- }
- });
+ public void onSuccess(Void result) {
+ CoreGUI.getMessageCenter().notify(
+ new Message("Updated role assigned subjects", Message.Severity.Info));
+ }
+ });
if (editorWindow != null) {
editorWindow.destroy();
@@ -270,7 +255,6 @@ public class RoleEditView extends VLayout {
});
}
-
public DynamicForm getForm() {
return form;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleResourceGroupSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleResourceGroupSelector.java
index 8b7288f..12f5fde 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleResourceGroupSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleResourceGroupSelector.java
@@ -35,8 +35,8 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.Resour
*/
public class RoleResourceGroupSelector extends ResourceGroupSelector {
- public RoleResourceGroupSelector(Collection<ResourceGroup> groups) {
- super();
+ public RoleResourceGroupSelector(String id, Collection<ResourceGroup> groups) {
+ super(id);
if (groups != null) {
ListGridRecord[] data = (new ResourceGroupsDataSource()).buildRecords(groups);
setAssigned(data);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleSubjectSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleSubjectSelector.java
index 4b8e940..42e4b2f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleSubjectSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleSubjectSelector.java
@@ -38,21 +38,17 @@ import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
*/
public class RoleSubjectSelector extends AbstractSelector<Subject> {
-
-
- public RoleSubjectSelector(Collection<Subject> subjects) {
- super();
+ public RoleSubjectSelector(String id, Collection<Subject> subjects) {
+ super(id);
if (subjects != null) {
ListGridRecord[] data = (new UsersDataSource()).buildRecords(subjects);
setAssigned(data);
}
}
-
-
@Override
protected DynamicForm getAvailableFilterForm() {
- return null; // TODO: Implement this method.
+ return null; // TODO: Implement this method.
}
@Override
@@ -62,22 +58,21 @@ public class RoleSubjectSelector extends AbstractSelector<Subject> {
@Override
protected Criteria getLatestCriteria(DynamicForm availableFilterForm) {
- return null; // TODO: Implement this method.
+ return null; // TODO: Implement this method.
}
-
public class SelectedSubjectsDataSource extends UsersDataSource {
- @Override
- public ListGridRecord[] buildRecords(Collection<Subject> subjects) {
- ListGridRecord[] records = super.buildRecords(subjects);
- for (ListGridRecord record : records) {
- if (selection.contains(record.getAttributeAsInt("id"))) {
- record.setEnabled(false);
- }
- }
- return records;
- }
- }
+ @Override
+ public ListGridRecord[] buildRecords(Collection<Subject> subjects) {
+ ListGridRecord[] records = super.buildRecords(subjects);
+ for (ListGridRecord record : records) {
+ if (selection.contains(record.getAttributeAsInt("id"))) {
+ record.setEnabled(false);
+ }
+ }
+ return records;
+ }
+ }
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/SubjectRoleSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/SubjectRoleSelector.java
index e554fef..146303a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/SubjectRoleSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/SubjectRoleSelector.java
@@ -29,11 +29,8 @@ import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.authz.Role;
-import org.rhq.core.domain.resource.Resource;
-import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.enterprise.gui.coregui.client.admin.roles.RolesDataSource;
import org.rhq.enterprise.gui.coregui.client.components.selector.AbstractSelector;
-import org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGroupsDataSource;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
/**
@@ -41,20 +38,17 @@ import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
*/
public class SubjectRoleSelector extends AbstractSelector<Role> {
-
- public SubjectRoleSelector(Collection<Role> roles) {
- super();
+ public SubjectRoleSelector(String id, Collection<Role> roles) {
+ super(id);
if (roles != null) {
ListGridRecord[] data = (new RolesDataSource()).buildRecords(roles);
setAssigned(data);
}
}
-
-
@Override
protected DynamicForm getAvailableFilterForm() {
- return null; // TODO: Implement this method.
+ return null; // TODO: Implement this method.
}
@Override
@@ -65,10 +59,9 @@ public class SubjectRoleSelector extends AbstractSelector<Role> {
@Override
protected Criteria getLatestCriteria(DynamicForm availableFilterForm) {
- return null; // TODO: Implement this method.
+ return null; // TODO: Implement this method.
}
-
public class SelectedRolesDataSource extends RolesDataSource {
@Override
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java
index 334315b..6042b4f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java
@@ -18,12 +18,8 @@
*/
package org.rhq.enterprise.gui.coregui.client.admin.users;
-import org.rhq.core.domain.auth.Subject;
-import org.rhq.core.domain.authz.Role;
-import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-import org.rhq.enterprise.gui.coregui.client.components.HeaderLabel;
-import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
-import org.rhq.enterprise.gui.coregui.client.util.message.Message;
+import java.util.HashSet;
+import java.util.Set;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSCallback;
@@ -39,28 +35,27 @@ import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.Window;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.CanvasItem;
-import com.smartgwt.client.widgets.form.fields.ResetItem;
import com.smartgwt.client.widgets.form.fields.SectionItem;
-import com.smartgwt.client.widgets.form.fields.SubmitItem;
import com.smartgwt.client.widgets.form.fields.TextItem;
-import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
-import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.VLayout;
-import java.util.HashSet;
-import java.util.Set;
+import org.rhq.core.domain.auth.Subject;
+import org.rhq.core.domain.authz.Role;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.components.HeaderLabel;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.util.message.Message;
/**
* @author Greg Hinkle
*/
public class UserEditView extends VLayout {
-
private Label message = new Label("Select a user to edit...");
-// private SubjectRolesEditorItem subjectRolesEditorItem ;
+ // private SubjectRolesEditorItem subjectRolesEditorItem ;
private VLayout editCanvas;
private HeaderLabel editLabel;
@@ -75,10 +70,9 @@ public class UserEditView extends VLayout {
private Window editorWindow;
private SubjectRoleSelector roleSelector;
-
public UserEditView() {
- dataSource = UsersDataSource.getInstance();
-
+ dataSource = UsersDataSource.getInstance();
+
setWidth100();
setHeight100();
@@ -99,42 +93,34 @@ public class UserEditView extends VLayout {
SectionItem userEditSection = new SectionItem("userEditSection", "Edit User");
-
-// TextItem firstName = new TextItem("firstName", "First Name");
-//
-// TextItem lastName = new TextItem("lastName", "Last Name");
-//
-// TextItem email = new TextItem("email", "Email Address");
-//
-//
-// BooleanItem enabled = new BooleanItem();
-// enabled.setName("enabled");
-// enabled.setTitle("Enabled");
-//
-// TextItem username = new TextItem("username", "Username");
-//
-// TextItem phone = new TextItem("phone", "Phone");
-
-
-// form.setField//s(userEditSection);
-
-
+ // TextItem firstName = new TextItem("firstName", "First Name");
+ //
+ // TextItem lastName = new TextItem("lastName", "Last Name");
+ //
+ // TextItem email = new TextItem("email", "Email Address");
+ //
+ //
+ // BooleanItem enabled = new BooleanItem();
+ // enabled.setName("enabled");
+ // enabled.setTitle("Enabled");
+ //
+ // TextItem username = new TextItem("username", "Username");
+ //
+ // TextItem phone = new TextItem("phone", "Phone");
+
+ // form.setField//s(userEditSection);
form.setUseAllDataSourceFields(true);
form.setDataSource(dataSource);
-
-
-
this.roleSelectionItem = new CanvasItem("selectRoles", "Select Roles");
this.roleSelectionItem.setTitleOrientation(TitleOrientation.TOP);
this.roleSelectionItem.setColSpan(2);
-// roleSelectionItem.setCanvas(new SubjectRoleSelector(null));
+ // roleSelectionItem.setCanvas(new SubjectRoleSelector(null));
TextItem departmentItem = new TextItem("department");
departmentItem.setRequired(false);
-
IButton saveButton = new IButton("Save");
saveButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
public void onClick(com.smartgwt.client.widgets.events.ClickEvent clickEvent) {
@@ -172,11 +158,8 @@ public class UserEditView extends VLayout {
buttonLayout.addMember(resetButton);
buttonLayout.addMember(cancelButton);
-
-
form.setItems(departmentItem, roleSelectionItem);
-
editCanvas = new VLayout();
editCanvas.addMember(form);
@@ -200,27 +183,26 @@ public class UserEditView extends VLayout {
}
GWTServiceLookup.getRoleService().setAssignedSubjectRoles(subjectId, roleIds,
- new AsyncCallback<Void>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError("Failed to set subject role assignments.",caught);
- }
+ new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError("Failed to set subject role assignments.", caught);
+ }
- public void onSuccess(Void result) {
- CoreGUI.getMessageCenter().notify(new Message("Succesfully saved new user roles.", Message.Severity.Info));
- }
- });
+ public void onSuccess(Void result) {
+ CoreGUI.getMessageCenter().notify(
+ new Message("Succesfully saved new user roles.", Message.Severity.Info));
+ }
+ });
}
});
}
-
public void editRecord(Record record) {
-// form.getDataSource().getField("username").setCanEdit(true );
+ // form.getDataSource().getField("username").setCanEdit(true );
-
- roleSelector = new SubjectRoleSelector((Set<Role>) record.getAttributeAsObject("roles"));
+ roleSelector = new SubjectRoleSelector("UserEditor-Roles", (Set<Role>) record.getAttributeAsObject("roles"));
roleSelectionItem.setCanvas(roleSelector);
try {
@@ -245,7 +227,7 @@ public class UserEditView extends VLayout {
subject = new Subject();
ListGridRecord r = dataSource.copyValues(subject);
editRecord(r);
-// form.getDataSource().getField("username").setCanEdit(false);
+ // form.getDataSource().getField("username").setCanEdit(false);
form.setSaveOperationType(DSOperationType.ADD);
editorWindow = new Window();
@@ -265,9 +247,6 @@ public class UserEditView extends VLayout {
UserEditView editView = new UserEditView();
editView.editNewInternal();
-
-
}
-
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/BundleSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/BundleSelector.java
index aaca7be..1756582 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/BundleSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/BundleSelector.java
@@ -47,8 +47,8 @@ public class BundleSelector extends AbstractSelector<Bundle> {
private BundleGWTServiceAsync bundleService = GWTServiceLookup.getBundleService();
- public BundleSelector() {
- super();
+ public BundleSelector(String id) {
+ super(id);
}
protected DynamicForm getAvailableFilterForm() {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleSummaryStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleSummaryStep.java
index 219d58f..e4281f6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleSummaryStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleSummaryStep.java
@@ -40,7 +40,7 @@ public class BundleSummaryStep extends AbstractWizardStep {
public Canvas getCanvas() {
- DynamicForm form = new DynamicForm();
+ DynamicForm form = getDynamicForm();
form.setNumCols(2);
form.setMargin(20);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDataStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDataStep.java
index 794a2c1..98490d6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDataStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDataStep.java
@@ -55,7 +55,7 @@ public class BundleUploadDataStep extends AbstractWizardStep {
}
public Canvas getCanvas() {
- final VLayout mainLayout = new VLayout();
+ final VLayout mainLayout = getVLayout();
mainLayout.setMargin(Integer.valueOf(20));
mainLayout.setWidth100();
mainLayout.setHeight(10);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDistroFileStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDistroFileStep.java
index 27f5a99..00f7b5b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDistroFileStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDistroFileStep.java
@@ -47,6 +47,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.BundleGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
public class BundleUploadDistroFileStep extends AbstractWizardStep {
@@ -128,7 +129,7 @@ public class BundleUploadDistroFileStep extends AbstractWizardStep {
urlTextItem.setRequired(false);
urlTextItem.setShowTitle(false);
urlTextItem.setWidth(400);
- DynamicForm urlForm = new DynamicForm();
+ DynamicForm urlForm = new LocatableDynamicForm("URL");
urlForm.setPadding(20);
urlForm.setWidth100();
urlForm.setItems(urlTextItem);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/DeployStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/DeployStep.java
index c96debc..b69f2ed 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/DeployStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/DeployStep.java
@@ -55,7 +55,7 @@ public class DeployStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (canvas == null) {
- canvas = new VLayout();
+ canvas = getVLayout();
canvas.setWidth100();
canvas.setHeight100();
canvas.setAlign(Alignment.CENTER);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDeploymentInfoStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDeploymentInfoStep.java
index 558d396..a2b2b97 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDeploymentInfoStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDeploymentInfoStep.java
@@ -52,7 +52,7 @@ public class GetDeploymentInfoStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (form == null) {
- form = new DynamicForm();
+ form = getDynamicForm();
form.setWidth100();
form.setNumCols(2);
form.setColWidths("50%", "*");
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDeploymentOptionsStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDeploymentOptionsStep.java
index 24ca6c7..c29ff74 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDeploymentOptionsStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDeploymentOptionsStep.java
@@ -47,7 +47,7 @@ public class GetDeploymentOptionsStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (form == null) {
- form = new DynamicForm();
+ form = getDynamicForm();
form.setWidth100();
form.setNumCols(2);
form.setColWidths("50%", "*");
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java
index 407e3d9..1ca7062 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java
@@ -59,7 +59,7 @@ public class GetDestinationStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (this.form == null) {
- this.form = new VLayout();
+ this.form = getVLayout();
this.valForm.setWidth100();
this.valForm.setNumCols(2);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/SelectBundleStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/SelectBundleStep.java
index 771e51d..2671e04 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/SelectBundleStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/SelectBundleStep.java
@@ -43,7 +43,7 @@ public class SelectBundleStep extends AbstractWizardStep {
}
public Canvas getCanvas() {
- this.selector = new BundleSelector();
+ this.selector = new BundleSelector(getName());
return this.selector;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/SelectBundleVersionStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/SelectBundleVersionStep.java
index a9529af..ef41a78 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/SelectBundleVersionStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/SelectBundleVersionStep.java
@@ -66,7 +66,7 @@ public class SelectBundleVersionStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (form == null) {
- form = new DynamicForm();
+ form = getDynamicForm();
form.setWidth100();
form.setNumCols(2);
form.setColWidths("50%", "*");
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/selection/PlatformResourceGroupSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/selection/PlatformResourceGroupSelector.java
index 75620bb..f8ec6dc 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/selection/PlatformResourceGroupSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/selection/PlatformResourceGroupSelector.java
@@ -10,8 +10,8 @@ import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
public class PlatformResourceGroupSelector extends ResourceGroupSelector {
- public PlatformResourceGroupSelector() {
- super();
+ public PlatformResourceGroupSelector(String id) {
+ super(id);
}
@Override
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java
index fd7264d..87002c3 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java
@@ -56,7 +56,8 @@ public class ConfirmationStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (layout == null) {
- layout = new VLayout(10);
+ layout = getVLayout();
+ layout.setMembersMargin(10);
BundleDeploymentCriteria c = new BundleDeploymentCriteria();
c.addFilterDestinationId(this.wizard.getDestination().getId());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/GetRevertInfoStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/GetRevertInfoStep.java
index 0164035..f008b99 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/GetRevertInfoStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/GetRevertInfoStep.java
@@ -52,7 +52,7 @@ public class GetRevertInfoStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (form == null) {
- form = new DynamicForm();
+ form = getDynamicForm();
form.setWidth100();
form.setNumCols(2);
form.setColWidths("50%", "*");
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/RevertStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/RevertStep.java
index 41566e3..bf1413c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/RevertStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/RevertStep.java
@@ -55,7 +55,7 @@ public class RevertStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (canvas == null) {
- canvas = new VLayout();
+ canvas = getVLayout();
canvas.setWidth100();
canvas.setHeight100();
canvas.setAlign(Alignment.CENTER);
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 8f143ae..6029ada 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
@@ -18,31 +18,14 @@
*/
package org.rhq.enterprise.gui.coregui.client.components.configuration;
-import org.rhq.core.domain.configuration.AbstractPropertyMap;
-import org.rhq.core.domain.configuration.Configuration;
-import org.rhq.core.domain.configuration.Property;
-import org.rhq.core.domain.configuration.PropertyList;
-import org.rhq.core.domain.configuration.PropertyMap;
-import org.rhq.core.domain.configuration.PropertySimple;
-import org.rhq.core.domain.configuration.RawConfiguration;
-import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
-import org.rhq.core.domain.configuration.definition.ConfigurationFormat;
-import org.rhq.core.domain.configuration.definition.PropertyDefinition;
-import org.rhq.core.domain.configuration.definition.PropertyDefinitionEnumeration;
-import org.rhq.core.domain.configuration.definition.PropertyDefinitionList;
-import org.rhq.core.domain.configuration.definition.PropertyDefinitionMap;
-import org.rhq.core.domain.configuration.definition.PropertyDefinitionSimple;
-import org.rhq.core.domain.configuration.definition.PropertyGroupDefinition;
-import org.rhq.core.domain.configuration.definition.PropertySimpleType;
-import org.rhq.core.domain.configuration.definition.constraint.Constraint;
-import org.rhq.core.domain.configuration.definition.constraint.IntegerRangeConstraint;
-import org.rhq.core.domain.configuration.definition.constraint.RegexConstraint;
-import org.rhq.core.domain.resource.ResourceType;
-import org.rhq.enterprise.gui.coregui.client.components.table.PropertyGrid;
-import org.rhq.enterprise.gui.coregui.client.gwt.ConfigurationGWTServiceAsync;
-import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
-import org.rhq.enterprise.gui.coregui.client.util.CanvasUtility;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Set;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.Record;
@@ -85,7 +68,6 @@ import com.smartgwt.client.widgets.form.validator.RegExpValidator;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.grid.SortNormalizer;
import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
import com.smartgwt.client.widgets.grid.events.SelectionChangedHandler;
@@ -97,7 +79,6 @@ import com.smartgwt.client.widgets.layout.SectionStackSection;
import com.smartgwt.client.widgets.layout.VLayout;
import com.smartgwt.client.widgets.menu.IMenuButton;
import com.smartgwt.client.widgets.menu.Menu;
-import com.smartgwt.client.widgets.menu.MenuButton;
import com.smartgwt.client.widgets.menu.MenuItem;
import com.smartgwt.client.widgets.menu.MenuItemSeparator;
import com.smartgwt.client.widgets.menu.events.ClickHandler;
@@ -109,21 +90,37 @@ import com.smartgwt.client.widgets.tree.Tree;
import com.smartgwt.client.widgets.tree.TreeGrid;
import com.smartgwt.client.widgets.tree.TreeNode;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import org.rhq.core.domain.configuration.AbstractPropertyMap;
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.configuration.Property;
+import org.rhq.core.domain.configuration.PropertyList;
+import org.rhq.core.domain.configuration.PropertyMap;
+import org.rhq.core.domain.configuration.PropertySimple;
+import org.rhq.core.domain.configuration.RawConfiguration;
+import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
+import org.rhq.core.domain.configuration.definition.ConfigurationFormat;
+import org.rhq.core.domain.configuration.definition.PropertyDefinition;
+import org.rhq.core.domain.configuration.definition.PropertyDefinitionEnumeration;
+import org.rhq.core.domain.configuration.definition.PropertyDefinitionList;
+import org.rhq.core.domain.configuration.definition.PropertyDefinitionMap;
+import org.rhq.core.domain.configuration.definition.PropertyDefinitionSimple;
+import org.rhq.core.domain.configuration.definition.PropertyGroupDefinition;
+import org.rhq.core.domain.configuration.definition.PropertySimpleType;
+import org.rhq.core.domain.configuration.definition.constraint.Constraint;
+import org.rhq.core.domain.configuration.definition.constraint.IntegerRangeConstraint;
+import org.rhq.core.domain.configuration.definition.constraint.RegexConstraint;
+import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.enterprise.gui.coregui.client.components.table.PropertyGrid;
+import org.rhq.enterprise.gui.coregui.client.gwt.ConfigurationGWTServiceAsync;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
+import org.rhq.enterprise.gui.coregui.client.util.CanvasUtility;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
/**
* @author Greg Hinkle
*/
-public class ConfigurationEditor extends VLayout {
-
+public class ConfigurationEditor extends LocatableVLayout {
private ConfigurationGWTServiceAsync configurationService = GWTServiceLookup.getConfigurationService();
@@ -154,7 +151,7 @@ public class ConfigurationEditor extends VLayout {
; // Need this extra semicolon for the qdox parser
public ConfigurationEditor() {
-
+ super("ConfigurationEditor");
}
public ConfigurationEditor(int resourceId, int resourceTypeId) {
@@ -162,6 +159,7 @@ public class ConfigurationEditor extends VLayout {
}
public ConfigurationEditor(int resourceId, int resourceTypeId, ConfigType configType) {
+ super("ConfigurationEditor");
this.resourceId = resourceId;
this.resourceTypeId = resourceTypeId;
this.configType = configType;
@@ -169,11 +167,11 @@ public class ConfigurationEditor extends VLayout {
}
public ConfigurationEditor(ConfigurationDefinition definition, Configuration configuration) {
+ super("ConfigurationEditor");
this.configuration = configuration;
this.definition = definition;
}
-
public Configuration getConfiguration() {
return configuration;
}
@@ -222,19 +220,19 @@ public class ConfigurationEditor extends VLayout {
}
});
- ResourceTypeRepository.Cache.getInstance().getResourceTypes(new Integer[]{resourceTypeId},
- EnumSet.of(ResourceTypeRepository.MetadataType.resourceConfigurationDefinition),
- new ResourceTypeRepository.TypesLoadedCallback() {
- public void onTypesLoaded(HashMap<Integer, ResourceType> types) {
- System.out.println("ConfigDef retreived in: " + (System.currentTimeMillis() - start));
- definition = types.get(resourceTypeId).getResourceConfigurationDefinition();
- if (definition == null) {
- loadingLabel.hide();
- showError("No configuration supported for this resource");
- }
- reload();
+ ResourceTypeRepository.Cache.getInstance().getResourceTypes(new Integer[] { resourceTypeId },
+ EnumSet.of(ResourceTypeRepository.MetadataType.resourceConfigurationDefinition),
+ new ResourceTypeRepository.TypesLoadedCallback() {
+ public void onTypesLoaded(HashMap<Integer, ResourceType> types) {
+ System.out.println("ConfigDef retreived in: " + (System.currentTimeMillis() - start));
+ definition = types.get(resourceTypeId).getResourceConfigurationDefinition();
+ if (definition == null) {
+ loadingLabel.hide();
+ showError("No configuration supported for this resource");
}
- });
+ reload();
+ }
+ });
} else if (configType == ConfigType.plugin) {
configurationService.getPluginConfiguration(resourceId, new AsyncCallback<Configuration>() {
@@ -248,50 +246,50 @@ public class ConfigurationEditor extends VLayout {
}
});
- ResourceTypeRepository.Cache.getInstance().getResourceTypes(new Integer[]{resourceTypeId}, EnumSet.of(ResourceTypeRepository.MetadataType.pluginConfigurationDefinition), new ResourceTypeRepository.TypesLoadedCallback() {
- public void onTypesLoaded(HashMap<Integer, ResourceType> types) {
- System.out.println("ConfigDef retreived in: " + (System.currentTimeMillis() - start));
- definition = types.get(resourceTypeId).getPluginConfigurationDefinition();
- if (definition == null) {
- showError("No configuration supported for this resource");
+ ResourceTypeRepository.Cache.getInstance().getResourceTypes(new Integer[] { resourceTypeId },
+ EnumSet.of(ResourceTypeRepository.MetadataType.pluginConfigurationDefinition),
+ new ResourceTypeRepository.TypesLoadedCallback() {
+ public void onTypesLoaded(HashMap<Integer, ResourceType> types) {
+ System.out.println("ConfigDef retreived in: " + (System.currentTimeMillis() - start));
+ definition = types.get(resourceTypeId).getPluginConfigurationDefinition();
+ if (definition == null) {
+ showError("No configuration supported for this resource");
+ }
+ reload();
}
- reload();
- }
- });
+ });
}
} else {
reload();
}
}
-
public void reload() {
if (definition == null || configuration == null) {
// Wait for both to load
return;
}
-
originalConfiguration = configuration.deepCopy();
-
tabSet = new TabSet();
- if (definition.getConfigurationFormat() == ConfigurationFormat.RAW || definition.getConfigurationFormat() == ConfigurationFormat.STRUCTURED_AND_RAW) {
+ if (definition.getConfigurationFormat() == ConfigurationFormat.RAW
+ || definition.getConfigurationFormat() == ConfigurationFormat.STRUCTURED_AND_RAW) {
System.out.println("Loading files view");
Tab tab = new Tab("Files");
tab.setPane(buildRawPane());
tabSet.addTab(tab);
}
- if (definition.getConfigurationFormat() == ConfigurationFormat.STRUCTURED || definition.getConfigurationFormat() == ConfigurationFormat.STRUCTURED_AND_RAW) {
+ if (definition.getConfigurationFormat() == ConfigurationFormat.STRUCTURED
+ || definition.getConfigurationFormat() == ConfigurationFormat.STRUCTURED_AND_RAW) {
System.out.println("loading properties view");
Tab tab = new Tab("Properties");
tab.setPane(buildStructuredPane());
tabSet.addTab(tab);
}
-
for (Canvas c : getChildren()) {
c.destroy();
}
@@ -323,10 +321,9 @@ public class ConfigurationEditor extends VLayout {
fileTree.setData(files);
fileTree.setWidth(250);
-
DynamicForm form = new DynamicForm();
final TextAreaItem rawEditor = new TextAreaItem();
-// rawEditor.setValue("This is a test");
+ // rawEditor.setValue("This is a test");
rawEditor.setShowTitle(false);
form.setItems(rawEditor);
form.setHeight100();
@@ -351,13 +348,11 @@ public class ConfigurationEditor extends VLayout {
return layout;
}
-
protected VLayout buildStructuredPane() {
VLayout layout = new VLayout();
List<PropertyGroupDefinition> definitions = definition.getGroupDefinitions();
-
final SectionStack sectionStack = new SectionStack();
sectionStack.setVisibilityMode(VisibilityMode.MULTIPLE);
sectionStack.setWidth100();
@@ -365,17 +360,15 @@ public class ConfigurationEditor extends VLayout {
sectionStack.setScrollSectionIntoView(true);
sectionStack.setOverflow(Overflow.AUTO);
-
if (definition.getNonGroupedProperties().size() > 0) {
sectionStack.addSection(buildGroupSection(null));
}
for (PropertyGroupDefinition definition : definitions) {
-// System.out.println("building: " + definition.getDisplayName());
+ // System.out.println("building: " + definition.getDisplayName());
sectionStack.addSection(buildGroupSection(definition));
}
-
Menu menu = new Menu();
for (SectionStackSection section : sectionStack.getSections()) {
MenuItem item = new MenuItem(section.getTitle());
@@ -404,7 +397,6 @@ public class ConfigurationEditor extends VLayout {
// TODO GH: Save button as saveListener() or remove the buttons from this form and have
// the container provide them?
-
toolStrip = new ToolStrip();
toolStrip.setBackgroundImage(null);
@@ -414,8 +406,7 @@ public class ConfigurationEditor extends VLayout {
saveButton = new IButton("Save");
saveButton.setAlign(Alignment.CENTER);
saveButton.setDisabled(true);
-// toolStrip.addMember(saveButton);
-
+ // toolStrip.addMember(saveButton);
IButton resetButton = new IButton("Reset");
resetButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
@@ -424,8 +415,7 @@ public class ConfigurationEditor extends VLayout {
}
});
-
-// toolStrip.addMember(resetButton);
+ // toolStrip.addMember(resetButton);
toolStrip.addMember(new LayoutSpacer());
toolStrip.addMember(new IMenuButton("Jump to Section", menu));
@@ -436,7 +426,6 @@ public class ConfigurationEditor extends VLayout {
return layout;
}
-
public SectionStackSection buildGroupSection(PropertyGroupDefinition group) {
SectionStackSection section;
@@ -444,16 +433,18 @@ public class ConfigurationEditor extends VLayout {
section = new SectionStackSection("General Properties");
} else {
- section = new SectionStackSection("<div style=\"float:left; font-weight: bold;\">" + group.getDisplayName() + "</div>" +
- (group.getDescription() != null
- ? ("<div style='padding-left: 50px; font-weight: normal; font-size: smaller; float: right;'>" + group.getDescription() + "</div>")
- : ""));
+ section = new SectionStackSection(
+ "<div style=\"float:left; font-weight: bold;\">"
+ + group.getDisplayName()
+ + "</div>"
+ + (group.getDescription() != null ? ("<div style='padding-left: 50px; font-weight: normal; font-size: smaller; float: right;'>"
+ + group.getDescription() + "</div>")
+ : ""));
section.setExpanded(!group.isDefaultHidden());
}
- ArrayList<PropertyDefinition> definitions = new ArrayList<PropertyDefinition>(
- ((group == null) ? definition.getNonGroupedProperties() : definition.getPropertiesInGroup(group.getName()))
- );
+ ArrayList<PropertyDefinition> definitions = new ArrayList<PropertyDefinition>(((group == null) ? definition
+ .getNonGroupedProperties() : definition.getPropertiesInGroup(group.getName())));
Collections.sort(definitions, new PropertyDefinitionComparator());
DynamicForm form = buildPropertiesForm(definitions, configuration);
@@ -462,7 +453,6 @@ public class ConfigurationEditor extends VLayout {
return section;
}
-
private DynamicForm buildPropertiesForm(ArrayList<PropertyDefinition> definitions, AbstractPropertyMap propertyMap) {
DynamicForm form = new DynamicForm();
form.setValuesManager(valuesManager);
@@ -482,13 +472,10 @@ public class ConfigurationEditor extends VLayout {
form.setCellPadding(5);
form.setColWidths(190, 28, 210);
-
ArrayList<FormItem> fields = new ArrayList<FormItem>();
-
boolean odd = true;
-
for (PropertyDefinition propertyDefinition : definitions) {
Property property = propertyMap.get(propertyDefinition.getName());
if (property == null) {
@@ -505,17 +492,18 @@ public class ConfigurationEditor extends VLayout {
return form;
}
-
- public void addItems(ArrayList<FormItem> fields, PropertyDefinition propertyDefinition, Property property, boolean oddRow) {
+ public void addItems(ArrayList<FormItem> fields, PropertyDefinition propertyDefinition, Property property,
+ boolean oddRow) {
StaticTextItem nameItem = new StaticTextItem();
nameItem.setStartRow(true);
- String title = "<b>" + (propertyDefinition.getDisplayName() != null ? propertyDefinition.getDisplayName() : propertyDefinition.getName()) + "</b>";
+ String title = "<b>"
+ + (propertyDefinition.getDisplayName() != null ? propertyDefinition.getDisplayName() : propertyDefinition
+ .getName()) + "</b>";
nameItem.setValue(title);
nameItem.setShowTitle(false);
nameItem.setCellStyle(oddRow ? "OddRow" : "EvenRow");
-
fields.add(nameItem);
FormItem valueItem = null;
@@ -523,7 +511,6 @@ public class ConfigurationEditor extends VLayout {
valueItem = buildSimpleField(fields, (PropertyDefinitionSimple) propertyDefinition, oddRow, property);
fields.add(valueItem);
-
StaticTextItem descriptionItem = new StaticTextItem();
descriptionItem.setValue(propertyDefinition.getDescription());
descriptionItem.setShowTitle(false);
@@ -533,14 +520,16 @@ public class ConfigurationEditor extends VLayout {
} else if (propertyDefinition instanceof PropertyDefinitionList) {
if (((PropertyDefinitionList) propertyDefinition).getMemberDefinition() instanceof PropertyDefinitionMap) {
// List of Maps is a specially supported case with summary fields as columns in a table
- buildListOfMapsField(fields, (PropertyDefinitionMap) ((PropertyDefinitionList) propertyDefinition).getMemberDefinition(), oddRow, (PropertyList) property);
+ buildListOfMapsField(fields, (PropertyDefinitionMap) ((PropertyDefinitionList) propertyDefinition)
+ .getMemberDefinition(), oddRow, (PropertyList) property);
}
} else if (propertyDefinition instanceof PropertyDefinitionMap) {
buildMapsField(fields, (PropertyDefinitionMap) propertyDefinition, (PropertyMap) property);
}
}
- private void buildMapsField(ArrayList<FormItem> fields, PropertyDefinitionMap propertyDefinitionMap, PropertyMap propertyMap) {
+ private void buildMapsField(ArrayList<FormItem> fields, PropertyDefinitionMap propertyDefinitionMap,
+ PropertyMap propertyMap) {
// create the property grid
PropertyGrid propertyGrid = new PropertyGrid();
propertyGrid.getNameField().setName("Name");
@@ -554,7 +543,6 @@ public class ConfigurationEditor extends VLayout {
// set the editors and attribute name where to find the record type
propertyGrid.setEditorsMap("fieldType", editorsMap);
-
if (propertyMap != null) {
ListGridRecord[] records = new ListGridRecord[propertyMap.getMap().size()];
int i = 0;
@@ -572,19 +560,19 @@ public class ConfigurationEditor extends VLayout {
CanvasItem item = new CanvasItem();
item.setCanvas(propertyGrid);
-// item.setHeight(500);
+ // item.setHeight(500);
item.setColSpan(3);
item.setEndRow(true);
item.setShowTitle(false);
fields.add(item);
-
}
- private void buildListOfMapsField(ArrayList<FormItem> fields, final PropertyDefinitionMap propertyDefinition, boolean oddRow, final PropertyList propertyList) {
+ private void buildListOfMapsField(ArrayList<FormItem> fields, final PropertyDefinitionMap propertyDefinition,
+ boolean oddRow, final PropertyList propertyList) {
final ListGrid summaryTable = new ListGrid();
-// summaryTable.setID("config_summaryTable_" + propertyDefinition.getName());
+ // summaryTable.setID("config_summaryTable_" + propertyDefinition.getName());
summaryTable.setAlternateRecordStyles(true);
summaryTable.setShowAllRecords(true);
summaryTable.setBodyOverflow(Overflow.VISIBLE);
@@ -592,7 +580,8 @@ public class ConfigurationEditor extends VLayout {
summaryTable.setAutoFitData(Autofit.HORIZONTAL);
ArrayList<ListGridField> fieldsList = new ArrayList<ListGridField>();
- ArrayList<PropertyDefinition> definitions = new ArrayList<PropertyDefinition>(propertyDefinition.getPropertyDefinitions().values());
+ ArrayList<PropertyDefinition> definitions = new ArrayList<PropertyDefinition>(propertyDefinition
+ .getPropertyDefinitions().values());
Collections.sort(definitions, new PropertyDefinitionComparator());
for (PropertyDefinition subDef : definitions) {
@@ -606,12 +595,10 @@ public class ConfigurationEditor extends VLayout {
field.setType(ListGridFieldType.FLOAT);
}
-
fieldsList.add(field);
}
}
-
if (fieldsList.size() == 0) {
// An extra "feature of the config system". If no fields are labeled summary, all are considered summary.
for (PropertyDefinition subDef : definitions) {
@@ -629,7 +616,7 @@ public class ConfigurationEditor extends VLayout {
ListGridField editField = new ListGridField("edit", 20);
editField.setType(ListGridFieldType.ICON);
-// editField.setIcon(Window.getImgURL("[SKIN]/actions/edit.png"));
+ // editField.setIcon(Window.getImgURL("[SKIN]/actions/edit.png"));
editField.setCellIcon(Window.getImgURL("[SKIN]/actions/edit.png"));
editField.setCanEdit(false);
editField.setCanGroupBy(false);
@@ -638,16 +625,16 @@ public class ConfigurationEditor extends VLayout {
editField.addRecordClickHandler(new RecordClickHandler() {
public void onRecordClick(RecordClickEvent recordClickEvent) {
System.out.println("You want to edit: " + recordClickEvent.getRecord());
- displayMapEditor(summaryTable, recordClickEvent.getRecord(), propertyDefinition, propertyList, (PropertyMap) recordClickEvent.getRecord().getAttributeAsObject("_RHQ_PROPERTY"));
+ displayMapEditor(summaryTable, recordClickEvent.getRecord(), propertyDefinition, propertyList,
+ (PropertyMap) recordClickEvent.getRecord().getAttributeAsObject("_RHQ_PROPERTY"));
}
});
fieldsList.add(editField);
-
if (!readOnly) {
ListGridField removeField = new ListGridField("remove", 20);
removeField.setType(ListGridFieldType.ICON);
-// removeField.setIcon(Window.getImgURL("[SKIN]/actions/remove.png")); //"/images/tbb_delete.gif");
+ // removeField.setIcon(Window.getImgURL("[SKIN]/actions/remove.png")); //"/images/tbb_delete.gif");
removeField.setCellIcon(Window.getImgURL("[SKIN]/actions/remove.png")); //"/images/tbb_delete.gif");
removeField.setCanEdit(false);
removeField.setCanFilter(true);
@@ -673,14 +660,11 @@ public class ConfigurationEditor extends VLayout {
fieldsList.add(removeField);
}
-
summaryTable.setFields(fieldsList.toArray(new ListGridField[fieldsList.size()]));
-
ListGridRecord[] rows = buildSummaryRecords(propertyList, definitions);
summaryTable.setData(rows);
-
VLayout summaryTableHolder = new VLayout();
ToolStrip toolStrip = new ToolStrip();
@@ -695,13 +679,11 @@ public class ConfigurationEditor extends VLayout {
toolStrip.addMember(addRowButton);
-
summaryTableHolder.setMembers(summaryTable, toolStrip);
-
CanvasItem item = new CanvasItem();
item.setCanvas(summaryTableHolder);
-// item.setHeight(500);
+ // item.setHeight(500);
item.setColSpan(3);
item.setEndRow(true);
item.setShowTitle(false);
@@ -758,14 +740,14 @@ public class ConfigurationEditor extends VLayout {
return record;
}
-
- private FormItem buildSimpleField(ArrayList<FormItem> fields, PropertyDefinitionSimple propertyDefinition, boolean oddRow, Property property) {
+ private FormItem buildSimpleField(ArrayList<FormItem> fields, PropertyDefinitionSimple propertyDefinition,
+ boolean oddRow, Property property) {
final PropertySimple propertySimple = (PropertySimple) property;
FormItem valueItem = null;
-
- boolean isUnset = (property == null || propertySimple.getStringValue() == null) && propertyDefinition.isRequired() == false;
+ boolean isUnset = (property == null || propertySimple.getStringValue() == null)
+ && propertyDefinition.isRequired() == false;
CheckboxItem unsetItem = null;
if (!propertyDefinition.isRequired()) {
@@ -784,7 +766,6 @@ public class ConfigurationEditor extends VLayout {
fields.add(spacer);
}
-
List<PropertyDefinitionEnumeration> enumeratedValues = propertyDefinition.getEnumeratedValues();
if (enumeratedValues != null && enumeratedValues.size() > 0) {
@@ -805,43 +786,44 @@ public class ConfigurationEditor extends VLayout {
} else {
switch (propertyDefinition.getType()) {
- case STRING:
- case FILE:
- case DIRECTORY:
- valueItem = new TextItem();
- valueItem.setValue(property == null ? "" : propertySimple.getStringValue());
- break;
- case LONG_STRING:
- valueItem = new TextAreaItem();
- valueItem.setValue(property == null ? "" : propertySimple.getStringValue());
- break;
- case PASSWORD:
- valueItem = new PasswordItem();
- valueItem.setValue(property == null ? "" : propertySimple.getStringValue());
- break;
- case BOOLEAN:
- valueItem = new RadioGroupItem();
- LinkedHashMap<String, String> valMap = new LinkedHashMap<String, String>();
- valMap.put("true", "Yes");
- valMap.put("false", "No");
- valueItem.setValueMap(valMap);
- valueItem.setValue(property == null || propertySimple.getStringValue() == null ? false : propertySimple.getBooleanValue());
- break;
- case INTEGER:
- case LONG:
- valueItem = new IntegerItem();
- if (property != null && propertySimple.getStringValue() != null)
- valueItem.setValue(propertySimple.getLongValue());
- break;
- case FLOAT:
- case DOUBLE:
- valueItem = new FloatItem();
- valueItem.setValue(property == null || propertySimple.getStringValue() == null ? 0 : propertySimple.getDoubleValue());
- break;
+ case STRING:
+ case FILE:
+ case DIRECTORY:
+ valueItem = new TextItem();
+ valueItem.setValue(property == null ? "" : propertySimple.getStringValue());
+ break;
+ case LONG_STRING:
+ valueItem = new TextAreaItem();
+ valueItem.setValue(property == null ? "" : propertySimple.getStringValue());
+ break;
+ case PASSWORD:
+ valueItem = new PasswordItem();
+ valueItem.setValue(property == null ? "" : propertySimple.getStringValue());
+ break;
+ case BOOLEAN:
+ valueItem = new RadioGroupItem();
+ LinkedHashMap<String, String> valMap = new LinkedHashMap<String, String>();
+ valMap.put("true", "Yes");
+ valMap.put("false", "No");
+ valueItem.setValueMap(valMap);
+ valueItem.setValue(property == null || propertySimple.getStringValue() == null ? false : propertySimple
+ .getBooleanValue());
+ break;
+ case INTEGER:
+ case LONG:
+ valueItem = new IntegerItem();
+ if (property != null && propertySimple.getStringValue() != null)
+ valueItem.setValue(propertySimple.getLongValue());
+ break;
+ case FLOAT:
+ case DOUBLE:
+ valueItem = new FloatItem();
+ valueItem.setValue(property == null || propertySimple.getStringValue() == null ? 0 : propertySimple
+ .getDoubleValue());
+ break;
}
}
-
valueItem.setRequired(propertyDefinition.isRequired());
if (propertyDefinition.getConstraints() != null) {
@@ -863,28 +845,25 @@ public class ConfigurationEditor extends VLayout {
}
}
-/*
- Click handlers seem to be turned off for disabled fields... need an alternative
- valueItem.addClickHandler(new com.smartgwt.client.widgets.form.fields.events.ClickHandler() {
- public void onClick(ClickEvent clickEvent) {
- System.out.println("Click in value field");
- clickEvent.getItem().setDisabled(false);
- unsetItem.setValue(false);
-
- }
- });
-*/
+ /*
+ Click handlers seem to be turned off for disabled fields... need an alternative
+ valueItem.addClickHandler(new com.smartgwt.client.widgets.form.fields.events.ClickHandler() {
+ public void onClick(ClickEvent clickEvent) {
+ System.out.println("Click in value field");
+ clickEvent.getItem().setDisabled(false);
+ unsetItem.setValue(false);
+ }
+ });
+ */
valueItem.setShowTitle(false);
valueItem.setDisabled(isUnset || readOnly);
valueItem.setWidth(220);
valueItem.setCellStyle(oddRow ? "OddRow" : "EvenRow");
-
final FormItem finalValueItem = valueItem;
-
finalValueItem.addChangedHandler(new ChangedHandler() {
public void onChanged(ChangedEvent changedEvent) {
propertySimple.setValue(changedEvent.getValue());
@@ -910,12 +889,11 @@ public class ConfigurationEditor extends VLayout {
return valueItem;
}
+ private void displayMapEditor(final ListGrid summaryTable, final Record existingRecord,
+ PropertyDefinitionMap definition, final PropertyList list, PropertyMap map) {
- private void displayMapEditor(final ListGrid summaryTable, final Record existingRecord, PropertyDefinitionMap definition, final PropertyList list, PropertyMap map) {
-
-
- final ArrayList<PropertyDefinition> definitions = new ArrayList<PropertyDefinition>(
- definition.getPropertyDefinitions().values());
+ final ArrayList<PropertyDefinition> definitions = new ArrayList<PropertyDefinition>(definition
+ .getPropertyDefinitions().values());
Collections.sort(definitions, new PropertyDefinitionComparator());
@@ -923,7 +901,6 @@ public class ConfigurationEditor extends VLayout {
if (newRow)
map = new PropertyMap(definition.getName());
-
final PropertyMap finalMap = map;
final PropertyMap copy = finalMap.deepCopy(true);
@@ -944,7 +921,7 @@ public class ConfigurationEditor extends VLayout {
popup.centerInPage();
final IButton saveButton = new IButton("Save");
-// saveButton.setID("config_structured_button_save");
+ // saveButton.setID("config_structured_button_save");
saveButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
public void onClick(ClickEvent clickEvent) {
@@ -963,22 +940,22 @@ public class ConfigurationEditor extends VLayout {
for (PropertyDefinition subDef : definitions) {
PropertyDefinitionSimple subDefSimple = (PropertyDefinitionSimple) subDef;
PropertySimple propertySimple = ((PropertySimple) finalMap.get(subDefSimple.getName()));
- existingRecord.setAttribute(subDefSimple.getName(), propertySimple != null ? propertySimple.getStringValue() : null);
+ existingRecord.setAttribute(subDefSimple.getName(), propertySimple != null ? propertySimple
+ .getStringValue() : null);
}
summaryTable.updateData(existingRecord);
}
summaryTable.redraw();
-// ListGridRecord[] rows = buildSummaryRecords(list, definitions);
-// summaryTable.setData(rows);
-// summaryTable.redraw();
-// summaryTable.addData();
+ // ListGridRecord[] rows = buildSummaryRecords(list, definitions);
+ // summaryTable.setData(rows);
+ // summaryTable.redraw();
+ // summaryTable.addData();
popup.destroy();
}
});
-
final IButton cancelButton = new IButton("Cancel");
cancelButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
public void onClick(ClickEvent clickEvent) {
@@ -999,16 +976,12 @@ public class ConfigurationEditor extends VLayout {
popup.show();
-
}
-
private static class PropertyDefinitionComparator implements Comparator<PropertyDefinition> {
public int compare(PropertyDefinition o1, PropertyDefinition o2) {
return new Integer(o1.getOrder()).compareTo(o2.getOrder());
}
}
-
}
-
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/RadioGroupWithComponentsItem.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/RadioGroupWithComponentsItem.java
index f2c02f5..1b49027 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/RadioGroupWithComponentsItem.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/RadioGroupWithComponentsItem.java
@@ -20,7 +20,7 @@
* if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-
+
package org.rhq.enterprise.gui.coregui.client.components.form;
import java.util.ArrayList;
@@ -34,6 +34,8 @@ import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
+
/**
* @author Greg Hinkle
*/
@@ -50,7 +52,7 @@ public class RadioGroupWithComponentsItem extends CanvasItem {
super(name, title);
this.valueMap = valueMap;
this.form = form;
- this.canvas = new RGWCCanvas();
+ this.canvas = new RGWCCanvas(title);
this.selected = null;
setCanvas(this.canvas);
}
@@ -67,8 +69,10 @@ public class RadioGroupWithComponentsItem extends CanvasItem {
return valueMap.get(this.selected);
}
- public class RGWCCanvas extends DynamicForm {
- public RGWCCanvas() {
+ public class RGWCCanvas extends LocatableDynamicForm {
+
+ public RGWCCanvas(String id) {
+ super(id);
setNumCols(3);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java
index 8fc14b0..ecdf5eb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java
@@ -38,7 +38,6 @@ import com.smartgwt.client.widgets.events.KeyPressHandler;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.events.ItemChangedEvent;
import com.smartgwt.client.widgets.form.events.ItemChangedHandler;
-import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.grid.events.RecordDropEvent;
@@ -46,22 +45,26 @@ import com.smartgwt.client.widgets.grid.events.RecordDropHandler;
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.VLayout;
import com.smartgwt.client.widgets.layout.VStack;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableListGrid;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTransferImgButton;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
/**
* @author Greg Hinkle
*/
-public abstract class AbstractSelector<T> extends VLayout {
+public abstract class AbstractSelector<T> extends LocatableVLayout {
protected HashSet<Integer> selection = new HashSet<Integer>();
protected ListGridRecord[] initialSelection;
-
- protected ListGrid availableGrid;
- protected ListGrid assignedGrid;
+ protected DynamicForm availableFilterForm;
+ protected HLayout hlayout;
+ protected LocatableListGrid availableGrid;
+ protected LocatableListGrid assignedGrid;
+ protected RPCDataSource<T> datasource;
protected TransferImgButton addButton;
protected TransferImgButton removeButton;
@@ -70,7 +73,12 @@ public abstract class AbstractSelector<T> extends VLayout {
protected Criteria latestCriteria;
- public AbstractSelector() {
+ public AbstractSelector(String id) {
+ super(id);
+ String safeId = getID();
+ hlayout = new HLayout();
+ availableGrid = new LocatableListGrid(safeId + "-availableGrid");
+ assignedGrid = new LocatableListGrid(safeId + "-assignedGrid");
}
public void setAssigned(ListGridRecord[] assignedRecords) {
@@ -91,25 +99,23 @@ public abstract class AbstractSelector<T> extends VLayout {
protected void onInit() {
super.onInit();
- final DynamicForm availableFilterForm = getAvailableFilterForm();
-
+ availableFilterForm = getAvailableFilterForm();
if (availableFilterForm != null) {
addMember(availableFilterForm);
}
- HLayout hlayout = new HLayout();
hlayout.setAlign(VerticalAlignment.BOTTOM);
- // LEFT SIDE
- availableGrid = new ListGrid();
+ // LEFT SIDE
availableGrid.setHeight(300);
availableGrid.setCanDragRecordsOut(true);
+ availableGrid.setCanAcceptDroppedRecords(true);
availableGrid.setDragTrackerMode(DragTrackerMode.ICON);
availableGrid.setTrackerImage(new ImgProperties("types/Service_up_16.png", 16, 16));
availableGrid.setDragDataAction(DragDataAction.COPY);
- availableGrid.setDataSource(getDataSource());
+ datasource = getDataSource();
+ availableGrid.setDataSource(datasource);
availableGrid.setFetchDelay(700);
-
availableGrid.setAutoFetchData(true);
availableGrid.setFields(new ListGridField("icon", 50), new ListGridField("name"));
@@ -139,12 +145,12 @@ public abstract class AbstractSelector<T> extends VLayout {
moveButtonStack.setAlign(VerticalAlignment.CENTER);
moveButtonStack.setWidth(40);
- addButton = new TransferImgButton(TransferImgButton.RIGHT);
+ addButton = new LocatableTransferImgButton(TransferImgButton.RIGHT);
addButton.setDisabled(true);
- removeButton = new TransferImgButton(TransferImgButton.LEFT);
+ removeButton = new LocatableTransferImgButton(TransferImgButton.LEFT);
removeButton.setDisabled(true);
- addAllButton = new TransferImgButton(TransferImgButton.RIGHT_ALL);
- removeAllButton = new TransferImgButton(TransferImgButton.LEFT_ALL);
+ addAllButton = new LocatableTransferImgButton(TransferImgButton.RIGHT_ALL);
+ removeAllButton = new LocatableTransferImgButton(TransferImgButton.LEFT_ALL);
removeAllButton.setDisabled(true);
moveButtonStack.addMember(addButton);
@@ -155,12 +161,11 @@ public abstract class AbstractSelector<T> extends VLayout {
hlayout.addMember(moveButtonStack);
// RIGHT SIDE
-
- assignedGrid = new ListGrid();
assignedGrid.setHeight(300);
assignedGrid.setCanReorderRecords(true);
assignedGrid.setCanDragRecordsOut(true);
-
+ assignedGrid.setDragTrackerMode(DragTrackerMode.ICON);
+ assignedGrid.setTrackerImage(new ImgProperties("types/Service_up_16.png", 16, 16));
assignedGrid.setCanAcceptDroppedRecords(true);
ListGridField iconField = new ListGridField("icon", 50);
iconField.setType(ListGridFieldType.ICON);
@@ -236,6 +241,12 @@ public abstract class AbstractSelector<T> extends VLayout {
}
});
+ availableGrid.addRecordDropHandler(new RecordDropHandler() {
+ public void onRecordDrop(RecordDropEvent recordDropEvent) {
+ deselect(recordDropEvent.getDropRecords());
+ }
+ });
+
assignedGrid.addRecordDropHandler(new RecordDropHandler() {
public void onRecordDrop(RecordDropEvent recordDropEvent) {
select(recordDropEvent.getDropRecords());
@@ -250,7 +261,18 @@ public abstract class AbstractSelector<T> extends VLayout {
}
addMember(hlayout);
+ }
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ availableGrid.destroy();
+ assignedGrid.destroy();
+ addButton.destroy();
+ removeButton.destroy();
+ addAllButton.destroy();
+ removeAllButton.destroy();
+ availableFilterForm.destroy();
}
protected void updateButtons() {
@@ -266,6 +288,7 @@ public abstract class AbstractSelector<T> extends VLayout {
record.setEnabled(false);
selection.add(record.getAttributeAsInt("id"));
}
+ assignedGrid.markForRedraw();
}
protected void deselect(ListGridRecord[] records) {
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 2418783..aa4c428 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
@@ -34,11 +34,8 @@ import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.grid.ListGrid;
-import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.events.DataArrivedEvent;
import com.smartgwt.client.widgets.grid.events.DataArrivedHandler;
-import com.smartgwt.client.widgets.grid.events.FieldStateChangedEvent;
-import com.smartgwt.client.widgets.grid.events.FieldStateChangedHandler;
import com.smartgwt.client.widgets.grid.events.SelectionChangedHandler;
import com.smartgwt.client.widgets.grid.events.SelectionEvent;
import com.smartgwt.client.widgets.layout.HLayout;
@@ -47,6 +44,8 @@ import com.smartgwt.client.widgets.layout.VLayout;
import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableIButton;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableListGrid;
/**
* @author Greg Hinkle
@@ -68,7 +67,6 @@ public class Table extends VLayout {
private String headerIcon;
-
private boolean showHeader = true;
private boolean showFooter = true;
@@ -124,7 +122,7 @@ public class Table extends VLayout {
}
public Table(String tableTitle, Criteria criteria, SortSpecifier[] sortSpecifiers, String[] excludedFieldNames,
- boolean autoFetchData) {
+ boolean autoFetchData) {
super();
setWidth100();
@@ -135,7 +133,7 @@ public class Table extends VLayout {
setTableTitle(tableTitle);
// Grid
- listGrid = new ListGrid();
+ listGrid = new LocatableListGrid(tableTitle);
if (criteria != null) {
listGrid.setInitialCriteria(criteria);
}
@@ -164,7 +162,6 @@ public class Table extends VLayout {
protected void onInit() {
super.onInit();
-
// NOTE: It is essential that we wait to hide any excluded fields until after super.onDraw() is called, since
// super.onDraw() is what actually adds the fields to the ListGrid (based on what fields are defined in
// the underlying datasource).
@@ -174,13 +171,10 @@ public class Table extends VLayout {
}
}
-
tableInfo.setWrap(false);
-
}
-
@Override
protected void onDraw() {
super.onDraw();
@@ -215,14 +209,14 @@ public class Table extends VLayout {
footer.removeMembers(footer.getMembers());
for (final TableActionInfo tableAction : tableActions) {
- IButton button = new IButton(tableAction.title);
+ IButton button = new LocatableIButton(tableAction.title);
button.setDisabled(true);
button.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
if (tableAction.confirmMessage != null) {
String message = tableAction.confirmMessage.replaceAll("\\#", String.valueOf(listGrid
- .getSelection().length));
+ .getSelection().length));
SC.ask(message, new BooleanCallback() {
public void execute(Boolean confirmed) {
@@ -244,10 +238,9 @@ public class Table extends VLayout {
footer.addMember(extraWidgetCanvas);
}
-
footer.addMember(new LayoutSpacer());
- IButton refreshButton = new IButton("Refresh");
+ IButton refreshButton = new LocatableIButton("Refresh");
refreshButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
listGrid.invalidateCache();
@@ -268,11 +261,9 @@ public class Table extends VLayout {
public void onDataArrived(DataArrivedEvent dataArrivedEvent) {
refreshTableInfo();
fieldSizes.clear();
- totalWidth = 0;
}
});
-
addMember(footer);
}
}
@@ -297,9 +288,7 @@ public class Table extends VLayout {
this.showFooter = showFooter;
}
- private int totalWidth;
private ArrayList<Integer> fieldSizes = new ArrayList<Integer>();
- private boolean autoSizing = false;
public void refresh(Criteria criteria) {
this.listGrid.invalidateCache();
@@ -311,7 +300,6 @@ public class Table extends VLayout {
this.listGrid.invalidateCache();
this.listGrid.markForRedraw();
}
-
public void setTableTitle(String titleString) {
if (titleString == null) {
@@ -334,10 +322,12 @@ public class Table extends VLayout {
title.markForRedraw();
}
+ @SuppressWarnings("unchecked")
public void setDataSource(RPCDataSource dataSource) {
listGrid.setDataSource(dataSource);
}
+ @SuppressWarnings("unchecked")
public RPCDataSource getDataSource() {
return (RPCDataSource) listGrid.getDataSource();
}
@@ -346,7 +336,6 @@ public class Table extends VLayout {
return listGrid;
}
-
public void setTitleComponent(Canvas canvas) {
this.titleComponent = canvas;
}
@@ -356,7 +345,7 @@ public class Table extends VLayout {
}
public void addTableAction(String title, SelectionEnablement enablement, String confirmation,
- TableAction tableAction) {
+ TableAction tableAction) {
if (enablement == null) {
enablement = DEFAULT_SELECTION_ENABLEMENT;
}
@@ -383,20 +372,20 @@ public class Table extends VLayout {
for (TableActionInfo tableAction : tableActions) {
boolean enabled;
switch (tableAction.enablement) {
- case ALWAYS:
- enabled = true;
- break;
- case ANY:
- enabled = (count >= 1);
- break;
- case SINGLE:
- enabled = (count == 1);
- break;
- case MULTIPLE:
- enabled = (count > 1);
- break;
- default:
- throw new IllegalStateException("Unhandled SelectionEnablement: " + tableAction.enablement.name());
+ case ALWAYS:
+ enabled = true;
+ break;
+ case ANY:
+ enabled = (count >= 1);
+ break;
+ case SINGLE:
+ enabled = (count == 1);
+ break;
+ case MULTIPLE:
+ enabled = (count > 1);
+ break;
+ default:
+ throw new IllegalStateException("Unhandled SelectionEnablement: " + tableAction.enablement.name());
}
tableAction.actionButton.setDisabled(!enabled);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/upload/DynamicCallbackForm.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/upload/DynamicCallbackForm.java
index 93b8428..691bb32 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/upload/DynamicCallbackForm.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/upload/DynamicCallbackForm.java
@@ -24,9 +24,10 @@ import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.Element;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.DeferredCommand;
-import com.smartgwt.client.widgets.form.DynamicForm;
-public class DynamicCallbackForm extends DynamicForm implements DynamicCallbackFormImplHost {
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
+
+public class DynamicCallbackForm extends LocatableDynamicForm implements DynamicCallbackFormImplHost {
private static int frameIndex = 0;
@@ -36,7 +37,7 @@ public class DynamicCallbackForm extends DynamicForm implements DynamicCallbackF
private static DynamicCallbackFormImpl impl = GWT.create(DynamicCallbackFormImpl.class);
public DynamicCallbackForm(String frameName) {
- super();
+ super(frameName);
this.frameName = frameName + (frameIndex++);
setTarget(this.frameName);
init();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/AbstractWizardStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/AbstractWizardStep.java
index 1fd87f8..d899ace 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/AbstractWizardStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/AbstractWizardStep.java
@@ -19,6 +19,11 @@
package org.rhq.enterprise.gui.coregui.client.components.wizard;
import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.layout.VLayout;
+
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
public abstract class AbstractWizardStep implements WizardStep {
@@ -33,4 +38,20 @@ public abstract class AbstractWizardStep implements WizardStep {
public boolean previousPage() {
return true;
}
+
+ /**
+ * Convenience routine returns a DynamicForm tagged for Selenium
+ * @return the form
+ */
+ protected DynamicForm getDynamicForm() {
+ return new LocatableDynamicForm(getName());
+ }
+
+ /**
+ * Convenience routine returns a VLayout tagged for Selenium
+ * @return the VLayout
+ */
+ protected VLayout getVLayout() {
+ return new LocatableVLayout(getName());
+ }
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java
index a8ff10b..611ff82 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java
@@ -36,11 +36,17 @@ import com.smartgwt.client.widgets.layout.LayoutSpacer;
import com.smartgwt.client.widgets.layout.VLayout;
import com.smartgwt.client.widgets.toolbar.ToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableIButton;
+
/**
* @author Greg Hinkle
*/
public class WizardView extends VLayout {
+ static private final String CANCEL = "Cancel";
+ static private final String NEXT = "Next";
+ static private final String PREVIOUS = "Previous";
+
private Window wizardWindow;
private Wizard wizard;
private int currentStep;
@@ -152,7 +158,7 @@ public class WizardView extends VLayout {
}
private void setupButtons() {
- cancelButton = new IButton("Cancel");
+ cancelButton = new LocatableIButton(CANCEL);
cancelButton.setDisabled(false);
cancelButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
@@ -160,7 +166,7 @@ public class WizardView extends VLayout {
closeDialog();
}
});
- previousButton = new IButton("Previous");
+ previousButton = new LocatableIButton(PREVIOUS);
previousButton.setDisabled(true);
previousButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
@@ -171,7 +177,7 @@ public class WizardView extends VLayout {
}
}
});
- nextButton = new IButton("Next");
+ nextButton = new LocatableIButton(NEXT);
nextButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
@@ -271,7 +277,7 @@ public class WizardView extends VLayout {
// Attempt to clean up canvases created in the steps
for (Canvas canvas : createdCanvases) {
- canvas.markForDestroy();
+ canvas.destroy();
}
wizardWindow.destroy();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
index 8171d96..3b5df8b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
@@ -42,14 +42,22 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
*/
public class ResourceGroupListView extends Table {
+ private static final String DEFAULT_TITLE = "Resource Groups";
+
public ResourceGroupListView() {
- super("Resource Groups");
+ this(DEFAULT_TITLE);
+ }
+
+ public ResourceGroupListView(String title) {
+ super(title);
setWidth100();
setHeight100();
}
- public ResourceGroupListView(Criteria criteria) {
- super("Resource Groups", criteria);
+ public ResourceGroupListView(Criteria criteria, String title) {
+ super(title, criteria);
+ setWidth100();
+ setHeight100();
}
@Override
@@ -102,7 +110,7 @@ public class ResourceGroupListView extends Table {
CoreGUI.getMessageCenter().notify(
new Message("Deleted resource group [" + object.getName() + "]", Severity.Info));
- CoreGUI.refresh();
+ refresh();
}
});
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupsDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupsDataSource.java
index aaaaeaa..9de2407 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupsDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupsDataSource.java
@@ -56,6 +56,11 @@ public class ResourceGroupsDataSource extends RPCDataSource<ResourceGroup> {
}
public ResourceGroupsDataSource() {
+
+ // TODO until http://code.google.com/p/smartgwt/issues/detail?id=490 is fixed always go to the server for data
+ this.setAutoCacheAllData(false);
+ this.setCacheAllData(false);
+
DataSourceField idDataField = new DataSourceIntegerField("id", "ID", 20);
idDataField.setPrimaryKey(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
index 7c0156a..8656997 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
@@ -18,37 +18,21 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.groups.definitions;
-import org.rhq.enterprise.gui.coregui.client.components.table.Table;
-import org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGroupsDataSource;
-
-import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.ListGridFieldType;
import com.smartgwt.client.types.SelectionAppearance;
import com.smartgwt.client.types.SelectionStyle;
-import com.smartgwt.client.util.BooleanCallback;
-import com.smartgwt.client.util.SC;
-import com.smartgwt.client.widgets.IButton;
-import com.smartgwt.client.widgets.Label;
-import com.smartgwt.client.widgets.events.ClickEvent;
-import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.grid.CellFormatter;
-import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.grid.events.DataArrivedEvent;
-import com.smartgwt.client.widgets.grid.events.DataArrivedHandler;
-import com.smartgwt.client.widgets.grid.events.SelectionChangedHandler;
-import com.smartgwt.client.widgets.grid.events.SelectionEvent;
-import com.smartgwt.client.widgets.layout.LayoutSpacer;
import com.smartgwt.client.widgets.layout.VLayout;
-import com.smartgwt.client.widgets.toolbar.ToolStrip;
+
+import org.rhq.enterprise.gui.coregui.client.components.table.Table;
/**
* @author Greg Hinkle
*/
public class GroupDefinitionListView extends VLayout {
-
public GroupDefinitionListView() {
setWidth100();
@@ -62,29 +46,24 @@ public class GroupDefinitionListView extends VLayout {
table.getListGrid().setSelectionType(SelectionStyle.SIMPLE);
table.getListGrid().setSelectionAppearance(SelectionAppearance.CHECKBOX);
-
ListGridField idField = new ListGridField("id", "Id", 55);
idField.setType(ListGridFieldType.INTEGER);
ListGridField nameField = new ListGridField("name", "Name", 250);
nameField.setCellFormatter(new CellFormatter() {
public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
- return "<a href=\"#ResourceGroupDefinition/" + listGridRecord.getAttribute("id") +"\">" + o + "</a>";
+ return "<a href=\"#ResourceGroupDefinition/" + listGridRecord.getAttribute("id") + "\">" + o + "</a>";
}
});
-
- ListGridField descriptionField = new ListGridField("description", "Description");
-//// ListGridField typeNameField = new ListGridField("typeName", "Type", 130);
-//// ListGridField pluginNameField = new ListGridField("pluginName", "Plugin", 100);
-//// ListGridField categoryField = new ListGridField("category", "Category", 60);
-////
-//// ListGridField availabilityField = new ListGridField("currentAvailability", "Availability", 55);
-//
-// availabilityField.setAlign(Alignment.CENTER);
-// listGrid.setFields(idField, nameField, descriptionField, typeNameField, pluginNameField, categoryField, availabilityField);
-
-
-
+ //ListGridField descriptionField = new ListGridField("description", "Description");
+ //// ListGridField typeNameField = new ListGridField("typeName", "Type", 130);
+ //// ListGridField pluginNameField = new ListGridField("pluginName", "Plugin", 100);
+ //// ListGridField categoryField = new ListGridField("category", "Category", 60);
+ ////
+ //// ListGridField availabilityField = new ListGridField("currentAvailability", "Availability", 55);
+ //
+ // availabilityField.setAlign(Alignment.CENTER);
+ // listGrid.setFields(idField, nameField, descriptionField, typeNameField, pluginNameField, categoryField, availabilityField);
addMember(table);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateStep.java
index 032cc75..8a2a8cc 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateStep.java
@@ -50,7 +50,7 @@ public class GroupCreateStep extends AbstractWizardStep {
if (form == null) {
- form = new DynamicForm();
+ form = getDynamicForm();
form.setValuesManager(new ValuesManager());
form.setWidth100();
form.setNumCols(2);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
index 55d1588..993e92b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
@@ -82,7 +82,7 @@ public class GroupCreateWizard extends AbstractWizard {
}
public void cancel() {
- // TODO: Implement this method.
+ // Nothing to do. Group is persisted after the "Finish" button.
}
public boolean createGroup() {
@@ -98,7 +98,9 @@ public class GroupCreateWizard extends AbstractWizard {
public void onSuccess(ResourceGroup result) {
CoreGUI.getMessageCenter().notify(
new Message("Saved new group " + result.getName(), Message.Severity.Info));
- // TODO: Implement this method.
+
+ // try and get the new group reflected in the UI.
+ CoreGUI.refresh();
}
});
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupMembersStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupMembersStep.java
index cc79abc..3a3048d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupMembersStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupMembersStep.java
@@ -46,7 +46,7 @@ public class GroupMembersStep extends AbstractWizardStep {
public Canvas getCanvas() {
ResourceType rt = wizard.getCompatibleGroupResourceType();
if ((selector == null) || (rt != requireType)) {
- selector = new ResourceSelector();
+ selector = new ResourceSelector(getName());
requireType = rt;
selector.setRequireType(rt);
}
@@ -54,7 +54,8 @@ public class GroupMembersStep extends AbstractWizardStep {
}
public boolean nextPage() {
- return wizard.createGroup();
+ wizard.createGroup();
+ return true; // last step
}
public String getName() {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java
index 2e2617e..c519956 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/InventoryView.java
@@ -33,7 +33,6 @@ import com.smartgwt.client.widgets.tree.Tree;
import com.smartgwt.client.widgets.tree.TreeGrid;
import com.smartgwt.client.widgets.tree.TreeNode;
-import org.rhq.core.domain.measurement.AvailabilityType;
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.resource.ResourceCategory;
import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
@@ -42,6 +41,7 @@ import org.rhq.enterprise.gui.coregui.client.ViewId;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
import org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGroupListView;
import org.rhq.enterprise.gui.coregui.client.inventory.groups.definitions.GroupDefinitionListView;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTreeGrid;
/**
* @author Greg Hinkle
@@ -50,6 +50,22 @@ public class InventoryView extends HLayout implements BookmarkableView {
public static final String VIEW_PATH = "Inventory";
+ private static final String SECTION_GROUPS = "Groups";
+ private static final String SECTION_RESOURCES = "Resources";
+
+ private static final String SUBSECTION_INVENTORY = "Inventory";
+ private static final String SUBSECTION_SAVED_SEARCHES = "Saved Searches";
+
+ private static final String PAGE_COMPATIBLE_GROUPS = "Compatible Groups";
+ private static final String PAGE_DOWN = "Down Servers";
+ private static final String PAGE_GROUPS = "All Groups";
+ private static final String PAGE_GROUP_DEFINITIONS = "Group Definitions";
+ private static final String PAGE_MIXED_GROUPS = "Mixed Groups";
+ private static final String PAGE_PLATFORMS = "Platforms";
+ private static final String PAGE_PROBLEM_GROUPS = "Problem Groups";
+ private static final String PAGE_RESOURCES = "All Resources";
+ private static final String PAGE_SERVERS = "Servers";
+ private static final String PAGE_SERVICES = "Services";
private ViewId currentSectionViewId;
private ViewId currentPageViewId;
@@ -58,7 +74,6 @@ public class InventoryView extends HLayout implements BookmarkableView {
private Canvas currentContent;
private LinkedHashMap<String, TreeGrid> treeGrids = new LinkedHashMap<String, TreeGrid>();
-
private SectionStack sectionStack;
@Override
@@ -92,7 +107,6 @@ public class InventoryView extends HLayout implements BookmarkableView {
}
});
-
SectionStackSection section = new SectionStackSection(name);
section.setExpanded(true);
section.addItem(grid);
@@ -100,7 +114,6 @@ public class InventoryView extends HLayout implements BookmarkableView {
sectionStack.addSection(section);
}
-
addMember(sectionStack);
addMember(contentCanvas);
@@ -119,34 +132,35 @@ public class InventoryView extends HLayout implements BookmarkableView {
}
private SectionStackSection buildResourcesSection() {
- final SectionStackSection section = new SectionStackSection("Resources");
+ final SectionStackSection section = new SectionStackSection(SECTION_RESOURCES);
section.setExpanded(true);
- final TreeNode allResources = new TreeNode("All Resources");
- final TreeNode onlyPlatforms = new TreeNode("Platforms");
+ final TreeNode allResources = new TreeNode(PAGE_RESOURCES);
+ final TreeNode onlyPlatforms = new TreeNode(PAGE_PLATFORMS);
onlyPlatforms.setIcon("types/Platform_up_16.png");
- final TreeNode onlyServers = new TreeNode("Servers");
+ final TreeNode onlyServers = new TreeNode(PAGE_SERVERS);
onlyServers.setIcon("types/Server_up_16.png");
- final TreeNode onlyServices = new TreeNode("Services");
+ final TreeNode onlyServices = new TreeNode(PAGE_SERVICES);
onlyServices.setIcon("types/Service_up_16.png");
- final TreeNode inventory = new TreeNode("Inventory", allResources, onlyPlatforms, onlyServers, onlyServices);
+ final TreeNode inventory = new TreeNode(SUBSECTION_INVENTORY, allResources, onlyPlatforms, onlyServers,
+ onlyServices);
- final TreeNode downServers = new TreeNode("Down Servers");
+ final TreeNode downServers = new TreeNode(PAGE_DOWN);
downServers.setIcon("types/Server_down_16.png");
- final TreeNode savedSearches = new TreeNode("Saved Searches", downServers);
+ final TreeNode savedSearches = new TreeNode(SUBSECTION_SAVED_SEARCHES, downServers);
- TreeGrid treeGrid = new TreeGrid();
+ TreeGrid treeGrid = new LocatableTreeGrid(SECTION_RESOURCES);
treeGrid.setShowHeader(false);
Tree tree = new Tree();
- tree.setRoot(new TreeNode("security", inventory, savedSearches));
+ tree.setRoot(new TreeNode(SECTION_RESOURCES, inventory, savedSearches));
treeGrid.setData(tree);
treeGrid.getTree().openAll();
- treeGrids.put("Resources", treeGrid);
+ treeGrids.put(SECTION_RESOURCES, treeGrid);
section.addItem(treeGrid);
@@ -154,28 +168,27 @@ public class InventoryView extends HLayout implements BookmarkableView {
}
private SectionStackSection buildGroupsSection() {
- final SectionStackSection section = new SectionStackSection("Groups");
+ final SectionStackSection section = new SectionStackSection(SECTION_GROUPS);
section.setExpanded(true);
- final TreeNode allGroups = new TreeNode("All Groups");
- final TreeNode onlyCompatible = new TreeNode("Compatible Groups");
- final TreeNode onlyMixed = new TreeNode("Mixed Groups");
- final TreeNode groupGroupDefinitions = new TreeNode("Group Definitions");
- final TreeNode inventory = new TreeNode("Inventory", allGroups, onlyCompatible, onlyMixed,
- groupGroupDefinitions);
+ final TreeNode allGroups = new TreeNode(PAGE_GROUPS);
+ final TreeNode onlyCompatible = new TreeNode(PAGE_COMPATIBLE_GROUPS);
+ final TreeNode onlyMixed = new TreeNode(PAGE_MIXED_GROUPS);
+ final TreeNode groupGroupDefinitions = new TreeNode(PAGE_GROUP_DEFINITIONS);
+ final TreeNode inventory = new TreeNode(SECTION_GROUPS, allGroups, onlyCompatible, onlyMixed,
+ groupGroupDefinitions);
- final TreeNode problemGroups = new TreeNode("Problem Groups");
- final TreeNode savedSearches = new TreeNode("Saved Searches", problemGroups);
+ final TreeNode problemGroups = new TreeNode(PAGE_PROBLEM_GROUPS);
+ final TreeNode savedSearches = new TreeNode(SUBSECTION_SAVED_SEARCHES, problemGroups);
- TreeGrid treeGrid = new TreeGrid();
+ TreeGrid treeGrid = new LocatableTreeGrid(SECTION_GROUPS);
treeGrid.setShowHeader(false);
Tree tree = new Tree();
- tree.setRoot(new TreeNode("clustering", inventory, savedSearches));
+ tree.setRoot(new TreeNode(SECTION_GROUPS, inventory, savedSearches));
treeGrid.setData(tree);
-
treeGrid.getTree().openAll();
- treeGrids.put("Groups", treeGrid);
+ treeGrids.put(SECTION_GROUPS, treeGrid);
section.addItem(treeGrid);
return section;
@@ -194,7 +207,6 @@ public class InventoryView extends HLayout implements BookmarkableView {
this.currentContent = newContent;
}
-
private void renderContentView(ViewPath viewPath) {
currentSectionViewId = viewPath.getCurrent();
@@ -204,39 +216,41 @@ public class InventoryView extends HLayout implements BookmarkableView {
String page = currentPageViewId.getPath();
Canvas content = null;
- if ("Resources".equals(section)) {
-
- if ("All Resources".equals(page)) {
- content = new ResourceSearchView();
- } else if ("Platforms".equals(page)) {
- content = new ResourceSearchView(new Criteria(ResourceDataSourceField.CATEGORY.propertyName(), ResourceCategory.PLATFORM.name()));
- } else if ("Servers".equals(page)) {
- content = new ResourceSearchView(new Criteria(ResourceDataSourceField.CATEGORY.propertyName(), ResourceCategory.SERVER.name()));
- } else if ("Services".equals(page)) {
- content = new ResourceSearchView(new Criteria(ResourceDataSourceField.CATEGORY.propertyName(), ResourceCategory.SERVICE.name()));
- } else if ("Down Servers".equals(page)) {
-
- Criteria criteria = new Criteria(ResourceDataSourceField.AVAILABILITY.propertyName(), AvailabilityType.DOWN.name());
+ if (SECTION_RESOURCES.equals(section)) {
+
+ if (PAGE_RESOURCES.equals(page)) {
+ content = new ResourceSearchView(null, PAGE_RESOURCES);
+ } else if (PAGE_PLATFORMS.equals(page)) {
+ content = new ResourceSearchView(new Criteria(ResourceDataSourceField.CATEGORY.propertyName(),
+ ResourceCategory.PLATFORM.name()), PAGE_PLATFORMS);
+ } else if (PAGE_SERVERS.equals(page)) {
+ content = new ResourceSearchView(new Criteria(ResourceDataSourceField.CATEGORY.propertyName(),
+ ResourceCategory.SERVER.name()), PAGE_SERVERS);
+ } else if (PAGE_SERVICES.equals(page)) {
+ content = new ResourceSearchView(new Criteria(ResourceDataSourceField.CATEGORY.propertyName(),
+ ResourceCategory.SERVICE.name()), PAGE_SERVICES);
+ } else if (PAGE_DOWN.equals(page)) {
+ Criteria criteria = new Criteria(ResourceDataSourceField.AVAILABILITY.propertyName(),
+ ResourceCategory.PLATFORM.name());
criteria.addCriteria(ResourceDataSourceField.CATEGORY.propertyName(), ResourceCategory.SERVER.name());
- content = new ResourceSearchView(criteria);
+ content = new ResourceSearchView(criteria, PAGE_DOWN);
}
- } else if ("Groups".equals(section)) {
+ } else if (SECTION_GROUPS.equals(section)) {
- if ("All Groups".equals(page)) {
+ if (PAGE_GROUPS.equals(page)) {
content = new ResourceGroupListView();
- } else if ("Compatible Groups".equals(page)) {
- content = new ResourceGroupListView(new Criteria("category", "compatible"));
- } else if ("Mixed Groups".equals(page)) {
- content = new ResourceGroupListView(new Criteria("category", "mixed"));
- } else if ("Group Definitions".equals(page)) {
+ } else if (PAGE_COMPATIBLE_GROUPS.equals(page)) {
+ content = new ResourceGroupListView(new Criteria("category", "compatible"), PAGE_COMPATIBLE_GROUPS);
+ } else if (PAGE_MIXED_GROUPS.equals(page)) {
+ content = new ResourceGroupListView(new Criteria("category", "mixed"), PAGE_MIXED_GROUPS);
+ } else if (PAGE_GROUP_DEFINITIONS.equals(page)) {
content = new GroupDefinitionListView();
- } else if ("Problem Groups".equals(page)) {
- content = new ResourceGroupListView(new Criteria("availability", "down"));
+ } else if (PAGE_PROBLEM_GROUPS.equals(page)) {
+ content = new ResourceGroupListView(new Criteria("availability", "down"), PAGE_PROBLEM_GROUPS);
}
}
-
for (String name : treeGrids.keySet()) {
TreeGrid treeGrid = treeGrids.get(name);
@@ -251,15 +265,12 @@ public class InventoryView extends HLayout implements BookmarkableView {
}
}
-
setContent(content);
-
if (content instanceof BookmarkableView) {
((BookmarkableView) content).renderView(viewPath.next().next());
}
-
}
public void renderView(ViewPath viewPath) {
@@ -280,6 +291,5 @@ public class InventoryView extends HLayout implements BookmarkableView {
}
-
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
index c0731b8..a5dde2e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
@@ -26,6 +26,7 @@ import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceD
import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
import java.util.List;
+import java.util.Map;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.user.client.rpc.AsyncCallback;
@@ -62,6 +63,10 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
public ResourceDatasource() {
super();
+ // TODO until http://code.google.com/p/smartgwt/issues/detail?id=490 is fixed always go to the server for data
+ this.setAutoCacheAllData(false);
+ this.setCacheAllData(false);
+
DataSourceField idDataField = new DataSourceIntegerField("id", "ID", 20);
idDataField.setPrimaryKey(true);
@@ -114,21 +119,24 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
});
}
+ @SuppressWarnings("unchecked")
protected ResourceCriteria getFetchCriteria(final DSRequest request) {
ResourceCriteria criteria = new ResourceCriteria();
criteria.setPageControl(getPageControl(request));
+ // TODO: This call is broken in 2.2, http://code.google.com/p/smartgwt/issues/detail?id=490
+ // when using AdvancedCriteria
+ Map<String, Object> criteriaMap = request.getCriteria().getValues();
- if (request.getCriteria().getValues().get("parentId") != null) {
- criteria.addFilterParentResourceId(Integer.parseInt((String) request.getCriteria().getValues().get(
- "parentId")));
+ if (criteriaMap.get("parentId") != null) {
+ criteria.addFilterParentResourceId(Integer.parseInt((String) criteriaMap.get("parentId")));
}
- if (request.getCriteria().getValues().get("id") != null) {
+ if (criteriaMap.get("id") != null) {
criteria.addFilterId(Integer.parseInt(request.getCriteria().getAttribute("id")));
}
- if (request.getCriteria().getValues().get("resourceIds") != null) {
+ if (criteriaMap.get("resourceIds") != null) {
int[] ids = request.getCriteria().getAttributeAsIntArray("resourceIds");
Integer[] oids = new Integer[ids.length];
for (int i = 0; i < ids.length; i++) {
@@ -138,48 +146,47 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
}
// Fetch member Resources of the group with the specified id.
- if (request.getCriteria().getValues().get("groupId") != null) {
- int groupId = Integer.parseInt((String) request.getCriteria().getValues().get("groupId"));
+ if (criteriaMap.get("groupId") != null) {
+ int groupId = Integer.parseInt((String) criteriaMap.get("groupId"));
criteria.addFilterImplicitGroupIds(groupId);
}
- if (request.getCriteria().getValues().get(NAME.propertyName()) != null) {
- criteria.addFilterName((String) request.getCriteria().getValues().get(NAME.propertyName()));
+ if (criteriaMap.get(NAME.propertyName()) != null) {
+ criteria.addFilterName((String) criteriaMap.get(NAME.propertyName()));
}
- if (request.getCriteria().getValues().get(CATEGORY.propertyName()) != null) {
- criteria.addFilterResourceCategory(ResourceCategory.valueOf(((String) request.getCriteria().getValues()
- .get(CATEGORY.propertyName())).toUpperCase()));
+ if (criteriaMap.get(CATEGORY.propertyName()) != null) {
+ criteria.addFilterResourceCategory(ResourceCategory.valueOf(((String) criteriaMap.get(CATEGORY
+ .propertyName())).toUpperCase()));
}
- if (request.getCriteria().getValues().get(AVAILABILITY.propertyName()) != null) {
- criteria.addFilterCurrentAvailability(AvailabilityType.valueOf(((String) request.getCriteria().getValues()
- .get(AVAILABILITY.propertyName())).toUpperCase()));
+ if (criteriaMap.get(AVAILABILITY.propertyName()) != null) {
+ criteria.addFilterCurrentAvailability(AvailabilityType.valueOf(((String) criteriaMap.get(AVAILABILITY
+ .propertyName())).toUpperCase()));
}
- if (request.getCriteria().getValues().get(TYPE.propertyName()) != null) {
- criteria.addFilterResourceTypeId(Integer.parseInt(((String) request.getCriteria().getValues().get(
- TYPE.propertyName()))));
+ if (criteriaMap.get(TYPE.propertyName()) != null) {
+ criteria.addFilterResourceTypeId(Integer.parseInt(((String) criteriaMap.get(TYPE.propertyName()))));
}
- if (request.getCriteria().getValues().get(PLUGIN.propertyName()) != null) {
- criteria.addFilterPluginName((String) request.getCriteria().getValues().get(PLUGIN.propertyName()));
+ if (criteriaMap.get(PLUGIN.propertyName()) != null) {
+ criteria.addFilterPluginName((String) criteriaMap.get(PLUGIN.propertyName()));
}
- if (request.getCriteria().getValues().get("tag") != null) {
- criteria.addFilterTag((Tag) request.getCriteria().getValues().get("tag"));
+ if (criteriaMap.get("tag") != null) {
+ criteria.addFilterTag((Tag) criteriaMap.get("tag"));
}
- if (request.getCriteria().getValues().get("tagNamespace") != null) {
- criteria.addFilterTagNamespace((String) request.getCriteria().getValues().get("tagNamespace"));
+ if (criteriaMap.get("tagNamespace") != null) {
+ criteria.addFilterTagNamespace((String) criteriaMap.get("tagNamespace"));
}
- if (request.getCriteria().getValues().get("tagSemantic") != null) {
- criteria.addFilterTagSemantic((String) request.getCriteria().getValues().get("tagSemantic"));
+ if (criteriaMap.get("tagSemantic") != null) {
+ criteria.addFilterTagSemantic((String) criteriaMap.get("tagSemantic"));
}
- if (request.getCriteria().getValues().get("tagName") != null) {
- criteria.addFilterTagName((String) request.getCriteria().getValues().get("tagName"));
+ if (criteriaMap.get("tagName") != null) {
+ criteria.addFilterTagName((String) criteriaMap.get("tagName"));
}
return criteria;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
index 1642c64..9a5993b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
@@ -18,36 +18,27 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.AVAILABILITY;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.CATEGORY;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.DESCRIPTION;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
+
import java.util.ArrayList;
-import com.google.gwt.event.dom.client.KeyCodes;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.data.SortSpecifier;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.ListGridFieldType;
-import com.smartgwt.client.types.SelectionAppearance;
import com.smartgwt.client.types.SelectionStyle;
-import com.smartgwt.client.widgets.form.DynamicForm;
-import com.smartgwt.client.widgets.form.fields.TextItem;
-import com.smartgwt.client.widgets.form.fields.events.KeyPressEvent;
-import com.smartgwt.client.widgets.form.fields.events.KeyPressHandler;
import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
-import javax.persistence.Id;
-
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.AVAILABILITY;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.CATEGORY;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.DESCRIPTION;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
-
/**
* @author Greg Hinkle
*/
@@ -90,24 +81,23 @@ public class ResourceSearchView extends Table {
setWidth100();
setHeight100();
-// DynamicForm searchPanel = new DynamicForm();
-// final TextItem searchBox = new TextItem("query", "Search Resources");
-// searchBox.setValue("");
-// searchPanel.setWrapItemTitles(false);
-// searchPanel.setFields(searchBox);
-
+ // DynamicForm searchPanel = new DynamicForm();
+ // final TextItem searchBox = new TextItem("query", "Search Resources");
+ // searchBox.setValue("");
+ // searchPanel.setWrapItemTitles(false);
+ // searchPanel.setFields(searchBox);
final ResourceDatasource datasource = new ResourceDatasource();
-// setTitleComponent(searchPanel);
+ // setTitleComponent(searchPanel);
setDataSource(datasource);
getListGrid().setSelectionType(SelectionStyle.SIMPLE);
-// getListGrid().setSelectionAppearance(SelectionAppearance.CHECKBOX);
+ // getListGrid().setSelectionAppearance(SelectionAppearance.CHECKBOX);
getListGrid().setResizeFieldsInRealTime(true);
ListGridField idField = new ListGridField("id", "Id", 55);
idField.setType(ListGridFieldType.INTEGER);
- ListGridField iconField = new ListGridField("icon","", 40);
+ ListGridField iconField = new ListGridField("icon", "", 40);
ListGridField nameField = new ListGridField(NAME.propertyName(), NAME.title(), 250);
nameField.setCellFormatter(new CellFormatter() {
public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
@@ -123,15 +113,14 @@ public class ResourceSearchView extends Table {
ListGridField availabilityField = new ListGridField(AVAILABILITY.propertyName(), AVAILABILITY.title(), 55);
availabilityField.setAlign(Alignment.CENTER);
getListGrid().setFields(idField, iconField, nameField, descriptionField, typeNameField, pluginNameField,
- categoryField, availabilityField);
-
- addTableAction("Uninventory", Table.SelectionEnablement.ANY,
- "Are you sure you want to delete # resources?", new TableAction() {
- public void executeAction(ListGridRecord[] selection) {
- getListGrid().removeSelectedData();
- }
- });
+ categoryField, availabilityField);
+ addTableAction("Uninventory", Table.SelectionEnablement.ANY, "Are you sure you want to delete # resources?",
+ new TableAction() {
+ public void executeAction(ListGridRecord[] selection) {
+ getListGrid().removeSelectedData();
+ }
+ });
/*searchBox.addKeyPressHandler(new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
@@ -153,13 +142,10 @@ public class ResourceSearchView extends Table {
});*/
}
-
-
public int getMatches() {
return this.getListGrid().getTotalRows();
}
-
public void addResourceSelectedListener(ResourceSelectListener listener) {
selectListeners.add(listener);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/create/OperationSchedulingStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/create/OperationSchedulingStep.java
index 0623308..7713a23 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/create/OperationSchedulingStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/create/OperationSchedulingStep.java
@@ -59,7 +59,7 @@ public class OperationSchedulingStep extends AbstractWizardStep implements ItemC
if (form == null) {
valuesManager = new ValuesManager();
- form = new DynamicForm();
+ form = getDynamicForm();
form.setValuesManager(valuesManager);
form.setWrapItemTitles(false);
form.setErrorOrientation(FormErrorOrientation.RIGHT);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ConfigurationTemplateStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ConfigurationTemplateStep.java
index 14ec617..1be6813 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ConfigurationTemplateStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ConfigurationTemplateStep.java
@@ -46,7 +46,7 @@ public class ConfigurationTemplateStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (form == null) {
- form = new DynamicForm();
+ form = getDynamicForm();
TextItem nameItem = new TextItem("resourceName", "Resource Name");
nameItem.setRequired(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceGroupSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceGroupSelector.java
index 7731067..f2f15dc 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceGroupSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceGroupSelector.java
@@ -18,13 +18,9 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource.selection;
-import java.util.ArrayList;
import java.util.Collection;
-import com.smartgwt.client.data.AdvancedCriteria;
import com.smartgwt.client.data.Criteria;
-import com.smartgwt.client.data.Criterion;
-import com.smartgwt.client.types.OperatorId;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.SelectItem;
import com.smartgwt.client.widgets.form.fields.SpacerItem;
@@ -41,8 +37,8 @@ import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
*/
public class ResourceGroupSelector extends AbstractSelector<ResourceGroup> {
- public ResourceGroupSelector() {
- super();
+ public ResourceGroupSelector(String id) {
+ super(id);
}
protected DynamicForm getAvailableFilterForm() {
@@ -63,22 +59,39 @@ public class ResourceGroupSelector extends AbstractSelector<ResourceGroup> {
return new SelectedResourceGroupsDataSource();
}
+ // TODO: Until http://code.google.com/p/smartgwt/issues/detail?id=490 is fixed, avoid AdvancedCriteria and always
+ // use server-side fetch and simple criteria. When fixed, use the commented version below. Also see
+ // ResourceGroupDataSource.
protected Criteria getLatestCriteria(DynamicForm availableFilterForm) {
String search = (String) availableFilterForm.getValue("search");
String category = (String) availableFilterForm.getValue("groupCategory");
- ArrayList<Criterion> criteria = new ArrayList<Criterion>(2);
+ Criteria criteria = new Criteria();
if (null != search) {
- criteria.add(new Criterion("name", OperatorId.CONTAINS, search));
+ criteria.addCriteria("name", search);
}
if (null != category) {
- criteria.add(new Criterion("category", OperatorId.EQUALS, category));
+ criteria.addCriteria("category", category);
}
- AdvancedCriteria latestCriteria = new AdvancedCriteria(OperatorId.AND, criteria.toArray(new Criterion[criteria
- .size()]));
- return latestCriteria;
+ return criteria;
}
+ // protected Criteria getLatestCriteria(DynamicForm availableFilterForm) {
+ // String search = (String) availableFilterForm.getValue("search");
+ // String category = (String) availableFilterForm.getValue("groupCategory");
+ // ArrayList<Criterion> criteria = new ArrayList<Criterion>(2);
+ // if (null != search) {
+ // criteria.add(new Criterion("name", OperatorId.CONTAINS, search));
+ // }
+ // if (null != category) {
+ // criteria.add(new Criterion("category", OperatorId.EQUALS, category));
+ // }
+ // AdvancedCriteria latestCriteria = new AdvancedCriteria(OperatorId.AND, criteria.toArray(new Criterion[criteria
+ // .size()]));
+ //
+ // return latestCriteria;
+ // }
+
public class SelectedResourceGroupsDataSource extends ResourceGroupsDataSource {
@Override
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceSelector.java
index 0d25f38..2115988 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceSelector.java
@@ -23,14 +23,10 @@ import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceD
import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
-import java.util.ArrayList;
import java.util.Collection;
-import com.smartgwt.client.data.AdvancedCriteria;
import com.smartgwt.client.data.Criteria;
-import com.smartgwt.client.data.Criterion;
import com.smartgwt.client.data.DSRequest;
-import com.smartgwt.client.types.OperatorId;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.IPickTreeItem;
import com.smartgwt.client.widgets.form.fields.SelectItem;
@@ -44,6 +40,7 @@ import org.rhq.enterprise.gui.coregui.client.components.selector.AbstractSelecto
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDatasource;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypePluginTreeDataSource;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
/**
* @author Greg Hinkle
@@ -52,8 +49,8 @@ public class ResourceSelector extends AbstractSelector<Resource> {
private ResourceType requireType;
- public ResourceSelector() {
- super();
+ public ResourceSelector(String id) {
+ super(id);
}
public ResourceType getRequireType() {
@@ -66,75 +63,108 @@ public class ResourceSelector extends AbstractSelector<Resource> {
}
protected DynamicForm getAvailableFilterForm() {
- DynamicForm availableFilterForm = new DynamicForm();
- availableFilterForm.setNumCols(6);
- final TextItem search = new TextItem("search", "Search");
-
- IPickTreeItem typeSelectItem = new IPickTreeItem("type", "Type");
- typeSelectItem.setDataSource(new ResourceTypePluginTreeDataSource());
- typeSelectItem.setValueField("id");
- typeSelectItem.setCanSelectParentItems(true);
- typeSelectItem.setLoadDataOnDemand(false);
- typeSelectItem.setEmptyMenuMessage("Loading...");
- typeSelectItem.setShowIcons(true);
-
- if (requireType != null) {
- // TODO: Currently ignore the typeSelectItem widget because we already know the type.
- // Alternatively, we could display it disabled but we'd want the type name to be displayed as the
- // value. To get this to display the type name I think we need to pre-fetch the type tree here. We could
- // potentially optimize typeSelectItem.setValue(requireType.getId()) to build a tree that includes only
- // this single type.
- //typeSelectItem.setValue(requireType.getId());
- //typeSelectItem.setDisabled(true);
- availableFilterForm.setItems(search);
- } else {
- SelectItem categorySelect = new SelectItem("category", "Category");
- categorySelect.setValueMap("Platform", "Server", "Service");
- categorySelect.setAllowEmptyValue(true);
-
- availableFilterForm.setItems(search, typeSelectItem, categorySelect);
+ if (null == availableFilterForm) {
+ availableFilterForm = new LocatableDynamicForm("AvailableFilterForm");
+ availableFilterForm.setNumCols(6);
+ final TextItem search = new TextItem("search", "Search");
+
+ IPickTreeItem typeSelectItem = new IPickTreeItem("type", "Type");
+ typeSelectItem.setDataSource(new ResourceTypePluginTreeDataSource());
+ typeSelectItem.setValueField("id");
+ typeSelectItem.setCanSelectParentItems(true);
+ typeSelectItem.setLoadDataOnDemand(false);
+ typeSelectItem.setEmptyMenuMessage("Loading...");
+ typeSelectItem.setShowIcons(true);
+
+ if (requireType != null) {
+ // TODO: Currently ignore the typeSelectItem widget because we already know the type.
+ // Alternatively, we could display it disabled but we'd want the type name to be displayed as the
+ // value. To get this to display the type name I think we need to pre-fetch the type tree here. We could
+ // potentially optimize typeSelectItem.setValue(requireType.getId()) to build a tree that includes only
+ // this single type.
+ //typeSelectItem.setValue(requireType.getId());
+ //typeSelectItem.setDisabled(true);
+ availableFilterForm.setItems(search);
+ } else {
+ SelectItem categorySelect = new SelectItem("category", "Category");
+ categorySelect.setValueMap("Platform", "Server", "Service");
+ categorySelect.setAllowEmptyValue(true);
+
+ availableFilterForm.setItems(search, typeSelectItem, categorySelect);
+ }
}
return availableFilterForm;
}
protected RPCDataSource<Resource> getDataSource() {
- return new SelectedResourceDataSource();
+ if (null == datasource) {
+ datasource = new SelectedResourceDataSource();
+ }
+
+ return datasource;
}
+ // TODO: Until http://code.google.com/p/smartgwt/issues/detail?id=490 is fixed, avoid AdvancedCriteria and always
+ // use server-side fetch and simple criteria. When fixed, use the commented version below. Also see
+ // ResourceDataSource.
protected Criteria getLatestCriteria(DynamicForm availableFilterForm) {
String search = (String) availableFilterForm.getValue("search");
String type = availableFilterForm.getValueAsString("type");
String category = (String) availableFilterForm.getValue("category");
- ArrayList<Criterion> criteria = new ArrayList<Criterion>(3);
+ Criteria criteria = new Criteria();
if (null != search) {
- criteria.add(new Criterion(NAME.propertyName(), OperatorId.CONTAINS, search));
+ criteria.addCriteria(NAME.propertyName(), search);
}
if (null != type) {
// If type is a number its a typeId, otherwise a plugin name
try {
Integer.parseInt(type);
- criteria.add(new Criterion(TYPE.propertyName(), OperatorId.EQUALS, type));
+ criteria.addCriteria(TYPE.propertyName(), type);
} catch (NumberFormatException nfe) {
- criteria.add(new Criterion(PLUGIN.propertyName(), OperatorId.EQUALS, type));
+ criteria.addCriteria(PLUGIN.propertyName(), type);
}
}
if (null != category) {
- criteria.add(new Criterion(CATEGORY.propertyName(), OperatorId.EQUALS, category));
+ criteria.addCriteria(CATEGORY.propertyName(), category);
}
- AdvancedCriteria latestCriteria = new AdvancedCriteria(OperatorId.AND, criteria.toArray(new Criterion[criteria
- .size()]));
- return latestCriteria;
+ return criteria;
}
+ // protected Criteria getLatestCriteria(DynamicForm availableFilterForm) {
+ // String search = (String) availableFilterForm.getValue("search");
+ // String type = availableFilterForm.getValueAsString("type");
+ // String category = (String) availableFilterForm.getValue("category");
+ // ArrayList<Criterion> criteria = new ArrayList<Criterion>(3);
+ // if (null != search) {
+ // criteria.add(new Criterion(NAME.propertyName(), OperatorId.CONTAINS, search));
+ // }
+ // if (null != type) {
+ // // If type is a number its a typeId, otherwise a plugin name
+ // try {
+ // Integer.parseInt(type);
+ // criteria.add(new Criterion(TYPE.propertyName(), OperatorId.EQUALS, type));
+ // } catch (NumberFormatException nfe) {
+ // criteria.add(new Criterion(PLUGIN.propertyName(), OperatorId.EQUALS, type));
+ // }
+ // }
+ // if (null != category) {
+ // criteria.add(new Criterion(CATEGORY.propertyName(), OperatorId.EQUALS, category));
+ // }
+ // AdvancedCriteria latestCriteria = new AdvancedCriteria(OperatorId.AND, criteria.toArray(new Criterion[criteria
+ // .size()]));
+ //
+ // return latestCriteria;
+ //}
+
private class SelectedResourceDataSource extends ResourceDatasource {
@Override
public ListGridRecord[] buildRecords(Collection<Resource> resources) {
ListGridRecord[] records = super.buildRecords(resources);
for (ListGridRecord record : records) {
- if (selection.contains(record.getAttributeAsInt("id"))) {
+ if (getSelection().contains(record.getAttributeAsInt("id"))) {
record.setEnabled(false);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
index d761dbd..53909d1 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
@@ -29,6 +29,7 @@ import com.smartgwt.client.widgets.layout.VLayout;
import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.enterprise.gui.coregui.client.components.AboutModalWindow;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Greg Hinkle
@@ -87,9 +88,10 @@ public class MenuBarView extends VLayout {
// loggedInAs.setWrap(false);
// loggedInAs.setValign(VerticalAlignment.CENTER);
// helpLayout.addMember(loggedInAs);
- topStrip.addMember(new Hyperlink("Help", "Help"));
- topStrip.addMember(new Hyperlink("Preferences", "Preferences"));
- topStrip.addMember(new Hyperlink("Log Out", "LogOut"));
+
+ topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Help", "Help")));
+ topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Preferences", "Preferences")));
+ topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Log Out", "LogOut")));
// helpLayout.setLayoutAlign(VerticalAlignment.CENTER);
// topStrip.addMember(helpLayout);
@@ -140,6 +142,7 @@ public class MenuBarView extends VLayout {
styleClass += "Selected";
}
+ // Set explicit identifiers because the generated scLocator is not getting picked up by Selenium.
headerString.append("<td id=\"" + section + "\" class=\"" + styleClass
+ "\" onclick=\"document.location='#" + section + "'\" >");
headerString.append(section);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDynamicForm.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDynamicForm.java
new file mode 100644
index 0000000..6daedc2
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDynamicForm.java
@@ -0,0 +1,24 @@
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.smartgwt.client.widgets.form.DynamicForm;
+
+/**
+ * Wrapper for com.smartgwt.client.widgets.form.DynamicForm that sets the ID for use with selenium scLocators.
+ *
+ * @author Jay Shaughnessy
+ */
+public class LocatableDynamicForm extends DynamicForm {
+
+ /**
+ * <pre>
+ * ID Format: "scClassname-id"
+ * </pre>
+ * @param id not null or empty.
+ */
+ public LocatableDynamicForm(String id) {
+ super();
+ String locatorId = this.getScClassName() + "-" + id;
+ setID(SeleniumUtility.getSafeId(locatorId, locatorId));
+ }
+
+}
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
new file mode 100644
index 0000000..74d01ae
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java
@@ -0,0 +1,24 @@
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.smartgwt.client.widgets.IButton;
+
+/**
+ * Wrapper for com.smartgwt.client.widgets.IButton that sets the ID for use with selenium scLocators.
+ *
+ * @author Jay Shaughnessy
+ */
+public class LocatableIButton extends IButton {
+
+ /**
+ * <pre>
+ * ID Format: "scClassname-title"
+ * </pre>
+ * @param id not null or empty.
+ */
+ public LocatableIButton(String title) {
+ super(title);
+ String locatorId = this.getScClassName() + "-" + title;
+ setID(SeleniumUtility.getSafeId(locatorId, locatorId));
+ }
+
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableListGrid.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableListGrid.java
new file mode 100644
index 0000000..739aee5
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableListGrid.java
@@ -0,0 +1,23 @@
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.smartgwt.client.widgets.grid.ListGrid;
+
+/**
+ * Wrapper for com.smartgwt.client.widgets.grid.ListGrid that sets the ID for use with selenium scLocators.
+ *
+ * @author Jay Shaughnessy
+ */
+public class LocatableListGrid extends ListGrid {
+
+ /**
+ * <pre>
+ * ID Format: "scClassname-id"
+ * </pre>
+ * @param id not null or empty.
+ */
+ public LocatableListGrid(String id) {
+ super();
+ String locatorId = this.getScClassName() + "-" + id;
+ setID(SeleniumUtility.getSafeId(locatorId, locatorId));
+ }
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java
new file mode 100644
index 0000000..e254411
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java
@@ -0,0 +1,47 @@
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.smartgwt.client.widgets.TransferImgButton;
+
+/**
+ * Wrapper for com.smartgwt.client.widgets.TransferImgButton that sets the ID for use with selenium scLocators.
+ *
+ * @author Jay Shaughnessy
+ */
+public class LocatableTransferImgButton extends TransferImgButton {
+
+ /**
+ * <pre>
+ * ID Format: "scClassname-img.toString()"
+ * </pre>
+ * @param id not null or empty.
+ */
+ public LocatableTransferImgButton(TransferImg img) {
+ super(img);
+ String locatorId = this.getScClassName() + "-" + getSuffix(img);
+ setID(SeleniumUtility.getSafeId(locatorId, locatorId));
+ }
+
+ private String getSuffix(TransferImg img) {
+ if (TransferImgButton.LEFT == img)
+ return "LEFT";
+ if (TransferImgButton.LEFT_ALL == img)
+ return "LEFT_ALL";
+ if (TransferImgButton.RIGHT == img)
+ return "RIGHT";
+ if (TransferImgButton.RIGHT_ALL == img)
+ return "RIGHT_ALL";
+ if (TransferImgButton.UP == img)
+ return "UP";
+ if (TransferImgButton.UP_FIRST == img)
+ return "UP_FIRST";
+ if (TransferImgButton.DOWN == img)
+ return "DOWN";
+ if (TransferImgButton.DOWN_LAST == img)
+ return "DOWN_LAST";
+ if (TransferImgButton.DELETE == img)
+ return "DELETE";
+
+ return img.toString();
+ }
+
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTreeGrid.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTreeGrid.java
new file mode 100644
index 0000000..317d795
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTreeGrid.java
@@ -0,0 +1,22 @@
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.smartgwt.client.widgets.tree.TreeGrid;
+
+/**
+ * Wrapper for com.smartgwt.client.widgets.tree.TreeGrid that sets the ID for use with selenium scLocators.
+ *
+ * @author jay shaughnessy
+ */
+public class LocatableTreeGrid extends TreeGrid {
+
+ /**
+ * ID set explicitly
+ * @param id not null or empty
+ */
+ public LocatableTreeGrid(String id) {
+ super();
+ String locatorId = this.getScClassName() + "-" + id;
+ setID(SeleniumUtility.getSafeId(locatorId, locatorId));
+ }
+
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java
new file mode 100644
index 0000000..aa2c7dd
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java
@@ -0,0 +1,24 @@
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.smartgwt.client.widgets.layout.VLayout;
+
+/**
+ * Wrapper for com.smartgwt.client.widgets.layout.VLayout that sets the ID for use with selenium scLocators.
+ *
+ * @author Jay Shaughnessy
+ */
+public class LocatableVLayout extends VLayout {
+
+ /**
+ * <pre>
+ * ID Format: "scClassname-id"
+ * </pre>
+ * @param id not null or empty.
+ */
+ public LocatableVLayout(String id) {
+ super();
+ String locatorId = this.getScClassName() + "-" + id;
+ setID(SeleniumUtility.getSafeId(locatorId, locatorId));
+ }
+
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java
new file mode 100644
index 0000000..a4d01ea
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java
@@ -0,0 +1,109 @@
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.google.gwt.user.client.ui.Hyperlink;
+import com.google.gwt.user.client.ui.UIObject;
+import com.smartgwt.client.widgets.BaseWidget;
+
+/**
+ * Utilities for assisting with Selenium Automation
+ *
+ * @author Jay Shaughnessy
+ */
+public class SeleniumUtility {
+
+ /** A default id that is not ecommended as it will clash with any other element set to the default */
+ public static final String DEFAULT_ID = "DefaultID";
+
+ /**
+ * A utility for assigning an ID to a smartgwt widget. Any current ID will be overwritten. The algorithm is:
+ * <pre>
+ * If the widget has a non-empty title, the ID is set to the title, with spaces removed.
+ * Else the ID is set to the widget's hashcode
+ * </pre>
+ * @return the updated widget
+ * @return the ID.
+ */
+ static public <T extends BaseWidget> T setId(final T widget, String unsafeId) {
+ String id = getSafeId(unsafeId, String.valueOf(widget.hashCode()));
+ widget.setID(id);
+ return widget;
+ }
+
+ /**
+ * A utility for assigning an ID to a smartgwt widget. Any current ID will be overwritten. The algorithm is:
+ * <pre>
+ * Equivalent to setId(widget, widget.getTitle());
+ * </pre>
+ * @return the updated widget
+ * @return the ID.
+ */
+ static public <T extends BaseWidget> T setId(final T widget) {
+ return setId(widget, widget.getTitle());
+ }
+
+ /**
+ * A utility for assigning an ID to a gwt uiobject. For a smartgwt widget use {@link setId(BaseWidget)}.
+ * Any current ID will be overwritten. The algorithm is:
+ * <pre>
+ * If the unsafeId parameter is non-empty, the ID is set to the unsafeId, with spaces removed.
+ * Else the ID is set to the uiobject's hashcode
+ * </pre>
+ *
+ * @param uiObject
+ * @param unsafeId
+ * @return the updated uiObject
+ */
+ static public <T extends UIObject> T setHtmlId(final T uiObject, String unsafeId) {
+ String id = getSafeId(unsafeId, String.valueOf(uiObject.hashCode()));
+ uiObject.getElement().setAttribute("id", id);
+ return uiObject;
+ }
+
+ /**
+ * A utility for assigning an ID to a gwt Hyperlink. For a smartgwt widget
+ * use {@link setId(BaseWidget)}. Any current ID will be overwritten. The algorithm is:
+ * <pre>
+ * Equivalent to setHtmlId(hyperlink, hyperlink.getText());
+ * </pre>
+ *
+ * @param hyperlink
+ * @return the updated hyperlink
+ */
+ static public <T extends Hyperlink> T setHtmlId(final T hyperlink) {
+ return setHtmlId(hyperlink, hyperlink.getText());
+ }
+
+ /**
+ * Use only if you are sure the unsafeId is not null or empty, or if DEFAULT_ID is acceptable.
+ * <pre>
+ * Equivalent to:
+ *
+ * getSafeId( unsafeId, DEFAULT_ID );
+ * </pre>
+ * @param unsafeId The desired Id but with potential problems
+ * @return a safe version of unsafeId, or, if unsafeId is null or empty, DEFAULT_ID
+ */
+ static public String getSafeId(String unsafeId) {
+
+ return getSafeId(unsafeId, DEFAULT_ID);
+ }
+
+ /**
+ * Currently performs the following:
+ * <pre>
+ * - removes spaces
+ * - removes dots
+ * </pre>
+ * @param unsafeId The desired Id but with potential problems
+ * @param defaultId
+ * @return a safe version of unsafeId, or, if unsafeId is null or empty, defaultId
+ */
+ static public String getSafeId(String unsafeId, String defaultId) {
+ if ((null == unsafeId || unsafeId.trim().isEmpty())) {
+ return defaultId;
+ }
+
+ String safeId = unsafeId.replace(" ", "").replace(".", "");
+ return safeId;
+ }
+}
commit 7677e9f4712c8915e3ca7782797d5e26d40884f4
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Aug 17 16:34:39 2010 -0400
JmxConnectionHelper.loadConnection() should set JAR_TEMP_DIR EMS control prop to PC temp dir even when PC is running in embedded mode (i.e. in the admin-console) (https://bugzilla.redhat.com/show_bug.cgi?id=624817)
diff --git a/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/helper/JmxConnectionHelper.java b/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/helper/JmxConnectionHelper.java
index 24e3b25..c07254a 100644
--- a/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/helper/JmxConnectionHelper.java
+++ b/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/helper/JmxConnectionHelper.java
@@ -54,7 +54,8 @@ public class JmxConnectionHelper {
private static final String JNP_DISABLE_DISCOVERY_JNP_INIT_PROP = "jnp.disableDiscovery";
/**
- * This is the timeout for the initial connection to the MBeanServer that is made by {@link #start(ResourceContext)}.
+ * This is the timeout for the initial connection to the MBeanServer that is made by
+ * {@link org.rhq.plugins.jbossas5.ApplicationServerComponent#start(org.rhq.core.pluginapi.inventory.ResourceContext)}.
*/
private static final int JNP_TIMEOUT = 30 * 1000; // 30 seconds
/**
@@ -189,12 +190,15 @@ public class JmxConnectionHelper {
// application files (making us unable to update them) Bug: JBNADM-670
connectionSettings.getControlProperties().setProperty(ConnectionFactory.COPY_JARS_TO_TEMP,
String.valueOf(Boolean.TRUE));
-
- // But tell it to put them in a place that we clean up when shutting down the agent
- connectionSettings.getControlProperties().setProperty(ConnectionFactory.JAR_TEMP_DIR,
- tmpDir.getAbsolutePath());
}
+ // Tell EMS to use the plugin's temp dir, so the PC will be able to clean it up and so an access control
+ // policy can easily be defined for the dir. EMS will use this for connection libraries (i.e. client
+ // jars) if COPY_JARS control prop is true, but it will also use it for the ems-mpl jar no matter what,
+ // so we need to always set it.
+ connectionSettings.getControlProperties().setProperty(ConnectionFactory.JAR_TEMP_DIR,
+ tmpDir.getAbsolutePath());
+
connectionSettings.getAdvancedProperties().setProperty(InternalVMTypeDescriptor.DEFAULT_DOMAIN_SEARCH,
"jboss");
diff --git a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerComponent.java b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerComponent.java
index 3597999..89cbd72 100644
--- a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerComponent.java
+++ b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerComponent.java
@@ -199,6 +199,7 @@ public class TomcatServerComponent implements JMXComponent, MeasurementFacet, Op
// Tell EMS to make copies of jar files so that the ems classloader doesn't lock
// application files (making us unable to update them) Bug: JBNADM-670
+ // TODO (ips): Turn this off in the embedded case.
connectionSettings.getControlProperties().setProperty(ConnectionFactory.COPY_JARS_TO_TEMP,
String.valueOf(Boolean.TRUE));
commit 8e0791428b1a223e40a898b7f5e4fcd186d900b6
Author: Greg Hinkle <ghinkle(a)redhat.com>
Date: Tue Aug 17 14:57:15 2010 -0400
build fix
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java
index bec014a..26725b2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java
@@ -31,6 +31,7 @@ import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.VLayout;
+
import org.rhq.enterprise.gui.coregui.client.components.table.TableWidget;
/**
@@ -59,7 +60,8 @@ public class UpdateCollectionIntervalWidget extends HLayout implements TableWidg
this.form = new DynamicForm();
this.form.setNumCols(3);
- IntegerItem intervalItem = new IntegerItem("interval");
+ IntegerItem intervalItem = new IntegerItem();
+ intervalItem.setName("interval");
intervalItem.setTitle("Collection Interval");
IntegerRangeValidator integerRangeValidator = new IntegerRangeValidator();
integerRangeValidator.setMin(1);
commit d60565141f6a981e068721ca2dc95e8034ffaced
Author: Greg Hinkle <ghinkle(a)redhat.com>
Date: Tue Aug 17 14:53:53 2010 -0400
Last of resource breadcrumb update issues (tab/subtab location)
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 410a4a4..5c0671c 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
@@ -18,6 +18,8 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource.detail;
+import java.util.Set;
+
import com.google.gwt.user.client.History;
import com.smartgwt.client.types.Side;
import com.smartgwt.client.widgets.layout.VLayout;
@@ -45,8 +47,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitorin
import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.summary.DashboardView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.summary.OverviewView;
-import java.util.Set;
-
/**
* Right panel of the Resource view.
*
@@ -242,8 +242,6 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res
topTabSet.selectTab(0);
}
- // TODO: This doesn't seem to actually be calling redraw(), draw(), or onDraw() on topTabSet, so subtab
- // enablement isn't getting updated...
topTabSet.markForRedraw();
}
@@ -258,7 +256,7 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res
String path = "Resource/" + this.resourceComposite.getResource().getId() + tabPath;
// But still add an item to the history, specifying false to tell it not to fire an event.
- History.newItem(path, false);
+ History.newItem(path, true);
}
}
commit 67902b25277e9cc1ae27ff0f9122a4223d098df3
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Aug 17 14:34:48 2010 -0400
misc minor fixes and tweaks
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentView.java
index 1bc3202..595a216 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentView.java
@@ -160,9 +160,9 @@ public class BundleDeploymentView extends VLayout implements BookmarkableView {
Table table = new Table("Deployment Machines");
- table.setTitleComponent(new HTMLFlow("Select a row to show install detials"));
+ table.setTitleComponent(new HTMLFlow("Select a row to show install details."));
- ListGridField resourceIcon = new ListGridField("resourceAvailabity", "");
+ ListGridField resourceIcon = new ListGridField("resourceAvailability", "");
HashMap<String, String> icons = new HashMap<String, String>();
icons.put("UP", "types/Platform_up_16.png");
icons.put("DOWN", "types/Platform_down_16.png");
@@ -204,7 +204,7 @@ public class BundleDeploymentView extends VLayout implements BookmarkableView {
record.setAttribute("resource", rd.getResource().getName());
- record.setAttribute("resourceAvailabity", rd.getResource().getCurrentAvailability().getAvailabilityType().name());
+ record.setAttribute("resourceAvailability", rd.getResource().getCurrentAvailability().getAvailabilityType().name());
record.setAttribute("resourceId", rd.getResource().getId());
record.setAttribute("resourceVersion", rd.getResource().getVersion());
record.setAttribute("status", rd.getStatus().name());
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 7b6ca8e..d35ec53 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
@@ -54,7 +54,6 @@ public class Table extends VLayout {
private static final SelectionEnablement DEFAULT_SELECTION_ENABLEMENT = SelectionEnablement.ALWAYS;
- private HLayout titleLayout;
private HTMLFlow title;
private Canvas titleComponent;
@@ -133,7 +132,7 @@ public class Table extends VLayout {
// Title
title = new HTMLFlow();
- setTableTitle(tableTitle);
+ setTableTitle(tableTitle);
// Grid
listGrid = new ListGrid();
@@ -192,7 +191,7 @@ public class Table extends VLayout {
if (showHeader) {
- titleLayout = new HLayout();
+ HLayout titleLayout = new HLayout();
titleLayout.setAutoHeight();
titleLayout.setAlign(VerticalAlignment.BOTTOM);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java
index e4daee2..bec014a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java
@@ -1,3 +1,21 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 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.common;
import com.smartgwt.client.widgets.IButton;
@@ -16,7 +34,11 @@ import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.enterprise.gui.coregui.client.components.table.TableWidget;
/**
- * TODO
+ * Widget for updating the collection intervals on the selected metrics. It displays two form fields for
+ * entering the interval and the interval's units (seconds, minutes, or hours), as well as a Set button
+ * for submitting the update.
+ *
+ * @author Ian Springer
*/
public class UpdateCollectionIntervalWidget extends HLayout implements TableWidget {
private AbstractMeasurementScheduleListView schedulesView;
@@ -37,7 +59,8 @@ public class UpdateCollectionIntervalWidget extends HLayout implements TableWidg
this.form = new DynamicForm();
this.form.setNumCols(3);
- IntegerItem intervalItem = new IntegerItem("interval", "Collection Interval");
+ IntegerItem intervalItem = new IntegerItem("interval");
+ intervalItem.setTitle("Collection Interval");
IntegerRangeValidator integerRangeValidator = new IntegerRangeValidator();
integerRangeValidator.setMin(1);
intervalItem.setValidators(integerRangeValidator);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java
index ea28b3f..ccf8ee3 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java
@@ -1,3 +1,21 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 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.groups.detail.monitoring.schedules;
import com.google.gwt.user.client.rpc.AsyncCallback;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java
index d944bd0..a9b10f2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java
@@ -1,3 +1,21 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 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.groups.detail.monitoring.schedules;
import com.smartgwt.client.data.Criteria;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java
index 10a5646..4dd6710 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java
@@ -1,3 +1,21 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 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.monitoring.schedules;
import com.google.gwt.user.client.rpc.AsyncCallback;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesView.java
index f9a1d80..9b60119 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesView.java
@@ -1,3 +1,21 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 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.monitoring.schedules;
import com.smartgwt.client.data.Criteria;
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/measurement/tables/resource/ResourceMetricsTableUIBean.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/measurement/tables/resource/ResourceMetricsTableUIBean.java
index dee8e9d..13092b8 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/measurement/tables/resource/ResourceMetricsTableUIBean.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/measurement/tables/resource/ResourceMetricsTableUIBean.java
@@ -38,6 +38,8 @@ import org.rhq.enterprise.server.measurement.uibean.MetricDisplaySummary;
import org.rhq.enterprise.server.util.LookupUtil;
/**
+ * The JSF managed bean that backs /rhq/resource/monitor/traits.xhtml.
+ *
* @author Greg Hinkle
* @author Joseph Marques
*/
commit 645db4e980313895ff6b95fcbe9fdbc680b71acd
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Aug 17 14:30:03 2010 -0400
Fix a problem with LogOut
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
index 7cd621b..1e863fb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
@@ -169,8 +169,7 @@ public class CoreGUI implements EntryPoint, ValueChangeHandler<String> {
Subject subject = result.get(0);
subject.setSessionId(sessionId);
setSessionSubject(subject);
- System.out.println("Portal-War logged in");
-
+ //System.out.println("Portal-War logged in");
}
});
} else {
@@ -311,6 +310,15 @@ public class CoreGUI implements EntryPoint, ValueChangeHandler<String> {
CoreGUI.sessionSubject = subject;
CoreGUI.userPreferences = new UserPreferences(subject);
loadProductInfo();
+ // After a user initiated logout start back at the default view
+ if ("LogOut".equals(CoreGUI.currentPath)) {
+ History.newItem(getDefaultView());
+ }
+ }
+
+ private static String getDefaultView() {
+ // TODO: should this be Dashboard or a User Preference?
+ return "";
}
public static void setContent(Canvas newContent) {
@@ -369,7 +377,6 @@ public class CoreGUI implements EntryPoint, ValueChangeHandler<String> {
// default view
History.newItem("Dashboard");
} else {
-
if (!viewPath.getCurrent().equals(currentViewId)) {
currentViewId = viewPath.getCurrent();
commit a4aeccc47dbe35f45160de17dc2b8c5205ac7fa6
Author: Greg Hinkle <ghinkle(a)redhat.com>
Date: Tue Aug 17 13:47:13 2010 -0400
Moving this off my shelf, a plugin oriented tree view for the plugin config, template metric and alert settings pages
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/PluginTypeTreeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/PluginTypeTreeView.java
new file mode 100644
index 0000000..5970507
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/PluginTypeTreeView.java
@@ -0,0 +1,115 @@
+/*
+ * 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.type;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.smartgwt.client.data.Record;
+import com.smartgwt.client.widgets.layout.VLayout;
+import com.smartgwt.client.widgets.tree.TreeGrid;
+import com.smartgwt.client.widgets.tree.TreeGridField;
+import com.smartgwt.client.widgets.tree.TreeNode;
+
+import org.rhq.core.domain.criteria.ResourceTypeCriteria;
+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.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.gwt.ResourceTypeGWTServiceAsync;
+
+/**
+ * @author Greg Hinkle
+ */
+public class PluginTypeTreeView extends VLayout {
+
+ private ResourceTypeGWTServiceAsync resourceTypeService = GWTServiceLookup.getResourceTypeGWTService();
+
+ public PluginTypeTreeView() {
+ setWidth100();
+ setHeight100();
+ }
+
+ @Override
+ protected void onDraw() {
+ super.onDraw();
+
+
+ final TreeGrid treeGrid = new CustomResourceTypeTreeGrid();
+
+ treeGrid.setHeight100();
+
+ treeGrid.setTitle("Resource Types");
+ treeGrid.setAnimateFolders(false);
+ treeGrid.setResizeFieldsInRealTime(true);
+
+
+ final TreeGridField name, plugin, category;
+ name = new TreeGridField("name");
+ plugin = new TreeGridField("plugin");
+ category = new TreeGridField("category");
+
+ treeGrid.setFields(name, plugin, category);
+
+ addMember(treeGrid);
+
+ ResourceTypeCriteria criteria = new ResourceTypeCriteria();
+ criteria.fetchParentResourceTypes(true);
+ criteria.setPageControl(PageControl.getUnlimitedInstance());
+
+ resourceTypeService.findResourceTypesByCriteria(criteria,
+ new AsyncCallback<PageList<ResourceType>>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError("Failed to load inventory discovery queue", caught);
+ }
+
+ public void onSuccess(PageList<ResourceType> result) {
+
+ treeGrid.getTree().linkNodes(ResourceTypePluginTreeDataSource.buildNodes(result));
+
+ }
+ });
+ }
+
+
+ public static class CustomResourceTypeTreeGrid extends TreeGrid {
+ @Override
+ protected String getIcon(Record record, boolean defaultState) {
+
+ if (record instanceof TreeNode) {
+ boolean open = getTree().isOpen((TreeNode) record);
+
+ if (record instanceof ResourceTypePluginTreeDataSource.ResourceTypeTreeNode) {
+ ResourceType resourceType = ((ResourceTypePluginTreeDataSource.ResourceTypeTreeNode) record).getResourceType();
+
+ switch (resourceType.getCategory()) {
+ case PLATFORM:
+ return "types/Platform_up_16.png";
+ case SERVER:
+ return "types/Server_up_16.png";
+ case SERVICE:
+ return "types/Service_up_16.png";
+ }
+ } else if (record instanceof ResourceTypePluginTreeDataSource.PluginTreeNode) {
+ return "types/plugin_16.png";
+ }
+ }
+ return null;
+ }
+ }
+}
commit 528c6e5fb51b0f5c6fdc5dc10adb5c58c1279305
Author: Greg Hinkle <ghinkle(a)redhat.com>
Date: Tue Aug 17 13:44:28 2010 -0400
dead code removal
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/SmallGraphView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/SmallGraphView.java
index 49e3974..c1dd21b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/SmallGraphView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/SmallGraphView.java
@@ -18,7 +18,6 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring;
-import java.util.ArrayList;
import java.util.Date;
import java.util.EnumSet;
import java.util.List;
@@ -42,9 +41,7 @@ import ca.nanometrics.gflot.client.options.TickFormatter;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.types.AnimationEffect;
-import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.HTMLFlow;
-import com.smartgwt.client.widgets.HTMLPane;
import com.smartgwt.client.widgets.Img;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.WidgetCanvas;
@@ -57,8 +54,6 @@ import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.criteria.ResourceCriteria;
-import org.rhq.core.domain.measurement.DataType;
-import org.rhq.core.domain.measurement.DisplayType;
import org.rhq.core.domain.measurement.MeasurementConverterClient;
import org.rhq.core.domain.measurement.MeasurementDefinition;
import org.rhq.core.domain.measurement.composite.MeasurementDataNumericHighLowComposite;
@@ -132,7 +127,7 @@ public class SmallGraphView extends VLayout {
public void setDefinitionId(int definitionId) {
this.definitionId = definitionId;
- this.definition = null;
+ this.definition = null;
}
@Override
@@ -260,8 +255,6 @@ public class SmallGraphView extends VLayout {
// create a series
if (definition != null && data != null) {
loadData(model, plotOptions);
- } else {
- loadFakeData(model, plotOptions);
}
// create the plot
@@ -362,29 +355,6 @@ public class SmallGraphView extends VLayout {
}
- private void loadFakeData(PlotModel model, PlotOptions plotOptions) {
- SeriesHandler handler = model.addSeries("Ottawa's Month Temperatures", "#007f00");
-
- // add data
- handler.add(new DataPoint(1, -10.5));
- handler.add(new DataPoint(2, -8.6));
- handler.add(new DataPoint(3, -2.4));
- handler.add(new DataPoint(4, 6));
- handler.add(new DataPoint(5, 13.6));
- handler.add(new DataPoint(6, 18.4));
- handler.add(new DataPoint(7, 21));
- handler.add(new DataPoint(8, 19.7));
- handler.add(new DataPoint(9, 14.7));
- handler.add(new DataPoint(10, 8.2));
- handler.add(new DataPoint(11, 1.5));
- handler.add(new DataPoint(12, -6.6));
-
- plotOptions.setXAxisOptions(new AxisOptions().setTicks(12).setTickFormatter(new TickFormatter() {
- public String formatTickValue(double tickValue, Axis axis) {
- return MONTH_NAMES[(int) (tickValue - 1)];
- }
- }));
- }
private void displayAsDialog() {
SmallGraphView graph = new SmallGraphView(resourceId, definition, data);
commit 7470277296582f98c47457509dbeb827e126e0a8
Author: Greg Hinkle <ghinkle(a)redhat.com>
Date: Tue Aug 17 13:41:39 2010 -0400
ResourceTree preloading, preopening, lazy fixes
Resource breadcrumb fixes
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java
index efed5ff..535cdca 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTopView.java
@@ -18,6 +18,8 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource.detail;
+import java.util.EnumSet;
+
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.layout.HLayout;
@@ -37,8 +39,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.InventoryView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import java.util.EnumSet;
-
/**
* @author Greg Hinkle
*/
@@ -125,7 +125,6 @@ public class ResourceTopView extends HLayout implements BookmarkableView {
private void completeSetSelectedResource(ResourceComposite resourceComposite, ViewPath viewPath) {
this.currentResource = resourceComposite;
- this.treeView.setSelectedResource(resourceComposite.getResource(), viewPath.getCurrent());
this.detailView.onResourceSelected(resourceComposite);
}
@@ -152,8 +151,9 @@ public class ResourceTopView extends HLayout implements BookmarkableView {
setSelectedResource(resourceId, viewPath);
}
- viewPath.next();
this.treeView.renderView(viewPath);
+
+ viewPath.next();
this.detailView.renderView(viewPath);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeDatasource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeDatasource.java
index 67417dd..1adee12 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeDatasource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeDatasource.java
@@ -23,13 +23,11 @@ import java.util.EnumSet;
import java.util.HashMap;
import java.util.List;
-import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.DSResponse;
import com.smartgwt.client.data.DataSource;
import com.smartgwt.client.data.DataSourceField;
-import com.smartgwt.client.data.Record;
import com.smartgwt.client.data.fields.DataSourceImageField;
import com.smartgwt.client.data.fields.DataSourceTextField;
import com.smartgwt.client.rpc.RPCResponse;
@@ -142,6 +140,7 @@ public class ResourceTreeDatasource extends DataSource {
// criteria.addFilterId(rootId);
processIncomingData(initialData, response, requestId);
+ response.setStatus(DSResponse.STATUS_SUCCESS);
return;
} else {
@@ -174,7 +173,7 @@ public class ResourceTreeDatasource extends DataSource {
public void onResourceTypeLoaded(List<Resource> result) {
response.setData(build(result));
processResponse(requestId, response);
-
+ response.setStatus(DSResponse.STATUS_SUCCESS);
}
});
}
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 02570b6..f01e0e6 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
@@ -18,7 +18,36 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource.detail;
+import java.util.ArrayList;
+import java.util.EnumSet;
+import java.util.List;
+
+import com.google.gwt.user.client.History;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+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.events.SelectionChangedHandler;
+import com.smartgwt.client.widgets.grid.events.SelectionEvent;
+import com.smartgwt.client.widgets.layout.VLayout;
+import com.smartgwt.client.widgets.menu.Menu;
+import com.smartgwt.client.widgets.menu.MenuItem;
+import com.smartgwt.client.widgets.menu.MenuItemSeparator;
+import com.smartgwt.client.widgets.menu.events.ClickHandler;
+import com.smartgwt.client.widgets.menu.events.MenuItemClickEvent;
+import com.smartgwt.client.widgets.tree.TreeGrid;
+import com.smartgwt.client.widgets.tree.TreeNode;
+import com.smartgwt.client.widgets.tree.events.DataArrivedEvent;
+import com.smartgwt.client.widgets.tree.events.DataArrivedHandler;
+import com.smartgwt.client.widgets.tree.events.NodeContextClickEvent;
+import com.smartgwt.client.widgets.tree.events.NodeContextClickHandler;
+
import org.rhq.core.domain.configuration.PropertySimple;
+import org.rhq.core.domain.criteria.ResourceCriteria;
import org.rhq.core.domain.criteria.ResourceTypeCriteria;
import org.rhq.core.domain.dashboard.Dashboard;
import org.rhq.core.domain.dashboard.DashboardPortlet;
@@ -43,38 +72,13 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.factory.Resource
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import com.google.gwt.user.client.History;
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.smartgwt.client.types.SelectionStyle;
-import com.smartgwt.client.util.SC;
-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.events.ShowContextMenuEvent;
-import com.smartgwt.client.widgets.events.ShowContextMenuHandler;
-import com.smartgwt.client.widgets.grid.events.SelectionChangedHandler;
-import com.smartgwt.client.widgets.grid.events.SelectionEvent;
-import com.smartgwt.client.widgets.layout.VLayout;
-import com.smartgwt.client.widgets.menu.Menu;
-import com.smartgwt.client.widgets.menu.MenuItem;
-import com.smartgwt.client.widgets.menu.MenuItemSeparator;
-import com.smartgwt.client.widgets.menu.events.ClickHandler;
-import com.smartgwt.client.widgets.menu.events.MenuItemClickEvent;
-import com.smartgwt.client.widgets.tree.TreeGrid;
-import com.smartgwt.client.widgets.tree.TreeNode;
-import com.smartgwt.client.widgets.tree.events.DataArrivedEvent;
-import com.smartgwt.client.widgets.tree.events.DataArrivedHandler;
-import com.smartgwt.client.widgets.tree.events.NodeContextClickEvent;
-import com.smartgwt.client.widgets.tree.events.NodeContextClickHandler;
-
-import java.util.ArrayList;
-import java.util.EnumSet;
-import java.util.List;
-
/**
* @author Greg Hinkle
*/
public class ResourceTreeView extends VLayout {
+
+ private int selectedResourceId;
+
private Resource selectedResource;
private Resource rootResource;
@@ -138,7 +142,6 @@ public class ResourceTreeView extends VLayout {
}
}
-
}
}
});
@@ -147,7 +150,7 @@ public class ResourceTreeView extends VLayout {
// This constructs the context menu for the resource at the time of the click.
setContextMenu(contextMenu);
-
+
treeGrid.addNodeContextClickHandler(new NodeContextClickHandler() {
public void onNodeContextClick(final NodeContextClickEvent event) {
@@ -161,6 +164,44 @@ public class ResourceTreeView extends VLayout {
}
}
});
+
+ treeGrid.addDataArrivedHandler(new DataArrivedHandler() {
+ public void onDataArrived(DataArrivedEvent dataArrivedEvent) {
+ if (!initialSelect) {
+
+ updateBreadcrumb();
+ }
+ }
+ });
+ }
+
+ private void updateBreadcrumb() {
+ TreeNode selectedNode = treeGrid.getTree().findById(String.valueOf(selectedResourceId));
+// System.out.println("Trying to preopen: " + selectedNode);
+ if (selectedNode != null) {
+ TreeNode[] parents = treeGrid.getTree().getParents(selectedNode);
+ treeGrid.getTree().openFolders(parents);
+ treeGrid.getTree().openFolder(selectedNode);
+
+ for (TreeNode p : parents) {
+// System.out.println("open? " + treeGrid.getTree().isOpen(p) + " node: " + p.getName());
+ }
+
+ treeGrid.selectRecord(selectedNode);
+ initialSelect = true;
+ treeGrid.markForRedraw();
+
+ // Update breadcrumbs
+ if (currentViewId != null) {
+ currentViewId.getBreadcrumbs().clear();
+ for (int i = parents.length - 1; i >= 0; i--) {
+ TreeNode n = parents[i];
+ adjustBreadcrumb(n, currentViewId);
+ }
+ adjustBreadcrumb(selectedNode, currentViewId);
+ CoreGUI.refreshBreadCrumbTrail();
+ }
+ }
}
@@ -252,7 +293,21 @@ public class ResourceTreeView extends VLayout {
MenuItem operationItem = new MenuItem(operationDefinition.getDisplayName());
operationItem.addClickHandler(new ClickHandler() {
public void onClick(MenuItemClickEvent event) {
- new OperationCreateWizard(selectedResource, operationDefinition).startOperationWizard();
+
+ ResourceCriteria criteria = new ResourceCriteria();
+ criteria.addFilterId(selectedResourceId);
+
+ GWTServiceLookup.getResourceService().findResourcesByCriteria(criteria,
+ new AsyncCallback<PageList<Resource>>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError("Failed to get resource to run operation",caught);
+ }
+
+ public void onSuccess(PageList<Resource> result) {
+ new OperationCreateWizard(result.get(0), operationDefinition).startOperationWizard();
+ }
+ });
+
}
});
opSubMenu.addItem(operationItem);
@@ -351,8 +406,6 @@ public class ResourceTreeView extends VLayout {
Menu defSubItem = new Menu();
defItem.setSubmenu(defSubItem);
-
-
for (final Dashboard d : result) {
MenuItem addToDBItem = new MenuItem("Add chart to Dashboard: " + d.getName());
defSubItem.addItem(addToDBItem);
@@ -361,7 +414,7 @@ public class ResourceTreeView extends VLayout {
public void onClick(MenuItemClickEvent menuItemClickEvent) {
DashboardPortlet p = new DashboardPortlet(def.getDisplayName() + " Chart", GraphPortlet.KEY, 250);
- p.getConfiguration().put(new PropertySimple(GraphPortlet.CFG_RESOURCE_ID, selectedResource.getId()));
+ p.getConfiguration().put(new PropertySimple(GraphPortlet.CFG_RESOURCE_ID, selectedResourceId));
p.getConfiguration().put(new PropertySimple(GraphPortlet.CFG_DEFINITION_ID, def.getId()));
d.addPortlet(p, 0, 0);
@@ -405,12 +458,12 @@ public class ResourceTreeView extends VLayout {
this.rootResource = rootResource;
}
- public void setSelectedResource(final Resource selectedResource, final ViewId viewId) {
- this.selectedResource = selectedResource;
+ public void setSelectedResource(final int selectedResourceId) {
+ this.selectedResourceId = selectedResourceId;
TreeNode node = null;
if (treeGrid != null && treeGrid.getTree() != null
- && (node = treeGrid.getTree().findById(String.valueOf(selectedResource.getId()))) != null) {
+ && (node = treeGrid.getTree().findById(String.valueOf(selectedResourceId))) != null) {
// This is the case where the tree was previously loaded and we get fired to look at a different
// node in the same tree and just have to switch the selection
@@ -423,6 +476,9 @@ public class ResourceTreeView extends VLayout {
treeGrid.selectRecord(node);
+ updateBreadcrumb();
+ /*
+ TODO DELETEME
// Update breadcrumbs
viewId.getBreadcrumbs().clear();
for (int i = parents.length - 1; i >= 0; i--) {
@@ -432,14 +488,15 @@ public class ResourceTreeView extends VLayout {
adjustBreadcrumb(node, viewId);
CoreGUI.refreshBreadCrumbTrail();
+*/
-
- // Todo: update viewId's breadcrumbs with known data
} else {
+ // This is for cases where we have to load the tree fresh including down to the currently visible node
+
final ResourceGWTServiceAsync resourceService = GWTServiceLookup.getResourceService();
// This is an expensive call, but loads all nodes that are visible in the tree given a selected resource
- resourceService.getResourceLineageAndSiblings(selectedResource.getId(), new AsyncCallback<List<Resource>>() {
+ resourceService.getResourceLineageAndSiblings(selectedResourceId, new AsyncCallback<List<Resource>>() {
public void onFailure(Throwable caught) {
CoreGUI.getErrorHandler().handleError("Failed to lookup platform for tree", caught);
}
@@ -457,39 +514,7 @@ public class ResourceTreeView extends VLayout {
setRootResource(root);
- treeGrid.addDataArrivedHandler(new DataArrivedHandler() {
- public void onDataArrived(DataArrivedEvent dataArrivedEvent) {
- if (!initialSelect) {
- TreeNode selectedNode = treeGrid.getTree().findById(String.valueOf(selectedResource.getId()));
-// System.out.println("Trying to preopen: " + selectedNode);
- if (selectedNode != null) {
- TreeNode[] parents = treeGrid.getTree().getParents(selectedNode);
- treeGrid.getTree().openFolders(parents);
- treeGrid.getTree().openFolder(selectedNode);
-
- for (TreeNode p : parents) {
-// System.out.println("open? " + treeGrid.getTree().isOpen(p) + " node: " + p.getName());
- }
-
- treeGrid.selectRecord(selectedNode);
- initialSelect = true;
- treeGrid.markForRedraw();
-
- // Update breadcrumbs
- if (viewId != null) {
- viewId.getBreadcrumbs().clear();
- for (int i = parents.length - 1; i >= 0; i--) {
- TreeNode n = parents[i];
- adjustBreadcrumb(n, viewId);
- }
- adjustBreadcrumb(selectedNode, viewId);
- CoreGUI.refreshBreadCrumbTrail();
- }
- }
- }
- }
- });
ResourceTreeDatasource dataSource = new ResourceTreeDatasource(result);
treeGrid.setDataSource(dataSource);
@@ -500,7 +525,16 @@ public class ResourceTreeView extends VLayout {
addMember(treeGrid);
- TreeNode selectedNode = treeGrid.getTree().findById(String.valueOf(selectedResource.getId()));
+ treeGrid.fetchData(treeGrid.getCriteria(),new DSCallback() {
+ public void execute(DSResponse dsResponse, Object o, DSRequest dsRequest) {
+ System.out.println("Here!!!!!");
+ updateBreadcrumb();
+ }
+ });
+
+
+
+ TreeNode selectedNode = treeGrid.getTree().findById(String.valueOf(selectedResourceId));
// System.out.println("Trying to preopen: " + selectedNode);
if (selectedNode != null) {
// System.out.println("Preopen node!!!");
@@ -512,6 +546,8 @@ public class ResourceTreeView extends VLayout {
System.out.println("open? " + treeGrid.getTree().isOpen(p) + " node: " + p.getName());
}
+ updateBreadcrumb();
+
treeGrid.selectRecord(selectedNode);
initialSelect = true;
treeGrid.markForRedraw();
@@ -527,7 +563,7 @@ public class ResourceTreeView extends VLayout {
treeGrid.getTree().linkNodes(ResourceTreeDatasource.build(result));
- TreeNode selectedNode = treeGrid.getTree().findById(String.valueOf(selectedResource.getId()));
+ TreeNode selectedNode = treeGrid.getTree().findById(String.valueOf(selectedResourceId));
if (selectedNode != null) {
treeGrid.deselectAllRecords();
treeGrid.selectRecord(selectedNode);
@@ -536,6 +572,8 @@ public class ResourceTreeView extends VLayout {
treeGrid.getTree().openFolders(parents);
treeGrid.getTree().openFolder(selectedNode);
+ /*
+ todo deleteme
// Update breadcrumbs
viewId.getBreadcrumbs().clear();
for (int i = parents.length - 1; i >= 0; i--) {
@@ -543,10 +581,10 @@ public class ResourceTreeView extends VLayout {
adjustBreadcrumb(n, viewId);
}
adjustBreadcrumb(selectedNode, viewId);
- CoreGUI.refreshBreadCrumbTrail();
+ CoreGUI.refreshBreadCrumbTrail();*/
} else {
- CoreGUI.getMessageCenter().notify(new Message("Failed to select resource [" + selectedResource.getId() + "] in tree.", Message.Severity.Warning));
+ CoreGUI.getMessageCenter().notify(new Message("Failed to select resource [" + selectedResourceId + "] in tree.", Message.Severity.Warning));
}
@@ -556,7 +594,7 @@ public class ResourceTreeView extends VLayout {
}
- TreeNode selectedNode = treeGrid.getTree().findById(String.valueOf(selectedResource.getId()));
+ TreeNode selectedNode = treeGrid.getTree().findById(String.valueOf(selectedResourceId));
// System.out.println("Trying to preopen: " + selectedNode);
if (selectedNode != null) {
TreeNode[] parents = treeGrid.getTree().getParents(selectedNode);
@@ -622,6 +660,8 @@ public class ResourceTreeView extends VLayout {
public void renderView(ViewPath viewPath) {
currentViewId = viewPath.getCurrent();
+ Integer resourceId = Integer.parseInt(currentViewId.getPath());
+ setSelectedResource(resourceId);
}
}
commit 13b0161e3f4f0912b54612f7f8507cc3053aa596
Author: Greg Hinkle <ghinkle(a)redhat.com>
Date: Tue Aug 17 13:39:57 2010 -0400
Fix resource link to default resource view
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 0375213..ee73969 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
@@ -33,7 +33,7 @@ public class LinkManager {
public static String getResourceLink(int resourceId) {
if (GWT) {
- return "#Resource/" + resourceId;
+ return "#Resource/" + resourceId + "/Summary/Overview";
} else {
return "/rhq/resource/summary/summary.xhtml?id=" + resourceId;
}
commit 9132b980be2f36c13676f975a047203d56a9227a
Author: Greg Hinkle <ghinkle(a)redhat.com>
Date: Tue Aug 17 13:38:24 2010 -0400
Fix resource link
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertsView.java
index ba81f5c..8983ffe 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertsView.java
@@ -41,6 +41,7 @@ import com.smartgwt.client.widgets.tab.Tab;
import com.smartgwt.client.widgets.tab.TabSet;
import org.rhq.core.domain.criteria.AlertCriteria;
+import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
@@ -105,7 +106,7 @@ public class AlertsView extends Table {
listGrid.getField("resourceName").setCellFormatter(new CellFormatter() {
public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
- return "<a href=\"#Resource/" + listGridRecord.getAttribute("resourceId") + "\">" + o + "</a>";
+ return "<a href=\"" + LinkManager.getResourceLink(listGridRecord.getAttributeAsInt("resourceId")) + "\">" + o + "</a>";
}
});
commit 1ffccc1d48ef1de58b2af3754c4e55db337af971
Author: Greg Hinkle <ghinkle(a)redhat.com>
Date: Mon Aug 16 10:58:51 2010 -0400
Support enable/disablement of subtabs properly
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/SubTabLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/SubTabLayout.java
deleted file mode 100644
index ea27d0c..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/SubTabLayout.java
+++ /dev/null
@@ -1,101 +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.components;
-
-import com.smartgwt.client.types.SelectionType;
-import com.smartgwt.client.widgets.Button;
-import com.smartgwt.client.widgets.Canvas;
-import com.smartgwt.client.widgets.events.ClickEvent;
-import com.smartgwt.client.widgets.events.ClickHandler;
-import com.smartgwt.client.widgets.layout.VLayout;
-import com.smartgwt.client.widgets.toolbar.ToolStrip;
-
-import java.util.LinkedHashMap;
-
-/**
- * @author Greg Hinkle
- */
-public class SubTabLayout extends VLayout {
-
- ToolStrip buttonBar;
-
- LinkedHashMap<String, Canvas> subtabs = new LinkedHashMap<String, Canvas>();
-
- Canvas currentlyDisplayed;
-
- @Override
- protected void onDraw() {
- super.onDraw();
-
- setWidth100();
- setHeight100();
- setMargin(0);
- setPadding(0);
-
-
- buttonBar = new ToolStrip();
- buttonBar.setBackgroundColor("grey");
- buttonBar.setWidth100();
- buttonBar.setBorder(null);
-
-
- for (final String title : subtabs.keySet()) {
- if (currentlyDisplayed == null) {
- currentlyDisplayed = subtabs.get(title);
- }
-
-
- Button button = new Button(title);
- button.setShowRollOver(false);
- button.setActionType(SelectionType.RADIO);
- button.setRadioGroup("subtabs");
- button.setBorder(null);
-
- button.setBaseStyle("SubTabButton");
-
-// button.setStyleName("SubTabButton");
-// button.setStylePrimaryName("SubTabButton");
-
- button.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent clickEvent) {
- if (currentlyDisplayed != null) {
- removeMember(currentlyDisplayed);
- }
- currentlyDisplayed = subtabs.get(title);
- addMember(currentlyDisplayed);
- markForRedraw();
- }
- });
-
- buttonBar.addMember(button);
-
- }
- addMember(buttonBar);
-
- // Initial settings
- Button b = (Button) buttonBar.getMember(0);
- b.select();
- addMember(currentlyDisplayed);
- }
-
-
- public void registerSubTab(String title, Canvas canvas) {
- subtabs.put(title, canvas);
- }
-}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
index cda5761..afec88d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
@@ -18,6 +18,7 @@
*/
package org.rhq.enterprise.gui.coregui.client.components.tab;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -39,10 +40,11 @@ import com.smartgwt.client.widgets.toolbar.ToolStrip;
*/
public class SubTabLayout extends VLayout {
- ToolStrip buttonBar;
+ private ToolStrip buttonBar;
- Map<String, Canvas> subtabs = new LinkedHashMap<String, Canvas>();
- Set<String> disabledSubTabs = new HashSet<String>();
+ private LinkedHashMap<String, Canvas> subtabs = new LinkedHashMap<String, Canvas>();
+ private HashMap<String, Button> subTabButtons = new HashMap<String, Button>();
+ private Set<String> disabledSubTabs = new HashSet<String>();
Canvas currentlyDisplayed;
String currentlySelected;
@@ -107,6 +109,8 @@ public class SubTabLayout extends VLayout {
}
});
+ subTabButtons.put(title,button);
+
buttonBar.addMember(button);
}
@@ -116,13 +120,17 @@ public class SubTabLayout extends VLayout {
}
public void enableSubTab(String title) {
- if (disabledSubTabs.remove(title)) {
+ disabledSubTabs.remove(title);
+ if (subTabButtons.containsKey(title)) {
+ subTabButtons.get(title).enable();
markForRedraw();
}
}
public void disableSubTab(String title) {
- if (disabledSubTabs.add(title)) {
+ disabledSubTabs.add(title);
+ if (subTabButtons.containsKey(title)) {
+ subTabButtons.get(title).disable();
markForRedraw();
}
}
@@ -201,7 +209,7 @@ public class SubTabLayout extends VLayout {
public void fireSubTabSelection() {
TwoLevelTabSelectedEvent event = new TwoLevelTabSelectedEvent("?", currentlySelected, -1, currentIndex,
- currentlyDisplayed);
+ currentlyDisplayed);
hm.fireEvent(event);
}
}
\ No newline at end of file
commit 7acc837d4759fe020daf9224df31bbfd83bcd524
Author: Greg Hinkle <ghinkle(a)redhat.com>
Date: Fri Aug 13 13:51:29 2010 -0400
Remove out of date query settings from resourcedatasource
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
index 88c61d4..b56df20 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
@@ -18,13 +18,6 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.AVAILABILITY;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.CATEGORY;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.DESCRIPTION;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
-
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.DSResponse;
@@ -46,12 +39,18 @@ 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.util.RPCDataSource;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.AVAILABILITY;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.CATEGORY;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.DESCRIPTION;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
+
/**
* @author Greg Hinkle
*/
public class ResourceDatasource extends RPCDataSource<Resource> {
- private String query;
private ResourceGWTServiceAsync resourceService = GWTServiceLookup.getResourceService();
@@ -61,7 +60,7 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
DataSourceField idDataField = new DataSourceIntegerField("id", "ID", 20);
idDataField.setPrimaryKey(true);
- DataSourceImageField iconField = new DataSourceImageField("icon");
+ DataSourceImageField iconField = new DataSourceImageField("icon","");
iconField.setImageURLPrefix("types/");
DataSourceTextField nameDataField = new DataSourceTextField(NAME.propertyName(), NAME.title(), 200);
@@ -84,13 +83,6 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
categoryDataField, availabilityDataField);
}
- public String getQuery() {
- return query;
- }
-
- public void setQuery(String query) {
- this.query = query;
- }
public void executeFetch(final DSRequest request, final DSResponse response) {
commit c2aa64c1dbc3acf1251898359d48060fd72b9a56
Merge: 02a6eaf... cf30cd9...
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Tue Aug 17 19:21:09 2010 +0200
Merge branch 'ui-updates'
commit cf30cd9117a2a179ae1d28fb820073405bcf1890
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Tue Aug 17 19:12:03 2010 +0200
clean up of the disambiguation API before merge into master
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceNamesDisambiguationResult.java b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceNamesDisambiguationResult.java
deleted file mode 100644
index 4578aee..0000000
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceNamesDisambiguationResult.java
+++ /dev/null
@@ -1,58 +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, version 2, as
- * published by the Free Software Foundation, and/or the GNU Lesser
- * General Public License, version 2.1, also as published by the Free
- * Software Foundation.
- *
- * 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 and the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU General Public License
- * and the GNU Lesser General Public License along with this program;
- * if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-package org.rhq.core.domain.resource.composite;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * This class is a result of resource disambiguation.
- * This is used in ResourceManager. When supplied a list of results, it returns an
- * instance of this class describing how the results should be disambiguated.
- *
- * @author Lukas Krejci
- */
-public class ResourceNamesDisambiguationResult<T> implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- private List<DisambiguationReport<T>> resolution;
-
- public ResourceNamesDisambiguationResult(List<DisambiguationReport<T>> resolution) {
- this.resolution = resolution;
- }
-
- /**
- * Lists the disambiguation results.
- * Each record contains the original value, disambiguated parents, the resource type name and
- * the type plugin name.
- */
- public List<DisambiguationReport<T>> getResolution() {
- return resolution;
- }
-
- public String toString() {
- return "ResourceNamesDisambiguationResult(resolution=" + resolution + ")";
- }
-}
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/paging/ResourceNameDisambiguatingPagedListDataModel.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/paging/ResourceNameDisambiguatingPagedListDataModel.java
index 8999775..300fddc 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/paging/ResourceNameDisambiguatingPagedListDataModel.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/paging/ResourceNameDisambiguatingPagedListDataModel.java
@@ -23,8 +23,9 @@
package org.rhq.enterprise.gui.common.paging;
+import java.util.List;
+
import org.rhq.core.domain.resource.composite.DisambiguationReport;
-import org.rhq.core.domain.resource.composite.ResourceNamesDisambiguationResult;
import org.rhq.core.domain.util.PageControl;
import org.rhq.core.domain.util.PageList;
import org.rhq.core.util.IntExtractor;
@@ -66,10 +67,10 @@ public abstract class ResourceNameDisambiguatingPagedListDataModel<T> extends
public PageList<DisambiguationReport<T>> fetchPage(PageControl pc) {
PageList<T> data = fetchDataForPage(pc);
- ResourceNamesDisambiguationResult<T> disambiguation = resourceManager.disambiguate(data, getResourceIdExtractor(),
+ List<DisambiguationReport<T>> disambiguation = resourceManager.disambiguate(data, getResourceIdExtractor(),
DefaultDisambiguationUpdateStrategies.getDefault());
- return new PageList<DisambiguationReport<T>>(disambiguation.getResolution(), data.getTotalSize(), data
+ return new PageList<DisambiguationReport<T>>(disambiguation, data.getTotalSize(), data
.getPageControl());
}
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/discovery/AutoDiscoveryQueueUIBean.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/discovery/AutoDiscoveryQueueUIBean.java
index e079474..3f42406 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/discovery/AutoDiscoveryQueueUIBean.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/discovery/AutoDiscoveryQueueUIBean.java
@@ -296,7 +296,7 @@ public class AutoDiscoveryQueueUIBean extends PagedDataTableUIBean {
List<DisambiguationReport<Resource>> disambiguatedQueuedPlatforms =
resourceManager.disambiguate(queuedPlatforms,
- RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault()).getResolution();
+ RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault());
PageList<DisambiguationReport<Resource>> disambiguatedQueuedPlaformsPageList =
new PageList<DisambiguationReport<Resource>>(disambiguatedQueuedPlatforms, queuedPlatforms.getTotalSize(), queuedPlatforms.getPageControl());
@@ -306,7 +306,7 @@ public class AutoDiscoveryQueueUIBean extends PagedDataTableUIBean {
for (InventoryStatus status : newIgnoredSet) {
List<Resource> childServers = discoveryBoss.getQueuedPlatformChildServers(subject, status, platform.getOriginal());
List<DisambiguationReport<Resource>> disambiguatedChildServers =
- resourceManager.disambiguate(childServers, RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault()).getResolution();
+ resourceManager.disambiguate(childServers, RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault());
queuedServers.addAll(disambiguatedChildServers);
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/resource/group/inventory/AddGroupResourcesFormPrepareAction.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/resource/group/inventory/AddGroupResourcesFormPrepareAction.java
index 9b05558..766e551 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/resource/group/inventory/AddGroupResourcesFormPrepareAction.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/resource/group/inventory/AddGroupResourcesFormPrepareAction.java
@@ -38,7 +38,6 @@ 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.DisambiguationReport;
-import org.rhq.core.domain.resource.composite.ResourceNamesDisambiguationResult;
import org.rhq.core.domain.resource.group.GroupCategory;
import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.core.domain.util.PageControl;
@@ -181,44 +180,5 @@ public class AddGroupResourcesFormPrepareAction extends Action {
}
return resourceCategoryTypes;
- }
-
- //
- // These two methods are to support the resource names disambiguation in the above code.
- // Hopefully this page gets rewritten in JSF so that we don't have to employ this kind of
- // nasties.
- //
-
- private static PageList<Resource> buildResourceList(ResourceNamesDisambiguationResult<Resource> results, int totalSize, PageControl pageControl) {
- ArrayList<Resource> convertedResults = new ArrayList<Resource>(results.getResolution().size());
-
- for(DisambiguationReport<Resource> dr : results.getResolution()) {
- Resource resource = dr.getOriginal();
-
- Resource parent = resource.getParentResource();
- //platforms don't have parents, need to check for null here
- if (parent != null) {
- parent.setName(buildLineage(dr.getParents()));
- }
-
- convertedResults.add(resource);
- }
- return new PageList<Resource>(convertedResults, totalSize, pageControl);
- }
-
- private static String buildLineage(List<DisambiguationReport.Resource> parents) {
- if (parents == null || parents.size() == 0) {
- return "";
- }
-
- Iterator<DisambiguationReport.Resource> it = parents.iterator();
-
- StringBuilder bld = new StringBuilder(it.next().getName());
-
- while (it.hasNext()) {
- bld.append(DisambiguatedResourceLineageComponent.DEFAULT_SEPARATOR).append(it.next().getName());
- }
-
- return bld.toString();
- }
+ }
}
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/autodiscovery/ViewAction.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/autodiscovery/ViewAction.java
index b8c7c63..4ac3c8d 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/autodiscovery/ViewAction.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/autodiscovery/ViewAction.java
@@ -178,11 +178,11 @@ public class ViewAction extends TilesAction {
//first disambiguate the platforms
List<Resource> platforms = new ArrayList<Resource>(queuedResources.keySet());
- List<DisambiguationReport<Resource>> disambiguatedPlatforms = resourceManager.disambiguate(platforms, RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault()).getResolution();
+ List<DisambiguationReport<Resource>> disambiguatedPlatforms = resourceManager.disambiguate(platforms, RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault());
for (DisambiguationReport<Resource> platform : disambiguatedPlatforms) {
List<Resource> servers = queuedResources.get(platform.getOriginal());
- List<DisambiguationReport<Resource>> disambiguatedServers = resourceManager.disambiguate(servers, RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault()).getResolution();
+ List<DisambiguationReport<Resource>> disambiguatedServers = resourceManager.disambiguate(servers, RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault());
ret.put(platform, disambiguatedServers);
}
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/recentlyApproved/ViewAction.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/recentlyApproved/ViewAction.java
index 55d892d..90d59a3 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/recentlyApproved/ViewAction.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/recentlyApproved/ViewAction.java
@@ -86,7 +86,7 @@ public class ViewAction extends TilesAction {
platformList = DisambiguatedRecentlyAddedResourceComposite.fromResolution(resourceManager.disambiguate(
resourceManager.findRecentlyAddedPlatforms(subject, ts, recentlyApprovedPreferences.range),
- RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault()).getResolution());
+ RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault()));
Map<Integer, DisambiguatedRecentlyAddedResourceComposite> platformMap;
platformMap = new HashMap<Integer, DisambiguatedRecentlyAddedResourceComposite>();
@@ -113,7 +113,7 @@ public class ViewAction extends TilesAction {
miniPlatform.setChildren(DisambiguatedRecentlyAddedResourceComposite.fromResolution(
resourceManager.disambiguate(resourceManager
.findRecentlyAddedServers(subject, ts, platformId.intValue()), RESOURCE_ID_EXTRACTOR,
- DefaultDisambiguationUpdateStrategies.getDefault()).getResolution()));
+ DefaultDisambiguationUpdateStrategies.getDefault())));
} else {
removeExpandedPlatforms.add(expandedPlatform);
}
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/resourcehealth/RSSAction.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/resourcehealth/RSSAction.java
index fb9be73..2c52bfd 100755
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/resourcehealth/RSSAction.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/resourcehealth/RSSAction.java
@@ -35,7 +35,6 @@ import org.apache.struts.util.MessageResources;
import org.rhq.core.domain.resource.composite.DisambiguationReport;
import org.rhq.core.domain.resource.composite.ResourceHealthComposite;
-import org.rhq.core.domain.resource.composite.ResourceNamesDisambiguationResult;
import org.rhq.core.domain.util.PageControl;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.common.tag.FunctionTagLibrary;
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/resourcehealth/ViewAction.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/resourcehealth/ViewAction.java
index 7a1a824..516b9c9 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/resourcehealth/ViewAction.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/portlet/resourcehealth/ViewAction.java
@@ -31,7 +31,6 @@ import org.apache.struts.tiles.actions.TilesAction;
import org.rhq.core.domain.resource.composite.DisambiguationReport;
import org.rhq.core.domain.resource.composite.ResourceHealthComposite;
-import org.rhq.core.domain.resource.composite.ResourceNamesDisambiguationResult;
import org.rhq.core.domain.util.PageControl;
import org.rhq.core.domain.util.PageList;
import org.rhq.core.util.IntExtractor;
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/util/DisambiguatedResourceListUtil.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/util/DisambiguatedResourceListUtil.java
index 41e710f..4ad0df8 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/util/DisambiguatedResourceListUtil.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/util/DisambiguatedResourceListUtil.java
@@ -23,8 +23,9 @@
package org.rhq.enterprise.gui.legacy.util;
+import java.util.List;
+
import org.rhq.core.domain.resource.composite.DisambiguationReport;
-import org.rhq.core.domain.resource.composite.ResourceNamesDisambiguationResult;
import org.rhq.core.domain.util.PageList;
import org.rhq.core.util.IntExtractor;
import org.rhq.enterprise.server.resource.ResourceManagerLocal;
@@ -43,7 +44,7 @@ public class DisambiguatedResourceListUtil {
}
public static <T> PageList<DisambiguationReport<T>> disambiguate(ResourceManagerLocal resourceManager, PageList<T> results, IntExtractor<T> resourceIdExtractor) {
- ResourceNamesDisambiguationResult<T> result = resourceManager.disambiguate(results, resourceIdExtractor, DefaultDisambiguationUpdateStrategies.getDefault());
- return new PageList<DisambiguationReport<T>>(result.getResolution(), results.getTotalSize(), results.getPageControl());
+ List<DisambiguationReport<T>> result = resourceManager.disambiguate(results, resourceIdExtractor, DefaultDisambiguationUpdateStrategies.getDefault());
+ return new PageList<DisambiguationReport<T>>(result, results.getTotalSize(), results.getPageControl());
}
}
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/navigation/resource/ResourceSelectUIBean.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/navigation/resource/ResourceSelectUIBean.java
index afe2e3b..625c33f 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/navigation/resource/ResourceSelectUIBean.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/navigation/resource/ResourceSelectUIBean.java
@@ -79,6 +79,6 @@ public class ResourceSelectUIBean {
result = resourceManager.findResourceComposites(EnterpriseFacesContextUtility.getSubject(), null, null, null,
null, pref, true, pc);
- return resourceManager.disambiguate(result, RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault()).getResolution();
+ return resourceManager.disambiguate(result, RESOURCE_ID_EXTRACTOR, DefaultDisambiguationUpdateStrategies.getDefault());
}
}
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/subsystem/SubsystemConfigurationUpdateUIBean.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/subsystem/SubsystemConfigurationUpdateUIBean.java
index 0f5777f..52b6812 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/subsystem/SubsystemConfigurationUpdateUIBean.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/subsystem/SubsystemConfigurationUpdateUIBean.java
@@ -29,7 +29,6 @@ import javax.faces.model.SelectItem;
import org.rhq.core.domain.configuration.ConfigurationUpdateStatus;
import org.rhq.core.domain.configuration.composite.ConfigurationUpdateComposite;
import org.rhq.core.domain.resource.composite.DisambiguationReport;
-import org.rhq.core.domain.resource.composite.ResourceNamesDisambiguationResult;
import org.rhq.core.domain.util.PageControl;
import org.rhq.core.domain.util.PageList;
import org.rhq.core.gui.util.FacesContextUtility;
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 ea6a4fc..64fd5f8 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
@@ -87,13 +87,13 @@ import org.rhq.core.domain.resource.ResourceError;
import org.rhq.core.domain.resource.ResourceErrorType;
import org.rhq.core.domain.resource.ResourceSubCategory;
import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.core.domain.resource.composite.DisambiguationReport;
import org.rhq.core.domain.resource.composite.RecentlyAddedResourceComposite;
import org.rhq.core.domain.resource.composite.ResourceAvailabilitySummary;
import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.resource.composite.ResourceHealthComposite;
import org.rhq.core.domain.resource.composite.ResourceIdFlyWeight;
import org.rhq.core.domain.resource.composite.ResourceInstallCount;
-import org.rhq.core.domain.resource.composite.ResourceNamesDisambiguationResult;
import org.rhq.core.domain.resource.composite.ResourcePermission;
import org.rhq.core.domain.resource.composite.ResourceWithAvailability;
import org.rhq.core.domain.resource.flyweight.FlyweightCache;
@@ -2166,7 +2166,7 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
return (findChildResources(subject, parentResource, pageControl));
}
- public <T> ResourceNamesDisambiguationResult<T> disambiguate(List<T> results, IntExtractor<? super T> extractor,
+ public <T> List<DisambiguationReport<T>> disambiguate(List<T> results, IntExtractor<? super T> extractor,
DisambiguationUpdateStrategy updateStrategy) {
return Disambiguator.disambiguate(results, updateStrategy, extractor, entityManager, typeManager.getDuplicateTypeNames());
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
index d753c89..78ece78 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
@@ -36,13 +36,13 @@ import org.rhq.core.domain.resource.ResourceCategory;
import org.rhq.core.domain.resource.ResourceError;
import org.rhq.core.domain.resource.ResourceErrorType;
import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.core.domain.resource.composite.DisambiguationReport;
import org.rhq.core.domain.resource.composite.RecentlyAddedResourceComposite;
import org.rhq.core.domain.resource.composite.ResourceAvailabilitySummary;
import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.resource.composite.ResourceHealthComposite;
import org.rhq.core.domain.resource.composite.ResourceIdFlyWeight;
import org.rhq.core.domain.resource.composite.ResourceInstallCount;
-import org.rhq.core.domain.resource.composite.ResourceNamesDisambiguationResult;
import org.rhq.core.domain.resource.composite.ResourceWithAvailability;
import org.rhq.core.domain.resource.flyweight.ResourceFlyweight;
import org.rhq.core.domain.resource.group.ResourceGroup;
@@ -453,6 +453,6 @@ public interface ResourceManagerLocal {
* @see Disambiguator#disambiguate(List, boolean, IntExtractor, javax.persistence.EntityManager)
* @return the disambiguation result or null on error
*/
- <T> ResourceNamesDisambiguationResult<T> disambiguate(List<T> results, IntExtractor<? super T> resourceIdExtractor,
+ <T> List<DisambiguationReport<T>> disambiguate(List<T> results, IntExtractor<? super T> resourceIdExtractor,
DisambiguationUpdateStrategy updateStrategy);
}
\ No newline at end of file
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java
index 8a340d5..f948244 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java
@@ -134,7 +134,7 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
}
};
- private static final DisambiguationPolicy.Level overridingResolution = new DisambiguationPolicy.Level(ResourceResolution.TYPE);
+ private static final DisambiguationPolicy.Level OVERRIDING_RESOLUTION = new DisambiguationPolicy.Level(ResourceResolution.TYPE);
/**
* This updates the resources in the report according to the resolutions contained in the policy.
@@ -182,7 +182,7 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
if (pushDownPluginInfo) {
parentPlugins.add(report.parents.get(disambiguationPolicyIndex).resourceType.plugin);
}
- updateResource(overridingResolution, report.parents.get(disambiguationPolicyIndex), ambiguousTypeNames);
+ updateResource(OVERRIDING_RESOLUTION, report.parents.get(disambiguationPolicyIndex), ambiguousTypeNames);
}
if (pushDownPluginInfo) {
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/Disambiguator.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/Disambiguator.java
index 2baa4db..617d4fd 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/Disambiguator.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/Disambiguator.java
@@ -33,7 +33,6 @@ import javax.persistence.EntityManager;
import javax.persistence.Query;
import org.rhq.core.domain.resource.composite.DisambiguationReport;
-import org.rhq.core.domain.resource.composite.ResourceNamesDisambiguationResult;
import org.rhq.core.util.IntExtractor;
/**
@@ -99,14 +98,14 @@ public class Disambiguator {
* @param resourceIdExtractor an object able to extract resource id from an instance of type parameter.
* @param entityManager an entityManager to be used to access the database
* @param duplicateTypeNames the list of type names that are ambiguous without plugin spec
- * @return the disambiguation result or null on error
+ * @return the disambiguation result
*/
- public static <T> ResourceNamesDisambiguationResult<T> disambiguate(List<T> results,
+ public static <T> List<DisambiguationReport<T>> disambiguate(List<T> results,
DisambiguationUpdateStrategy disambiguationUpdateStrategy, IntExtractor<? super T> extractor,
EntityManager entityManager, List<String> duplicateTypeNames) {
if (results.isEmpty()) {
- return new ResourceNamesDisambiguationResult<T>(new ArrayList<DisambiguationReport<T>>());
+ return new ArrayList<DisambiguationReport<T>>();
}
//we can't assume the ordering of the provided results and the disambiguation query results
@@ -258,7 +257,7 @@ public class Disambiguator {
resolution.add(report.getReport());
}
- return new ResourceNamesDisambiguationResult<T>(resolution);
+ return resolution;
}
private static <T> void repartitionUnique(ReportPartitions<T> partitions, DisambiguationUpdateStrategy updateStrategy, List<ReportPartitions<T>> ambigousPartitions) {
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/ReportPartitions.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/ReportPartitions.java
index 337ef31..04ae04f 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/ReportPartitions.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/ReportPartitions.java
@@ -31,10 +31,6 @@ import java.util.List;
* This class partitions the reports inserted into it by chunking them up
* into sublists containing mutually ambiguous reports. The ambiguity is determined using
* a {@link DisambiguationPolicy}.
- * <p>
- * The ReportPartition instances can form a tree using the {@link #getPreviousPartitioning()}
- * and the parameters provided to the constructors. This is handy to keep track of what
- * partitions have been disambiguated at what level and how.
*
* @param <T> the type of the original instances the are being disambiguated.
*
commit efc3d3574cc27e586788d8372d6354d68db4237f
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Aug 17 15:57:53 2010 +0200
Add more tables, provide better output
diff --git a/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java b/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
index 5fcc229..4e0857e 100644
--- a/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
+++ b/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
@@ -43,7 +43,9 @@ public class DataGen {
private static final String[][] props = {//
{"agents","RHQ_Agent","id,name,address,port,agenttoken,remote_endpoint"},
- {"plugins","RHQ_Plugin","id,name,display_name,version,amps_version"}
+ {"plugins","RHQ_Plugin","id,name,display_name,version,amps_version"},
+ {"resourceTypes","RHQ_resource_type","id,name,category,plugin"}, // TODO parent / child types?
+ {"resources","RHQ_resource","id,uuid,resource_key,name,resource_type_id,parent_resource_id"} // TODO child resources?
};
public static void main(String[] args) {
@@ -83,10 +85,13 @@ public class DataGen {
String columns = prop[2];
File agents = new File(TARGET + fileName + DOTCSV);
- System.out.println("File: " + agents.getAbsolutePath());
+ System.out.println("Writing file: " + agents.getAbsolutePath());
CSVWriter writer = new CSVWriter(new FileWriter(agents));
Statement stm = conn.createStatement();
- ResultSet rs = stm.executeQuery("SELECT " + columns + " FROM " + tableName);
+ String query = "SELECT " + columns + " FROM " + tableName;
+ System.out.println(" using query: [" + query + "]");
+ System.out.flush();
+ ResultSet rs = stm.executeQuery(query);
writer.writeAll(rs,true);
rs.close();
writer.close();
commit d8d9991b7f9985bd2eb7e107f180d1415706e8ae
Merge: 686f2d7... 02a6eaf...
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Aug 17 14:38:06 2010 +0200
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit 686f2d7aaf3701f7aaab6a8e20876de5c7e46bcf
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Aug 17 14:22:55 2010 +0200
Helper to generate the input data for table driven test setup
diff --git a/modules/helpers/perftest-data-gen/pom.xml b/modules/helpers/perftest-data-gen/pom.xml
new file mode 100644
index 0000000..dceeb22
--- /dev/null
+++ b/modules/helpers/perftest-data-gen/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>rhq-helpers</artifactId>
+ <groupId>org.rhq.helpers</groupId>
+ <version>4.0.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <name>Perftest-data-gen</name>
+ <groupId>org.rhq.helpers</groupId>
+ <artifactId>perftest-data-gen</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
+ <description>Create performance unit test csv files from database</description>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>${commons-logging.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>net.sf.opencsv</groupId>
+ <artifactId>opencsv</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.rhq</groupId>
+ <artifactId>rhq-core-dbutils</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ <version>${postgresql.version}</version>
+ </dependency>
+ </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java b/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
new file mode 100644
index 0000000..5fcc229
--- /dev/null
+++ b/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
@@ -0,0 +1,96 @@
+/*
+ * 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.etc.perftestDataGen;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.Statement;
+
+import au.com.bytecode.opencsv.CSVWriter;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.rhq.core.db.DbUtil;
+
+/**
+ * // TODO: Document this
+ * @author Heiko W. Rupp
+ */
+public class DataGen {
+
+ private final Log log = LogFactory.getLog(DataGen.class);
+ private static final String TARGET = "target/";
+ private static final String DOTCSV = ".csv";
+
+ private static final String[][] props = {//
+ {"agents","RHQ_Agent","id,name,address,port,agenttoken,remote_endpoint"},
+ {"plugins","RHQ_Plugin","id,name,display_name,version,amps_version"}
+ };
+
+ public static void main(String[] args) {
+
+ DataGen dg = new DataGen();
+
+ dg.run(args);
+ }
+
+ private void run(String[] args) {
+
+ if (args.length<3) {
+ System.err.println("Usage: DataGen jdbcurl user pass");
+ return;
+ }
+
+
+ String url = args[0];
+ String user = args[1];
+ String pass = args[2];
+
+ try {
+ Connection conn = DbUtil.getConnection(url,user,pass);
+
+ for (String[] prop : props) {
+ exportTable(conn, prop);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void exportTable(Connection conn, String[] prop) throws Exception {
+
+ String fileName = prop[0];
+ String tableName = prop[1];
+ String columns = prop[2];
+
+ File agents = new File(TARGET + fileName + DOTCSV);
+ System.out.println("File: " + agents.getAbsolutePath());
+ CSVWriter writer = new CSVWriter(new FileWriter(agents));
+ Statement stm = conn.createStatement();
+ ResultSet rs = stm.executeQuery("SELECT " + columns + " FROM " + tableName);
+ writer.writeAll(rs,true);
+ rs.close();
+ writer.close();
+ stm.close();
+
+ }
+}
diff --git a/modules/helpers/pom.xml b/modules/helpers/pom.xml
index 8fa853a..a26b7f2 100644
--- a/modules/helpers/pom.xml
+++ b/modules/helpers/pom.xml
@@ -38,6 +38,7 @@
<module>pluginGen</module>
<module>pluginAnnotations</module>
<module>bundleGen</module>
+ <module>perftest-data-gen</module>
</modules>
commit 351594645e43c69b2be040e830746d67adae00fe
Merge: c809e68... 5662138...
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Tue Aug 17 12:05:30 2010 +0200
Merge branch 'master' into ui-updates
commit 02a6eafa5eb24c64fd7e09257b956ea3ebb424b1
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Aug 17 00:14:26 2010 -0400
make togglable fields a different color to give the user a hint that they're editable
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/EnhancedDynamicForm.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/EnhancedDynamicForm.java
index 0ae01ce..02592c8 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/EnhancedDynamicForm.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/EnhancedDynamicForm.java
@@ -82,6 +82,7 @@ public class EnhancedDynamicForm extends DynamicForm {
new StaticTextItem(getStaticTextItemName(togglableTextItem.getName()),
togglableTextItem.getTitle());
staticTextItem.setAttribute("editing", false);
+ staticTextItem.setTextBoxStyle("editableText");
FormItemIcon editIcon = new FormItemIcon();
editIcon.setName("Edit");
diff --git a/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css b/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
index bc48f18..305fcf8 100644
--- a/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
+++ b/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
@@ -354,4 +354,8 @@ a:hover {
.tallCellOver, .tallCellOverDark {
background-color: rgb(230,230,230) !important; /* for browsers that don't like alpha */
background-color: rgba(230,230,230,0.6) !important;
-}
\ No newline at end of file
+}
+
+.editableText {
+ color: #070;
+}
commit efc9c02e61ca9536e007356b0e8e74972c76f975
Author: Joseph Marques <joseph(a)redhat.com>
Date: Mon Aug 16 21:10:15 2010 -0400
add missing method to WebservicesManagerBean
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/webservices/WebservicesManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/webservices/WebservicesManagerBean.java
index 25ffa7b..6c2c7f1 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/webservices/WebservicesManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/webservices/WebservicesManagerBean.java
@@ -856,6 +856,11 @@ public class WebservicesManagerBean implements WebservicesRemote {
resourceGroupManager.deleteResourceGroup(subject, groupId);
}
+ public void deleteResourceGroups(Subject subject, int[] groupIds) throws ResourceGroupNotFoundException,
+ ResourceGroupDeleteException {
+ resourceGroupManager.deleteResourceGroups(subject, groupIds);
+ }
+
public PageList<ResourceGroup> findResourceGroupsByCriteria(Subject subject, ResourceGroupCriteria criteria) {
checkParametersPassedIn(subject, criteria);
return resourceGroupManager.findResourceGroupsByCriteria(subject, criteria);
commit 2968c8c3c37ba5432683577f16e0e8e929bbd18a
Author: Joseph Marques <joseph(a)redhat.com>
Date: Mon Aug 16 21:06:25 2010 -0400
AuthenticationUserAction doesn't need to pre-fetch any related subject data
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/authentication/AuthenticateUserAction.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/authentication/AuthenticateUserAction.java
index db8b1f0..432d95c 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/authentication/AuthenticateUserAction.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/authentication/AuthenticateUserAction.java
@@ -105,8 +105,6 @@ public class AuthenticateUserAction extends TilesAction {
subjectCriteria.setCaseSensitive(false);
subjectCriteria.setStrict(true);
subjectCriteria.addFilterName(logonForm.getJ_username());
- subjectCriteria.fetchRoles(true);
- subjectCriteria.fetchConfiguration(true);
PageList<Subject> subjectsLocated = LookupUtil.getSubjectManager().findSubjectsByCriteria(
LookupUtil.getSubjectManager().getOverlord(), subjectCriteria);
//if subject variants located then take the first one with a principal otherwise do nothing
commit 9ed36881c1424d3af8bdbd3621d6dbaec2938d75
Author: Joseph Marques <joseph(a)redhat.com>
Date: Mon Aug 16 21:04:33 2010 -0400
SearchGUI.sessionSubject doesn't need to pre-load any related data
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/SearchGUI.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/SearchGUI.java
index 42600a5..f4c52d7 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/SearchGUI.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/SearchGUI.java
@@ -87,9 +87,7 @@ public class SearchGUI implements EntryPoint {
// look up real user prefs
SubjectCriteria criteria = new SubjectCriteria();
- criteria.fetchConfiguration(true);
criteria.addFilterId(subjectId);
- criteria.fetchRoles(true);
GWTServiceLookup.getSubjectService().findSubjectsByCriteria(criteria,
new AsyncCallback<PageList<Subject>>() {
commit 74b6b2958fb4bba076009217e1dd6607bcacc964
Author: Joseph Marques <joseph(a)redhat.com>
Date: Mon Aug 16 21:04:07 2010 -0400
CoreGUI.sessionSubject only needs to pre-load Configuration, not roles
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
index aa6c084..b82b8ce 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
@@ -155,7 +155,7 @@ public class CoreGUI implements EntryPoint, ValueChangeHandler<String> {
SubjectCriteria criteria = new SubjectCriteria();
criteria.fetchConfiguration(true);
criteria.addFilterId(subjectId);
- criteria.fetchRoles(true);
+ //criteria.fetchRoles(true);
GWTServiceLookup.getSubjectService().findSubjectsByCriteria(criteria,
new AsyncCallback<PageList<Subject>>() {
commit 29e2b4eecd3658456856098518bbbc50b59bea1b
Author: Joseph Marques <joseph(a)redhat.com>
Date: Mon Aug 16 21:03:24 2010 -0400
uninventory all selected resources in a single async service call
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
index c0731b8..88c61d4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
@@ -25,9 +25,6 @@ import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceD
import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
-import java.util.List;
-
-import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.DSResponse;
@@ -48,7 +45,6 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
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.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.message.Message;
/**
* @author Greg Hinkle
@@ -71,16 +67,16 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
DataSourceTextField nameDataField = new DataSourceTextField(NAME.propertyName(), NAME.title(), 200);
nameDataField.setCanEdit(false);
- DataSourceTextField descriptionDataField = new DataSourceTextField(DESCRIPTION.propertyName(), DESCRIPTION
- .title());
+ DataSourceTextField descriptionDataField = new DataSourceTextField(DESCRIPTION.propertyName(),
+ DESCRIPTION.title());
descriptionDataField.setCanEdit(false);
DataSourceTextField typeNameDataField = new DataSourceTextField(TYPE.propertyName(), TYPE.title());
DataSourceTextField pluginNameDataField = new DataSourceTextField(PLUGIN.propertyName(), PLUGIN.title());
DataSourceTextField categoryDataField = new DataSourceTextField(CATEGORY.propertyName(), CATEGORY.title());
- DataSourceImageField availabilityDataField = new DataSourceImageField(AVAILABILITY.propertyName(), AVAILABILITY
- .title(), 20);
+ DataSourceImageField availabilityDataField = new DataSourceImageField(AVAILABILITY.propertyName(),
+ AVAILABILITY.title(), 20);
availabilityDataField.setCanEdit(false);
@@ -120,8 +116,8 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
criteria.setPageControl(getPageControl(request));
if (request.getCriteria().getValues().get("parentId") != null) {
- criteria.addFilterParentResourceId(Integer.parseInt((String) request.getCriteria().getValues().get(
- "parentId")));
+ criteria.addFilterParentResourceId(Integer.parseInt((String) request.getCriteria().getValues()
+ .get("parentId")));
}
if (request.getCriteria().getValues().get("id") != null) {
@@ -158,8 +154,8 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
}
if (request.getCriteria().getValues().get(TYPE.propertyName()) != null) {
- criteria.addFilterResourceTypeId(Integer.parseInt(((String) request.getCriteria().getValues().get(
- TYPE.propertyName()))));
+ criteria.addFilterResourceTypeId(Integer.parseInt(((String) request.getCriteria().getValues()
+ .get(TYPE.propertyName()))));
}
if (request.getCriteria().getValues().get(PLUGIN.propertyName()) != null) {
@@ -185,30 +181,6 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
return criteria;
}
- @Override
- protected void executeRemove(final DSRequest request, final DSResponse response) {
- JavaScriptObject data = request.getData();
- final ListGridRecord rec = new ListGridRecord(data);
- final Resource resourceToDelete = copyValues(rec);
-
- final int resourceId = resourceToDelete.getId();
- resourceService.uninventoryResources(new int[] { resourceId }, new AsyncCallback<List<Integer>>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError("Failed to uninventory resource " + resourceId, caught);
- response.setStatus(DSResponse.STATUS_FAILURE);
- processResponse(request.getRequestId(), response);
- }
-
- public void onSuccess(List<Integer> result) {
- CoreGUI.getMessageCenter().notify(
- new Message("Resource [" + resourceId + "] successfully uninventoried.", Message.Severity.Info));
- response.setStatus(DSResponse.STATUS_SUCCESS);
- processResponse(request.getRequestId(), response);
- }
- });
-
- }
-
protected void dataRetrieved(PageList<Resource> result, DSResponse response, DSRequest request) {
ListGridRecord[] records = buildRecords(result);
response.setData(records);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
index 1642c64..97a55db 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
@@ -18,35 +18,33 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.AVAILABILITY;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.CATEGORY;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.DESCRIPTION;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
+
import java.util.ArrayList;
+import java.util.List;
-import com.google.gwt.event.dom.client.KeyCodes;
+import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.data.SortSpecifier;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.ListGridFieldType;
-import com.smartgwt.client.types.SelectionAppearance;
import com.smartgwt.client.types.SelectionStyle;
-import com.smartgwt.client.widgets.form.DynamicForm;
-import com.smartgwt.client.widgets.form.fields.TextItem;
-import com.smartgwt.client.widgets.form.fields.events.KeyPressEvent;
-import com.smartgwt.client.widgets.form.fields.events.KeyPressHandler;
import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.layout.VLayout;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
-
-import javax.persistence.Id;
-
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.AVAILABILITY;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.CATEGORY;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.DESCRIPTION;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
-import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
+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.util.message.Message;
+import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
/**
* @author Greg Hinkle
@@ -90,24 +88,23 @@ public class ResourceSearchView extends Table {
setWidth100();
setHeight100();
-// DynamicForm searchPanel = new DynamicForm();
-// final TextItem searchBox = new TextItem("query", "Search Resources");
-// searchBox.setValue("");
-// searchPanel.setWrapItemTitles(false);
-// searchPanel.setFields(searchBox);
-
+ // DynamicForm searchPanel = new DynamicForm();
+ // final TextItem searchBox = new TextItem("query", "Search Resources");
+ // searchBox.setValue("");
+ // searchPanel.setWrapItemTitles(false);
+ // searchPanel.setFields(searchBox);
final ResourceDatasource datasource = new ResourceDatasource();
-// setTitleComponent(searchPanel);
+ // setTitleComponent(searchPanel);
setDataSource(datasource);
getListGrid().setSelectionType(SelectionStyle.SIMPLE);
-// getListGrid().setSelectionAppearance(SelectionAppearance.CHECKBOX);
+ // getListGrid().setSelectionAppearance(SelectionAppearance.CHECKBOX);
getListGrid().setResizeFieldsInRealTime(true);
ListGridField idField = new ListGridField("id", "Id", 55);
idField.setType(ListGridFieldType.INTEGER);
- ListGridField iconField = new ListGridField("icon","", 40);
+ ListGridField iconField = new ListGridField("icon", "", 40);
ListGridField nameField = new ListGridField(NAME.propertyName(), NAME.title(), 250);
nameField.setCellFormatter(new CellFormatter() {
public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
@@ -123,15 +120,35 @@ public class ResourceSearchView extends Table {
ListGridField availabilityField = new ListGridField(AVAILABILITY.propertyName(), AVAILABILITY.title(), 55);
availabilityField.setAlign(Alignment.CENTER);
getListGrid().setFields(idField, iconField, nameField, descriptionField, typeNameField, pluginNameField,
- categoryField, availabilityField);
+ categoryField, availabilityField);
addTableAction("Uninventory", Table.SelectionEnablement.ANY,
- "Are you sure you want to delete # resources?", new TableAction() {
- public void executeAction(ListGridRecord[] selection) {
- getListGrid().removeSelectedData();
+ "Are you sure you want to uninventory # resources?", new TableAction() {
+ public void executeAction(ListGridRecord[] selections) {
+ int[] resourceIds = new int[selections.length];
+ int index = 0;
+ for (ListGridRecord selection : selections) {
+ resourceIds[index++] = selection.getAttributeAsInt("id");
}
- });
+ ResourceGWTServiceAsync resourceManager = GWTServiceLookup.getResourceService();
+
+ resourceManager.uninventoryResources(resourceIds, new AsyncCallback<List<Integer>>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError("Failed to uninventory selected resources", caught);
+ }
+
+ public void onSuccess(List<Integer> result) {
+ CoreGUI.getMessageCenter()
+ .notify(
+ new Message("Successfully uninventoried " + result.size() + " resources",
+ Severity.Info));
+ ResourceSearchView.this.refresh();
+ }
+ });
+
+ }
+ });
/*searchBox.addKeyPressHandler(new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
@@ -153,13 +170,10 @@ public class ResourceSearchView extends Table {
});*/
}
-
-
public int getMatches() {
return this.getListGrid().getTotalRows();
}
-
public void addResourceSelectedListener(ResourceSelectListener listener) {
selectListeners.add(listener);
}
commit a064c1435259e596538243c7a86b8d80aa626557
Author: Joseph Marques <joseph(a)redhat.com>
Date: Mon Aug 16 21:03:02 2010 -0400
delete all selected resource groups in a single async service call
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGroupGWTService.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGroupGWTService.java
index 3d78c78..ff3be5b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGroupGWTService.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGroupGWTService.java
@@ -18,6 +18,9 @@
*/
package org.rhq.enterprise.gui.coregui.client.gwt;
+import com.google.gwt.user.client.rpc.RemoteService;
+import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
+
import org.rhq.core.domain.criteria.ResourceGroupCriteria;
import org.rhq.core.domain.criteria.ResourceGroupDefinitionCriteria;
import org.rhq.core.domain.resource.group.GroupDefinition;
@@ -25,9 +28,6 @@ import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
import org.rhq.core.domain.util.PageList;
-import com.google.gwt.user.client.rpc.RemoteService;
-import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
-
/**
* @author Greg Hinkle
*/
@@ -44,7 +44,7 @@ public interface ResourceGroupGWTService extends RemoteService {
ResourceGroup createResourceGroup(ResourceGroup group, int[] resourceIds);
- void deleteResourceGroup(int groupId);
+ void deleteResourceGroups(int[] groupIds);
void updateResourceGroup(ResourceGroup group);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
index d2953eb..3206da5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
@@ -27,7 +27,6 @@ import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
@@ -88,24 +87,25 @@ public class ResourceGroupListView extends Table {
addTableAction("Delete", Table.SelectionEnablement.ANY, "Delete the selected resource groups?",
new TableAction() {
public void executeAction(ListGridRecord[] selections) {
- ResourceGroupsDataSource ds = (ResourceGroupsDataSource) getDataSource();
+ int[] groupIds = new int[selections.length];
+ int index = 0;
for (ListGridRecord selection : selections) {
- ResourceGroupGWTServiceAsync resourceGroupManager = GWTServiceLookup.getResourceGroupService();
- final ResourceGroup object = ds.copyValues(selection);
- resourceGroupManager.deleteResourceGroup(object.getId(), new AsyncCallback<Void>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(
- "Failed to delete resource group [" + object.getName() + "]", caught);
- }
-
- public void onSuccess(Void result) {
- CoreGUI.getMessageCenter().notify(
- new Message("Deleted resource group [" + object.getName() + "]", Severity.Info));
-
- CoreGUI.refresh();
- }
- });
+ groupIds[index++] = selection.getAttributeAsInt("id");
}
+ ResourceGroupGWTServiceAsync resourceGroupManager = GWTServiceLookup.getResourceGroupService();
+
+ resourceGroupManager.deleteResourceGroups(groupIds, new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError("Failed to delete selected resource groups", caught);
+ }
+
+ public void onSuccess(Void result) {
+ CoreGUI.getMessageCenter().notify(
+ new Message("Deleted selected resource groups", Severity.Info));
+
+ ResourceGroupListView.this.refresh();
+ }
+ });
}
});
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 31a4381..e6b5936 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
@@ -41,17 +41,17 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
public PageList<ResourceGroup> findResourceGroupsByCriteria(ResourceGroupCriteria criteria) {
return SerialUtility.prepare(groupManager.findResourceGroupsByCriteria(getSessionSubject(), criteria),
- "ResourceGroupService.findResourceGroupsByCriteria");
+ "ResourceGroupService.findResourceGroupsByCriteria");
}
public PageList<ResourceGroupComposite> findResourceGroupCompositesByCriteria(ResourceGroupCriteria criteria) {
return SerialUtility.prepare(groupManager.findResourceGroupCompositesByCriteria(getSessionSubject(), criteria),
- "ResourceGroupService.findResourceGroupCompositesByCriteria");
+ "ResourceGroupService.findResourceGroupCompositesByCriteria");
}
public PageList<GroupDefinition> findGroupDefinitionsByCriteria(ResourceGroupDefinitionCriteria criteria) {
return SerialUtility.prepare(definitionManager.findGroupDefinitionsByCriteria(getSessionSubject(), criteria),
- "ResourceGroupService.findGroupDefinitionsByCriteria");
+ "ResourceGroupService.findGroupDefinitionsByCriteria");
}
public void ensureMembershipMatches(int groupId, int[] resourceIds) {
@@ -66,9 +66,9 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl implemen
return SerialUtility.prepare(group, "ResourceGroupService.createResourceGroup");
}
- public void deleteResourceGroup(int groupId) {
+ public void deleteResourceGroups(int[] groupIds) {
try {
- groupManager.deleteResourceGroup(getSessionSubject(), groupId);
+ groupManager.deleteResourceGroups(getSessionSubject(), groupIds);
} catch (ResourceGroupDeleteException e) {
throw new RuntimeException(e.getMessage());
}
commit 1eb5159403a3bd12bd05aea4a9bc0b422d64f36b
Author: Joseph Marques <joseph(a)redhat.com>
Date: Mon Aug 16 19:13:21 2010 -0400
add the ability to delete multiple resource groups with a single SLSB call
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
index f6a5b4d..04dd614 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
@@ -181,8 +181,8 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
}
if (!authorizationManager.hasGroupPermission(user, Permission.MODIFY_RESOURCE, groupId)) {
- throw new PermissionException("User [" + user + "] does not have permission to modify Resource group with id ["
- + groupId + "].");
+ throw new PermissionException("User [" + user
+ + "] does not have permission to modify Resource group with id [" + groupId + "].");
}
if (changeType == null) {
@@ -197,7 +197,7 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
// recursive bit didn't change
}
}
-
+
group.setMtime(System.currentTimeMillis());
group.setModifiedBy(user.getName());
@@ -285,6 +285,14 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
entityManager.remove(group);
}
+ @RequiredPermission(Permission.MANAGE_INVENTORY)
+ public void deleteResourceGroups(Subject subject, int[] groupIds) throws ResourceGroupNotFoundException,
+ ResourceGroupDeleteException {
+ for (int nextGroupId : groupIds) {
+ deleteResourceGroup(subject, nextGroupId);
+ }
+ }
+
/*
* TODO: Deletion of all associated group data (except implicit/explicit resource members) should be moved here.
* in other words, we don't want Hibernate cascade annotations to remove that history upon deletion of an
@@ -312,9 +320,7 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
try {
operationManager.unscheduleGroupOperation(overlord, schedule.getJobId().toString(), group.getId());
} catch (UnscheduleException e) {
- log
- .warn("Failed to unschedule job [" + schedule + "] for a group being deleted [" + group + "]",
- e);
+ log.warn("Failed to unschedule job [" + schedule + "] for a group being deleted [" + group + "]", e);
}
}
} catch (Exception e) {
@@ -753,8 +759,8 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
* to this method, we can just do simple RHQ_RESOURCE_GROUP_RES_IMP_MAP table insertions
*/
String insertImplicitQueryString = JDBCUtil.transformQueryForMultipleInParameters(
- ResourceGroup.QUERY_NATIVE_ADD_RESOURCES_TO_GROUP_IMPLICIT, "@@RESOURCE_IDS@@", resourceIdsToAdd
- .size());
+ ResourceGroup.QUERY_NATIVE_ADD_RESOURCES_TO_GROUP_IMPLICIT, "@@RESOURCE_IDS@@",
+ resourceIdsToAdd.size());
insertImplicitStatement = conn.prepareStatement(insertImplicitQueryString);
insertImplicitStatement.setInt(1, implicitRecursiveGroupId);
JDBCUtil.bindNTimes(insertImplicitStatement, ArrayUtils.unwrapCollection(resourceIdsToAdd), 2);
@@ -816,9 +822,9 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
ResourceGroup group = getResourceGroupById(subject, groupId, category);
Set<Resource> res = group.getExplicitResources();
if (res != null && res.size() > 0) {
- List<Resource> resources = PersistenceUtility.getHibernateSession(entityManager).createFilter(res,
- "where this.inventoryStatus = :inventoryStatus").setParameter("inventoryStatus",
- InventoryStatus.COMMITTED).list();
+ List<Resource> resources = PersistenceUtility.getHibernateSession(entityManager)
+ .createFilter(res, "where this.inventoryStatus = :inventoryStatus")
+ .setParameter("inventoryStatus", InventoryStatus.COMMITTED).list();
return resources;
} else {
@@ -1465,8 +1471,8 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
}
if (!authorizationManager.hasGroupPermission(subject, Permission.MODIFY_RESOURCE, groupId)) {
- throw new PermissionException("User [" + subject + "] does not have permission to modify Resource group with id ["
- + groupId + "].");
+ throw new PermissionException("User [" + subject
+ + "] does not have permission to modify Resource group with id [" + groupId + "].");
}
return group;
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerLocal.java
index 9b0468b..2919879 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerLocal.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerLocal.java
@@ -125,6 +125,9 @@ public interface ResourceGroupManagerLocal {
void deleteResourceGroup(Subject user, int groupId) throws ResourceGroupNotFoundException,
ResourceGroupDeleteException;
+ void deleteResourceGroups(Subject user, int[] groupIds) throws ResourceGroupNotFoundException,
+ ResourceGroupDeleteException;
+
ResourceGroup getResourceGroup(Subject subject, int groupId);
ResourceGroupComposite getResourceGroupComposite(Subject subject, int groupId);
@@ -138,5 +141,5 @@ public interface ResourceGroupManagerLocal {
ResourceGroup updateResourceGroup(Subject subject, ResourceGroup group);
PageList<ResourceGroup> findResourceGroupsByCriteria(Subject subject, ResourceGroupCriteria criteria);
-
+
}
\ No newline at end of file
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerRemote.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerRemote.java
index fdda4e2..4071c39 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerRemote.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerRemote.java
@@ -60,6 +60,12 @@ public interface ResourceGroupManagerRemote {
@WebParam(name = "groupId") int groupId) throws ResourceGroupNotFoundException, ResourceGroupDeleteException;
@WebMethod
+ void deleteResourceGroups( //
+ @WebParam(name = "subject") Subject subject, //
+ @WebParam(name = "groupIds") int[] groupIds) throws ResourceGroupNotFoundException,
+ ResourceGroupDeleteException;
+
+ @WebMethod
ResourceGroup getResourceGroup( //
@WebParam(name = "subject") Subject subject, //
@WebParam(name = "groupId") int groupId);
commit 0cf06bb06f6975b68aeaa78a886c004851423409
Author: Joseph Marques <joseph(a)redhat.com>
Date: Mon Aug 16 18:37:13 2010 -0400
refresh the ResourceGroupListView after adding a new group
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
index 8171d96..d2953eb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
@@ -111,7 +111,7 @@ public class ResourceGroupListView extends Table {
addTableAction("New", new TableAction() {
public void executeAction(ListGridRecord[] selection) {
- new GroupCreateWizard().startBundleWizard();
+ new GroupCreateWizard(ResourceGroupListView.this).startBundleWizard();
}
});
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
index 55d1588..d579c8c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
@@ -35,6 +35,7 @@ import org.rhq.enterprise.gui.coregui.client.components.wizard.AbstractWizard;
import org.rhq.enterprise.gui.coregui.client.components.wizard.WizardStep;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGroupGWTServiceAsync;
+import org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGroupListView;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
/**
@@ -42,10 +43,14 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message;
*/
public class GroupCreateWizard extends AbstractWizard {
+ private ResourceGroupListView resourceGroupListView;
+
private GroupCreateStep createStep;
private GroupMembersStep memberStep;
- public GroupCreateWizard() {
+ public GroupCreateWizard(ResourceGroupListView resourceGroupListView) {
+ this.resourceGroupListView = resourceGroupListView;
+
ArrayList<WizardStep> steps = new ArrayList<WizardStep>();
steps.add(createStep = new GroupCreateStep());
@@ -98,7 +103,7 @@ public class GroupCreateWizard extends AbstractWizard {
public void onSuccess(ResourceGroup result) {
CoreGUI.getMessageCenter().notify(
new Message("Saved new group " + result.getName(), Message.Severity.Info));
- // TODO: Implement this method.
+ resourceGroupListView.refresh();
}
});
commit 9d21c482cfc4e294aafae0360a9285b575d845c8
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Mon Aug 16 19:05:15 2010 -0400
add support for updating collection interval to abstract metric schedules view
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 67632e9..7b6ca8e 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
@@ -399,6 +399,11 @@ public class Table extends VLayout {
}
tableAction.actionButton.setDisabled(!enabled);
}
+ for (Canvas extraWidget : extraWidgets) {
+ if (extraWidget instanceof TableWidget) {
+ ((TableWidget)extraWidget).refresh(this.listGrid);
+ }
+ }
this.tableInfo.setContents("Total: " + listGrid.getTotalRows() + " (" + count + " selected)");
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableWidget.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableWidget.java
new file mode 100644
index 0000000..61c59e5
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableWidget.java
@@ -0,0 +1,10 @@
+package org.rhq.enterprise.gui.coregui.client.components.table;
+
+import com.smartgwt.client.widgets.grid.ListGrid;
+
+/**
+ *
+ */
+public interface TableWidget {
+ void refresh(ListGrid listGrid);
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java
index 15c7127..333b500 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java
@@ -79,7 +79,7 @@ public abstract class AbstractMeasurementScheduleListView extends Table {
getDataSource().disableSchedules(AbstractMeasurementScheduleListView.this);
}
});
- // TODO: Add controls to set collection interval - base class is going to need massaging...
+ addExtraWidget(new UpdateCollectionIntervalWidget(this));
}
class MillisecondsCellFormatter implements CellFormatter {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java
new file mode 100644
index 0000000..e4daee2
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/UpdateCollectionIntervalWidget.java
@@ -0,0 +1,92 @@
+package org.rhq.enterprise.gui.coregui.client.inventory.common;
+
+import com.smartgwt.client.widgets.IButton;
+import com.smartgwt.client.widgets.events.ClickEvent;
+import com.smartgwt.client.widgets.events.ClickHandler;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.FormItem;
+import com.smartgwt.client.widgets.form.fields.IntegerItem;
+import com.smartgwt.client.widgets.form.fields.SelectItem;
+import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
+import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
+import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator;
+import com.smartgwt.client.widgets.grid.ListGrid;
+import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
+import org.rhq.enterprise.gui.coregui.client.components.table.TableWidget;
+
+/**
+ * TODO
+ */
+public class UpdateCollectionIntervalWidget extends HLayout implements TableWidget {
+ private AbstractMeasurementScheduleListView schedulesView;
+ private DynamicForm form;
+ private IButton setButton;
+
+ public UpdateCollectionIntervalWidget(AbstractMeasurementScheduleListView schedulesView) {
+ this.schedulesView = schedulesView;
+ }
+
+ @Override
+ protected void onDraw() {
+ super.onDraw();
+
+ VLayout spacer = new VLayout();
+ spacer.setWidth(20);
+ addMember(spacer);
+
+ this.form = new DynamicForm();
+ this.form.setNumCols(3);
+ IntegerItem intervalItem = new IntegerItem("interval", "Collection Interval");
+ IntegerRangeValidator integerRangeValidator = new IntegerRangeValidator();
+ integerRangeValidator.setMin(1);
+ intervalItem.setValidators(integerRangeValidator);
+ intervalItem.setValidateOnChange(true);
+ intervalItem.addChangedHandler(new ChangedHandler() {
+ public void onChanged(ChangedEvent changedEvent) {
+ refresh(UpdateCollectionIntervalWidget.this.schedulesView.getListGrid());
+ }
+ });
+ SelectItem unitsItem = new SelectItem("units", null);
+ unitsItem.setValueMap("seconds", "minutes", "hours");
+ unitsItem.setDefaultValue("seconds");
+ unitsItem.setShowTitle(false);
+ this.form.setFields(intervalItem, unitsItem);
+ addMember(this.form);
+
+ this.setButton = new IButton("Set");
+ this.setButton.setDisabled(true);
+ this.setButton.addClickHandler(new ClickHandler() {
+ public void onClick(ClickEvent clickEvent) {
+ form.validate();
+ UpdateCollectionIntervalWidget.this.schedulesView.getDataSource().updateSchedules(
+ UpdateCollectionIntervalWidget.this.schedulesView, getInterval());
+ }
+ });
+ addMember(this.setButton);
+ }
+
+ @Override
+ public void refresh(ListGrid listGrid) {
+ int count = listGrid.getSelection().length;
+ Long interval = getInterval();
+ this.setButton.setDisabled(count == 0 || interval == null);
+ }
+
+ private Long getInterval() {
+ FormItem item = this.form.getItem("interval");
+ if (item.getValue() == null || !item.validate()) {
+ return null;
+ }
+ String stringValue = this.form.getValueAsString("interval");
+ long value = Long.valueOf(stringValue.trim());
+ String units = this.form.getValueAsString("units");
+ value *= 1000;
+ if (units.equals("minutes")) {
+ value *= 60;
+ } else if (units.equals("hours")) {
+ value *= 60 * 60;
+ }
+ return value;
+ }
+}
commit 76ed96cb78102d33520f33bece21e15963c2606e
Author: Joseph Marques <joseph(a)redhat.com>
Date: Mon Aug 16 18:01:59 2010 -0400
comment out method that doesn't exist in smart gwt 2.2
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 bcf95da..67632e9 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
@@ -153,7 +153,7 @@ public class Table extends VLayout {
// these fields to a bogus field name will disable this behavior. Note, setting them to null does *not* disable
// the behavior.
listGrid.setRecordEnabledProperty("foobar");
- listGrid.setRecordCanSelectProperty("foobar");
+ //listGrid.setRecordCanSelectProperty("foobar");
listGrid.setRecordEditProperty("foobar");
// Footer
commit 6bd6bd06d5aeecf3d08d324ce545b164f0b47e8a
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Mon Aug 16 13:15:58 2010 -0400
fix several bugs in the Schedules tabs
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 d5b8b13..bcf95da 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
@@ -149,9 +149,12 @@ public class Table extends VLayout {
listGrid.setAutoFitData(Autofit.HORIZONTAL);
listGrid.setAlternateRecordStyles(true);
listGrid.setResizeFieldsInRealTime(false);
- // By default, SmartGWT will disable row that have a record named "enabled" with a value of false - setting this
- // field to null will disable this behavior.
- listGrid.setRecordEnabledProperty(null);
+ // By default, SmartGWT will disable any rows that have a record named "enabled" with a value of false - setting
+ // these fields to a bogus field name will disable this behavior. Note, setting them to null does *not* disable
+ // the behavior.
+ listGrid.setRecordEnabledProperty("foobar");
+ listGrid.setRecordCanSelectProperty("foobar");
+ listGrid.setRecordEditProperty("foobar");
// Footer
footer = new ToolStrip();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleDataSource.java
index b9a017a..08f3473 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleDataSource.java
@@ -141,7 +141,7 @@ public abstract class AbstractMeasurementScheduleDataSource extends RPCDataSourc
@Override
public MeasurementSchedule copyValues(ListGridRecord from) {
- return null; // TODO: Implement?
+ return null;
}
@Override
@@ -162,26 +162,29 @@ public abstract class AbstractMeasurementScheduleDataSource extends RPCDataSourc
}
public void enableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView) {
- int[] measurementDefinitionIds = getMeasurementDefinitionIds(measurementScheduleListView);
- enableSchedules(measurementScheduleListView, measurementDefinitionIds);
+ int[] ids = getMeasurementDefinitionIds(measurementScheduleListView);
+ List<String> displayNames = getMeasurementDefinitionDisplayNames(measurementScheduleListView);
+ enableSchedules(measurementScheduleListView, ids, displayNames);
measurementScheduleListView.refresh();
}
protected abstract void enableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView,
- int[] measurementDefinitionIds);
+ int[] measurementDefinitionIds, List<String> measurementDefinitionDisplayNames);
public void disableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView) {
- int[] measurementDefinitionIds = getMeasurementDefinitionIds(measurementScheduleListView);
- disableSchedules(measurementScheduleListView, measurementDefinitionIds);
+ int[] ids = getMeasurementDefinitionIds(measurementScheduleListView);
+ List<String> displayNames = getMeasurementDefinitionDisplayNames(measurementScheduleListView);
+ disableSchedules(measurementScheduleListView, ids, displayNames);
measurementScheduleListView.refresh();
}
protected abstract void disableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView,
- int[] measurementDefinitionIds);
+ int[] measurementDefinitionIds, List<String> measurementDefinitionDisplayNames);
public void updateSchedules(AbstractMeasurementScheduleListView measurementScheduleListView, long interval) {
- int[] measurementDefinitionIds = getMeasurementDefinitionIds(measurementScheduleListView);
- updateSchedules(measurementScheduleListView, measurementDefinitionIds, interval);
+ int[] ids = getMeasurementDefinitionIds(measurementScheduleListView);
+ List<String> displayNames = getMeasurementDefinitionDisplayNames(measurementScheduleListView);
+ updateSchedules(measurementScheduleListView, ids, displayNames, interval);
measurementScheduleListView.refresh();
}
@@ -198,6 +201,17 @@ public abstract class AbstractMeasurementScheduleDataSource extends RPCDataSourc
return measurementDefinitionIds;
}
+ private List<String> getMeasurementDefinitionDisplayNames(AbstractMeasurementScheduleListView measurementScheduleListView) {
+ ListGrid listGrid = measurementScheduleListView.getListGrid();
+ ListGridRecord[] records = listGrid.getSelection();
+ List<String> displayNames = new ArrayList<String>(records.length);
+ for (ListGridRecord record : records) {
+ String displayName = record.getAttributeAsString(MeasurementScheduleCriteria.SORT_FIELD_DISPLAY_NAME);
+ displayNames.add(displayName);
+ }
+ return displayNames;
+ }
+
protected abstract void updateSchedules(final AbstractMeasurementScheduleListView measurementScheduleListView,
- final int[] measurementDefinitionIds, final long interval);
+ final int[] measurementDefinitionIds, List<String> measurementDefinitionDisplayNames, final long interval);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java
index 7b56290..ea28b3f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java
@@ -47,38 +47,42 @@ public class SchedulesDataSource extends AbstractMeasurementScheduleDataSource {
@Override
protected void enableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView,
- int[] measurementDefinitionIds) {
+ int[] measurementDefinitionIds, final List<String> measurementDefinitionDisplayNames) {
this.measurementService.enableSchedulesForCompatibleGroup(this.resourceGroupId, measurementDefinitionIds,
new AsyncCallback<Void>() {
- @Override
- public void onFailure(Throwable throwable) {
- CoreGUI.getErrorHandler().handleError("Failed to enable specified metric schedules for Resource group with id[" + resourceGroupId + "].",
- throwable);
- }
+ @Override
+ public void onFailure(Throwable throwable) {
+ CoreGUI.getErrorHandler().handleError("Failed to enable collection of metrics "
+ + measurementDefinitionDisplayNames + " for Resource group with id [" + resourceGroupId + "].",
+ throwable);
+ }
- @Override
- public void onSuccess(Void aVoid) {
- CoreGUI.getMessageCenter().notify(new Message("Specified Metric schedules for Resource group with id [" + resourceGroupId +
- "] enabled.", Message.Severity.Info));
+ @Override
+ public void onSuccess(Void aVoid) {
+ CoreGUI.getMessageCenter().notify(new Message("Enabled collection of metrics "
+ + measurementDefinitionDisplayNames + " for Resource group with id [" + resourceGroupId +
+ "].", Message.Severity.Info));
- }
+ }
});
}
@Override
- protected void disableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView, int[] measurementDefinitionIds) {
+ protected void disableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView, int[] measurementDefinitionIds, final List<String> measurementDefinitionDisplayNames) {
this.measurementService.disableSchedulesForCompatibleGroup(this.resourceGroupId, measurementDefinitionIds,
new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable throwable) {
- CoreGUI.getErrorHandler().handleError("Failed to disable specified metric schedules for Resource group with id[" + resourceGroupId + "].",
+ CoreGUI.getErrorHandler().handleError("Failed to disable collection of metrics "
+ + measurementDefinitionDisplayNames + " for Resource group with id [" + resourceGroupId + "].",
throwable);
}
@Override
public void onSuccess(Void aVoid) {
- CoreGUI.getMessageCenter().notify(new Message("Specified metric schedules for Resource group with id [" + resourceGroupId +
- "] disabled.", Message.Severity.Info));
+ CoreGUI.getMessageCenter().notify(new Message("Disabled collection of metrics "
+ + measurementDefinitionDisplayNames + " for Resource group with id [" + resourceGroupId +
+ "].", Message.Severity.Info));
}
});
@@ -86,19 +90,22 @@ public class SchedulesDataSource extends AbstractMeasurementScheduleDataSource {
@Override
protected void updateSchedules(AbstractMeasurementScheduleListView measurementScheduleListView,
- int[] measurementDefinitionIds, long collectionInterval) {
+ int[] measurementDefinitionIds, final List<String> measurementDefinitionDisplayNames, final long collectionInterval) {
this.measurementService.updateSchedulesForCompatibleGroup(this.resourceGroupId, measurementDefinitionIds, collectionInterval,
new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable throwable) {
- CoreGUI.getErrorHandler().handleError("Failed to update specified metric schedules for Resource group with id[" + resourceGroupId + "].",
+ CoreGUI.getErrorHandler().handleError("Failed to set collection interval to " + (collectionInterval / 1000)
+ + " seconds for metrics " + measurementDefinitionDisplayNames + " for Resource group with id ["
+ + resourceGroupId + "].",
throwable);
}
@Override
public void onSuccess(Void aVoid) {
- CoreGUI.getMessageCenter().notify(new Message("Specified Metric schedules for Resource group with id [" + resourceGroupId +
- "] updated.", Message.Severity.Info));
+ CoreGUI.getMessageCenter().notify(new Message("Collection interval for metrics "
+ + measurementDefinitionDisplayNames + " for Resource group with id [" + resourceGroupId +
+ "] set to " + (collectionInterval / 1000) + " seconds.", Message.Severity.Info));
}
});
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java
index 3f1f7dc..d944bd0 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java
@@ -3,7 +3,6 @@ package org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.monitoring
import com.smartgwt.client.data.Criteria;
import org.rhq.core.domain.criteria.MeasurementScheduleCriteria;
import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasurementScheduleListView;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring.schedules.SchedulesDataSource;
/**
* The group Monitoring>Schedules subtab.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java
index dbfb9a0..10a5646 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java
@@ -47,58 +47,65 @@ public class SchedulesDataSource extends AbstractMeasurementScheduleDataSource {
@Override
protected void enableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView,
- int[] measurementDefinitionIds) {
+ int[] measurementDefinitionIds, final List<String> measurementDefinitionDisplayNames) {
this.measurementService.enableSchedulesForResource(this.resourceId, measurementDefinitionIds,
new AsyncCallback<Void>() {
- @Override
- public void onFailure(Throwable throwable) {
- CoreGUI.getErrorHandler().handleError("Failed to enable specified metric schedules for Resource with id[" + resourceId + "].",
- throwable);
- }
+ @Override
+ public void onFailure(Throwable throwable) {
+ CoreGUI.getErrorHandler().handleError("Failed to enable collection of metrics "
+ + measurementDefinitionDisplayNames + " for Resource with id [" + resourceId + "].",
+ throwable);
+ }
- @Override
- public void onSuccess(Void aVoid) {
- CoreGUI.getMessageCenter().notify(new Message("Specified Metric schedules for Resource with id [" + resourceId +
- "] enabled.", Message.Severity.Info));
+ @Override
+ public void onSuccess(Void aVoid) {
+ CoreGUI.getMessageCenter().notify(new Message("Enabled collection of metrics "
+ + measurementDefinitionDisplayNames + " for Resource with id [" + resourceId +
+ "].", Message.Severity.Info));
- }
+ }
});
}
@Override
- protected void disableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView, int[] measurementDefinitionIds) {
+ protected void disableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView, int[] measurementDefinitionIds, final List<String> measurementDefinitionDisplayNames) {
this.measurementService.disableSchedulesForResource(this.resourceId, measurementDefinitionIds,
new AsyncCallback<Void>() {
- @Override
- public void onFailure(Throwable throwable) {
- CoreGUI.getErrorHandler().handleError("Failed to disable specified metric schedules for Resource with id[" + resourceId + "].",
- throwable);
- }
+ @Override
+ public void onFailure(Throwable throwable) {
+ CoreGUI.getErrorHandler().handleError("Failed to disable collection of metrics "
+ + measurementDefinitionDisplayNames + " for Resource with id [" + resourceId + "].",
+ throwable);
+ }
- @Override
- public void onSuccess(Void aVoid) {
- CoreGUI.getMessageCenter().notify(new Message("Specified metric schedules for Resource with id [" + resourceId +
- "] disabled.", Message.Severity.Info));
+ @Override
+ public void onSuccess(Void aVoid) {
+ CoreGUI.getMessageCenter().notify(new Message("Disabled collection of metrics "
+ + measurementDefinitionDisplayNames + " for Resource with id [" + resourceId +
+ "].", Message.Severity.Info));
- }
+ }
});
}
@Override
protected void updateSchedules(AbstractMeasurementScheduleListView measurementScheduleListView,
- int[] measurementDefinitionIds, long collectionInterval) {
+ int[] measurementDefinitionIds, final List<String> measurementDefinitionDisplayNames, final long collectionInterval) {
this.measurementService.updateSchedulesForResource(this.resourceId, measurementDefinitionIds, collectionInterval,
new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable throwable) {
- CoreGUI.getErrorHandler().handleError("Failed to update specified metric schedules for Resource with id[" + resourceId + "].",
+ CoreGUI.getErrorHandler().handleError("Failed to set collection interval to " + (collectionInterval / 1000)
+ + " seconds for metrics " + measurementDefinitionDisplayNames + " for Resource with id ["
+ + resourceId + "].",
throwable);
}
@Override
public void onSuccess(Void aVoid) {
- CoreGUI.getMessageCenter().notify(new Message("Specified Metric schedules for Resource with id [" + resourceId +
- "] updated.", Message.Severity.Info));
+ CoreGUI.getMessageCenter().notify(new Message("Collection interval for metrics "
+ + measurementDefinitionDisplayNames + " for Resource with id [" + resourceId +
+ "] set to " + (collectionInterval / 1000) + " seconds.", Message.Severity.Info));
}
});
commit 78d42055bb2657c9c9b938697ac6121c9d2354c1
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Mon Aug 16 11:55:22 2010 -0400
first cut of group Monitoring>Schedules subtab; add resourcePermission field to ResourceGroupComposite
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/composite/ResourceGroupComposite.java b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/composite/ResourceGroupComposite.java
index 5199ba2..1925c37 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/composite/ResourceGroupComposite.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/composite/ResourceGroupComposite.java
@@ -27,6 +27,7 @@ import java.io.Serializable;
import javax.xml.bind.annotation.XmlTransient;
import org.rhq.core.domain.resource.composite.ResourceFacets;
+import org.rhq.core.domain.resource.composite.ResourcePermission;
import org.rhq.core.domain.resource.group.GroupCategory;
import org.rhq.core.domain.resource.group.ResourceGroup;
@@ -53,7 +54,8 @@ public class ResourceGroupComposite implements Serializable {
private ResourceFacets resourceFacets;
- // TODO: Expose authz permissions current user has for the group.
+ @XmlTransient
+ private ResourcePermission resourcePermission;
private class GroupDefinitionMember extends ResourceGroup {
public void setGroupCategory(GroupCategory category) {
@@ -159,6 +161,14 @@ public class ResourceGroupComposite implements Serializable {
return resourceFacets;
}
+ public ResourcePermission getResourcePermission() {
+ return resourcePermission;
+ }
+
+ public void setResourcePermission(ResourcePermission resourcePermission) {
+ this.resourcePermission = resourcePermission;
+ }
+
/**
* Returns a query string snippet that can be passed to group URLs that reference this specific group.
* Note that the returned string does not include the "?" itself.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertsView.java
index 1cb4b9e..ba81f5c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertsView.java
@@ -21,7 +21,6 @@ package org.rhq.enterprise.gui.coregui.client.alert;
import java.util.ArrayList;
import java.util.List;
-import com.google.gwt.user.client.ui.VerticalPanel;
import com.smartgwt.client.core.DataClass;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.data.Record;
@@ -64,9 +63,6 @@ public class AlertsView extends Table {
private static final String DELETE_CONFIRM_MESSAGE = "Are you sure you want to delete the selected alert(s)?";
private AlertDataSource dataSource;
- private HTMLFlow detailsContent;
- private DynamicForm detailsTable;
- private VerticalPanel vpanel;
private static final String SENDER = "sender";
Criteria criteria;
@@ -95,7 +91,6 @@ public class AlertsView extends Table {
protected void onInit() {
super.onInit();
-
// Add the list table as the top half of the view.
//Criteria criteria = new Criteria(AlertCriteria.);
ListGrid listGrid = getListGrid();
@@ -129,7 +124,6 @@ public class AlertsView extends Table {
listGrid.addSelectionChangedHandler(new SelectionChangedHandler() {
public void onSelectionChanged(SelectionEvent event) {
ListGridRecord[] selectedRecords = AlertsView.this.getListGrid().getSelection();
- String contents;
if (selectedRecords.length == 1) {
ListGridRecord record = selectedRecords[0];
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/BooleanCellFormatter.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/BooleanCellFormatter.java
index 6300f6a..8d61228 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/BooleanCellFormatter.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/BooleanCellFormatter.java
@@ -8,12 +8,15 @@ import com.smartgwt.client.widgets.grid.ListGridRecord;
*/
public class BooleanCellFormatter implements CellFormatter {
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
- if (value == null) {
- return "";
- }
- if (!(value instanceof Boolean)) {
- throw new IllegalArgumentException("value parameter is not a Boolean.");
- }
- return ((Boolean) value) ? "yes" : "no";
+ if (value == null) {
+ return "";
+ }
+ if (value instanceof Boolean) {
+ return ((Boolean) value) ? "yes" : "no";
+ } else if (value instanceof String) {
+ return Boolean.parseBoolean((String) value) ? "yes" : "no";
+ } else {
+ throw new IllegalArgumentException("value parameter is not a Boolean or a String.");
+ }
}
}
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 ee29754..d5b8b13 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
@@ -19,6 +19,7 @@
package org.rhq.enterprise.gui.coregui.client.components.table;
import java.util.ArrayList;
+import java.util.List;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.data.SortSpecifier;
@@ -96,8 +97,8 @@ public class Table extends VLayout {
;
- private ArrayList<TableActionInfo> tableActions = new ArrayList<TableActionInfo>();
- private ArrayList<Canvas> extraWidgets = new ArrayList<Canvas>();
+ private List<TableActionInfo> tableActions = new ArrayList<TableActionInfo>();
+ private List<Canvas> extraWidgets = new ArrayList<Canvas>();
public Table() {
this(null, null, null, null, true);
@@ -148,6 +149,9 @@ public class Table extends VLayout {
listGrid.setAutoFitData(Autofit.HORIZONTAL);
listGrid.setAlternateRecordStyles(true);
listGrid.setResizeFieldsInRealTime(false);
+ // By default, SmartGWT will disable row that have a record named "enabled" with a value of false - setting this
+ // field to null will disable this behavior.
+ listGrid.setRecordEnabledProperty(null);
// Footer
footer = new ToolStrip();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/MeasurementDataGWTService.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/MeasurementDataGWTService.java
index 2b163f6..cf1a9a2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/MeasurementDataGWTService.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/MeasurementDataGWTService.java
@@ -68,4 +68,10 @@ public interface MeasurementDataGWTService extends RemoteService {
void updateSchedulesForResource(int resourceId, int[] measurementDefinitionIds, long collectionInterval);
+ void enableSchedulesForCompatibleGroup(int resourceGroupId, int[] measurementDefinitionIds);
+
+ void disableSchedulesForCompatibleGroup(int resourceGroupId, int[] measurementDefinitionIds);
+
+ void updateSchedulesForCompatibleGroup(int resourceGroupId, int[] measurementDefinitionIds, long collectionInterval);
+
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleDataSource.java
index 81fe163..b9a017a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleDataSource.java
@@ -18,8 +18,6 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.common;
-import com.google.gwt.core.client.JavaScriptObject;
-import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.data.DSRequest;
@@ -163,12 +161,6 @@ public abstract class AbstractMeasurementScheduleDataSource extends RPCDataSourc
return record;
}
- protected void executeRemove(final DSRequest request, final DSResponse response) {
- JavaScriptObject data = request.getData();
- ListGridRecord record = new ListGridRecord(data);
- Window.alert(String.valueOf(record.getAttributeAsInt("id")));
- }
-
public void enableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView) {
int[] measurementDefinitionIds = getMeasurementDefinitionIds(measurementScheduleListView);
enableSchedules(measurementScheduleListView, measurementDefinitionIds);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java
index 605c857..15c7127 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMeasurementScheduleListView.java
@@ -36,12 +36,11 @@ import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
*
* @author Ian Springer
*/
-// TODO: Actually, this class probably does not need to be abstract...
public abstract class AbstractMeasurementScheduleListView extends Table {
private static final String TITLE = "Metric Collection Schedules";
private static final SortSpecifier[] SORT_SPECIFIERS = new SortSpecifier[]{
- new SortSpecifier(MeasurementScheduleCriteria.SORT_FIELD_DISPLAY_NAME, SortDirection.ASCENDING)
+ new SortSpecifier(MeasurementScheduleCriteria.SORT_FIELD_DISPLAY_NAME, SortDirection.ASCENDING)
};
public AbstractMeasurementScheduleListView(AbstractMeasurementScheduleDataSource dataSource, Criteria criteria,
@@ -59,89 +58,87 @@ public abstract class AbstractMeasurementScheduleListView extends Table {
protected void onInit() {
super.onInit();
- ListGrid listGrid = getListGrid();
- listGrid.getField(MeasurementScheduleCriteria.SORT_FIELD_DISPLAY_NAME).setWidth("25%");
+ ListGrid listGrid = getListGrid();
+ listGrid.getField(MeasurementScheduleCriteria.SORT_FIELD_DISPLAY_NAME).setWidth("20%");
listGrid.getField(MeasurementScheduleCriteria.SORT_FIELD_DESCRIPTION).setWidth("40%");
listGrid.getField(MeasurementScheduleCriteria.SORT_FIELD_DATA_TYPE).setWidth("10%");
ListGridField enabledField = listGrid.getField(MeasurementScheduleCriteria.SORT_FIELD_ENABLED);
- enabledField.setWidth("5%");
+ enabledField.setWidth("10%");
enabledField.setCellFormatter(new BooleanCellFormatter());
ListGridField intervalField = listGrid.getField(MeasurementScheduleCriteria.SORT_FIELD_INTERVAL);
- intervalField.setCellFormatter(new CellFormatter() {
- public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
- if (value == null) {
- return "";
- }
+ intervalField.setCellFormatter(new MillisecondsCellFormatter());
+ intervalField.setWidth("25%");
- long milliseconds = (Integer)value;
- if (milliseconds == 0) {
- return "0";
- }
+ addTableAction("Enable", Table.SelectionEnablement.ANY, null, new TableAction() {
+ public void executeAction(ListGridRecord[] selection) {
+ getDataSource().enableSchedules(AbstractMeasurementScheduleListView.this);
+ }
+ });
+ addTableAction("Disable", Table.SelectionEnablement.ANY, null, new TableAction() {
+ public void executeAction(ListGridRecord[] selection) {
+ getDataSource().disableSchedules(AbstractMeasurementScheduleListView.this);
+ }
+ });
+ // TODO: Add controls to set collection interval - base class is going to need massaging...
+ }
- StringBuilder result = new StringBuilder();
- if (milliseconds > 1000) {
- long seconds = milliseconds / 1000;
- milliseconds = milliseconds % 1000;
- if (seconds >= 60) {
- long minutes = seconds / 60;
- seconds = seconds % 60;
- if (minutes > 60) {
- long hours = minutes / 60;
- minutes = minutes % 60;
- result.append(hours).append(" hour");
- if (hours > 1) {
- result.append("s");
- }
- }
- if (minutes != 0) {
- if (result.length() != 0) {
- result.append(", ");
- }
- result.append(minutes).append(" minute");
- if (minutes > 1) {
- result.append("s");
- }
+ class MillisecondsCellFormatter implements CellFormatter {
+ public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
+ if (value == null) {
+ return "";
+ }
+
+ long milliseconds = (Integer) value;
+ if (milliseconds == 0) {
+ return "0";
+ }
+
+ StringBuilder result = new StringBuilder();
+ if (milliseconds > 1000) {
+ long seconds = milliseconds / 1000;
+ milliseconds = milliseconds % 1000;
+ if (seconds >= 60) {
+ long minutes = seconds / 60;
+ seconds = seconds % 60;
+ if (minutes > 60) {
+ long hours = minutes / 60;
+ minutes = minutes % 60;
+ result.append(hours).append(" hour");
+ if (hours > 1) {
+ result.append("s");
}
}
- if (seconds != 0) {
+ if (minutes != 0) {
if (result.length() != 0) {
result.append(", ");
}
- result.append(seconds).append(" second");
- if (seconds > 1) {
+ result.append(minutes).append(" minute");
+ if (minutes > 1) {
result.append("s");
}
}
}
- if (milliseconds != 0) {
+ if (seconds != 0) {
if (result.length() != 0) {
result.append(", ");
}
- result.append(milliseconds).append(" millisecond");
- if (milliseconds > 1) {
+ result.append(seconds).append(" second");
+ if (seconds > 1) {
result.append("s");
}
}
- return result.toString();
- }
- });
- intervalField.setWidth("25%");
-
- addTableAction("Enable", Table.SelectionEnablement.ANY, null, new TableAction() {
- public void executeAction(ListGridRecord[] selection) {
- getDataSource().enableSchedules(AbstractMeasurementScheduleListView.this);
}
- });
- addTableAction("Disable", Table.SelectionEnablement.ANY, null, new TableAction() {
- public void executeAction(ListGridRecord[] selection) {
- getDataSource().disableSchedules(AbstractMeasurementScheduleListView.this);
+ if (milliseconds != 0) {
+ if (result.length() != 0) {
+ result.append(", ");
+ }
+ result.append(milliseconds).append(" millisecond");
+ if (milliseconds > 1) {
+ result.append("s");
+ }
}
- });
- // TODO: Add controls to set collection interval - base class is going to need massaging...
- }
+ return result.toString();
+ }
- public void refresh() {
- this.getListGrid().invalidateCache();
- //this.table.getListGrid().markForRedraw();
- }
+ }
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
index e6b208c..a9a6989 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
@@ -23,7 +23,6 @@ import java.util.Set;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.smartgwt.client.docs.Members;
import com.smartgwt.client.types.Side;
import com.smartgwt.client.widgets.layout.VLayout;
@@ -43,6 +42,7 @@ import org.rhq.enterprise.gui.coregui.client.components.tab.TwoLevelTabSelectedE
import org.rhq.enterprise.gui.coregui.client.components.tab.TwoLevelTabSelectedHandler;
import org.rhq.enterprise.gui.coregui.client.components.tab.TwoLevelTabSet;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.monitoring.schedules.SchedulesView;
import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.summary.OverviewView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
@@ -138,8 +138,9 @@ public class ResourceGroupDetailView extends VLayout implements BookmarkableView
+ groupId));
monitoringTab.updateSubTab("Tables", new FullHTMLPane("/rhq/group/monitor/tables-plain.xhtml?groupId="
+ groupId));
- monitoringTab.updateSubTab("Schedules", new FullHTMLPane("/rhq/group/monitor/schedules-plain.xhtml?groupId="
- + groupId));
+ monitoringTab.updateSubTab("Schedules", new SchedulesView(groupId));
+
+ //new FullHTMLPane("/rhq/group/monitor/schedules-plain.xhtml?groupId=" + groupId));
monitoringTab.updateSubTab("Call Time", new FullHTMLPane("/rhq/group/monitor/response-plain.xhtml?groupId="
+ groupId));
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java
new file mode 100644
index 0000000..7b56290
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesDataSource.java
@@ -0,0 +1,106 @@
+package org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.monitoring.schedules;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.smartgwt.client.data.DataSourceField;
+import com.smartgwt.client.data.fields.DataSourceIntegerField;
+import com.smartgwt.client.widgets.grid.ListGridRecord;
+import org.rhq.core.domain.criteria.MeasurementScheduleCriteria;
+import org.rhq.core.domain.measurement.MeasurementSchedule;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.gwt.MeasurementDataGWTServiceAsync;
+import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasurementScheduleDataSource;
+import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasurementScheduleListView;
+import org.rhq.enterprise.gui.coregui.client.util.message.Message;
+
+import java.util.List;
+
+/**
+ * A DataSource for reading and updating the metric schedules for the current group.
+ *
+ * @author Ian Springer
+ */
+public class SchedulesDataSource extends AbstractMeasurementScheduleDataSource {
+ private MeasurementDataGWTServiceAsync measurementService = GWTServiceLookup.getMeasurementDataService();
+ private int resourceGroupId;
+
+ public SchedulesDataSource(int resourceGroupId) {
+ this.resourceGroupId = resourceGroupId;
+ }
+
+ @Override
+ protected List<DataSourceField> createFields() {
+ List<DataSourceField> fields = super.createFields();
+ DataSourceField resourceGroupIdField = new DataSourceIntegerField(MeasurementScheduleCriteria.FILTER_FIELD_RESOURCE_GROUP_ID,
+ "Resource Group Id");
+ resourceGroupIdField.setHidden(true);
+ fields.add(resourceGroupIdField);
+ return fields;
+ }
+
+ @Override
+ public ListGridRecord copyValues(MeasurementSchedule from) {
+ ListGridRecord record = super.copyValues(from);
+ record.setAttribute(MeasurementScheduleCriteria.FILTER_FIELD_RESOURCE_GROUP_ID, this.resourceGroupId);
+ return record;
+ }
+
+ @Override
+ protected void enableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView,
+ int[] measurementDefinitionIds) {
+ this.measurementService.enableSchedulesForCompatibleGroup(this.resourceGroupId, measurementDefinitionIds,
+ new AsyncCallback<Void>() {
+ @Override
+ public void onFailure(Throwable throwable) {
+ CoreGUI.getErrorHandler().handleError("Failed to enable specified metric schedules for Resource group with id[" + resourceGroupId + "].",
+ throwable);
+ }
+
+ @Override
+ public void onSuccess(Void aVoid) {
+ CoreGUI.getMessageCenter().notify(new Message("Specified Metric schedules for Resource group with id [" + resourceGroupId +
+ "] enabled.", Message.Severity.Info));
+
+ }
+ });
+ }
+
+ @Override
+ protected void disableSchedules(AbstractMeasurementScheduleListView measurementScheduleListView, int[] measurementDefinitionIds) {
+ this.measurementService.disableSchedulesForCompatibleGroup(this.resourceGroupId, measurementDefinitionIds,
+ new AsyncCallback<Void>() {
+ @Override
+ public void onFailure(Throwable throwable) {
+ CoreGUI.getErrorHandler().handleError("Failed to disable specified metric schedules for Resource group with id[" + resourceGroupId + "].",
+ throwable);
+ }
+
+ @Override
+ public void onSuccess(Void aVoid) {
+ CoreGUI.getMessageCenter().notify(new Message("Specified metric schedules for Resource group with id [" + resourceGroupId +
+ "] disabled.", Message.Severity.Info));
+
+ }
+ });
+ }
+
+ @Override
+ protected void updateSchedules(AbstractMeasurementScheduleListView measurementScheduleListView,
+ int[] measurementDefinitionIds, long collectionInterval) {
+ this.measurementService.updateSchedulesForCompatibleGroup(this.resourceGroupId, measurementDefinitionIds, collectionInterval,
+ new AsyncCallback<Void>() {
+ @Override
+ public void onFailure(Throwable throwable) {
+ CoreGUI.getErrorHandler().handleError("Failed to update specified metric schedules for Resource group with id[" + resourceGroupId + "].",
+ throwable);
+ }
+
+ @Override
+ public void onSuccess(Void aVoid) {
+ CoreGUI.getMessageCenter().notify(new Message("Specified Metric schedules for Resource group with id [" + resourceGroupId +
+ "] updated.", Message.Severity.Info));
+
+ }
+ });
+ }
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java
new file mode 100644
index 0000000..3f1f7dc
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/SchedulesView.java
@@ -0,0 +1,25 @@
+package org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.monitoring.schedules;
+
+import com.smartgwt.client.data.Criteria;
+import org.rhq.core.domain.criteria.MeasurementScheduleCriteria;
+import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasurementScheduleListView;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring.schedules.SchedulesDataSource;
+
+/**
+ * The group Monitoring>Schedules subtab.
+ *
+ * @author Ian Springer
+ */
+public class SchedulesView extends AbstractMeasurementScheduleListView {
+ private static final String[] EXCLUDED_FIELD_NAMES = new String[] { MeasurementScheduleCriteria.FILTER_FIELD_RESOURCE_GROUP_ID };
+
+ public SchedulesView(int resourceGroupId) {
+ super(new SchedulesDataSource(resourceGroupId), createCriteria(resourceGroupId), EXCLUDED_FIELD_NAMES);
+ }
+
+ private static Criteria createCriteria(int resourceGroupId) {
+ Criteria criteria = new Criteria();
+ criteria.addCriteria(MeasurementScheduleCriteria.FILTER_FIELD_RESOURCE_GROUP_ID, resourceGroupId);
+ return criteria;
+ }
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java
index 31247f4..dbfb9a0 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/SchedulesDataSource.java
@@ -16,7 +16,7 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import java.util.List;
/**
- * A DataSource for reading an updating the metric schedules for the current Resource.
+ * A DataSource for reading and updating the metric schedules for the current Resource.
*
* @author Ian Springer
*/
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 cdac27f..52b5619 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
@@ -118,9 +118,24 @@ public class MeasurementDataGWTServiceImpl extends AbstractGWTServiceImpl implem
}
public void updateSchedulesForResource(int resourceId, int[] measurementDefinitionIds, long collectionInterval) {
- scheduleManager.updateSchedulesForResource(getSessionSubject(), resourceId, measurementDefinitionIds, collectionInterval);
+ scheduleManager.updateSchedulesForResource(getSessionSubject(), resourceId, measurementDefinitionIds,
+ collectionInterval);
}
+ public void enableSchedulesForCompatibleGroup(int resourceGroupId, int[] measurementDefinitionIds) {
+ scheduleManager.enableSchedulesForCompatibleGroup(getSessionSubject(), resourceGroupId, measurementDefinitionIds);
+ }
+
+ public void disableSchedulesForCompatibleGroup(int resourceGroupId, int[] measurementDefinitionIds) {
+ scheduleManager.disableSchedulesForCompatibleGroup(getSessionSubject(), resourceGroupId, measurementDefinitionIds);
+ }
+
+ public void updateSchedulesForCompatibleGroup(int resourceGroupId, int[] measurementDefinitionIds,
+ long collectionInterval) {
+ scheduleManager.updateSchedulesForCompatibleGroup(getSessionSubject(), resourceGroupId, measurementDefinitionIds,
+ collectionInterval);
+ }
+
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
index 43c6f0f..f6a5b4d 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
@@ -70,6 +70,7 @@ 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.ResourceFacets;
+import org.rhq.core.domain.resource.composite.ResourcePermission;
import org.rhq.core.domain.resource.group.GroupCategory;
import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
@@ -1024,6 +1025,8 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
ResourceFacets facets = (type != null) ? resourceTypeManager.getResourceFacets(type.getId())
: ResourceFacets.NONE;
composite.setResourceFacets(facets);
+ Set<Permission> perms = authorizationManager.getImplicitGroupPermissions(subject, group.getId());
+ composite.setResourcePermission(new ResourcePermission(perms));
}
return results;
}
@@ -1223,6 +1226,8 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
}
ResourceGroupComposite composite = new ResourceGroupComposite(explicitCount, explicitAvail, implicitCount,
implicitAvail, group, facets);
+ Set<Permission> perms = authorizationManager.getImplicitGroupPermissions(subject, group.getId());
+ composite.setResourcePermission(new ResourcePermission(perms));
results.add(composite);
}
commit 63b941dd6a0e954948c8a79e81d69cf388718d1c
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Mon Aug 16 16:55:34 2010 +0200
More mvn:site related changes - add reports
diff --git a/pom.xml b/pom.xml
index bc895da..c443bd7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1089,13 +1089,25 @@
<reporting>
<plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ <inherited>true</inherited>
+ </plugin>
+ <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.3.1</version>
+ <configuration>
+ <xmlOutput>true</xmlOutput>
+ <onlyAnalyze>org.rhq.*,org.jboss.jopr.*</onlyAnalyze>
+ <effort>Max</effort>
+ <threshold>Default</threshold>
+ </configuration>
+ <inherited>true</inherited>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jxr-plugin</artifactId>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jdepend-maven-plugin</artifactId>
</plugin>
<!--
<plugin>
@@ -1111,6 +1123,25 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
</plugin>
+<!--
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>emma-maven-plugin</artifactId>
+ <version>1.0-alpha-2</version>
+ <inherited>true</inherited>
+ </plugin>
+-->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.4</version>
+ <inherited>true</inherited>
+ </plugin>
+ <plugin>
+ <!-- must be last plugin in the list -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>dashboard-maven-plugin</artifactId>
+ </plugin>
</plugins>
</reporting>
@@ -1118,6 +1149,7 @@
<licenses>
<license>
<name>GPL</name>
+ <url>http://gnu.org</url>
</license>
</licenses>
<developers>
commit 56621380a7a59b9047fd3aa3563944b0043039a5
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Mon Aug 16 14:37:26 2010 +0200
added the missing @WebMethod annotation and copied the javadoc from the local interface method.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java
index b3fbce0..01ed5a1 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java
@@ -100,6 +100,14 @@ public interface ResourceManagerRemote {
@WebParam(name = "subject") Subject subject, //
@WebParam(name = "resourceId") int resourceId);
+ /**
+ * Update resource's editable properties (name, description, location).
+ *
+ * @param user the logged in user
+ * @param resource the resource to update
+ * @return the updated resource
+ */
+ @WebMethod
Resource updateResource( //
@WebParam(name = "subject") Subject user, //
@WebParam(name = "resource") Resource resource);
commit c955fb2c40e390155061148cfd3a29b1f3d86d30
Merge: 26a4756... 370ab8f...
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Aug 10 12:30:02 2010 -0400
Merge branch 'master' into master-jay
Conflicts:
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
commit 370ab8f832b9297e15f11bc025dd7463fecaa93e
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Aug 10 12:28:24 2010 -0400
Line terminator commit
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/index.html b/modules/enterprise/gui/portal-war/src/main/webapp/index.html
index c6499a3..156119e 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/index.html
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/index.html
@@ -1,9 +1,9 @@
-<html>
- <head>
- <meta http-equiv="Refresh" content="0; URL=/coregui/CoreGUI.html#Dashboard"/>
- </head>
- <body>
- <p>Redirecting to <a href="/coregui/CoreGUI.html#Dashboard">coregui.war</a>...</p>
- </body>
-</html>
-
+<html>
+ <head>
+ <meta http-equiv="Refresh" content="0; URL=/coregui/CoreGUI.html#Dashboard"/>
+ </head>
+ <body>
+ <p>Redirecting to <a href="/coregui/CoreGUI.html#Dashboard">coregui.war</a>...</p>
+ </body>
+</html>
+
commit 26a47567f821070bd960de598effdf0000976d33
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Aug 10 12:26:56 2010 -0400
Group List View and Create Wizard Work
- converted group list view to extend Table instead of VLayout with single table
- added group delete to list view
- changed button and confirm text for consistency (now like bundle buttons)
- removed checkboxes from list view
- added some core gui refresh to list view
- simplified wizard invoke style
- left justify create step and increase text box sizes
- improve Next/Previous handling
- respect selected compatible type on member selection page
- fetch only the required resources for compatible group member select
- fix issues with member filtering
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
index d66a328..8171d96 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
@@ -18,50 +18,52 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.groups;
+import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.ListGridFieldType;
-import com.smartgwt.client.types.SelectionAppearance;
import com.smartgwt.client.types.SelectionStyle;
import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.layout.VLayout;
+import org.rhq.core.domain.resource.group.ResourceGroup;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
-import org.rhq.enterprise.gui.coregui.client.components.wizard.WizardView;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGroupGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.inventory.groups.wizard.GroupCreateWizard;
+import org.rhq.enterprise.gui.coregui.client.util.message.Message;
+import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
/**
* @author Greg Hinkle
*/
-public class ResourceGroupListView extends VLayout {
-
- private Table table;
+public class ResourceGroupListView extends Table {
public ResourceGroupListView() {
- this(null);
-
+ super("Resource Groups");
+ setWidth100();
+ setHeight100();
}
- /**
- * Resource Group list filtered by a given criteria
- * @param criteria
- */
public ResourceGroupListView(Criteria criteria) {
+ super("Resource Groups", criteria);
+ }
- setWidth100();
- setHeight100();
+ @Override
+ protected void onInit() {
+ super.onInit();
- final ResourceGroupsDataSource datasource = ResourceGroupsDataSource.getInstance();
+ // setHeaderIcon("?_24.png");
- table = new Table("Resource Groups", criteria);
- table.setDataSource(datasource);
+ final ResourceGroupsDataSource datasource = ResourceGroupsDataSource.getInstance();
+ setDataSource(datasource);
- table.getListGrid().setSelectionType(SelectionStyle.SIMPLE);
- table.getListGrid().setSelectionAppearance(SelectionAppearance.CHECKBOX);
- table.getListGrid().setResizeFieldsInRealTime(true);
+ getListGrid().setSelectionType(SelectionStyle.SIMPLE);
+ //table.getListGrid().setSelectionAppearance(SelectionAppearance.CHECKBOX);
+ getListGrid().setResizeFieldsInRealTime(true);
ListGridField idField = new ListGridField("id", "Id", 55);
idField.setType(ListGridFieldType.INTEGER);
@@ -80,26 +82,38 @@ public class ResourceGroupListView extends VLayout {
ListGridField availabilityField = new ListGridField("currentAvailability", "Availability", 55);
availabilityField.setAlign(Alignment.CENTER);
- table.getListGrid().setFields(idField, nameField, descriptionField, typeNameField, pluginNameField,
- categoryField, availabilityField);
-
- table.addTableAction("Delete Groups", Table.SelectionEnablement.ANY,
- "Are you sure you want to delete # groups?", new TableAction() {
- public void executeAction(ListGridRecord[] selection) {
- // TODO: Implement this method.
+ getListGrid().setFields(idField, nameField, descriptionField, typeNameField, pluginNameField, categoryField,
+ availabilityField);
+
+ addTableAction("Delete", Table.SelectionEnablement.ANY, "Delete the selected resource groups?",
+ new TableAction() {
+ public void executeAction(ListGridRecord[] selections) {
+ ResourceGroupsDataSource ds = (ResourceGroupsDataSource) getDataSource();
+ for (ListGridRecord selection : selections) {
+ ResourceGroupGWTServiceAsync resourceGroupManager = GWTServiceLookup.getResourceGroupService();
+ final ResourceGroup object = ds.copyValues(selection);
+ resourceGroupManager.deleteResourceGroup(object.getId(), new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError(
+ "Failed to delete resource group [" + object.getName() + "]", caught);
+ }
+
+ public void onSuccess(Void result) {
+ CoreGUI.getMessageCenter().notify(
+ new Message("Deleted resource group [" + object.getName() + "]", Severity.Info));
+
+ CoreGUI.refresh();
+ }
+ });
+ }
}
});
- table.addTableAction("New Group", new TableAction() {
+ addTableAction("New", new TableAction() {
public void executeAction(ListGridRecord[] selection) {
- WizardView view = new WizardView(new GroupCreateWizard());
- view.displayDialog();
+ new GroupCreateWizard().startBundleWizard();
}
});
-
-
- addMember(table);
-
}
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupsDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupsDataSource.java
index debe24d..aaaaeaa 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupsDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupsDataSource.java
@@ -28,6 +28,7 @@ import com.smartgwt.client.rpc.RPCResponse;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.criteria.ResourceGroupCriteria;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.domain.resource.group.GroupCategory;
import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.core.domain.util.PageList;
@@ -115,7 +116,24 @@ public class ResourceGroupsDataSource extends RPCDataSource<ResourceGroup> {
@Override
public ResourceGroup copyValues(ListGridRecord from) {
- return null; // TODO: Implement this method.
+ Integer idAttrib = from.getAttributeAsInt("id");
+ String nameAttrib = from.getAttribute("name");
+ String descriptionAttrib = from.getAttribute("description");
+ String typeNameAttrib = from.getAttribute("typeName");
+ String pluginNameAttrib = from.getAttribute("pluginName");
+ ResourceType rt = null;
+
+ ResourceGroup rg = new ResourceGroup(nameAttrib);
+ rg.setId(idAttrib);
+ rg.setDescription(descriptionAttrib);
+ if (null != typeNameAttrib) {
+ rt = new ResourceType();
+ rt.setName(typeNameAttrib);
+ rt.setPlugin(pluginNameAttrib);
+ rg.setResourceType(rt);
+ }
+
+ return rg;
}
@Override
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateStep.java
index 96b6017..032cc75 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateStep.java
@@ -52,19 +52,22 @@ public class GroupCreateStep extends AbstractWizardStep {
form = new DynamicForm();
form.setValuesManager(new ValuesManager());
- form.setNumCols(4);
+ form.setWidth100();
+ form.setNumCols(2);
TextItem name = new TextItem("name", "Name");
name.setRequired(true);
-
- TextItem location = new TextItem("location", "Location");
+ name.setWidth(300);
TextAreaItem description = new AutoFitTextAreaItem("description", "Description");
+ description.setWidth(300);
+
+ TextItem location = new TextItem("location", "Location");
+ location.setWidth(300);
CheckboxItem recursive = new CheckboxItem("recursive", "Recursive");
LinkedHashMap<String, Canvas> options = new LinkedHashMap<String, Canvas>();
-
options.put("Mixed", null);
IPickTreeItem typeSelectItem = new IPickTreeItem("type", "Type");
@@ -81,16 +84,25 @@ public class GroupCreateStep extends AbstractWizardStep {
options.put("Compatible", form2);
RadioGroupWithComponentsItem kind = new RadioGroupWithComponentsItem("kind", "Group Type", options, form);
- kind.setValue("Mixed Resources");
+ kind.setValue("Mixed");
- form.setFields(name, location, description, recursive, kind);
+ form.setFields(name, description, location, recursive, kind);
}
return form;
}
public boolean nextPage() {
- return form.validate();
+ boolean valid = form.validate();
+ if (valid) {
+ RadioGroupWithComponentsItem kind = (RadioGroupWithComponentsItem) form.getField("kind");
+ if ("Compatible".equals(kind.getSelected())) {
+ DynamicForm form2 = (DynamicForm) kind.getSelectedComponent();
+ valid = (null != form2.getValue("type"));
+ }
+ }
+
+ return valid;
}
public String getName() {
@@ -103,11 +115,16 @@ public class GroupCreateStep extends AbstractWizardStep {
group.setLocation(form.getValueAsString("location"));
group.setRecursive(form.getValue("recursive") != null ? true : false);
- if (form.getValue("type") != null) {
- ResourceType type = new ResourceType();
- type.setId(Integer.parseInt(form.getValueAsString("type")));
- group.setResourceType(type);
+ RadioGroupWithComponentsItem kind = (RadioGroupWithComponentsItem) form.getField("kind");
+ if ("Compatible".equals(kind.getSelected())) {
+ DynamicForm form2 = (DynamicForm) kind.getSelectedComponent();
+ if (null != form2.getValue("type")) {
+ ResourceType rt = new ResourceType();
+ rt.setId(Integer.parseInt(form2.getValueAsString("type")));
+ group.setResourceType(rt);
+ }
}
+
return group;
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
index 4c8b074..55d1588 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupCreateWizard.java
@@ -28,6 +28,7 @@ import java.util.List;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.widgets.IButton;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.components.wizard.AbstractWizard;
@@ -68,6 +69,18 @@ public class GroupCreateWizard extends AbstractWizard {
return null; // TODO: Implement this method.
}
+ /**
+ * @return only the rt id is set
+ */
+ public ResourceType getCompatibleGroupResourceType() {
+ ResourceGroup rg = createStep.getGroup();
+ ResourceType rt = null;
+ if (null != rg) {
+ rt = rg.getResourceType();
+ }
+ return rt;
+ }
+
public void cancel() {
// TODO: Implement this method.
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupMembersStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupMembersStep.java
index 5f13657..cc79abc 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupMembersStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/wizard/GroupMembersStep.java
@@ -26,6 +26,7 @@ import java.util.HashSet;
import com.smartgwt.client.widgets.Canvas;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.enterprise.gui.coregui.client.components.wizard.AbstractWizardStep;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.ResourceSelector;
@@ -34,16 +35,20 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.Resour
*/
public class GroupMembersStep extends AbstractWizardStep {
- private GroupCreateWizard wizard;
- private ResourceSelector selector;
+ private GroupCreateWizard wizard = null;
+ private ResourceSelector selector = null;
+ private ResourceType requireType = null;
public GroupMembersStep(GroupCreateWizard wizard) {
this.wizard = wizard;
}
public Canvas getCanvas() {
- if (selector == null) {
+ ResourceType rt = wizard.getCompatibleGroupResourceType();
+ if ((selector == null) || (rt != requireType)) {
selector = new ResourceSelector();
+ requireType = rt;
+ selector.setRequireType(rt);
}
return selector;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
index 49ec0e4..03deb9b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
@@ -98,6 +98,24 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
public void executeFetch(final DSRequest request, final DSResponse response) {
+ ResourceCriteria criteria = getFetchCriteria(request);
+
+ resourceService.findResourcesByCriteria(criteria, new AsyncCallback<PageList<Resource>>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError("Failed to fetch resource data", caught);
+ response.setStatus(RPCResponse.STATUS_FAILURE);
+ processResponse(request.getRequestId(), response);
+ }
+
+ public void onSuccess(PageList<Resource> result) {
+
+ dataRetrieved(result, response, request);
+ }
+ });
+ }
+
+ protected ResourceCriteria getFetchCriteria(final DSRequest request) {
+
ResourceCriteria criteria = new ResourceCriteria();
criteria.setPageControl(getPageControl(request));
@@ -158,18 +176,7 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
criteria.addFilterTagName((String) request.getCriteria().getValues().get("tagName"));
}
- resourceService.findResourcesByCriteria(criteria, new AsyncCallback<PageList<Resource>>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError("Failed to fetch resource data", caught);
- response.setStatus(RPCResponse.STATUS_FAILURE);
- processResponse(request.getRequestId(), response);
- }
-
- public void onSuccess(PageList<Resource> result) {
-
- dataRetrieved(result, response, request);
- }
- });
+ return criteria;
}
@Override
@@ -215,7 +222,7 @@ public class ResourceDatasource extends RPCDataSource<Resource> {
record.setAttribute("id", from.getId());
record.setAttribute(NAME.propertyName(), from.getName());
record.setAttribute(DESCRIPTION.propertyName(), from.getDescription());
- record.setAttribute(TYPE.propertyName(), from.getResourceType().getName());
+ record.setAttribute(TYPE.propertyName(), from.getResourceType().getId());
record.setAttribute(PLUGIN.propertyName(), from.getResourceType().getPlugin());
record.setAttribute(CATEGORY.propertyName(), from.getResourceType().getCategory().getDisplayName());
record.setAttribute("icon", from.getResourceType().getCategory().getDisplayName() + "_"
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceSelector.java
index 1274e14..0d25f38 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourceSelector.java
@@ -18,12 +18,18 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource.selection;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.CATEGORY;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
+
import java.util.ArrayList;
import java.util.Collection;
import com.smartgwt.client.data.AdvancedCriteria;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.data.Criterion;
+import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.types.OperatorId;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.IPickTreeItem;
@@ -31,7 +37,9 @@ import com.smartgwt.client.widgets.form.fields.SelectItem;
import com.smartgwt.client.widgets.form.fields.TextItem;
import com.smartgwt.client.widgets.grid.ListGridRecord;
+import org.rhq.core.domain.criteria.ResourceCriteria;
import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.enterprise.gui.coregui.client.components.selector.AbstractSelector;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDatasource;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypePluginTreeDataSource;
@@ -42,18 +50,18 @@ import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
*/
public class ResourceSelector extends AbstractSelector<Resource> {
- private Integer requireTypeId;
+ private ResourceType requireType;
public ResourceSelector() {
super();
}
- public Integer getRequireTypeId() {
- return requireTypeId;
+ public ResourceType getRequireType() {
+ return requireType;
}
- public void setRequireTypeId(Integer requireTypeId) {
- this.requireTypeId = requireTypeId;
+ public void setRequireType(ResourceType requireType) {
+ this.requireType = requireType;
markForRedraw();
}
@@ -70,10 +78,15 @@ public class ResourceSelector extends AbstractSelector<Resource> {
typeSelectItem.setEmptyMenuMessage("Loading...");
typeSelectItem.setShowIcons(true);
- if (requireTypeId != null) {
- typeSelectItem.setValue(requireTypeId);
- typeSelectItem.setDisabled(true);
- availableFilterForm.setItems(search, typeSelectItem);
+ if (requireType != null) {
+ // TODO: Currently ignore the typeSelectItem widget because we already know the type.
+ // Alternatively, we could display it disabled but we'd want the type name to be displayed as the
+ // value. To get this to display the type name I think we need to pre-fetch the type tree here. We could
+ // potentially optimize typeSelectItem.setValue(requireType.getId()) to build a tree that includes only
+ // this single type.
+ //typeSelectItem.setValue(requireType.getId());
+ //typeSelectItem.setDisabled(true);
+ availableFilterForm.setItems(search);
} else {
SelectItem categorySelect = new SelectItem("category", "Category");
categorySelect.setValueMap("Platform", "Server", "Service");
@@ -91,23 +104,23 @@ public class ResourceSelector extends AbstractSelector<Resource> {
protected Criteria getLatestCriteria(DynamicForm availableFilterForm) {
String search = (String) availableFilterForm.getValue("search");
- String type = (String) availableFilterForm.getValue("type");
+ String type = availableFilterForm.getValueAsString("type");
String category = (String) availableFilterForm.getValue("category");
ArrayList<Criterion> criteria = new ArrayList<Criterion>(3);
if (null != search) {
- criteria.add(new Criterion("name", OperatorId.CONTAINS, search));
+ criteria.add(new Criterion(NAME.propertyName(), OperatorId.CONTAINS, search));
}
if (null != type) {
// If type is a number its a typeId, otherwise a plugin name
try {
Integer.parseInt(type);
- criteria.add(new Criterion("type", OperatorId.EQUALS, type));
+ criteria.add(new Criterion(TYPE.propertyName(), OperatorId.EQUALS, type));
} catch (NumberFormatException nfe) {
- criteria.add(new Criterion("plugin", OperatorId.EQUALS, type));
+ criteria.add(new Criterion(PLUGIN.propertyName(), OperatorId.EQUALS, type));
}
}
if (null != category) {
- criteria.add(new Criterion("category", OperatorId.EQUALS, category));
+ criteria.add(new Criterion(CATEGORY.propertyName(), OperatorId.EQUALS, category));
}
AdvancedCriteria latestCriteria = new AdvancedCriteria(OperatorId.AND, criteria.toArray(new Criterion[criteria
.size()]));
@@ -127,5 +140,21 @@ public class ResourceSelector extends AbstractSelector<Resource> {
}
return records;
}
+
+ @Override
+ protected ResourceCriteria getFetchCriteria(final DSRequest request) {
+ ResourceCriteria result = super.getFetchCriteria(request);
+
+ // additional filters
+ if (null != requireType) {
+ result.addFilterResourceTypeId(requireType.getId());
+ }
+
+ // additional return data
+ result.fetchResourceType(true);
+
+ return result;
+ }
+
}
}
commit d46570b01227074b6c53ccb45fadf6e05b1a3d6d
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Aug 10 12:18:03 2010 -0400
cosmetic changes only
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/ResourceTypePluginTreeDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/ResourceTypePluginTreeDataSource.java
index 227e783..03a2198 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/ResourceTypePluginTreeDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/ResourceTypePluginTreeDataSource.java
@@ -22,8 +22,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.HashSet;
-import java.util.ListIterator;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSRequest;
@@ -48,7 +46,6 @@ import org.rhq.enterprise.gui.coregui.client.gwt.ResourceTypeGWTServiceAsync;
*/
public class ResourceTypePluginTreeDataSource extends DataSource {
-
private ResourceTypeGWTServiceAsync resourceTypeService = GWTServiceLookup.getResourceTypeGWTService();
public ResourceTypePluginTreeDataSource() {
@@ -57,7 +54,6 @@ public class ResourceTypePluginTreeDataSource extends DataSource {
setDataProtocol(DSProtocol.CLIENTCUSTOM);
setDataFormat(DSDataFormat.CUSTOM);
-
DataSourceTextField idField = new DataSourceTextField("id", "ID");
idField.setPrimaryKey(true);
@@ -70,7 +66,6 @@ public class ResourceTypePluginTreeDataSource extends DataSource {
DataSourceTextField resourceTypeField = new DataSourceTextField("category", "Category");
-
setFields(idField, parentIdField, resourceNameField, resourceKeyField, resourceTypeField);
}
@@ -80,17 +75,16 @@ public class ResourceTypePluginTreeDataSource extends DataSource {
// Asume success
response.setStatus(0);
switch (request.getOperationType()) {
- case FETCH:
- executeFetch(request, response);
- break;
- default:
- break;
+ case FETCH:
+ executeFetch(request, response);
+ break;
+ default:
+ break;
}
return request.getData();
}
-
protected void executeFetch(final DSRequest request, final DSResponse response) {
String parentIdString = request.getCriteria().getAttributeAsString("parentId");
@@ -98,26 +92,23 @@ public class ResourceTypePluginTreeDataSource extends DataSource {
processResponse(request.getRequestId(), response);
} else {
-
ResourceTypeCriteria criteria = new ResourceTypeCriteria();
criteria.fetchParentResourceTypes(true);
criteria.setPageControl(PageControl.getUnlimitedInstance());
- resourceTypeService.findResourceTypesByCriteria(criteria,
- new AsyncCallback<PageList<ResourceType>>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError("Failed to load resource type tree data", caught);
- }
-
- public void onSuccess(PageList<ResourceType> result) {
- response.setData(buildNodes(result));
- processResponse(request.getRequestId(), response);
- }
- });
+ resourceTypeService.findResourceTypesByCriteria(criteria, new AsyncCallback<PageList<ResourceType>>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError("Failed to load resource type tree data", caught);
+ }
+
+ public void onSuccess(PageList<ResourceType> result) {
+ response.setData(buildNodes(result));
+ processResponse(request.getRequestId(), response);
+ }
+ });
}
}
-
public static TreeNode[] buildNodes(PageList<ResourceType> result) {
HashMap<String, PluginTreeNode> pluginNodes = new HashMap<String, PluginTreeNode>();
@@ -127,12 +118,11 @@ public class ResourceTypePluginTreeDataSource extends DataSource {
if (type.getParentResourceTypes() == null || type.getParentResourceTypes().isEmpty()) {
PluginTreeNode pluginNode = pluginNodes.get(type.getPlugin());
- if (pluginNode == null) {
- pluginNode = new PluginTreeNode(type.getPlugin());
- pluginNodes.put(type.getPlugin(), pluginNode);
- nodes.add(pluginNode);
- }
-
+ if (pluginNode == null) {
+ pluginNode = new PluginTreeNode(type.getPlugin());
+ pluginNodes.put(type.getPlugin(), pluginNode);
+ nodes.add(pluginNode);
+ }
nodes.add(new ResourceTypeTreeNode(type, type.getPlugin()));
} else {
@@ -152,7 +142,6 @@ public class ResourceTypePluginTreeDataSource extends DataSource {
return treeNodes;
}
-
/**
* Returns a prepopulated PageControl based on the provided DSRequest. This will set sort fields,
* pagination, but *not* filter fields.
@@ -166,7 +155,8 @@ public class ResourceTypePluginTreeDataSource extends DataSource {
if (request.getStartRow() == null || request.getEndRow() == null) {
pageControl = new PageControl();
} else {
- pageControl = PageControl.getExplicitPageControl(request.getStartRow(), request.getEndRow() - request.getStartRow());
+ pageControl = PageControl.getExplicitPageControl(request.getStartRow(), request.getEndRow()
+ - request.getStartRow());
}
// Initialize sorting.
@@ -183,7 +173,6 @@ public class ResourceTypePluginTreeDataSource extends DataSource {
return pageControl;
}
-
public static class PluginTreeNode extends TreeNode {
String id;
@@ -195,19 +184,22 @@ public class ResourceTypePluginTreeDataSource extends DataSource {
setParentID(null);
setAttribute("name", pluginName + " Plugin");
-// setAttribute("plugin",pluginName);
+ // setAttribute("plugin",pluginName);
setIcon("types/plugin_16.png"); // todo doesn't work
setEnabled(true);
}
@Override
public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
+ if (this == o)
+ return true;
+ if (o == null || getClass() != o.getClass())
+ return false;
PluginTreeNode that = (PluginTreeNode) o;
- if (!id.equals(that.id)) return false;
+ if (!id.equals(that.id))
+ return false;
return true;
}
@@ -245,20 +237,23 @@ public class ResourceTypePluginTreeDataSource extends DataSource {
setIsFolder(true);
}
-
public ResourceType getResourceType() {
return resourceType;
}
@Override
public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
+ if (this == o)
+ return true;
+ if (o == null || getClass() != o.getClass())
+ return false;
ResourceTypeTreeNode that = (ResourceTypeTreeNode) o;
- if (!id.equals(that.id)) return false;
- if (parentId != null ? !parentId.equals(that.parentId) : that.parentId != null) return false;
+ if (!id.equals(that.id))
+ return false;
+ if (parentId != null ? !parentId.equals(that.parentId) : that.parentId != null)
+ return false;
return true;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
index 9d354f4..d761dbd 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
@@ -18,36 +18,16 @@
*/
package org.rhq.enterprise.gui.coregui.client.menu;
-import com.google.gwt.dom.client.Document;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.History;
-import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Hyperlink;
-import com.smartgwt.client.types.ContentsType;
-import com.smartgwt.client.types.VerticalAlignment;
-import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.HTMLFlow;
import com.smartgwt.client.widgets.Img;
-import com.smartgwt.client.widgets.Label;
-import com.smartgwt.client.widgets.events.ClickEvent;
-import com.smartgwt.client.widgets.events.ClickHandler;
-import com.smartgwt.client.widgets.events.DrawEvent;
-import com.smartgwt.client.widgets.events.DrawHandler;
-import com.smartgwt.client.widgets.events.ShowContextMenuEvent;
-import com.smartgwt.client.widgets.events.ShowContextMenuHandler;
-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.Menu;
-import com.smartgwt.client.widgets.menu.MenuBar;
-import com.smartgwt.client.widgets.menu.MenuItem;
-import com.smartgwt.client.widgets.menu.MenuItemSeparator;
-import com.smartgwt.client.widgets.menu.events.MenuItemClickEvent;
import com.smartgwt.client.widgets.toolbar.ToolStrip;
-import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.components.AboutModalWindow;
/**
@@ -57,13 +37,12 @@ public class MenuBarView extends VLayout {
private AboutModalWindow aboutModalWindow;
- public static final String[] SECTIONS = {"Dashboard", "Inventory", "Reports", "Bundles", "Administration"};
+ public static final String[] SECTIONS = { "Dashboard", "Inventory", "Reports", "Bundles", "Administration" };
private String selected = "Dashboard";
private HTMLFlow linksPane;
-
protected void onDraw() {
super.onDraw();
@@ -81,7 +60,6 @@ public class MenuBarView extends VLayout {
}
});
-
ToolStrip topStrip = new ToolStrip();
topStrip.setHeight(34);
topStrip.setWidth100();
@@ -104,16 +82,16 @@ public class MenuBarView extends VLayout {
topStrip.addMember(new LayoutSpacer());
- HLayout helpLayout = new HLayout();
-// Label loggedInAs = new Label("Logged in as " + CoreGUI.getSessionSubject().getName());
-// loggedInAs.setWrap(false);
-// loggedInAs.setValign(VerticalAlignment.CENTER);
-// helpLayout.addMember(loggedInAs);
+ //HLayout helpLayout = new HLayout();
+ // Label loggedInAs = new Label("Logged in as " + CoreGUI.getSessionSubject().getName());
+ // loggedInAs.setWrap(false);
+ // loggedInAs.setValign(VerticalAlignment.CENTER);
+ // helpLayout.addMember(loggedInAs);
topStrip.addMember(new Hyperlink("Help", "Help"));
topStrip.addMember(new Hyperlink("Preferences", "Preferences"));
topStrip.addMember(new Hyperlink("Log Out", "LogOut"));
-// helpLayout.setLayoutAlign(VerticalAlignment.CENTER);
-// topStrip.addMember(helpLayout);
+ // helpLayout.setLayoutAlign(VerticalAlignment.CENTER);
+ // topStrip.addMember(helpLayout);
/* DynamicForm links = new DynamicForm();
links.setNumCols(SECTIONS.length * 2);
@@ -148,7 +126,7 @@ public class MenuBarView extends VLayout {
private String setupLinks() {
StringBuilder headerString = new StringBuilder(
- "<table style=\"height: 34px;\" cellpadding=\"0\" cellspacing=\"0\"><tr>");
+ "<table style=\"height: 34px;\" cellpadding=\"0\" cellspacing=\"0\"><tr>");
boolean first = true;
for (String section : SECTIONS) {
@@ -162,7 +140,8 @@ public class MenuBarView extends VLayout {
styleClass += "Selected";
}
- headerString.append("<td class=\"" + styleClass + "\" onclick=\"document.location='#" + section + "'\" >");
+ headerString.append("<td id=\"" + section + "\" class=\"" + styleClass
+ + "\" onclick=\"document.location='#" + section + "'\" >");
headerString.append(section);
headerString.append("</td>\n");
@@ -174,5 +153,4 @@ public class MenuBarView extends VLayout {
return headerString.toString();
}
-
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/RPCDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/RPCDataSource.java
index a288517..95436d4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/RPCDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/RPCDataSource.java
@@ -20,11 +20,6 @@ package org.rhq.enterprise.gui.coregui.client.util;
import java.util.Collection;
-import org.rhq.core.domain.util.PageControl;
-import org.rhq.core.domain.util.PageList;
-import org.rhq.core.domain.util.PageOrdering;
-import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.DSResponse;
import com.smartgwt.client.data.DataSource;
@@ -32,6 +27,10 @@ import com.smartgwt.client.types.DSDataFormat;
import com.smartgwt.client.types.DSProtocol;
import com.smartgwt.client.widgets.grid.ListGridRecord;
+import org.rhq.core.domain.util.PageControl;
+import org.rhq.core.domain.util.PageOrdering;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+
/**
* Base GWT-RPC oriented DataSource class.
*
@@ -59,21 +58,21 @@ public abstract class RPCDataSource<T> extends DataSource {
DSResponse response = createResponse(request);
switch (request.getOperationType()) {
- case FETCH:
- executeFetch(request, response);
- break;
- case ADD:
- executeAdd(request, response);
- break;
- case UPDATE:
- executeUpdate(request, response);
- break;
- case REMOVE:
- executeRemove(request, response);
- break;
- default:
- super.transformRequest(request);
- break;
+ case FETCH:
+ executeFetch(request, response);
+ break;
+ case ADD:
+ executeAdd(request, response);
+ break;
+ case UPDATE:
+ executeUpdate(request, response);
+ break;
+ case REMOVE:
+ executeRemove(request, response);
+ break;
+ default:
+ super.transformRequest(request);
+ break;
}
} catch (Throwable t) {
CoreGUI.getErrorHandler().handleError("Failure in datasource [" + request.getOperationType() + "]", t);
@@ -95,7 +94,8 @@ public abstract class RPCDataSource<T> extends DataSource {
if (request.getStartRow() == null || request.getEndRow() == null) {
pageControl = new PageControl();
} else {
- pageControl = PageControl.getExplicitPageControl(request.getStartRow(), request.getEndRow() - request.getStartRow());
+ pageControl = PageControl.getExplicitPageControl(request.getStartRow(), request.getEndRow()
+ - request.getStartRow());
}
// Initialize sorting.
@@ -112,7 +112,6 @@ public abstract class RPCDataSource<T> extends DataSource {
return pageControl;
}
-
public ListGridRecord[] buildRecords(Collection<T> list) {
if (list == null) {
return null;
@@ -126,7 +125,6 @@ public abstract class RPCDataSource<T> extends DataSource {
return records;
}
-
/**
* Extensions should implement this method to retrieve data. Paging solutions should use
* {@link #getPageControl(com.smartgwt.client.data.DSRequest)}. All implementations should call processResponse()
@@ -138,12 +136,10 @@ public abstract class RPCDataSource<T> extends DataSource {
*/
protected abstract void executeFetch(final DSRequest request, final DSResponse response);
-
public abstract T copyValues(ListGridRecord from);
public abstract ListGridRecord copyValues(T from);
-
/**
* Executed on <code>REMOVE</code> operation. <code>processResponse (requestId, response)</code>
* should be called when operation completes (either successful or failure).
commit 82e6eafb41602e32be7645382b43fa53f252e707
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Aug 10 12:14:32 2010 -0400
cosmetic changes only
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesListView.java
index 3dc9f4c..8b2726c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesListView.java
@@ -18,15 +18,11 @@
*/
package org.rhq.enterprise.gui.coregui.client.bundle.list;
-import com.google.gwt.user.client.History;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.types.ListGridFieldType;
-import com.smartgwt.client.types.SelectionAppearance;
import com.smartgwt.client.types.SelectionStyle;
-import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.bundle.Bundle;
import org.rhq.core.domain.bundle.composite.BundleWithLatestVersionComposite;
@@ -63,7 +59,6 @@ public class BundlesListView extends Table {
setHeaderIcon("subsystems/bundle/Bundle_24.png");
-
setDataSource(new BundlesWithLatestVersionDataSource());
getListGrid().getField("id").setWidth("60");
@@ -71,27 +66,26 @@ public class BundlesListView extends Table {
getListGrid().getField("link").setType(ListGridFieldType.LINK);
getListGrid().getField("link").setTarget("_self");
-// getListGrid().getField("name").setCellFormatter(new CellFormatter() {
-// public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
-// return "";//<a href=\"#Bundles/Bundle/" + listGridRecord.getAttribute("id") + "\">" + o + "</a>";
-// }
-// });
+ // getListGrid().getField("name").setCellFormatter(new CellFormatter() {
+ // public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
+ // return "";//<a href=\"#Bundles/Bundle/" + listGridRecord.getAttribute("id") + "\">" + o + "</a>";
+ // }
+ // });
getListGrid().getField("description").setWidth("25%");
getListGrid().getField("latestVersion").setWidth("25%");
getListGrid().getField("versionsCount").setWidth("*");
getListGrid().setSelectionType(SelectionStyle.SIMPLE);
-// getListGrid().setSelectionAppearance(SelectionAppearance.CHECKBOX);
+ // getListGrid().setSelectionAppearance(SelectionAppearance.CHECKBOX);
addTableAction("New", Table.SelectionEnablement.ALWAYS, null, new TableAction() {
public void executeAction(ListGridRecord[] selection) {
new BundleCreateWizard().startBundleWizard();
-
}
});
- addTableAction("Delete", Table.SelectionEnablement.ANY, "Delete the selected bundle?", new TableAction() {
+ addTableAction("Delete", Table.SelectionEnablement.ANY, "Delete the selected bundles?", new TableAction() {
public void executeAction(ListGridRecord[] selections) {
BundlesWithLatestVersionDataSource ds = (BundlesWithLatestVersionDataSource) getDataSource();
for (ListGridRecord selection : selections) {
@@ -148,7 +142,6 @@ public class BundlesListView extends Table {
});
}
-
public int getMatches() {
return this.getListGrid().getTotalRows();
}
commit 37d5573d9992b6158c9c47014fa42e874bee32ab
Merge: 163db5e... c08cbb0...
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Sat Aug 7 00:14:07 2010 -0400
Merge branch 'master' into master-jay
commit 163db5e31289289df03123e0b8374646a487679a
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Sat Aug 7 00:12:21 2010 -0400
[BZ-610859] Fix issue in AS5 plugin discovery component that initializes
the log event source with the wrong name. When adding a second log
event source it introduces the name mismatch.
diff --git a/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/ApplicationServerDiscoveryComponent.java b/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/ApplicationServerDiscoveryComponent.java
index 5068f2d..94cad13 100644
--- a/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/ApplicationServerDiscoveryComponent.java
+++ b/modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/ApplicationServerDiscoveryComponent.java
@@ -32,18 +32,20 @@ import java.net.URL;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import java.util.Set;
-import java.util.HashMap;
-import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.maven.artifact.versioning.ComparableVersion;
-import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import org.jboss.on.common.jbossas.JBossASDiscoveryUtils;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.configuration.PropertyList;
@@ -53,20 +55,18 @@ import org.rhq.core.pluginapi.event.log.LogFileEventResourceComponentHelper;
import org.rhq.core.pluginapi.inventory.ClassLoaderFacet;
import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
+import org.rhq.core.pluginapi.inventory.ManualAddFacet;
import org.rhq.core.pluginapi.inventory.ProcessScanResult;
import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
-import org.rhq.core.pluginapi.inventory.ManualAddFacet;
import org.rhq.core.pluginapi.util.FileUtils;
import org.rhq.core.system.ProcessInfo;
import org.rhq.plugins.jbossas5.helper.JBossInstallationInfo;
import org.rhq.plugins.jbossas5.helper.JBossInstanceInfo;
-import org.rhq.plugins.jbossas5.helper.JBossProperties;
import org.rhq.plugins.jbossas5.helper.JBossProductType;
+import org.rhq.plugins.jbossas5.helper.JBossProperties;
import org.rhq.plugins.jbossas5.util.JnpConfig;
-import org.jboss.on.common.jbossas.JBossASDiscoveryUtils;
-
/**
* A Resource discovery component for JBoss AS Server Resources, which include the following:
*
@@ -79,7 +79,7 @@ import org.jboss.on.common.jbossas.JBossASDiscoveryUtils;
* @author Mark Spritzler
*/
public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryComponent, ClassLoaderFacet,
- ManualAddFacet {
+ ManualAddFacet {
private static final String CHANGE_ME = "***CHANGE_ME***";
private static final String JBOSS_SERVICE_XML = "conf" + File.separator + "jboss-service.xml";
private static final String JBOSS_NAMING_SERVICE_XML = "deploy" + File.separator + "naming-service.xml";
@@ -98,14 +98,9 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
private static final List<String> CLIENT_JARS = Arrays.asList(
// NOTE: The jbossall-client.jar aggregates a whole bunch of other jars from the client dir via its
// MANIFEST.MF Class-Path.
- "client/jbossall-client.jar",
- "client/trove.jar",
- "client/javassist.jar",
- "common/lib/jboss-security-aspects.jar",
- "lib/jboss-managed.jar",
- "lib/jboss-metatype.jar",
- "lib/jboss-dependency.jar"
- );
+ "client/jbossall-client.jar", "client/trove.jar", "client/javassist.jar",
+ "common/lib/jboss-security-aspects.jar", "lib/jboss-managed.jar", "lib/jboss-metatype.jar",
+ "lib/jboss-dependency.jar");
private static final List<String> AS6_CLIENT_JARS = new ArrayList<String>(CLIENT_JARS);
static {
@@ -132,8 +127,7 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
}
public DiscoveredResourceDetails discoverResource(Configuration pluginConfig,
- ResourceDiscoveryContext discoveryContext)
- throws InvalidPluginConfigurationException {
+ ResourceDiscoveryContext discoveryContext) throws InvalidPluginConfigurationException {
// Set default values on any props that are not set.
//setPluginConfigurationDefaults(pluginConfiguration);
@@ -152,10 +146,11 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
}
@SuppressWarnings("unchecked")
- public List<URL> getAdditionalClasspathUrls(ResourceDiscoveryContext context, DiscoveredResourceDetails details)
- throws Exception {
+ public List<URL> getAdditionalClasspathUrls(ResourceDiscoveryContext context, DiscoveredResourceDetails details)
+ throws Exception {
Configuration pluginConfig = details.getPluginConfiguration();
- String homeDir = pluginConfig.getSimple(ApplicationServerPluginConfigurationProperties.HOME_DIR).getStringValue();
+ String homeDir = pluginConfig.getSimple(ApplicationServerPluginConfigurationProperties.HOME_DIR)
+ .getStringValue();
List<URL> clientJars = new ArrayList<URL>();
@@ -236,8 +231,8 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
jnpURL));
pluginConfiguration.put(new PropertySimple(ApplicationServerPluginConfigurationProperties.HOME_DIR,
installHome.getAbsolutePath()));
- pluginConfiguration.put(new PropertySimple(
- ApplicationServerPluginConfigurationProperties.SERVER_HOME_DIR, configDir));
+ pluginConfiguration.put(new PropertySimple(ApplicationServerPluginConfigurationProperties.SERVER_HOME_DIR,
+ configDir));
// Set the optional props...
pluginConfiguration.put(new PropertySimple(ApplicationServerPluginConfigurationProperties.SERVER_NAME,
@@ -247,19 +242,17 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
JBossASDiscoveryUtils.UserInfo userInfo = JBossASDiscoveryUtils.getJmxInvokerUserInfo(configDir);
if (userInfo != null) {
- pluginConfiguration.put(
- new PropertySimple(ApplicationServerPluginConfigurationProperties.PRINCIPAL,
- userInfo.getUsername()));
- pluginConfiguration.put(
- new PropertySimple(ApplicationServerPluginConfigurationProperties.CREDENTIALS,
- userInfo.getPassword()));
+ pluginConfiguration.put(new PropertySimple(ApplicationServerPluginConfigurationProperties.PRINCIPAL,
+ userInfo.getUsername()));
+ pluginConfiguration.put(new PropertySimple(ApplicationServerPluginConfigurationProperties.CREDENTIALS,
+ userInfo.getPassword()));
}
String javaHome = processInfo.getEnvironmentVariable(JAVA_HOME_ENV_VAR);
if (javaHome == null && log.isDebugEnabled()) {
log.warn("Unable to determine the JAVA_HOME environment variable for the JBoss AS process - "
+ " the Agent is probably running as a user that does not have access to the AS process's "
- + " environment.");
+ + " environment.");
}
pluginConfiguration.put(new PropertySimple(ApplicationServerPluginConfigurationProperties.JAVA_HOME,
javaHome));
@@ -281,15 +274,17 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
try {
return new InProcessJBossASDiscovery().discoverInProcessJBossAS(discoveryContext);
} catch (Throwable t) {
- log.debug("In-process JBoss AS discovery failed - we are probably not running embedded within JBoss AS.", t);
+ log
+ .debug("In-process JBoss AS discovery failed - we are probably not running embedded within JBoss AS.",
+ t);
return null;
}
}
private DiscoveredResourceDetails createResourceDetails(ResourceDiscoveryContext discoveryContext,
Configuration pluginConfig, @Nullable ProcessInfo processInfo, JBossInstallationInfo installInfo) {
- String serverHomeDir = pluginConfig.getSimple(
- ApplicationServerPluginConfigurationProperties.SERVER_HOME_DIR).getStringValue();
+ String serverHomeDir = pluginConfig.getSimple(ApplicationServerPluginConfigurationProperties.SERVER_HOME_DIR)
+ .getStringValue();
File absoluteConfigPath = resolvePathRelativeToHomeDir(pluginConfig, serverHomeDir);
// Canonicalize the config path, so it's consistent no matter how it's entered.
@@ -298,8 +293,8 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
// JON: fix for JBNADM-2634 - do not resolve symlinks (ips, 12/18/07)
String key = FileUtils.getCanonicalPath(absoluteConfigPath.getPath());
- String bindAddress = pluginConfig.getSimple(
- ApplicationServerPluginConfigurationProperties.BIND_ADDRESS).getStringValue();
+ String bindAddress = pluginConfig.getSimple(ApplicationServerPluginConfigurationProperties.BIND_ADDRESS)
+ .getStringValue();
String namingUrl = pluginConfig.getSimple(ApplicationServerPluginConfigurationProperties.NAMING_URL)
.getStringValue();
@@ -316,7 +311,7 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
String description = installInfo.getProductType().DESCRIPTION;
File deployDir = new File(absoluteConfigPath, "deploy");
-
+
File rhqInstallerWar = new File(deployDir, "rhq-installer.war");
File rhqInstallerWarUndeployed = new File(deployDir, "rhq-installer.war.rej");
boolean isRhqServer = rhqInstallerWar.exists() || rhqInstallerWarUndeployed.exists();
@@ -325,13 +320,15 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
// We know this is an RHQ Server. Let's add an event source for its server log file, but disable it by default.
configureEventSourceForServerLogFile(pluginConfig);
}
- String name = formatServerName(bindAddress, namingPort, discoveryContext.getSystemInformation().getHostname(), absoluteConfigPath.getName(), isRhqServer);
+ String name = formatServerName(bindAddress, namingPort, discoveryContext.getSystemInformation().getHostname(),
+ absoluteConfigPath.getName(), isRhqServer);
return new DiscoveredResourceDetails(discoveryContext.getResourceType(), key, name, installInfo.getVersion(),
description, pluginConfig, processInfo);
}
- public String formatServerName(String bindingAddress, String jnpPort, String hostname, String configurationName, boolean isRhq) {
+ public String formatServerName(String bindingAddress, String jnpPort, String hostname, String configurationName,
+ boolean isRhq) {
if (isRhq) {
return hostname + " RHQ Server";
@@ -359,12 +356,12 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
return hostnameToUse + " " + configurationName;
}
}
-
+
private void configureEventSourceForServerLogFile(Configuration pluginConfig) {
File rhqLogFile = resolvePathRelativeToHomeDir(pluginConfig, "../logs/rhq-server-log4j.log");
if (rhqLogFile.exists() && !rhqLogFile.isDirectory()) {
try {
- PropertyMap serverLogEventSource = new PropertyMap("serverLog");
+ PropertyMap serverLogEventSource = new PropertyMap("logEventSource");
serverLogEventSource.put(new PropertySimple(
LogFileEventResourceComponentHelper.LogEventSourcePropertyNames.LOG_FILE_PATH, rhqLogFile
.getCanonicalPath()));
@@ -426,7 +423,7 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
File logDir = new File(configDir, "log");
File serverLogFile = new File(logDir, "server.log");
if (serverLogFile.exists() && !serverLogFile.isDirectory()) {
- PropertyMap serverLogEventSource = new PropertyMap("serverLog");
+ PropertyMap serverLogEventSource = new PropertyMap("logEventSource");
serverLogEventSource.put(new PropertySimple(
LogFileEventResourceComponentHelper.LogEventSourcePropertyNames.LOG_FILE_PATH, serverLogFile));
serverLogEventSource.put(new PropertySimple(
@@ -445,7 +442,7 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
boolean supported = (version.compareTo(minimumVersion) >= 0);
if (!supported) {
log.debug(productType + " version " + version + " is not supported by this plugin (minimum " + productType
- + " version is " + minimumVersion + ") - skipping...");
+ + " version is " + minimumVersion + ") - skipping...");
}
return supported;
}
@@ -454,7 +451,8 @@ public class ApplicationServerDiscoveryComponent implements ResourceDiscoveryCom
private static File resolvePathRelativeToHomeDir(Configuration pluginConfig, @NotNull String path) {
File configDir = new File(path);
if (!configDir.isAbsolute()) {
- String homeDir = pluginConfig.getSimple(ApplicationServerPluginConfigurationProperties.HOME_DIR).getStringValue();
+ String homeDir = pluginConfig.getSimple(ApplicationServerPluginConfigurationProperties.HOME_DIR)
+ .getStringValue();
configDir = new File(homeDir, path);
}
return configDir;
commit 9c0a2cdf3c38a73b75d71f29aa49e41e6af8f639
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Sat Aug 7 00:10:24 2010 -0400
up the mc4j version
diff --git a/.classpath b/.classpath
index 35714ec..dc15df6 100644
--- a/.classpath
+++ b/.classpath
@@ -202,7 +202,7 @@
<classpathentry exported="true" kind="var" path="M2_REPO/javax/faces/jsf-impl/1.2_14/jsf-impl-1.2_14.jar" sourcepath="/M2_REPO/javax/faces/jsf-impl/1.2_14/jsf-impl-1.2_14-sources.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/javax/el/el-api/1.0/el-api-1.0.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/com/sun/facelets/jsf-facelets/1.1.15.B1/jsf-facelets-1.1.15.B1.jar" sourcepath="/M2_REPO/com/sun/facelets/jsf-facelets/1.1.15.B1/jsf-facelets-1.1.15.B1-sources.jar"/>
- <classpathentry exported="true" kind="var" path="M2_REPO/mc4j/org-mc4j-ems/1.2.13/org-mc4j-ems-1.2.13.jar" sourcepath="/M2_REPO/mc4j/org-mc4j-ems/1.2.13/org-mc4j-ems-1.2.13-sources.jar"/>
+ <classpathentry exported="true" kind="var" path="M2_REPO/mc4j/org-mc4j-ems/1.2.14/org-mc4j-ems-1.2.14.jar" sourcepath="/M2_REPO/mc4j/org-mc4j-ems/1.2.13/org-mc4j-ems-1.2.13-sources.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/org/opensymphony/quartz/quartz/1.6.5/quartz-1.6.5.jar" sourcepath="/M2_REPO/org/opensymphony/quartz/quartz/1.6.5/quartz-1.6.5-sources.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/javax/mail/mail/1.4.2/mail-1.4.2.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2.jar"/>
commit 14e4a2fde58374e18db46335398bc3644ac2af95
Merge: 9b35996... cb5a73b...
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Thu Aug 5 22:32:33 2010 -0400
Merge branch 'master' into master-jay
diff --cc pom.xml
index e766f69,2a0db1c..ed621bf
--- a/pom.xml
+++ b/pom.xml
@@@ -85,11 -85,11 +85,11 @@@
<jsf-api.version>1.2_14</jsf-api.version>
<jsf-impl.version>1.2_14</jsf-impl.version>
<ojdbc5.version>11.2.0.1.0</ojdbc5.version>
- <ems.version>1.2.11</ems.version>
+ <ems.version>1.2.14</ems.version>
<postgresql.version>8.4-701.jdbc3</postgresql.version>
- <h2.version>1.1.117</h2.version>
+ <h2.version>1.2.139</h2.version>
<jtds.version>1.2.2</jtds.version>
- <richfaces.version>3.3.3.CR1</richfaces.version>
+ <richfaces.version>3.3.3.Final</richfaces.version>
<jline.version>0.9.94</jline.version>
<sigar.version>1.6.5.132</sigar.version>
<quartz.version>1.6.5</quartz.version>
commit 9b359963fa0af88b796d092ff5dca13f6333367f
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Thu Aug 5 15:18:07 2010 -0400
[BZ-618659] [BZ-621662] Work around the fact that H2 does not yet support
blob update. This amounts to special casing H2 in the PackageVersion
handling. Also, update H2 version from 1.1.117 to 1.2.139 to get relevant
bug fixes, move to H2's latest db format, and set ourselves up for moving
forward again when/if H2 adds blob update support.
diff --git a/modules/core/dbutils/src/main/java/org/rhq/core/db/DatabaseTypeFactory.java b/modules/core/dbutils/src/main/java/org/rhq/core/db/DatabaseTypeFactory.java
index 896b396..ef66a51 100644
--- a/modules/core/dbutils/src/main/java/org/rhq/core/db/DatabaseTypeFactory.java
+++ b/modules/core/dbutils/src/main/java/org/rhq/core/db/DatabaseTypeFactory.java
@@ -172,6 +172,8 @@ public class DatabaseTypeFactory {
} else if (db_name.indexOf("h2") != -1) {
if (db_version.startsWith("1.1")) {
database_type_class = H2v11DatabaseType.class;
+ } else if (db_version.startsWith("1.2")) {
+ database_type_class = H2v12DatabaseType.class;
}
} else if (db_name.indexOf("sql server") != -1) {
if (db_version.startsWith("09.00") || db_version.startsWith("9.00")) { // SQL Server 2005
diff --git a/modules/core/dbutils/src/main/java/org/rhq/core/db/H2v12DatabaseType.java b/modules/core/dbutils/src/main/java/org/rhq/core/db/H2v12DatabaseType.java
new file mode 100644
index 0000000..42d164b
--- /dev/null
+++ b/modules/core/dbutils/src/main/java/org/rhq/core/db/H2v12DatabaseType.java
@@ -0,0 +1,42 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2008 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.core.db;
+
+/**
+ * H2 database version 1.2 which extends the abstract support for H2 database.
+ *
+ * @author Joseph Marques
+ */
+public class H2v12DatabaseType extends H2DatabaseType {
+ /**
+ * @see DatabaseType#getName()
+ */
+ @Override
+ public String getName() {
+ return H2DatabaseType.VENDOR_NAME + "v1.2";
+ }
+
+ /**
+ * @see DatabaseType#getVersion()
+ */
+ @Override
+ public String getVersion() {
+ return "1.2";
+ }
+}
\ No newline at end of file
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/content/ContentManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/content/ContentManagerBean.java
index 54ccd3f..40c2886 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/content/ContentManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/content/ContentManagerBean.java
@@ -59,6 +59,7 @@ import org.rhq.core.clientapi.server.content.ContentServiceResponse;
import org.rhq.core.clientapi.server.content.DeletePackagesRequest;
import org.rhq.core.clientapi.server.content.DeployPackagesRequest;
import org.rhq.core.clientapi.server.content.RetrievePackageBitsRequest;
+import org.rhq.core.db.DatabaseTypeFactory;
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.authz.Permission;
import org.rhq.core.domain.configuration.Configuration;
@@ -1585,10 +1586,15 @@ public class ContentManagerBean implements ContentManagerLocal, ContentManagerRe
* @param contentDetails
* @return PackageBits ref populated.
*/
- @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
private PackageBits loadPackageBits(InputStream packageBitStream, int packageVersionId, String packageName,
String packageVersion, PackageBits existingBits, Map<String, String> contentDetails) {
+ // If/When H2 handles blob update/streaming blobs we can get rid of this conditional code
+ if (DatabaseTypeFactory.isH2(DatabaseTypeFactory.getDefaultDatabaseType())) {
+ return loadPackageBitsH2(packageBitStream, packageVersionId, packageName, packageVersion, existingBits,
+ contentDetails);
+ }
+
// use existing or instantiate PackageBits instance.
PackageBits bits = (null == existingBits) ? initializePackageBits(null) : existingBits;
@@ -1596,7 +1602,7 @@ public class ContentManagerBean implements ContentManagerLocal, ContentManagerRe
PackageVersion pv = entityManager.find(PackageVersion.class, packageVersionId);
//associate the two if located.
- if (pv != null) {//np check.
+ if (null != pv) {
pv.setPackageBits(bits);
entityManager.flush();
}
@@ -1607,6 +1613,58 @@ public class ContentManagerBean implements ContentManagerLocal, ContentManagerRe
return bits;
}
+ private PackageBits loadPackageBitsH2(InputStream packageBitStream, int packageVersionId, String packageName,
+ String packageVersion, PackageBits existingBits, Map<String, String> contentDetails) {
+
+ PackageBits bits = null;
+ PackageBitsBlob blob = null;
+
+ // The blob cannot be updated, so we'll need to create a whole new row.
+ if (null != existingBits) {
+ blob = entityManager.find(PackageBitsBlob.class, existingBits.getId());
+ entityManager.remove(blob);
+ entityManager.flush();
+ }
+
+ // We have to work backwards to avoid constraint violations. PackageBits requires a PackageBitsBlob,
+ // so create and persist that first, getting the ID
+ blob = new PackageBitsBlob();
+ // just set the blob now, no streaming. The assumption is that H2 (demo) will not be using large blobs
+ byte[] bytes = StreamUtil.slurp(packageBitStream);
+ blob.setBits(bytes);
+ entityManager.persist(blob);
+ entityManager.flush();
+
+ // Now create the PackageBits entity and assign the Id and blob. Note, do not persist the
+ // entity, the row already exists (due to the blob persist above). Just perform and flush the update.
+ bits = new PackageBits();
+ bits.setId(blob.getId());
+ bits.setBlob(blob);
+ entityManager.flush();
+
+ //locate related packageVersion
+ PackageVersion pv = entityManager.find(PackageVersion.class, packageVersionId);
+
+ //associate the two if packageVersion exists.
+ if (null != pv) {
+ pv.setPackageBits(bits);
+ entityManager.flush();
+ }
+
+ // update contentDetails in needed
+ if (null != contentDetails) {
+ contentDetails.put(UPLOAD_FILE_SIZE, String.valueOf(bytes.length));
+ try {
+ contentDetails.put(UPLOAD_SHA256, new MessageDigestGenerator(MessageDigestGenerator.SHA_256)
+ .calcDigestString(bytes));
+ } catch (Exception e) {
+ throw new RuntimeException("Failed to calculate SHA256 for package bits: ", e);
+ }
+ }
+
+ return bits;
+ }
+
/**
* This creates a new PackageBits entity initialized to EMPTY_BLOB for the associated PackageBitsBlob.
* Note that PackageBits and PackageBitsBlob are two entities that *share* the same db row. This is
diff --git a/pom.xml b/pom.xml
index 306bbff..e766f69 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,7 +87,7 @@
<ojdbc5.version>11.2.0.1.0</ojdbc5.version>
<ems.version>1.2.11</ems.version>
<postgresql.version>8.4-701.jdbc3</postgresql.version>
- <h2.version>1.1.117</h2.version>
+ <h2.version>1.2.139</h2.version>
<jtds.version>1.2.2</jtds.version>
<richfaces.version>3.3.3.CR1</richfaces.version>
<jline.version>0.9.94</jline.version>
commit c809e6802fb6572387b5a8099bce6795ee49a0d8
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Fri Jun 4 17:25:36 2010 +0200
The best disambiguation yet. The types with duplicate names accross the whole type hierarchy are always shown with the plugin info, disambiguated plugin info is pushed down as much as possible so that it appears as close to the resource (or at the resource, ideally).
Also, the plugin info is correctly left intact when it was used to disambiguate at least a part of some partition at some level.
A couple of minor optimizations.
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 302fdac..10b3830 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
@@ -2094,6 +2094,6 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
public <T> ResourceNamesDisambiguationResult<T> disambiguate(List<T> results, IntExtractor<? super T> extractor,
DisambiguationUpdateStrategy updateStrategy) {
- return Disambiguator.disambiguate(results, updateStrategy, extractor, entityManager);
+ return Disambiguator.disambiguate(results, updateStrategy, extractor, entityManager, typeManager.getDuplicateTypeNames());
}
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java
index 11ea47d..8a340d5 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java
@@ -23,7 +23,10 @@
package org.rhq.enterprise.server.resource.disambiguation;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.EnumSet;
+import java.util.List;
import org.rhq.enterprise.server.resource.disambiguation.MutableDisambiguationReport.Resource;
@@ -39,7 +42,7 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
*/
EXACT {
public <T> void update(DisambiguationPolicy policy, MutableDisambiguationReport<T> report) {
- updateResources(policy, report);
+ updateResources(policy, report, true, true);
int nofParents = policy.size() - 1;
if (nofParents < 0)
nofParents = 0;
@@ -52,6 +55,10 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
}
}
}
+
+ public <T> boolean partitionFurther(ReportPartitions<T> partitions) {
+ return true;
+ }
},
/**
@@ -60,7 +67,7 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
*/
KEEP_AT_LEAST_ONE_PARENT {
public <T> void update(DisambiguationPolicy policy, MutableDisambiguationReport<T> report) {
- updateResources(policy, report);
+ updateResources(policy, report, true, true);
int nofParents = policy.size() - 1;
if (nofParents < 1)
nofParents = 1;
@@ -74,6 +81,10 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
public EnumSet<ResourceResolution> resourceLevelRepartitionableResolutions() {
return EnumSet.allOf(ResourceResolution.class);
}
+
+ public <T> boolean partitionFurther(ReportPartitions<T> partitions) {
+ return true;
+ }
},
/**
@@ -82,7 +93,7 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
*/
KEEP_PARENTS_TO_TOPMOST_SERVERS {
public <T> void update(DisambiguationPolicy policy, MutableDisambiguationReport<T> report) {
- updateResources(policy, report);
+ updateResources(policy, report, true, true);
//only remove the platform, if the policy doesn't dictate its presence...
if (policy.size() > 1 && report.parents.size() > policy.size() - 1) {
report.parents.remove(report.parents.size() - 1);
@@ -93,6 +104,10 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
public EnumSet<ResourceResolution> resourceLevelRepartitionableResolutions() {
return EnumSet.allOf(ResourceResolution.class);
}
+
+ public <T> boolean partitionFurther(ReportPartitions<T> partitions) {
+ return partitions.getDisambiguationPolicy().size() < Disambiguator.MAXIMUM_DISAMBIGUATED_TREE_DEPTH - 1;
+ }
},
/**
@@ -100,7 +115,7 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
*/
KEEP_ALL_PARENTS {
public <T> void update(DisambiguationPolicy policy, MutableDisambiguationReport<T> report) {
- updateResources(policy, report);
+ updateResources(policy, report, true, true);
//do nothing to the parents, keep them as they are...
}
@@ -111,8 +126,16 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
public EnumSet<ResourceResolution> alwaysRepartitionableResolutions() {
return EnumSet.of(ResourceResolution.NAME);
}
+
+ public <T> boolean partitionFurther(ReportPartitions<T> partitions) {
+ //we always keep all the info about the resources in this strategy
+ //so there's no real need to disambiguate anything.
+ return false;
+ }
};
+ private static final DisambiguationPolicy.Level overridingResolution = new DisambiguationPolicy.Level(ResourceResolution.TYPE);
+
/**
* This updates the resources in the report according to the resolutions contained in the policy.
* This method is called as part of the {@link DisambiguationUpdateStrategy#update(DisambiguationPolicy, MutableDisambiguationReport)}
@@ -123,15 +146,29 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
* @param <T>
* @param policy
* @param report
+ * @param honorAmbiguousTypeNamesList whether to honor the list of ambiguous type names as listed in the policy when updating the resources.
+ * @param pushDownPluginInfo if true, the plugin information is pushed down as low in the resource hierarchy as possible. This means that if
+ * some parent needs plugin disambiguation or is of an ambiguous type and the resource comes from the same plugin, the plugin info is preserved
+ * on the resource rather than on the parent. This is mainly useful for the display purposes, because it just
+ * looks nicer to have that info at a resource than somewhere in the location string.
*/
- public static <T> void updateResources(DisambiguationPolicy policy, MutableDisambiguationReport<T> report) {
- updateResource(policy.get(0), report.resource);
+ public static <T> void updateResources(DisambiguationPolicy policy, MutableDisambiguationReport<T> report, boolean honorAmbiguousTypeNamesList, boolean pushDownPluginInfo) {
+ List<String> ambiguousTypeNames = honorAmbiguousTypeNamesList ? policy.getAmbiguousTypeNames() : Collections.<String>emptyList();
+
+ String resourcePlugin = report.resource.resourceType.plugin;
+ List<String> parentPlugins = new ArrayList<String>(report.parents.size());
+ updateResource(policy.get(0), report.resource, ambiguousTypeNames);
int disambiguationPolicyIndex = 1;
while (disambiguationPolicyIndex < policy.size() && disambiguationPolicyIndex - 1 < report.parents.size()) {
- ResourceResolution parentResolution = policy.get(disambiguationPolicyIndex);
+ DisambiguationPolicy.Level resolutionLevel = policy.get(disambiguationPolicyIndex);
MutableDisambiguationReport.Resource parent = report.parents.get(disambiguationPolicyIndex - 1);
- updateResource(parentResolution, parent);
+
+ if (pushDownPluginInfo) {
+ parentPlugins.add(parent.resourceType.plugin);
+ }
+
+ updateResource(resolutionLevel, parent, ambiguousTypeNames);
disambiguationPolicyIndex++;
}
@@ -142,30 +179,27 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
//we need to treat those parents as well. Because they are not needed for disambiguation, treat them as
//if only the name and type was needed for them.
for (; disambiguationPolicyIndex < report.parents.size(); ++disambiguationPolicyIndex) {
- updateResource(ResourceResolution.TYPE, report.parents.get(disambiguationPolicyIndex));
+ if (pushDownPluginInfo) {
+ parentPlugins.add(report.parents.get(disambiguationPolicyIndex).resourceType.plugin);
+ }
+ updateResource(overridingResolution, report.parents.get(disambiguationPolicyIndex), ambiguousTypeNames);
}
- //include the plugin information only if it was actually the deciding resolution of the policy.
- if (policy.get(policy.size() - 1) == ResourceResolution.PLUGIN) {
- String decidingPlugin = policy.size() > 1 ? report.parents.get(policy.size() - 2).resourceType.plugin : report.resource.resourceType.plugin;
-
- for (int i = policy.size() - 3; i >= 0; i--) {
- if (decidingPlugin.equals(report.parents.get(i).resourceType.plugin)) {
- updateResource(ResourceResolution.TYPE, report.parents.get(i));
+ if (pushDownPluginInfo) {
+ for (int i = report.parents.size() - 1; i >= 0; --i) {
+ String plugin = report.parents.get(i).resourceType.plugin;
+ if (plugin != null && i > 0 && plugin.equals(parentPlugins.get(i - 1))) {
+ report.parents.get(i - 1).resourceType.plugin = plugin;
+ report.parents.get(i).resourceType.plugin = null;
}
}
- if (policy.size() > 1 && decidingPlugin.equals(report.resource.resourceType.plugin)) {
- updateResource(ResourceResolution.TYPE, report.resource);
- }
- } else {
- //ok, this report was in the end resolved by some name or type at the resource level
- //or higher up in the parents. This alone uniquely identifies the resource, so there's
- //no need to show the (ambigous anyway) plugin info.
- updateResource(ResourceResolution.TYPE, report.resource);
-
- for (MutableDisambiguationReport.Resource parent : report.parents) {
- updateResource(ResourceResolution.TYPE, parent);
+ if (report.parents.size() > 0) {
+ String plugin = report.parents.get(0).resourceType.plugin;
+ if (plugin != null && plugin.equals(resourcePlugin)) {
+ report.resource.resourceType.plugin = resourcePlugin;
+ report.parents.get(0).resourceType.plugin = null;
+ }
}
}
}
@@ -188,10 +222,17 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
}
- private static void updateResource(ResourceResolution resolution, Resource resource) {
- switch (resolution) {
+ private static void updateResource(DisambiguationPolicy.Level resolutionLevel, Resource resource, List<String> ambiguousTypeNames) {
+ switch (resolutionLevel.getResourceResolution()) {
case NAME: case TYPE:
- resource.resourceType.plugin = null;
+ if (!ambiguousTypeNames.contains(resource.resourceType.name)) {
+ resource.resourceType.plugin = null;
+ }
+ break;
+ case PLUGIN:
+ if (!(resolutionLevel.isDeciding() || ambiguousTypeNames.contains(resource.resourceType.name))) {
+ resource.resourceType.plugin = null;
+ }
}
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DisambiguationPolicy.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DisambiguationPolicy.java
index d4ce232..3387983 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DisambiguationPolicy.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DisambiguationPolicy.java
@@ -24,6 +24,7 @@
package org.rhq.enterprise.server.resource.disambiguation;
import java.util.ArrayList;
+import java.util.List;
/**
* A disambiguation policy determines whether two disambiguation reports are still ambiguous or not.
@@ -31,31 +32,71 @@ import java.util.ArrayList;
* The policy is basically a list of {@link ResourceResolution} instances each corresponding to either
* the resource itself of some of its parent in the hierarchy. Each of the {@link ResourceResolution} instances
* in the list determines how the appropriate part of the report is disambiguated.
- * <p>
- * Only last element in this list actually decides whether the two reports are still ambiguous. The thinking
- * behind this is that the previous resolutions in the chain are "decided" and the last one is the one
- * we are currently trying to determine the correct resolution for.
- *
*
* @author Lukas Krejci
*/
-public class DisambiguationPolicy extends ArrayList<ResourceResolution> {
+public class DisambiguationPolicy extends ArrayList<DisambiguationPolicy.Level> {
private static final long serialVersionUID = 1L;
private DisambiguationUpdateStrategy parentsUpdateStrategy;
+ private List<String> ambiguousTypeNames;
+
+ public static class Level {
+ private ResourceResolution resourceResolution;
+ private boolean deciding;
+
+ public Level(ResourceResolution resourceResolution) {
+ this(resourceResolution, false);
+ }
+
+ public Level(ResourceResolution resourceResolution, boolean deciding) {
+ this.resourceResolution = resourceResolution;
+ this.deciding = deciding;
+ }
+
+ public boolean isDeciding() {
+ return deciding;
+ }
+
+ public void setDeciding(boolean deciding) {
+ this.deciding = deciding;
+ }
+
+ public ResourceResolution getResourceResolution() {
+ return resourceResolution;
+ }
+
+ public String toString() {
+ return "Level[" + resourceResolution + (deciding ? ", deciding]" : ", not deciding]");
+ }
+ }
- public DisambiguationPolicy(DisambiguationUpdateStrategy parentsDisambiguationStrategy) {
+ public DisambiguationPolicy(DisambiguationUpdateStrategy parentsDisambiguationStrategy, List<String> ambiguousTypeNames) {
this.parentsUpdateStrategy = parentsDisambiguationStrategy;
+ this.ambiguousTypeNames = ambiguousTypeNames;
}
public DisambiguationPolicy(DisambiguationPolicy other) {
- super(other);
+ for(Level level : other) {
+ this.add(new Level(level.resourceResolution, level.deciding));
+ }
this.parentsUpdateStrategy = other.parentsUpdateStrategy;
+ this.ambiguousTypeNames = other.ambiguousTypeNames;
}
- public static DisambiguationPolicy getUniqueNamePolicy(DisambiguationUpdateStrategy parentsDisambiguationStrategy) {
- DisambiguationPolicy ret = new DisambiguationPolicy(parentsDisambiguationStrategy);
- ret.add(ResourceResolution.NAME);
+ /**
+ * Creates a "starting" disambiguation policy that is used to try and disambiguate
+ * the resources by just their name.
+ *
+ * @see #DisambiguationPolicy(DisambiguationUpdateStrategy, List)
+ * @see #getAmbiguousTypeNames()
+ * @param parentsDisambiguationStrategy
+ * @param ambiguousTypeNames the list of ambiguous type names
+ * @return
+ */
+ public static DisambiguationPolicy getUniqueNamePolicy(DisambiguationUpdateStrategy parentsDisambiguationStrategy, List<String> ambiguousTypeNames) {
+ DisambiguationPolicy ret = new DisambiguationPolicy(parentsDisambiguationStrategy, ambiguousTypeNames);
+ ret.add(new Level(ResourceResolution.NAME));
return ret;
}
@@ -69,6 +110,18 @@ public class DisambiguationPolicy extends ArrayList<ResourceResolution> {
}
/**
+ * @return the list of type names that are defined in multiple plugins. Such type names
+ * should be disambiguated no matter if it is needed or not.
+ */
+ public List<String> getAmbiguousTypeNames() {
+ return ambiguousTypeNames;
+ }
+
+ public void setAmbiguousTypeNames(List<String> ambiguousTypeNames) {
+ this.ambiguousTypeNames = ambiguousTypeNames;
+ }
+
+ /**
* Tells whether the last resolution in this policy determines the reports ambiguous.
*
* @param <T>
@@ -83,16 +136,19 @@ public class DisambiguationPolicy extends ArrayList<ResourceResolution> {
if (ra == null || rb == null)
return false;
- ResourceResolution resolution = get(size() - 1);
+ Level level = getCurrentLevel();
- return resolution.areAmbiguous(ra, rb);
+ if (level != null) {
+ return level.getResourceResolution().areAmbiguous(ra, rb);
+ } else {
+ return false;
+ }
}
/**
- * @return the currently deciding {@link ResourceResolution} (i.e. the last element in this
- * policy)
+ * @return the last element in this policy
*/
- public ResourceResolution getCurrentResourceResolution() {
+ public Level getCurrentLevel() {
return size() > 0 ? get(size() - 1) : null;
}
@@ -104,19 +160,19 @@ public class DisambiguationPolicy extends ArrayList<ResourceResolution> {
*/
public DisambiguationPolicy getNext() {
int lastIdx = size() - 1;
- ResourceResolution lastResolution = get(lastIdx);
+ ResourceResolution lastResolution = get(lastIdx).getResourceResolution();
DisambiguationPolicy ret = new DisambiguationPolicy(this);
switch (lastResolution) {
case NAME:
- ret.set(lastIdx, ResourceResolution.TYPE);
+ ret.get(lastIdx).resourceResolution = ResourceResolution.TYPE;
break;
case TYPE:
- ret.set(lastIdx, ResourceResolution.PLUGIN);
+ ret.get(lastIdx).resourceResolution = ResourceResolution.PLUGIN;
break;
case PLUGIN:
- ret.add(ResourceResolution.NAME);
+ ret.add(new Level(ResourceResolution.NAME));
break;
}
@@ -128,10 +184,10 @@ public class DisambiguationPolicy extends ArrayList<ResourceResolution> {
* if the current policy doesn't require repartitioning of unique reports.
*/
public DisambiguationPolicy getNextRepartitioningPolicy() {
- ResourceResolution currentResolution = get(size() - 1);
+ ResourceResolution currentResolution = getCurrentLevel().getResourceResolution();
- if (parentsUpdateStrategy.alwaysRepartitionableResolutions().contains(currentResolution) || (size() == 1)
- && parentsUpdateStrategy.resourceLevelRepartitionableResolutions().contains(currentResolution)) {
+ if (parentsUpdateStrategy.alwaysRepartitionableResolutions().contains(currentResolution) || (size() == 1
+ && parentsUpdateStrategy.resourceLevelRepartitionableResolutions().contains(currentResolution))) {
DisambiguationPolicy newPolicy = getNext();
@@ -141,7 +197,7 @@ public class DisambiguationPolicy extends ArrayList<ResourceResolution> {
//therefore, skip the plugin resolution in that case.
if (currentResolution == ResourceResolution.TYPE) {
newPolicy = newPolicy.getNext();
- newPolicy.set(newPolicy.size() - 2, ResourceResolution.TYPE);
+ newPolicy.get(newPolicy.size() - 2).resourceResolution = ResourceResolution.TYPE;
}
return newPolicy;
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DisambiguationUpdateStrategy.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DisambiguationUpdateStrategy.java
index 4674c1e..1639644 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DisambiguationUpdateStrategy.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DisambiguationUpdateStrategy.java
@@ -62,4 +62,19 @@ public interface DisambiguationUpdateStrategy {
*/
EnumSet<ResourceResolution> alwaysRepartitionableResolutions();
+ /**
+ * The disambiguation procedure calls this method for every not yet fully unique
+ * partitions set when it determines that further disambiguation should be performed.
+ * <p>
+ * But this is not always necessary, depending on the update strategy implementation.
+ * <p>
+ * This method is therefore the means for the update strategy to short-circuit the disambiguation
+ * procedure when it determines that further disambiguation would not make sense for this strategy.
+ *
+ * @param <T>
+ * @param partitions the partitions object holding a subset of the results being disambiguated along
+ * with the policy that is used to disambiguate them
+ * @return true if further disambiguation is useful, false otherwise
+ */
+ <T> boolean partitionFurther(ReportPartitions<T> partitions);
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/Disambiguator.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/Disambiguator.java
index 7adc22e..2baa4db 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/Disambiguator.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/Disambiguator.java
@@ -44,6 +44,9 @@ import org.rhq.core.util.IntExtractor;
*/
public class Disambiguator {
+ /**
+ * The maximum depth of the resource tree.
+ */
public static final int MAXIMUM_DISAMBIGUATED_TREE_DEPTH = 7;
private static final String PARENT_INFO_QUERY;
@@ -95,11 +98,12 @@ public class Disambiguator {
* @param disambiguationUpdateStrategy how is the disambiguation info going to be applied to the results.
* @param resourceIdExtractor an object able to extract resource id from an instance of type parameter.
* @param entityManager an entityManager to be used to access the database
+ * @param duplicateTypeNames the list of type names that are ambiguous without plugin spec
* @return the disambiguation result or null on error
*/
public static <T> ResourceNamesDisambiguationResult<T> disambiguate(List<T> results,
DisambiguationUpdateStrategy disambiguationUpdateStrategy, IntExtractor<? super T> extractor,
- EntityManager entityManager) {
+ EntityManager entityManager, List<String> duplicateTypeNames) {
if (results.isEmpty()) {
return new ResourceNamesDisambiguationResult<T>(new ArrayList<DisambiguationReport<T>>());
@@ -143,7 +147,7 @@ public class Disambiguator {
//requires different level of disambiguation, I will then process them individually.
ReportPartitions<T> partitionedReports = new ReportPartitions<T>(DisambiguationPolicy
- .getUniqueNamePolicy(disambiguationUpdateStrategy));
+ .getUniqueNamePolicy(disambiguationUpdateStrategy, duplicateTypeNames));
@SuppressWarnings("unchecked")
List<Object[]> parentsResults = (List<Object[]>) parentsQuery.getResultList();
@@ -206,12 +210,16 @@ public class Disambiguator {
List<ReportPartitions<T>> ambiguousSubPartitions = new ArrayList<ReportPartitions<T>>();
- if (!partitionedReports.isPartitionsUnique()) {
- ambiguousSubPartitions.add(partitionedReports);
+ if (!disambiguationUpdateStrategy.partitionFurther(partitionedReports)) {
+ updateResourcesInPartitions(disambiguationUpdateStrategy, partitionedReports.getDisambiguationPolicy(), partitionedReports.getAllPartitions());
} else {
- repartitionUnique(partitionedReports, disambiguationUpdateStrategy, ambiguousSubPartitions);
+ if (!partitionedReports.isPartitionsUnique()) {
+ ambiguousSubPartitions.add(partitionedReports);
+ } else {
+ repartitionUnique(partitionedReports, disambiguationUpdateStrategy, ambiguousSubPartitions);
+ }
}
-
+
while (ambiguousSubPartitions.size() > 0) {
Iterator<ReportPartitions<T>> subPartitionIterator = ambiguousSubPartitions.iterator();
List<ReportPartitions<T>> newAmbiguousPartitions = new ArrayList<ReportPartitions<T>>();
@@ -219,17 +227,21 @@ public class Disambiguator {
while (subPartitionIterator.hasNext()) {
ReportPartitions<T> subPartition = subPartitionIterator.next();
- repartitionUnique(subPartition, disambiguationUpdateStrategy, newAmbiguousPartitions);
-
- for (List<MutableDisambiguationReport<T>> partitionReports : subPartition.getAmbiguousPartitions()) {
- ReportPartitions<T> replacementSubpartition = new ReportPartitions<T>(subPartition
- .getDisambiguationPolicy().getNext());
- replacementSubpartition.putAll(partitionReports);
- if (!replacementSubpartition.isPartitionsUnique()) {
- newAmbiguousPartitions.add(replacementSubpartition);
- } else {
- repartitionUnique(replacementSubpartition, disambiguationUpdateStrategy, newAmbiguousPartitions);
+ if (disambiguationUpdateStrategy.partitionFurther(subPartition)) {
+ repartitionUnique(subPartition, disambiguationUpdateStrategy, newAmbiguousPartitions);
+
+ for (List<MutableDisambiguationReport<T>> partitionReports : subPartition.getAmbiguousPartitions()) {
+ ReportPartitions<T> replacementSubpartition = new ReportPartitions<T>(subPartition
+ .getDisambiguationPolicy().getNext());
+ replacementSubpartition.putAll(partitionReports);
+ if (!replacementSubpartition.isPartitionsUnique()) {
+ newAmbiguousPartitions.add(replacementSubpartition);
+ } else {
+ repartitionUnique(replacementSubpartition, disambiguationUpdateStrategy, newAmbiguousPartitions);
+ }
}
+ } else {
+ updateResourcesInPartitions(disambiguationUpdateStrategy, subPartition.getDisambiguationPolicy(), subPartition.getAllPartitions());
}
subPartitionIterator.remove();
}
@@ -266,14 +278,17 @@ public class Disambiguator {
} else {
//ok, there is no other repartitioning policy that we can try.
//Let's update the reports in the unique partitions...
- for (List<MutableDisambiguationReport<T>> partition : partitions.getUniquePartitions()) {
- for (MutableDisambiguationReport<T> report : partition) {
- updateStrategy.update(partitions.getDisambiguationPolicy(), report);
- }
- }
-
+ updateResourcesInPartitions(updateStrategy, partitions.getDisambiguationPolicy(), partitions.getUniquePartitions());
return;
}
}
}
+
+ private static <T> void updateResourcesInPartitions(DisambiguationUpdateStrategy strategy, DisambiguationPolicy policy, List<List<MutableDisambiguationReport<T>>> partitions) {
+ for (List<MutableDisambiguationReport<T>> partition : partitions) {
+ for (MutableDisambiguationReport<T> report : partition) {
+ strategy.update(policy, report);
+ }
+ }
+ }
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/ReportPartitions.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/ReportPartitions.java
index 8fbb9ab..337ef31 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/ReportPartitions.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/ReportPartitions.java
@@ -31,6 +31,10 @@ import java.util.List;
* This class partitions the reports inserted into it by chunking them up
* into sublists containing mutually ambiguous reports. The ambiguity is determined using
* a {@link DisambiguationPolicy}.
+ * <p>
+ * The ReportPartition instances can form a tree using the {@link #getPreviousPartitioning()}
+ * and the parameters provided to the constructors. This is handy to keep track of what
+ * partitions have been disambiguated at what level and how.
*
* @param <T> the type of the original instances the are being disambiguated.
*
@@ -40,8 +44,9 @@ public class ReportPartitions<T> {
private static final long serialVersionUID = 1L;
private DisambiguationPolicy disambiguationPolicy;
- private List<List<MutableDisambiguationReport<T>>> partitions;
-
+ private List<List<MutableDisambiguationReport<T>>> uniquePartitions;
+ private List<List<MutableDisambiguationReport<T>>> ambiguousPartitions;
+
/**
* Constructs a new instance with no partitions in it.
*
@@ -49,7 +54,8 @@ public class ReportPartitions<T> {
*/
public ReportPartitions(DisambiguationPolicy disambiguationPolicy) {
this.disambiguationPolicy = disambiguationPolicy;
- partitions = new ArrayList<List<MutableDisambiguationReport<T>>>();
+ uniquePartitions = new ArrayList<List<MutableDisambiguationReport<T>>>();
+ ambiguousPartitions = new ArrayList<List<MutableDisambiguationReport<T>>>();
}
public ReportPartitions(DisambiguationPolicy disambiguationPolicy, ReportPartitions<T> other) {
@@ -69,77 +75,89 @@ public class ReportPartitions<T> {
}
public List<List<MutableDisambiguationReport<T>>> getAmbiguousPartitions() {
- List<List<MutableDisambiguationReport<T>>> ret = new ArrayList<List<MutableDisambiguationReport<T>>>();
-
- for (List<MutableDisambiguationReport<T>> partition : partitions) {
- if (partition.size() > 1) {
- ret.add(partition);
- }
- }
-
- return ret;
+ return Collections.unmodifiableList(ambiguousPartitions);
}
public List<List<MutableDisambiguationReport<T>>> getUniquePartitions() {
- List<List<MutableDisambiguationReport<T>>> ret = new ArrayList<List<MutableDisambiguationReport<T>>>();
-
- for (List<MutableDisambiguationReport<T>> partition : partitions) {
- if (partition.size() == 1) {
- ret.add(partition);
- }
- }
-
- return ret;
+ return Collections.unmodifiableList(uniquePartitions);
}
public List<List<MutableDisambiguationReport<T>>> getAllPartitions() {
- return Collections.unmodifiableList(partitions);
+ List<List<MutableDisambiguationReport<T>>> ret = new ArrayList<List<MutableDisambiguationReport<T>>>(ambiguousPartitions);
+ ret.addAll(uniquePartitions);
+ return Collections.unmodifiableList(ret);
}
public void put(MutableDisambiguationReport<T> value) {
- boolean found = false;
- for (List<MutableDisambiguationReport<T>> partition : partitions) {
- for (MutableDisambiguationReport<T> partitionPrototype : partition) {
- if (disambiguationPolicy.areAmbiguous(partitionPrototype, value)) {
- found = true;
- break;
- }
- }
- if (found) {
- partition.add(value);
- break;
- }
- }
-
- if (!found) {
- List<MutableDisambiguationReport<T>> newPartition = new ArrayList<MutableDisambiguationReport<T>>();
- newPartition.add(value);
- partitions.add(newPartition);
- }
+ put(value, true);
}
public void putAll(List<MutableDisambiguationReport<T>> values) {
for (MutableDisambiguationReport<T> v : values) {
- put(v);
+ put(v, false);
}
+ updatePolicy();
}
public void putAll(ReportPartitions<T> other) {
for (List<MutableDisambiguationReport<T>> partition : other.getAllPartitions()) {
- putAll(partition);
+ for (MutableDisambiguationReport<T> v : partition) {
+ put(v, false);
+ }
}
+ updatePolicy();
}
public boolean isPartitionsUnique() {
- for (List<MutableDisambiguationReport<T>> partition : partitions) {
- if (partition.size() > 1) {
- return false;
+ return ambiguousPartitions.size() == 0;
+ }
+
+ public String toString() {
+ return "ReportPartitions[policy=" + disambiguationPolicy + ", uniquePartitions=" + uniquePartitions + ", ambiguousPartitions=" + ambiguousPartitions + "]";
+ }
+
+ private void put(MutableDisambiguationReport<T> value, boolean updatePolicy) {
+ if (insertIntoExisting(value, ambiguousPartitions) >= 0) {
+ return;
+ } else {
+ int idx = insertIntoExisting(value, uniquePartitions);
+ if (idx >= 0) {
+ ambiguousPartitions.add(uniquePartitions.remove(idx));
+ } else {
+ List<MutableDisambiguationReport<T>> newPartition = new ArrayList<MutableDisambiguationReport<T>>();
+ newPartition.add(value);
+ uniquePartitions.add(newPartition);
}
}
- return true;
+
+ if (updatePolicy) {
+ updatePolicy();
+ }
+ }
+
+ private void updatePolicy() {
+ this.disambiguationPolicy.getCurrentLevel().setDeciding(uniquePartitions.size() > 0);
}
+
+ private int insertIntoExisting(MutableDisambiguationReport<T> value, List<List<MutableDisambiguationReport<T>>> partitions) {
+ int idx = -1;
+ boolean found = false;
+ for (List<MutableDisambiguationReport<T>> partition : partitions) {
+ for (MutableDisambiguationReport<T> partitionPrototype : partition) {
+ if (disambiguationPolicy.areAmbiguous(partitionPrototype, value)) {
+ found = true;
+ break;
+ }
+ }
- public String toString() {
- return "ReportPartitions[policy=" + disambiguationPolicy + ", partitions=" + partitions + "]";
+ idx++;
+
+ if (found) {
+ partition.add(value);
+ break;
+ }
+ }
+
+ return found ? idx : -1;
}
}
\ No newline at end of file
commit 60faf0491dabc3c6ac7b6cf11601bc29b90b2278
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Thu Jun 3 20:28:26 2010 +0200
This is an experimental change to the way the disambiguation works (once more). This tries to deal with the fact that the plugin info is shown when resource of the same name and type are only resolved by parent path (and thus showing the plugin info).
This change has a problem though. If an ambiguous partition is partially resolved by a plugin info at resource level, the rest of partition is disambiguated further up by name and then loses the plugin info further below (which would be needed to
disambiguate with the previously partially resolved parts).
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java
index c11c3dd..11ea47d 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/disambiguation/DefaultDisambiguationUpdateStrategies.java
@@ -103,10 +103,13 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
updateResources(policy, report);
//do nothing to the parents, keep them as they are...
}
-
- @Override
+
public EnumSet<ResourceResolution> resourceLevelRepartitionableResolutions() {
- return EnumSet.allOf(ResourceResolution.class);
+ return EnumSet.of(ResourceResolution.NAME);
+ }
+
+ public EnumSet<ResourceResolution> alwaysRepartitionableResolutions() {
+ return EnumSet.of(ResourceResolution.NAME);
}
};
@@ -142,17 +145,28 @@ public enum DefaultDisambiguationUpdateStrategies implements DisambiguationUpdat
updateResource(ResourceResolution.TYPE, report.parents.get(disambiguationPolicyIndex));
}
- //don't replicate the plugin information on the parents if it was reported
- //on the resource already.
- //this has to be done on all the parents, not just the ones that are immediately needed
- //for disambiguation. The parents update strategies might leave more parents than those needed.
- if (policy.get(0) == ResourceResolution.PLUGIN) {
- for (MutableDisambiguationReport.Resource parent : report.parents) {
- if (report.resource.resourceType.plugin.equals(parent.resourceType.plugin)) {
-
- parent.resourceType.plugin = null;
+ //include the plugin information only if it was actually the deciding resolution of the policy.
+ if (policy.get(policy.size() - 1) == ResourceResolution.PLUGIN) {
+ String decidingPlugin = policy.size() > 1 ? report.parents.get(policy.size() - 2).resourceType.plugin : report.resource.resourceType.plugin;
+
+ for (int i = policy.size() - 3; i >= 0; i--) {
+ if (decidingPlugin.equals(report.parents.get(i).resourceType.plugin)) {
+ updateResource(ResourceResolution.TYPE, report.parents.get(i));
}
}
+
+ if (policy.size() > 1 && decidingPlugin.equals(report.resource.resourceType.plugin)) {
+ updateResource(ResourceResolution.TYPE, report.resource);
+ }
+ } else {
+ //ok, this report was in the end resolved by some name or type at the resource level
+ //or higher up in the parents. This alone uniquely identifies the resource, so there's
+ //no need to show the (ambigous anyway) plugin info.
+ updateResource(ResourceResolution.TYPE, report.resource);
+
+ for (MutableDisambiguationReport.Resource parent : report.parents) {
+ updateResource(ResourceResolution.TYPE, parent);
+ }
}
}
13 years, 8 months
[rhq] Branch 'release-3.0.0' - modules/common modules/core modules/enterprise modules/helpers modules/plugins modules/pom.xml modules/test-utils pom.xml
by ips
modules/common/ant-bundle/pom.xml | 2 +-
modules/common/filetemplate-bundle/pom.xml | 2 +-
modules/common/jboss-as/pom.xml | 2 +-
modules/common/pom.xml | 2 +-
modules/core/client-api/pom.xml | 2 +-
modules/core/comm-api/pom.xml | 2 +-
modules/core/dbutils/pom.xml | 2 +-
modules/core/domain/pom.xml | 2 +-
modules/core/gui/pom.xml | 2 +-
modules/core/native-system/pom.xml | 2 +-
modules/core/plugin-api/pom.xml | 2 +-
modules/core/plugin-container/pom.xml | 2 +-
modules/core/plugin-validator/pom.xml | 2 +-
modules/core/plugindoc/pom.xml | 2 +-
modules/core/pom.xml | 2 +-
modules/core/util/pom.xml | 2 +-
modules/enterprise/agent/pom.xml | 2 +-
modules/enterprise/agentupdate/pom.xml | 2 +-
modules/enterprise/comm/pom.xml | 2 +-
modules/enterprise/gui/base-perspective-jar/pom.xml | 2 +-
modules/enterprise/gui/base-perspective-war/pom.xml | 2 +-
modules/enterprise/gui/content_http-war/pom.xml | 2 +-
modules/enterprise/gui/coregui/pom.xml | 2 +-
modules/enterprise/gui/installer-war/pom.xml | 2 +-
modules/enterprise/gui/pom.xml | 2 +-
modules/enterprise/gui/portal-war/pom.xml | 2 +-
modules/enterprise/gui/webdav-war/pom.xml | 2 +-
modules/enterprise/pom.xml | 2 +-
modules/enterprise/remoting/cli/pom.xml | 2 +-
modules/enterprise/remoting/client-api/pom.xml | 2 +-
modules/enterprise/remoting/pom.xml | 2 +-
modules/enterprise/remoting/webservices/pom.xml | 2 +-
modules/enterprise/server/container-lib/pom.xml | 2 +-
modules/enterprise/server/container/pom.xml | 2 +-
modules/enterprise/server/ear/pom.xml | 2 +-
modules/enterprise/server/jar/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-email/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-irc/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-microblog/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-mobicents/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-operations/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-roles/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-snmp/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-subject/pom.xml | 2 +-
modules/enterprise/server/plugins/ant-bundle/pom.xml | 2 +-
modules/enterprise/server/plugins/cobbler/pom.xml | 2 +-
modules/enterprise/server/plugins/disk/pom.xml | 2 +-
modules/enterprise/server/plugins/filetemplate-bundle/pom.xml | 2 +-
modules/enterprise/server/plugins/jboss-software/pom.xml | 2 +-
modules/enterprise/server/plugins/perspectives/core/perspective/pom.xml | 2 +-
modules/enterprise/server/plugins/perspectives/core/pom.xml | 2 +-
modules/enterprise/server/plugins/pom.xml | 2 +-
modules/enterprise/server/plugins/rhnhosted/pom.xml | 2 +-
modules/enterprise/server/plugins/url/pom.xml | 2 +-
modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml | 2 +-
modules/enterprise/server/plugins/yum/pom.xml | 2 +-
modules/enterprise/server/safe-invoker/pom.xml | 2 +-
modules/enterprise/server/sars/agent-sar/pom.xml | 2 +-
modules/enterprise/server/sars/pom.xml | 2 +-
modules/enterprise/server/xml-schemas/pom.xml | 2 +-
modules/helpers/pluginAnnotations/pom.xml | 2 +-
modules/helpers/pluginGen/pom.xml | 2 +-
modules/helpers/pom.xml | 2 +-
modules/helpers/rtfilter/pom.xml | 2 +-
modules/plugins/aliases/pom.xml | 2 +-
modules/plugins/ant-bundle/pom.xml | 2 +-
modules/plugins/apache/pom.xml | 2 +-
modules/plugins/augeas/pom.xml | 2 +-
modules/plugins/cobbler/pom.xml | 2 +-
modules/plugins/cron/pom.xml | 2 +-
modules/plugins/database/pom.xml | 2 +-
modules/plugins/filetemplate-bundle/pom.xml | 2 +-
modules/plugins/grub/pom.xml | 2 +-
modules/plugins/hibernate/pom.xml | 2 +-
modules/plugins/hosts/pom.xml | 2 +-
modules/plugins/hudson/pom.xml | 2 +-
modules/plugins/iis/pom.xml | 2 +-
modules/plugins/jboss-as-5/pom.xml | 2 +-
modules/plugins/jboss-as/pom.xml | 2 +-
modules/plugins/jboss-cache-v3/pom.xml | 2 +-
modules/plugins/jboss-cache/pom.xml | 2 +-
modules/plugins/jmx/pom.xml | 2 +-
modules/plugins/mysql/pom.xml | 2 +-
modules/plugins/netservices/pom.xml | 2 +-
modules/plugins/oracle/pom.xml | 2 +-
modules/plugins/perftest/pom.xml | 2 +-
modules/plugins/platform/pom.xml | 2 +-
modules/plugins/pom.xml | 2 +-
modules/plugins/postfix/pom.xml | 2 +-
modules/plugins/postgres/pom.xml | 2 +-
modules/plugins/rhq-agent/pom.xml | 2 +-
modules/plugins/rhq-server/pom.xml | 2 +-
modules/plugins/samba/pom.xml | 2 +-
modules/plugins/script/pom.xml | 2 +-
modules/plugins/snmptrapd/pom.xml | 2 +-
modules/plugins/sshd/pom.xml | 2 +-
modules/plugins/sudoers/pom.xml | 2 +-
modules/plugins/tomcat/pom.xml | 2 +-
modules/plugins/twitter/pom.xml | 2 +-
modules/plugins/validate-all-plugins/pom.xml | 2 +-
modules/pom.xml | 2 +-
modules/test-utils/pom.xml | 2 +-
pom.xml | 2 +-
103 files changed, 103 insertions(+), 103 deletions(-)
New commits:
commit db52fd9f90613300d3f9a65b1539e31fac7beabb
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Thu Aug 19 16:08:32 2010 -0400
[maven-release-plugin] prepare for next development iteration
diff --git a/modules/common/ant-bundle/pom.xml b/modules/common/ant-bundle/pom.xml
index f1df20d..18b3148 100644
--- a/modules/common/ant-bundle/pom.xml
+++ b/modules/common/ant-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-common-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/common/filetemplate-bundle/pom.xml b/modules/common/filetemplate-bundle/pom.xml
index 0918dd6..7328519 100644
--- a/modules/common/filetemplate-bundle/pom.xml
+++ b/modules/common/filetemplate-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-common-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/common/jboss-as/pom.xml b/modules/common/jboss-as/pom.xml
index 889460b..ce47a67 100644
--- a/modules/common/jboss-as/pom.xml
+++ b/modules/common/jboss-as/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-common-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/common/pom.xml b/modules/common/pom.xml
index c2802a5..01eea5c 100644
--- a/modules/common/pom.xml
+++ b/modules/common/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/client-api/pom.xml b/modules/core/client-api/pom.xml
index 2b71af2..9f3881a 100644
--- a/modules/core/client-api/pom.xml
+++ b/modules/core/client-api/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/comm-api/pom.xml b/modules/core/comm-api/pom.xml
index 1621dc8..74b5928 100644
--- a/modules/core/comm-api/pom.xml
+++ b/modules/core/comm-api/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/dbutils/pom.xml b/modules/core/dbutils/pom.xml
index ff6f059..c5852ba 100644
--- a/modules/core/dbutils/pom.xml
+++ b/modules/core/dbutils/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/domain/pom.xml b/modules/core/domain/pom.xml
index 6c51c4d..a28eb3a 100644
--- a/modules/core/domain/pom.xml
+++ b/modules/core/domain/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/gui/pom.xml b/modules/core/gui/pom.xml
index 85b4bb9..561aa33 100644
--- a/modules/core/gui/pom.xml
+++ b/modules/core/gui/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/native-system/pom.xml b/modules/core/native-system/pom.xml
index c0fd759..bdf222d 100644
--- a/modules/core/native-system/pom.xml
+++ b/modules/core/native-system/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/plugin-api/pom.xml b/modules/core/plugin-api/pom.xml
index cafbf32..9010509 100644
--- a/modules/core/plugin-api/pom.xml
+++ b/modules/core/plugin-api/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/plugin-container/pom.xml b/modules/core/plugin-container/pom.xml
index 3d4c8e6..2f23428 100644
--- a/modules/core/plugin-container/pom.xml
+++ b/modules/core/plugin-container/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/plugin-validator/pom.xml b/modules/core/plugin-validator/pom.xml
index c60d7b7..df4f531 100644
--- a/modules/core/plugin-validator/pom.xml
+++ b/modules/core/plugin-validator/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/plugindoc/pom.xml b/modules/core/plugindoc/pom.xml
index 73863d1..152a178 100644
--- a/modules/core/plugindoc/pom.xml
+++ b/modules/core/plugindoc/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index fc613e4..fa507c8 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/util/pom.xml b/modules/core/util/pom.xml
index c39fdaf..39d1f3a 100644
--- a/modules/core/util/pom.xml
+++ b/modules/core/util/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/agent/pom.xml b/modules/enterprise/agent/pom.xml
index c918271..9aa5095 100644
--- a/modules/enterprise/agent/pom.xml
+++ b/modules/enterprise/agent/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/agentupdate/pom.xml b/modules/enterprise/agentupdate/pom.xml
index 0b6e301..565bc6b 100644
--- a/modules/enterprise/agentupdate/pom.xml
+++ b/modules/enterprise/agentupdate/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/comm/pom.xml b/modules/enterprise/comm/pom.xml
index a3349c4..4690f9c 100644
--- a/modules/enterprise/comm/pom.xml
+++ b/modules/enterprise/comm/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/base-perspective-jar/pom.xml b/modules/enterprise/gui/base-perspective-jar/pom.xml
index 7df231c..452af60 100644
--- a/modules/enterprise/gui/base-perspective-jar/pom.xml
+++ b/modules/enterprise/gui/base-perspective-jar/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/base-perspective-war/pom.xml b/modules/enterprise/gui/base-perspective-war/pom.xml
index 96b0dbf..128359c 100644
--- a/modules/enterprise/gui/base-perspective-war/pom.xml
+++ b/modules/enterprise/gui/base-perspective-war/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/content_http-war/pom.xml b/modules/enterprise/gui/content_http-war/pom.xml
index 01bf50a..0d3bca5 100644
--- a/modules/enterprise/gui/content_http-war/pom.xml
+++ b/modules/enterprise/gui/content_http-war/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-gui-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/coregui/pom.xml b/modules/enterprise/gui/coregui/pom.xml
index 2f4dab0..ee22fea 100644
--- a/modules/enterprise/gui/coregui/pom.xml
+++ b/modules/enterprise/gui/coregui/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/installer-war/pom.xml b/modules/enterprise/gui/installer-war/pom.xml
index ad76d01..61363d3 100644
--- a/modules/enterprise/gui/installer-war/pom.xml
+++ b/modules/enterprise/gui/installer-war/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/pom.xml b/modules/enterprise/gui/pom.xml
index a7940fe..8cb4c27 100644
--- a/modules/enterprise/gui/pom.xml
+++ b/modules/enterprise/gui/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/portal-war/pom.xml b/modules/enterprise/gui/portal-war/pom.xml
index c2fa443..c9eeee8 100644
--- a/modules/enterprise/gui/portal-war/pom.xml
+++ b/modules/enterprise/gui/portal-war/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/webdav-war/pom.xml b/modules/enterprise/gui/webdav-war/pom.xml
index 3889744..d723c43 100644
--- a/modules/enterprise/gui/webdav-war/pom.xml
+++ b/modules/enterprise/gui/webdav-war/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/pom.xml b/modules/enterprise/pom.xml
index 079ab1f..c95bb90 100644
--- a/modules/enterprise/pom.xml
+++ b/modules/enterprise/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/remoting/cli/pom.xml b/modules/enterprise/remoting/cli/pom.xml
index 73fceef..1dd7aad 100644
--- a/modules/enterprise/remoting/cli/pom.xml
+++ b/modules/enterprise/remoting/cli/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<artifactId>rhq-remoting-cli</artifactId>
diff --git a/modules/enterprise/remoting/client-api/pom.xml b/modules/enterprise/remoting/client-api/pom.xml
index 08c535f..e13b3cb 100644
--- a/modules/enterprise/remoting/client-api/pom.xml
+++ b/modules/enterprise/remoting/client-api/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<artifactId>rhq-remoting-client-api</artifactId>
diff --git a/modules/enterprise/remoting/pom.xml b/modules/enterprise/remoting/pom.xml
index 1018405..d40ba9f 100644
--- a/modules/enterprise/remoting/pom.xml
+++ b/modules/enterprise/remoting/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<artifactId>rhq-remoting-parent</artifactId>
diff --git a/modules/enterprise/remoting/webservices/pom.xml b/modules/enterprise/remoting/webservices/pom.xml
index 761e930..bc901bb 100644
--- a/modules/enterprise/remoting/webservices/pom.xml
+++ b/modules/enterprise/remoting/webservices/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<artifactId>rhq-remoting-webservices</artifactId>
diff --git a/modules/enterprise/server/container-lib/pom.xml b/modules/enterprise/server/container-lib/pom.xml
index eb3e61b..49604e7 100644
--- a/modules/enterprise/server/container-lib/pom.xml
+++ b/modules/enterprise/server/container-lib/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/container/pom.xml b/modules/enterprise/server/container/pom.xml
index a624a0e..0f02b39 100644
--- a/modules/enterprise/server/container/pom.xml
+++ b/modules/enterprise/server/container/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/ear/pom.xml b/modules/enterprise/server/ear/pom.xml
index 945fcbe..4c354bb 100644
--- a/modules/enterprise/server/ear/pom.xml
+++ b/modules/enterprise/server/ear/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/jar/pom.xml b/modules/enterprise/server/jar/pom.xml
index 8ca7cd3..ff09450 100644
--- a/modules/enterprise/server/jar/pom.xml
+++ b/modules/enterprise/server/jar/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/alert-email/pom.xml b/modules/enterprise/server/plugins/alert-email/pom.xml
index 4c280dc..f7f4685 100644
--- a/modules/enterprise/server/plugins/alert-email/pom.xml
+++ b/modules/enterprise/server/plugins/alert-email/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-irc/pom.xml b/modules/enterprise/server/plugins/alert-irc/pom.xml
index 9b3fc98..54c7628 100644
--- a/modules/enterprise/server/plugins/alert-irc/pom.xml
+++ b/modules/enterprise/server/plugins/alert-irc/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-microblog/pom.xml b/modules/enterprise/server/plugins/alert-microblog/pom.xml
index 2b3a72e..e6425e6 100644
--- a/modules/enterprise/server/plugins/alert-microblog/pom.xml
+++ b/modules/enterprise/server/plugins/alert-microblog/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-mobicents/pom.xml b/modules/enterprise/server/plugins/alert-mobicents/pom.xml
index 12e6461..cc3e87e 100644
--- a/modules/enterprise/server/plugins/alert-mobicents/pom.xml
+++ b/modules/enterprise/server/plugins/alert-mobicents/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-operations/pom.xml b/modules/enterprise/server/plugins/alert-operations/pom.xml
index 102975a..65d296b 100644
--- a/modules/enterprise/server/plugins/alert-operations/pom.xml
+++ b/modules/enterprise/server/plugins/alert-operations/pom.xml
@@ -2,7 +2,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-roles/pom.xml b/modules/enterprise/server/plugins/alert-roles/pom.xml
index d2bf308..649554b 100644
--- a/modules/enterprise/server/plugins/alert-roles/pom.xml
+++ b/modules/enterprise/server/plugins/alert-roles/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-snmp/pom.xml b/modules/enterprise/server/plugins/alert-snmp/pom.xml
index 9571fba..d40372d 100644
--- a/modules/enterprise/server/plugins/alert-snmp/pom.xml
+++ b/modules/enterprise/server/plugins/alert-snmp/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-subject/pom.xml b/modules/enterprise/server/plugins/alert-subject/pom.xml
index d17ad21..ab235e2 100644
--- a/modules/enterprise/server/plugins/alert-subject/pom.xml
+++ b/modules/enterprise/server/plugins/alert-subject/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/ant-bundle/pom.xml b/modules/enterprise/server/plugins/ant-bundle/pom.xml
index dec0cd0..49fb793 100644
--- a/modules/enterprise/server/plugins/ant-bundle/pom.xml
+++ b/modules/enterprise/server/plugins/ant-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/cobbler/pom.xml b/modules/enterprise/server/plugins/cobbler/pom.xml
index 593eadf..414089a 100644
--- a/modules/enterprise/server/plugins/cobbler/pom.xml
+++ b/modules/enterprise/server/plugins/cobbler/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/disk/pom.xml b/modules/enterprise/server/plugins/disk/pom.xml
index 2280ed2..1cf8dc4 100644
--- a/modules/enterprise/server/plugins/disk/pom.xml
+++ b/modules/enterprise/server/plugins/disk/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml b/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml
index 3c57459..19d8f63 100644
--- a/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml
+++ b/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/jboss-software/pom.xml b/modules/enterprise/server/plugins/jboss-software/pom.xml
index ffcbeca..d523815 100644
--- a/modules/enterprise/server/plugins/jboss-software/pom.xml
+++ b/modules/enterprise/server/plugins/jboss-software/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/perspectives/core/perspective/pom.xml b/modules/enterprise/server/plugins/perspectives/core/perspective/pom.xml
index 9d0a5f6..5465cb7 100644
--- a/modules/enterprise/server/plugins/perspectives/core/perspective/pom.xml
+++ b/modules/enterprise/server/plugins/perspectives/core/perspective/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/perspectives/core/pom.xml b/modules/enterprise/server/plugins/perspectives/core/pom.xml
index 9b715e7..ef113ea 100644
--- a/modules/enterprise/server/plugins/perspectives/core/pom.xml
+++ b/modules/enterprise/server/plugins/perspectives/core/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/pom.xml b/modules/enterprise/server/plugins/pom.xml
index f54c95c..9fae1c6 100644
--- a/modules/enterprise/server/plugins/pom.xml
+++ b/modules/enterprise/server/plugins/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/rhnhosted/pom.xml b/modules/enterprise/server/plugins/rhnhosted/pom.xml
index 4b5354e..e897939 100644
--- a/modules/enterprise/server/plugins/rhnhosted/pom.xml
+++ b/modules/enterprise/server/plugins/rhnhosted/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/url/pom.xml b/modules/enterprise/server/plugins/url/pom.xml
index 3519306..e94bc97 100644
--- a/modules/enterprise/server/plugins/url/pom.xml
+++ b/modules/enterprise/server/plugins/url/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml b/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml
index 5221920..972ffae 100644
--- a/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml
+++ b/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/yum/pom.xml b/modules/enterprise/server/plugins/yum/pom.xml
index 8abe705..b0d0889 100644
--- a/modules/enterprise/server/plugins/yum/pom.xml
+++ b/modules/enterprise/server/plugins/yum/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/safe-invoker/pom.xml b/modules/enterprise/server/safe-invoker/pom.xml
index 8ebcca8..bac02fe 100644
--- a/modules/enterprise/server/safe-invoker/pom.xml
+++ b/modules/enterprise/server/safe-invoker/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/sars/agent-sar/pom.xml b/modules/enterprise/server/sars/agent-sar/pom.xml
index ce9501f..d4eb1d3 100644
--- a/modules/enterprise/server/sars/agent-sar/pom.xml
+++ b/modules/enterprise/server/sars/agent-sar/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-sars-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/sars/pom.xml b/modules/enterprise/server/sars/pom.xml
index 58809fb..9c89fb0 100644
--- a/modules/enterprise/server/sars/pom.xml
+++ b/modules/enterprise/server/sars/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/xml-schemas/pom.xml b/modules/enterprise/server/xml-schemas/pom.xml
index 37eebc5..adcee30 100644
--- a/modules/enterprise/server/xml-schemas/pom.xml
+++ b/modules/enterprise/server/xml-schemas/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/helpers/pluginAnnotations/pom.xml b/modules/helpers/pluginAnnotations/pom.xml
index e1650f6..34f96b7 100644
--- a/modules/helpers/pluginAnnotations/pom.xml
+++ b/modules/helpers/pluginAnnotations/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.rhq.helpers</groupId>
<artifactId>rhq-helpers</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq.helpers</groupId>
diff --git a/modules/helpers/pluginGen/pom.xml b/modules/helpers/pluginGen/pom.xml
index e82697a..760aa47 100644
--- a/modules/helpers/pluginGen/pom.xml
+++ b/modules/helpers/pluginGen/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.rhq.helpers</groupId>
<artifactId>rhq-helpers</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq.helpers</groupId>
diff --git a/modules/helpers/pom.xml b/modules/helpers/pom.xml
index 52bd92c..a9a1ed6 100644
--- a/modules/helpers/pom.xml
+++ b/modules/helpers/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq.helpers</groupId>
diff --git a/modules/helpers/rtfilter/pom.xml b/modules/helpers/rtfilter/pom.xml
index ce7afa6..66817bb 100644
--- a/modules/helpers/rtfilter/pom.xml
+++ b/modules/helpers/rtfilter/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq.helpers</groupId>
<artifactId>rhq-helpers</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/aliases/pom.xml b/modules/plugins/aliases/pom.xml
index 7f21c23..d45740a 100644
--- a/modules/plugins/aliases/pom.xml
+++ b/modules/plugins/aliases/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/ant-bundle/pom.xml b/modules/plugins/ant-bundle/pom.xml
index 2f8c02e..e85b019 100644
--- a/modules/plugins/ant-bundle/pom.xml
+++ b/modules/plugins/ant-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/apache/pom.xml b/modules/plugins/apache/pom.xml
index 4fd2052..f8868f6 100644
--- a/modules/plugins/apache/pom.xml
+++ b/modules/plugins/apache/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/augeas/pom.xml b/modules/plugins/augeas/pom.xml
index 9ce5b88..8ce4c7d 100644
--- a/modules/plugins/augeas/pom.xml
+++ b/modules/plugins/augeas/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/cobbler/pom.xml b/modules/plugins/cobbler/pom.xml
index 0e135d6..f389aed 100644
--- a/modules/plugins/cobbler/pom.xml
+++ b/modules/plugins/cobbler/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/cron/pom.xml b/modules/plugins/cron/pom.xml
index 3bec5de..134b32f 100644
--- a/modules/plugins/cron/pom.xml
+++ b/modules/plugins/cron/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/database/pom.xml b/modules/plugins/database/pom.xml
index 53f1e58..b835e7b 100644
--- a/modules/plugins/database/pom.xml
+++ b/modules/plugins/database/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/filetemplate-bundle/pom.xml b/modules/plugins/filetemplate-bundle/pom.xml
index 9d7751c..63f3c7e 100644
--- a/modules/plugins/filetemplate-bundle/pom.xml
+++ b/modules/plugins/filetemplate-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/grub/pom.xml b/modules/plugins/grub/pom.xml
index f5189db..b7a6da7 100644
--- a/modules/plugins/grub/pom.xml
+++ b/modules/plugins/grub/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/hibernate/pom.xml b/modules/plugins/hibernate/pom.xml
index a8a16a7..43a0d03 100644
--- a/modules/plugins/hibernate/pom.xml
+++ b/modules/plugins/hibernate/pom.xml
@@ -6,7 +6,7 @@
<groupId>org.rhq</groupId>
<!-- Bypass the jopr-plugins-parent which can not have children. It must build after the plugins in order to execute integration tests on them. -->
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/hosts/pom.xml b/modules/plugins/hosts/pom.xml
index 3fb57ca..bf9b384 100644
--- a/modules/plugins/hosts/pom.xml
+++ b/modules/plugins/hosts/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/hudson/pom.xml b/modules/plugins/hudson/pom.xml
index 0905140..094349a 100644
--- a/modules/plugins/hudson/pom.xml
+++ b/modules/plugins/hudson/pom.xml
@@ -6,7 +6,7 @@
<parent>
<artifactId>rhq-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/iis/pom.xml b/modules/plugins/iis/pom.xml
index 4d5d787..7a22b82 100644
--- a/modules/plugins/iis/pom.xml
+++ b/modules/plugins/iis/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/jboss-as-5/pom.xml b/modules/plugins/jboss-as-5/pom.xml
index 9b0a298..2e26619 100644
--- a/modules/plugins/jboss-as-5/pom.xml
+++ b/modules/plugins/jboss-as-5/pom.xml
@@ -9,7 +9,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/jboss-as/pom.xml b/modules/plugins/jboss-as/pom.xml
index 61c006d..1556ac8 100644
--- a/modules/plugins/jboss-as/pom.xml
+++ b/modules/plugins/jboss-as/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/jboss-cache-v3/pom.xml b/modules/plugins/jboss-cache-v3/pom.xml
index 2cde190..4b3b21d 100644
--- a/modules/plugins/jboss-cache-v3/pom.xml
+++ b/modules/plugins/jboss-cache-v3/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/jboss-cache/pom.xml b/modules/plugins/jboss-cache/pom.xml
index a6f194b..8c78ea7 100644
--- a/modules/plugins/jboss-cache/pom.xml
+++ b/modules/plugins/jboss-cache/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/jmx/pom.xml b/modules/plugins/jmx/pom.xml
index 132a5d4..5f92e76 100644
--- a/modules/plugins/jmx/pom.xml
+++ b/modules/plugins/jmx/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/mysql/pom.xml b/modules/plugins/mysql/pom.xml
index 10b640f..c99ae4b 100644
--- a/modules/plugins/mysql/pom.xml
+++ b/modules/plugins/mysql/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/netservices/pom.xml b/modules/plugins/netservices/pom.xml
index d14d611..67919cf 100644
--- a/modules/plugins/netservices/pom.xml
+++ b/modules/plugins/netservices/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/oracle/pom.xml b/modules/plugins/oracle/pom.xml
index b80ce28..ad6478a 100644
--- a/modules/plugins/oracle/pom.xml
+++ b/modules/plugins/oracle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/perftest/pom.xml b/modules/plugins/perftest/pom.xml
index caf7ef6..cb424ef 100644
--- a/modules/plugins/perftest/pom.xml
+++ b/modules/plugins/perftest/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/platform/pom.xml b/modules/plugins/platform/pom.xml
index 5c24fa7..6f8b8c3 100644
--- a/modules/plugins/platform/pom.xml
+++ b/modules/plugins/platform/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/pom.xml b/modules/plugins/pom.xml
index e543de1..4d12efb 100644
--- a/modules/plugins/pom.xml
+++ b/modules/plugins/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/postfix/pom.xml b/modules/plugins/postfix/pom.xml
index 078d359..663c562 100644
--- a/modules/plugins/postfix/pom.xml
+++ b/modules/plugins/postfix/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/postgres/pom.xml b/modules/plugins/postgres/pom.xml
index caa3ddb..4551c56 100644
--- a/modules/plugins/postgres/pom.xml
+++ b/modules/plugins/postgres/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/rhq-agent/pom.xml b/modules/plugins/rhq-agent/pom.xml
index 34f62aa..2918cd1 100644
--- a/modules/plugins/rhq-agent/pom.xml
+++ b/modules/plugins/rhq-agent/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/rhq-server/pom.xml b/modules/plugins/rhq-server/pom.xml
index d6f8331..71c3e26 100644
--- a/modules/plugins/rhq-server/pom.xml
+++ b/modules/plugins/rhq-server/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/samba/pom.xml b/modules/plugins/samba/pom.xml
index d06976e..99ef74e 100644
--- a/modules/plugins/samba/pom.xml
+++ b/modules/plugins/samba/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/script/pom.xml b/modules/plugins/script/pom.xml
index d1a85ce..c7403c4 100644
--- a/modules/plugins/script/pom.xml
+++ b/modules/plugins/script/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/snmptrapd/pom.xml b/modules/plugins/snmptrapd/pom.xml
index 3b74d35..baa076b 100644
--- a/modules/plugins/snmptrapd/pom.xml
+++ b/modules/plugins/snmptrapd/pom.xml
@@ -2,7 +2,7 @@
<parent>
<artifactId>rhq-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/plugins/sshd/pom.xml b/modules/plugins/sshd/pom.xml
index 4761f18..efc4a8c 100644
--- a/modules/plugins/sshd/pom.xml
+++ b/modules/plugins/sshd/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/sudoers/pom.xml b/modules/plugins/sudoers/pom.xml
index c3f12fb..8bd1665 100644
--- a/modules/plugins/sudoers/pom.xml
+++ b/modules/plugins/sudoers/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/tomcat/pom.xml b/modules/plugins/tomcat/pom.xml
index ec4d373..37b1d4f 100644
--- a/modules/plugins/tomcat/pom.xml
+++ b/modules/plugins/tomcat/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/twitter/pom.xml b/modules/plugins/twitter/pom.xml
index 3493fb6..44a9746 100644
--- a/modules/plugins/twitter/pom.xml
+++ b/modules/plugins/twitter/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/validate-all-plugins/pom.xml b/modules/plugins/validate-all-plugins/pom.xml
index 5df7610..4982e56 100644
--- a/modules/plugins/validate-all-plugins/pom.xml
+++ b/modules/plugins/validate-all-plugins/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/pom.xml b/modules/pom.xml
index ff4fdb9..fee12c3 100644
--- a/modules/pom.xml
+++ b/modules/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/test-utils/pom.xml b/modules/test-utils/pom.xml
index 2f60bf5..432b517 100644
--- a/modules/test-utils/pom.xml
+++ b/modules/test-utils/pom.xml
@@ -4,7 +4,7 @@
<parent>
<artifactId>rhq-modules-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
</parent>
<artifactId>test-utils</artifactId>
<name>RHQ Test Utils</name>
diff --git a/pom.xml b/pom.xml
index 3d501c3..6c332d3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0.EmbJopr2</version>
+ <version>3.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>RHQ</name>
13 years, 9 months
[rhq] Changes to 'refs/tags/RHQ_3_0_0_EmbJopr2'
by ips
Tag 'RHQ_3_0_0_EmbJopr2' created by Ian Springer <ian.springer(a)redhat.com> at 2010-08-19 20:08 +0000
[maven-release-plugin] copy for tag RHQ_3_0_0_EmbJopr2
Changes since RHQ_3_0_0_EmbJopr:
Ian Springer (6):
JmxConnectionHelper.loadConnection() should set JAR_TEMP_DIR EMS control prop to PC temp dir even when PC is running in embedded mode (i.e. in the admin-console) (https://bugzilla.redhat.com/show_bug.cgi?id=624817)
upgrade EMS from 1.2.11 to 1.2.15
disable dry run for now
upgrade EMS from 1.2.15 to 1.2.15.1
undefine 'mvn' alias or function if one is defined
[maven-release-plugin] prepare release RHQ_3_0_0_EmbJopr2
hudson auto (1):
[maven-release-plugin] prepare for next development iteration
---
modules/common/ant-bundle/pom.xml | 2
modules/common/filetemplate-bundle/pom.xml | 2
modules/common/jboss-as/pom.xml | 2
modules/common/pom.xml | 2
modules/core/client-api/pom.xml | 2
modules/core/comm-api/pom.xml | 2
modules/core/dbutils/pom.xml | 2
modules/core/domain/pom.xml | 2
modules/core/gui/pom.xml | 2
modules/core/native-system/pom.xml | 2
modules/core/plugin-api/pom.xml | 2
modules/core/plugin-container/pom.xml | 2
modules/core/plugin-validator/pom.xml | 2
modules/core/plugindoc/pom.xml | 2
modules/core/pom.xml | 2
modules/core/util/pom.xml | 2
modules/enterprise/agent/pom.xml | 2
modules/enterprise/agentupdate/pom.xml | 2
modules/enterprise/comm/pom.xml | 2
modules/enterprise/gui/base-perspective-jar/pom.xml | 2
modules/enterprise/gui/base-perspective-war/pom.xml | 2
modules/enterprise/gui/content_http-war/pom.xml | 2
modules/enterprise/gui/coregui/pom.xml | 2
modules/enterprise/gui/installer-war/pom.xml | 2
modules/enterprise/gui/pom.xml | 2
modules/enterprise/gui/portal-war/pom.xml | 2
modules/enterprise/gui/webdav-war/pom.xml | 2
modules/enterprise/pom.xml | 2
modules/enterprise/remoting/cli/pom.xml | 2
modules/enterprise/remoting/client-api/pom.xml | 2
modules/enterprise/remoting/pom.xml | 2
modules/enterprise/remoting/webservices/pom.xml | 2
modules/enterprise/server/container-lib/pom.xml | 2
modules/enterprise/server/container/pom.xml | 2
modules/enterprise/server/ear/pom.xml | 2
modules/enterprise/server/jar/pom.xml | 2
modules/enterprise/server/plugins/alert-email/pom.xml | 2
modules/enterprise/server/plugins/alert-irc/pom.xml | 2
modules/enterprise/server/plugins/alert-microblog/pom.xml | 2
modules/enterprise/server/plugins/alert-mobicents/pom.xml | 2
modules/enterprise/server/plugins/alert-operations/pom.xml | 2
modules/enterprise/server/plugins/alert-roles/pom.xml | 2
modules/enterprise/server/plugins/alert-snmp/pom.xml | 2
modules/enterprise/server/plugins/alert-subject/pom.xml | 2
modules/enterprise/server/plugins/ant-bundle/pom.xml | 2
modules/enterprise/server/plugins/cobbler/pom.xml | 2
modules/enterprise/server/plugins/disk/pom.xml | 2
modules/enterprise/server/plugins/filetemplate-bundle/pom.xml | 2
modules/enterprise/server/plugins/jboss-software/pom.xml | 2
modules/enterprise/server/plugins/perspectives/core/perspective/pom.xml | 2
modules/enterprise/server/plugins/perspectives/core/pom.xml | 2
modules/enterprise/server/plugins/pom.xml | 2
modules/enterprise/server/plugins/rhnhosted/pom.xml | 2
modules/enterprise/server/plugins/url/pom.xml | 2
modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml | 2
modules/enterprise/server/plugins/yum/pom.xml | 2
modules/enterprise/server/safe-invoker/pom.xml | 2
modules/enterprise/server/sars/agent-sar/pom.xml | 2
modules/enterprise/server/sars/pom.xml | 2
modules/enterprise/server/xml-schemas/pom.xml | 2
modules/helpers/pluginAnnotations/pom.xml | 2
modules/helpers/pluginGen/pom.xml | 2
modules/helpers/pom.xml | 2
modules/helpers/rtfilter/pom.xml | 2
modules/plugins/aliases/pom.xml | 2
modules/plugins/ant-bundle/pom.xml | 2
modules/plugins/apache/pom.xml | 2
modules/plugins/augeas/pom.xml | 2
modules/plugins/cobbler/pom.xml | 2
modules/plugins/cron/pom.xml | 2
modules/plugins/database/pom.xml | 2
modules/plugins/filetemplate-bundle/pom.xml | 2
modules/plugins/grub/pom.xml | 2
modules/plugins/hibernate/pom.xml | 2
modules/plugins/hosts/pom.xml | 2
modules/plugins/hudson/pom.xml | 2
modules/plugins/iis/pom.xml | 2
modules/plugins/jboss-as-5/pom.xml | 2
modules/plugins/jboss-as-5/src/main/java/org/rhq/plugins/jbossas5/helper/JmxConnectionHelper.java | 10 ++--
modules/plugins/jboss-as/pom.xml | 2
modules/plugins/jboss-cache-v3/pom.xml | 2
modules/plugins/jboss-cache/pom.xml | 2
modules/plugins/jmx/pom.xml | 2
modules/plugins/mysql/pom.xml | 2
modules/plugins/netservices/pom.xml | 2
modules/plugins/oracle/pom.xml | 2
modules/plugins/perftest/pom.xml | 2
modules/plugins/platform/pom.xml | 2
modules/plugins/pom.xml | 2
modules/plugins/postfix/pom.xml | 2
modules/plugins/postgres/pom.xml | 2
modules/plugins/rhq-agent/pom.xml | 2
modules/plugins/rhq-server/pom.xml | 2
modules/plugins/samba/pom.xml | 2
modules/plugins/script/pom.xml | 2
modules/plugins/snmptrapd/pom.xml | 2
modules/plugins/sshd/pom.xml | 2
modules/plugins/sudoers/pom.xml | 2
modules/plugins/tomcat/pom.xml | 2
modules/plugins/twitter/pom.xml | 2
modules/plugins/validate-all-plugins/pom.xml | 2
modules/pom.xml | 2
modules/test-utils/pom.xml | 2
pom.xml | 4 -
release.sh | 23 +++++-----
105 files changed, 122 insertions(+), 119 deletions(-)
---
13 years, 9 months
[rhq] Branch 'release-3.0.0' - modules/common modules/core modules/enterprise modules/helpers modules/plugins modules/pom.xml modules/test-utils pom.xml
by ips
modules/common/ant-bundle/pom.xml | 2 +-
modules/common/filetemplate-bundle/pom.xml | 2 +-
modules/common/jboss-as/pom.xml | 2 +-
modules/common/pom.xml | 2 +-
modules/core/client-api/pom.xml | 2 +-
modules/core/comm-api/pom.xml | 2 +-
modules/core/dbutils/pom.xml | 2 +-
modules/core/domain/pom.xml | 2 +-
modules/core/gui/pom.xml | 2 +-
modules/core/native-system/pom.xml | 2 +-
modules/core/plugin-api/pom.xml | 2 +-
modules/core/plugin-container/pom.xml | 2 +-
modules/core/plugin-validator/pom.xml | 2 +-
modules/core/plugindoc/pom.xml | 2 +-
modules/core/pom.xml | 2 +-
modules/core/util/pom.xml | 2 +-
modules/enterprise/agent/pom.xml | 2 +-
modules/enterprise/agentupdate/pom.xml | 2 +-
modules/enterprise/comm/pom.xml | 2 +-
modules/enterprise/gui/base-perspective-jar/pom.xml | 2 +-
modules/enterprise/gui/base-perspective-war/pom.xml | 2 +-
modules/enterprise/gui/content_http-war/pom.xml | 2 +-
modules/enterprise/gui/coregui/pom.xml | 2 +-
modules/enterprise/gui/installer-war/pom.xml | 2 +-
modules/enterprise/gui/pom.xml | 2 +-
modules/enterprise/gui/portal-war/pom.xml | 2 +-
modules/enterprise/gui/webdav-war/pom.xml | 2 +-
modules/enterprise/pom.xml | 2 +-
modules/enterprise/remoting/cli/pom.xml | 2 +-
modules/enterprise/remoting/client-api/pom.xml | 2 +-
modules/enterprise/remoting/pom.xml | 2 +-
modules/enterprise/remoting/webservices/pom.xml | 2 +-
modules/enterprise/server/container-lib/pom.xml | 2 +-
modules/enterprise/server/container/pom.xml | 2 +-
modules/enterprise/server/ear/pom.xml | 2 +-
modules/enterprise/server/jar/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-email/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-irc/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-microblog/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-mobicents/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-operations/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-roles/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-snmp/pom.xml | 2 +-
modules/enterprise/server/plugins/alert-subject/pom.xml | 2 +-
modules/enterprise/server/plugins/ant-bundle/pom.xml | 2 +-
modules/enterprise/server/plugins/cobbler/pom.xml | 2 +-
modules/enterprise/server/plugins/disk/pom.xml | 2 +-
modules/enterprise/server/plugins/filetemplate-bundle/pom.xml | 2 +-
modules/enterprise/server/plugins/jboss-software/pom.xml | 2 +-
modules/enterprise/server/plugins/perspectives/core/perspective/pom.xml | 2 +-
modules/enterprise/server/plugins/perspectives/core/pom.xml | 2 +-
modules/enterprise/server/plugins/pom.xml | 2 +-
modules/enterprise/server/plugins/rhnhosted/pom.xml | 2 +-
modules/enterprise/server/plugins/url/pom.xml | 2 +-
modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml | 2 +-
modules/enterprise/server/plugins/yum/pom.xml | 2 +-
modules/enterprise/server/safe-invoker/pom.xml | 2 +-
modules/enterprise/server/sars/agent-sar/pom.xml | 2 +-
modules/enterprise/server/sars/pom.xml | 2 +-
modules/enterprise/server/xml-schemas/pom.xml | 2 +-
modules/helpers/pluginAnnotations/pom.xml | 2 +-
modules/helpers/pluginGen/pom.xml | 2 +-
modules/helpers/pom.xml | 2 +-
modules/helpers/rtfilter/pom.xml | 2 +-
modules/plugins/aliases/pom.xml | 2 +-
modules/plugins/ant-bundle/pom.xml | 2 +-
modules/plugins/apache/pom.xml | 2 +-
modules/plugins/augeas/pom.xml | 2 +-
modules/plugins/cobbler/pom.xml | 2 +-
modules/plugins/cron/pom.xml | 2 +-
modules/plugins/database/pom.xml | 2 +-
modules/plugins/filetemplate-bundle/pom.xml | 2 +-
modules/plugins/grub/pom.xml | 2 +-
modules/plugins/hibernate/pom.xml | 2 +-
modules/plugins/hosts/pom.xml | 2 +-
modules/plugins/hudson/pom.xml | 2 +-
modules/plugins/iis/pom.xml | 2 +-
modules/plugins/jboss-as-5/pom.xml | 2 +-
modules/plugins/jboss-as/pom.xml | 2 +-
modules/plugins/jboss-cache-v3/pom.xml | 2 +-
modules/plugins/jboss-cache/pom.xml | 2 +-
modules/plugins/jmx/pom.xml | 2 +-
modules/plugins/mysql/pom.xml | 2 +-
modules/plugins/netservices/pom.xml | 2 +-
modules/plugins/oracle/pom.xml | 2 +-
modules/plugins/perftest/pom.xml | 2 +-
modules/plugins/platform/pom.xml | 2 +-
modules/plugins/pom.xml | 2 +-
modules/plugins/postfix/pom.xml | 2 +-
modules/plugins/postgres/pom.xml | 2 +-
modules/plugins/rhq-agent/pom.xml | 2 +-
modules/plugins/rhq-server/pom.xml | 2 +-
modules/plugins/samba/pom.xml | 2 +-
modules/plugins/script/pom.xml | 2 +-
modules/plugins/snmptrapd/pom.xml | 2 +-
modules/plugins/sshd/pom.xml | 2 +-
modules/plugins/sudoers/pom.xml | 2 +-
modules/plugins/tomcat/pom.xml | 2 +-
modules/plugins/twitter/pom.xml | 2 +-
modules/plugins/validate-all-plugins/pom.xml | 2 +-
modules/pom.xml | 2 +-
modules/test-utils/pom.xml | 2 +-
pom.xml | 2 +-
103 files changed, 103 insertions(+), 103 deletions(-)
New commits:
commit 15143207831b641914da3fbc80afdecab72fc98b
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Thu Aug 19 16:08:20 2010 -0400
[maven-release-plugin] prepare release RHQ_3_0_0_EmbJopr2
diff --git a/modules/common/ant-bundle/pom.xml b/modules/common/ant-bundle/pom.xml
index eda9133..f1df20d 100644
--- a/modules/common/ant-bundle/pom.xml
+++ b/modules/common/ant-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-common-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/common/filetemplate-bundle/pom.xml b/modules/common/filetemplate-bundle/pom.xml
index bc7965b..0918dd6 100644
--- a/modules/common/filetemplate-bundle/pom.xml
+++ b/modules/common/filetemplate-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-common-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/common/jboss-as/pom.xml b/modules/common/jboss-as/pom.xml
index 2cf950b..889460b 100644
--- a/modules/common/jboss-as/pom.xml
+++ b/modules/common/jboss-as/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-common-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/common/pom.xml b/modules/common/pom.xml
index ee81a94..c2802a5 100644
--- a/modules/common/pom.xml
+++ b/modules/common/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/client-api/pom.xml b/modules/core/client-api/pom.xml
index d177f9e..2b71af2 100644
--- a/modules/core/client-api/pom.xml
+++ b/modules/core/client-api/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/comm-api/pom.xml b/modules/core/comm-api/pom.xml
index a51f92b..1621dc8 100644
--- a/modules/core/comm-api/pom.xml
+++ b/modules/core/comm-api/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/dbutils/pom.xml b/modules/core/dbutils/pom.xml
index 7ff6a10..ff6f059 100644
--- a/modules/core/dbutils/pom.xml
+++ b/modules/core/dbutils/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/domain/pom.xml b/modules/core/domain/pom.xml
index e0ced84..6c51c4d 100644
--- a/modules/core/domain/pom.xml
+++ b/modules/core/domain/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/gui/pom.xml b/modules/core/gui/pom.xml
index 0911918..85b4bb9 100644
--- a/modules/core/gui/pom.xml
+++ b/modules/core/gui/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/native-system/pom.xml b/modules/core/native-system/pom.xml
index d47d4c8..c0fd759 100644
--- a/modules/core/native-system/pom.xml
+++ b/modules/core/native-system/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/plugin-api/pom.xml b/modules/core/plugin-api/pom.xml
index e1ce7ef..cafbf32 100644
--- a/modules/core/plugin-api/pom.xml
+++ b/modules/core/plugin-api/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/plugin-container/pom.xml b/modules/core/plugin-container/pom.xml
index 2e58102..3d4c8e6 100644
--- a/modules/core/plugin-container/pom.xml
+++ b/modules/core/plugin-container/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/plugin-validator/pom.xml b/modules/core/plugin-validator/pom.xml
index 7739177..c60d7b7 100644
--- a/modules/core/plugin-validator/pom.xml
+++ b/modules/core/plugin-validator/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/plugindoc/pom.xml b/modules/core/plugindoc/pom.xml
index eeb7e81..73863d1 100644
--- a/modules/core/plugindoc/pom.xml
+++ b/modules/core/plugindoc/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index 7aad64c..fc613e4 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/core/util/pom.xml b/modules/core/util/pom.xml
index bc41dc5..c39fdaf 100644
--- a/modules/core/util/pom.xml
+++ b/modules/core/util/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/agent/pom.xml b/modules/enterprise/agent/pom.xml
index d9f1c1c..c918271 100644
--- a/modules/enterprise/agent/pom.xml
+++ b/modules/enterprise/agent/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/agentupdate/pom.xml b/modules/enterprise/agentupdate/pom.xml
index 8942239..0b6e301 100644
--- a/modules/enterprise/agentupdate/pom.xml
+++ b/modules/enterprise/agentupdate/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/comm/pom.xml b/modules/enterprise/comm/pom.xml
index 8b9da9c..a3349c4 100644
--- a/modules/enterprise/comm/pom.xml
+++ b/modules/enterprise/comm/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/base-perspective-jar/pom.xml b/modules/enterprise/gui/base-perspective-jar/pom.xml
index 611eb9d..7df231c 100644
--- a/modules/enterprise/gui/base-perspective-jar/pom.xml
+++ b/modules/enterprise/gui/base-perspective-jar/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/base-perspective-war/pom.xml b/modules/enterprise/gui/base-perspective-war/pom.xml
index 798a8ca..96b0dbf 100644
--- a/modules/enterprise/gui/base-perspective-war/pom.xml
+++ b/modules/enterprise/gui/base-perspective-war/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/content_http-war/pom.xml b/modules/enterprise/gui/content_http-war/pom.xml
index df05645..01bf50a 100644
--- a/modules/enterprise/gui/content_http-war/pom.xml
+++ b/modules/enterprise/gui/content_http-war/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-gui-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/coregui/pom.xml b/modules/enterprise/gui/coregui/pom.xml
index acbe21f..2f4dab0 100644
--- a/modules/enterprise/gui/coregui/pom.xml
+++ b/modules/enterprise/gui/coregui/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/installer-war/pom.xml b/modules/enterprise/gui/installer-war/pom.xml
index 1beadca..ad76d01 100644
--- a/modules/enterprise/gui/installer-war/pom.xml
+++ b/modules/enterprise/gui/installer-war/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/pom.xml b/modules/enterprise/gui/pom.xml
index 0c529ba..a7940fe 100644
--- a/modules/enterprise/gui/pom.xml
+++ b/modules/enterprise/gui/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/portal-war/pom.xml b/modules/enterprise/gui/portal-war/pom.xml
index a794cd6..c2fa443 100644
--- a/modules/enterprise/gui/portal-war/pom.xml
+++ b/modules/enterprise/gui/portal-war/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/webdav-war/pom.xml b/modules/enterprise/gui/webdav-war/pom.xml
index aa880be..3889744 100644
--- a/modules/enterprise/gui/webdav-war/pom.xml
+++ b/modules/enterprise/gui/webdav-war/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/pom.xml b/modules/enterprise/pom.xml
index 3b0dbb8..079ab1f 100644
--- a/modules/enterprise/pom.xml
+++ b/modules/enterprise/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/remoting/cli/pom.xml b/modules/enterprise/remoting/cli/pom.xml
index 05187c7..73fceef 100644
--- a/modules/enterprise/remoting/cli/pom.xml
+++ b/modules/enterprise/remoting/cli/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<artifactId>rhq-remoting-cli</artifactId>
diff --git a/modules/enterprise/remoting/client-api/pom.xml b/modules/enterprise/remoting/client-api/pom.xml
index e86ef41..08c535f 100644
--- a/modules/enterprise/remoting/client-api/pom.xml
+++ b/modules/enterprise/remoting/client-api/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<artifactId>rhq-remoting-client-api</artifactId>
diff --git a/modules/enterprise/remoting/pom.xml b/modules/enterprise/remoting/pom.xml
index 910b617..1018405 100644
--- a/modules/enterprise/remoting/pom.xml
+++ b/modules/enterprise/remoting/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<artifactId>rhq-remoting-parent</artifactId>
diff --git a/modules/enterprise/remoting/webservices/pom.xml b/modules/enterprise/remoting/webservices/pom.xml
index 2ea73ee..761e930 100644
--- a/modules/enterprise/remoting/webservices/pom.xml
+++ b/modules/enterprise/remoting/webservices/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<artifactId>rhq-remoting-webservices</artifactId>
diff --git a/modules/enterprise/server/container-lib/pom.xml b/modules/enterprise/server/container-lib/pom.xml
index 2c98817..eb3e61b 100644
--- a/modules/enterprise/server/container-lib/pom.xml
+++ b/modules/enterprise/server/container-lib/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/container/pom.xml b/modules/enterprise/server/container/pom.xml
index 3fd11e8..a624a0e 100644
--- a/modules/enterprise/server/container/pom.xml
+++ b/modules/enterprise/server/container/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/ear/pom.xml b/modules/enterprise/server/ear/pom.xml
index bf15866..945fcbe 100644
--- a/modules/enterprise/server/ear/pom.xml
+++ b/modules/enterprise/server/ear/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/jar/pom.xml b/modules/enterprise/server/jar/pom.xml
index 79fdc38..8ca7cd3 100644
--- a/modules/enterprise/server/jar/pom.xml
+++ b/modules/enterprise/server/jar/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/alert-email/pom.xml b/modules/enterprise/server/plugins/alert-email/pom.xml
index dd5bc18..4c280dc 100644
--- a/modules/enterprise/server/plugins/alert-email/pom.xml
+++ b/modules/enterprise/server/plugins/alert-email/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-irc/pom.xml b/modules/enterprise/server/plugins/alert-irc/pom.xml
index c0973f3..9b3fc98 100644
--- a/modules/enterprise/server/plugins/alert-irc/pom.xml
+++ b/modules/enterprise/server/plugins/alert-irc/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-microblog/pom.xml b/modules/enterprise/server/plugins/alert-microblog/pom.xml
index a62fee8..2b3a72e 100644
--- a/modules/enterprise/server/plugins/alert-microblog/pom.xml
+++ b/modules/enterprise/server/plugins/alert-microblog/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-mobicents/pom.xml b/modules/enterprise/server/plugins/alert-mobicents/pom.xml
index 3193539..12e6461 100644
--- a/modules/enterprise/server/plugins/alert-mobicents/pom.xml
+++ b/modules/enterprise/server/plugins/alert-mobicents/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-operations/pom.xml b/modules/enterprise/server/plugins/alert-operations/pom.xml
index e69bfbc..102975a 100644
--- a/modules/enterprise/server/plugins/alert-operations/pom.xml
+++ b/modules/enterprise/server/plugins/alert-operations/pom.xml
@@ -2,7 +2,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-roles/pom.xml b/modules/enterprise/server/plugins/alert-roles/pom.xml
index ca33bb7..d2bf308 100644
--- a/modules/enterprise/server/plugins/alert-roles/pom.xml
+++ b/modules/enterprise/server/plugins/alert-roles/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-snmp/pom.xml b/modules/enterprise/server/plugins/alert-snmp/pom.xml
index af75153..9571fba 100644
--- a/modules/enterprise/server/plugins/alert-snmp/pom.xml
+++ b/modules/enterprise/server/plugins/alert-snmp/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/alert-subject/pom.xml b/modules/enterprise/server/plugins/alert-subject/pom.xml
index 09839b8..d17ad21 100644
--- a/modules/enterprise/server/plugins/alert-subject/pom.xml
+++ b/modules/enterprise/server/plugins/alert-subject/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/ant-bundle/pom.xml b/modules/enterprise/server/plugins/ant-bundle/pom.xml
index 73f405e..dec0cd0 100644
--- a/modules/enterprise/server/plugins/ant-bundle/pom.xml
+++ b/modules/enterprise/server/plugins/ant-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/cobbler/pom.xml b/modules/enterprise/server/plugins/cobbler/pom.xml
index 4c44f10..593eadf 100644
--- a/modules/enterprise/server/plugins/cobbler/pom.xml
+++ b/modules/enterprise/server/plugins/cobbler/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/enterprise/server/plugins/disk/pom.xml b/modules/enterprise/server/plugins/disk/pom.xml
index 0033d1b..2280ed2 100644
--- a/modules/enterprise/server/plugins/disk/pom.xml
+++ b/modules/enterprise/server/plugins/disk/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml b/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml
index 61965f2..3c57459 100644
--- a/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml
+++ b/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/jboss-software/pom.xml b/modules/enterprise/server/plugins/jboss-software/pom.xml
index 7451668..ffcbeca 100644
--- a/modules/enterprise/server/plugins/jboss-software/pom.xml
+++ b/modules/enterprise/server/plugins/jboss-software/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/perspectives/core/perspective/pom.xml b/modules/enterprise/server/plugins/perspectives/core/perspective/pom.xml
index 0ac61d3..9d0a5f6 100644
--- a/modules/enterprise/server/plugins/perspectives/core/perspective/pom.xml
+++ b/modules/enterprise/server/plugins/perspectives/core/perspective/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/perspectives/core/pom.xml b/modules/enterprise/server/plugins/perspectives/core/pom.xml
index 5a78451..9b715e7 100644
--- a/modules/enterprise/server/plugins/perspectives/core/pom.xml
+++ b/modules/enterprise/server/plugins/perspectives/core/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/pom.xml b/modules/enterprise/server/plugins/pom.xml
index 2b16f4a..f54c95c 100644
--- a/modules/enterprise/server/plugins/pom.xml
+++ b/modules/enterprise/server/plugins/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/rhnhosted/pom.xml b/modules/enterprise/server/plugins/rhnhosted/pom.xml
index e4ab9b2..4b5354e 100644
--- a/modules/enterprise/server/plugins/rhnhosted/pom.xml
+++ b/modules/enterprise/server/plugins/rhnhosted/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/url/pom.xml b/modules/enterprise/server/plugins/url/pom.xml
index a6cba32..3519306 100644
--- a/modules/enterprise/server/plugins/url/pom.xml
+++ b/modules/enterprise/server/plugins/url/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml b/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml
index 9c7cc74..5221920 100644
--- a/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml
+++ b/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/yum/pom.xml b/modules/enterprise/server/plugins/yum/pom.xml
index ebdd3da..8abe705 100644
--- a/modules/enterprise/server/plugins/yum/pom.xml
+++ b/modules/enterprise/server/plugins/yum/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/safe-invoker/pom.xml b/modules/enterprise/server/safe-invoker/pom.xml
index 06c8981..8ebcca8 100644
--- a/modules/enterprise/server/safe-invoker/pom.xml
+++ b/modules/enterprise/server/safe-invoker/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/sars/agent-sar/pom.xml b/modules/enterprise/server/sars/agent-sar/pom.xml
index aa278b8..ce9501f 100644
--- a/modules/enterprise/server/sars/agent-sar/pom.xml
+++ b/modules/enterprise/server/sars/agent-sar/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-enterprise-server-sars-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/sars/pom.xml b/modules/enterprise/server/sars/pom.xml
index 0cc2084..58809fb 100644
--- a/modules/enterprise/server/sars/pom.xml
+++ b/modules/enterprise/server/sars/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/xml-schemas/pom.xml b/modules/enterprise/server/xml-schemas/pom.xml
index 14738d0..37eebc5 100644
--- a/modules/enterprise/server/xml-schemas/pom.xml
+++ b/modules/enterprise/server/xml-schemas/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/helpers/pluginAnnotations/pom.xml b/modules/helpers/pluginAnnotations/pom.xml
index d056f74..e1650f6 100644
--- a/modules/helpers/pluginAnnotations/pom.xml
+++ b/modules/helpers/pluginAnnotations/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.rhq.helpers</groupId>
<artifactId>rhq-helpers</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq.helpers</groupId>
diff --git a/modules/helpers/pluginGen/pom.xml b/modules/helpers/pluginGen/pom.xml
index 28dc9b1..e82697a 100644
--- a/modules/helpers/pluginGen/pom.xml
+++ b/modules/helpers/pluginGen/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.rhq.helpers</groupId>
<artifactId>rhq-helpers</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq.helpers</groupId>
diff --git a/modules/helpers/pom.xml b/modules/helpers/pom.xml
index a0721a9..52bd92c 100644
--- a/modules/helpers/pom.xml
+++ b/modules/helpers/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq.helpers</groupId>
diff --git a/modules/helpers/rtfilter/pom.xml b/modules/helpers/rtfilter/pom.xml
index 5d327ee..ce7afa6 100644
--- a/modules/helpers/rtfilter/pom.xml
+++ b/modules/helpers/rtfilter/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq.helpers</groupId>
<artifactId>rhq-helpers</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/aliases/pom.xml b/modules/plugins/aliases/pom.xml
index c37598e..7f21c23 100644
--- a/modules/plugins/aliases/pom.xml
+++ b/modules/plugins/aliases/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/ant-bundle/pom.xml b/modules/plugins/ant-bundle/pom.xml
index cc160c9..2f8c02e 100644
--- a/modules/plugins/ant-bundle/pom.xml
+++ b/modules/plugins/ant-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/apache/pom.xml b/modules/plugins/apache/pom.xml
index 700a6af..4fd2052 100644
--- a/modules/plugins/apache/pom.xml
+++ b/modules/plugins/apache/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/augeas/pom.xml b/modules/plugins/augeas/pom.xml
index 915106a..9ce5b88 100644
--- a/modules/plugins/augeas/pom.xml
+++ b/modules/plugins/augeas/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/cobbler/pom.xml b/modules/plugins/cobbler/pom.xml
index d920440..0e135d6 100644
--- a/modules/plugins/cobbler/pom.xml
+++ b/modules/plugins/cobbler/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/cron/pom.xml b/modules/plugins/cron/pom.xml
index d5aaad5..3bec5de 100644
--- a/modules/plugins/cron/pom.xml
+++ b/modules/plugins/cron/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/database/pom.xml b/modules/plugins/database/pom.xml
index 30889f7..53f1e58 100644
--- a/modules/plugins/database/pom.xml
+++ b/modules/plugins/database/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/filetemplate-bundle/pom.xml b/modules/plugins/filetemplate-bundle/pom.xml
index b79645d..9d7751c 100644
--- a/modules/plugins/filetemplate-bundle/pom.xml
+++ b/modules/plugins/filetemplate-bundle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/grub/pom.xml b/modules/plugins/grub/pom.xml
index f7cf265..f5189db 100644
--- a/modules/plugins/grub/pom.xml
+++ b/modules/plugins/grub/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/hibernate/pom.xml b/modules/plugins/hibernate/pom.xml
index acb08ef..a8a16a7 100644
--- a/modules/plugins/hibernate/pom.xml
+++ b/modules/plugins/hibernate/pom.xml
@@ -6,7 +6,7 @@
<groupId>org.rhq</groupId>
<!-- Bypass the jopr-plugins-parent which can not have children. It must build after the plugins in order to execute integration tests on them. -->
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/hosts/pom.xml b/modules/plugins/hosts/pom.xml
index 7dd0fde..3fb57ca 100644
--- a/modules/plugins/hosts/pom.xml
+++ b/modules/plugins/hosts/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/hudson/pom.xml b/modules/plugins/hudson/pom.xml
index 65fa7b8..0905140 100644
--- a/modules/plugins/hudson/pom.xml
+++ b/modules/plugins/hudson/pom.xml
@@ -6,7 +6,7 @@
<parent>
<artifactId>rhq-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/iis/pom.xml b/modules/plugins/iis/pom.xml
index 853c020..4d5d787 100644
--- a/modules/plugins/iis/pom.xml
+++ b/modules/plugins/iis/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/jboss-as-5/pom.xml b/modules/plugins/jboss-as-5/pom.xml
index a0ade77..9b0a298 100644
--- a/modules/plugins/jboss-as-5/pom.xml
+++ b/modules/plugins/jboss-as-5/pom.xml
@@ -9,7 +9,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/jboss-as/pom.xml b/modules/plugins/jboss-as/pom.xml
index b9ed2b3..61c006d 100644
--- a/modules/plugins/jboss-as/pom.xml
+++ b/modules/plugins/jboss-as/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/jboss-cache-v3/pom.xml b/modules/plugins/jboss-cache-v3/pom.xml
index b3846fa..2cde190 100644
--- a/modules/plugins/jboss-cache-v3/pom.xml
+++ b/modules/plugins/jboss-cache-v3/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/jboss-cache/pom.xml b/modules/plugins/jboss-cache/pom.xml
index 443e524..a6f194b 100644
--- a/modules/plugins/jboss-cache/pom.xml
+++ b/modules/plugins/jboss-cache/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/jmx/pom.xml b/modules/plugins/jmx/pom.xml
index ac9885a..132a5d4 100644
--- a/modules/plugins/jmx/pom.xml
+++ b/modules/plugins/jmx/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/mysql/pom.xml b/modules/plugins/mysql/pom.xml
index d0c9053..10b640f 100644
--- a/modules/plugins/mysql/pom.xml
+++ b/modules/plugins/mysql/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/netservices/pom.xml b/modules/plugins/netservices/pom.xml
index 06ae2ae..d14d611 100644
--- a/modules/plugins/netservices/pom.xml
+++ b/modules/plugins/netservices/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/oracle/pom.xml b/modules/plugins/oracle/pom.xml
index 1acdb0f..b80ce28 100644
--- a/modules/plugins/oracle/pom.xml
+++ b/modules/plugins/oracle/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/perftest/pom.xml b/modules/plugins/perftest/pom.xml
index 39c75da..caf7ef6 100644
--- a/modules/plugins/perftest/pom.xml
+++ b/modules/plugins/perftest/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/platform/pom.xml b/modules/plugins/platform/pom.xml
index 97b83b0..5c24fa7 100644
--- a/modules/plugins/platform/pom.xml
+++ b/modules/plugins/platform/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/pom.xml b/modules/plugins/pom.xml
index 85d6105..e543de1 100644
--- a/modules/plugins/pom.xml
+++ b/modules/plugins/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/postfix/pom.xml b/modules/plugins/postfix/pom.xml
index 283ab6a..078d359 100644
--- a/modules/plugins/postfix/pom.xml
+++ b/modules/plugins/postfix/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/postgres/pom.xml b/modules/plugins/postgres/pom.xml
index 5a4466c..caa3ddb 100644
--- a/modules/plugins/postgres/pom.xml
+++ b/modules/plugins/postgres/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/rhq-agent/pom.xml b/modules/plugins/rhq-agent/pom.xml
index a190dcd..34f62aa 100644
--- a/modules/plugins/rhq-agent/pom.xml
+++ b/modules/plugins/rhq-agent/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/rhq-server/pom.xml b/modules/plugins/rhq-server/pom.xml
index 8f4e675..d6f8331 100644
--- a/modules/plugins/rhq-server/pom.xml
+++ b/modules/plugins/rhq-server/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/samba/pom.xml b/modules/plugins/samba/pom.xml
index 0d41574..d06976e 100644
--- a/modules/plugins/samba/pom.xml
+++ b/modules/plugins/samba/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/script/pom.xml b/modules/plugins/script/pom.xml
index 7719b14..d1a85ce 100644
--- a/modules/plugins/script/pom.xml
+++ b/modules/plugins/script/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/snmptrapd/pom.xml b/modules/plugins/snmptrapd/pom.xml
index 2d9d715..3b74d35 100644
--- a/modules/plugins/snmptrapd/pom.xml
+++ b/modules/plugins/snmptrapd/pom.xml
@@ -2,7 +2,7 @@
<parent>
<artifactId>rhq-plugins-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/modules/plugins/sshd/pom.xml b/modules/plugins/sshd/pom.xml
index 3579496..4761f18 100644
--- a/modules/plugins/sshd/pom.xml
+++ b/modules/plugins/sshd/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/sudoers/pom.xml b/modules/plugins/sudoers/pom.xml
index 41df1b8..c3f12fb 100644
--- a/modules/plugins/sudoers/pom.xml
+++ b/modules/plugins/sudoers/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/tomcat/pom.xml b/modules/plugins/tomcat/pom.xml
index 205d5b0..ec4d373 100644
--- a/modules/plugins/tomcat/pom.xml
+++ b/modules/plugins/tomcat/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.jboss.on</groupId>
diff --git a/modules/plugins/twitter/pom.xml b/modules/plugins/twitter/pom.xml
index e299efa..3493fb6 100644
--- a/modules/plugins/twitter/pom.xml
+++ b/modules/plugins/twitter/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/plugins/validate-all-plugins/pom.xml b/modules/plugins/validate-all-plugins/pom.xml
index b3d5e87..5df7610 100644
--- a/modules/plugins/validate-all-plugins/pom.xml
+++ b/modules/plugins/validate-all-plugins/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-plugins-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/pom.xml b/modules/pom.xml
index bc96ae3..ff4fdb9 100644
--- a/modules/pom.xml
+++ b/modules/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<groupId>org.rhq</groupId>
diff --git a/modules/test-utils/pom.xml b/modules/test-utils/pom.xml
index 2235687..2f60bf5 100644
--- a/modules/test-utils/pom.xml
+++ b/modules/test-utils/pom.xml
@@ -4,7 +4,7 @@
<parent>
<artifactId>rhq-modules-parent</artifactId>
<groupId>org.rhq</groupId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
</parent>
<artifactId>test-utils</artifactId>
<name>RHQ Test Utils</name>
diff --git a/pom.xml b/pom.xml
index a220782..3d501c3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
<groupId>org.rhq</groupId>
<artifactId>rhq-parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0.EmbJopr2</version>
<packaging>pom</packaging>
<name>RHQ</name>
13 years, 9 months
[rhq] Branch 'release-3.0.0' - release.sh
by ips
release.sh | 3 +++
1 file changed, 3 insertions(+)
New commits:
commit c0b260b60c6ada7af043f6ec5455b57661d1bdda
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Thu Aug 19 15:42:30 2010 -0400
undefine 'mvn' alias or function if one is defined
diff --git a/release.sh b/release.sh
old mode 100644
new mode 100755
index a9279a3..b11a225
--- a/release.sh
+++ b/release.sh
@@ -129,6 +129,9 @@ fi
echo "Prepending $M2_HOME/bin to PATH..."
PATH="$M2_HOME/bin:$PATH"
+unalias mvn 2>/dev/null
+unset -f mvn 2>/dev/null
+
if ! which mvn >/dev/null 2>&1; then
abort "mvn not found in PATH ($PATH) - M2_HOME must point to a Maven, $MINIMUM_MAVEN_VERSION or later, install dir."
fi
13 years, 9 months
[rhq] Branch 'release-3.0.0' - pom.xml
by ips
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit ca62262cef1b86a4eea28c4186f0aa416b1d79db
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Thu Aug 19 15:09:36 2010 -0400
upgrade EMS from 1.2.15 to 1.2.15.1
diff --git a/pom.xml b/pom.xml
index 0ffb5e7..a220782 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,7 +85,7 @@
<jsf-api.version>1.2_14</jsf-api.version>
<jsf-impl.version>1.2_14</jsf-impl.version>
<ojdbc5.version>11.2.0.1.0</ojdbc5.version>
- <ems.version>1.2.15</ems.version>
+ <ems.version>1.2.15.1</ems.version>
<postgresql.version>8.4-701.jdbc3</postgresql.version>
<h2.version>1.1.117</h2.version>
<jtds.version>1.2.2</jtds.version>
13 years, 9 months
[rhq] pom.xml
by ips
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 462e15fcb1978820f9c04619144f810b60b2aed8
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Thu Aug 19 15:08:42 2010 -0400
upgrade EMS from 1.2.15 to 1.2.15.1
diff --git a/pom.xml b/pom.xml
index 6271e7e..fc988a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,7 +85,7 @@
<jsf-api.version>1.2_14</jsf-api.version>
<jsf-impl.version>1.2_14</jsf-impl.version>
<ojdbc5.version>11.2.0.1.0</ojdbc5.version>
- <ems.version>1.2.15</ems.version>
+ <ems.version>1.2.15.1</ems.version>
<postgresql.version>8.4-701.jdbc3</postgresql.version>
<h2.version>1.2.139</h2.version>
<jtds.version>1.2.2</jtds.version>
13 years, 9 months
[rhq] modules/enterprise
by Joseph Marques
modules/enterprise/gui/portal-war/src/main/webapp/rhq/group/operation/groupOperationHistoryDetails-plain.xhtml | 3 +++
1 file changed, 3 insertions(+)
New commits:
commit 4c67d86d06cfae297d20ecc2969a302017b3790f
Author: Joseph Marques <joseph(a)redhat.com>
Date: Thu Aug 19 12:47:02 2010 -0400
disable link from group op details page to resource op details
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/group/operation/groupOperationHistoryDetails-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/group/operation/groupOperationHistoryDetails-plain.xhtml
index 8c9834e..4f4d485 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/group/operation/groupOperationHistoryDetails-plain.xhtml
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/group/operation/groupOperationHistoryDetails-plain.xhtml
@@ -162,11 +162,14 @@
<h:outputText styleClass="headerText" value="Name"/>
</f:facet>
+ <ui:remove>
<h:outputLink value="/rhq/resource/operation/resourceOperationHistoryDetails-plain.xhtml">
<f:param name="id" value="#{resourceHistoryItem.resource.id}"/>
<f:param name="opId" value="#{resourceHistoryItem.id}"/>
<h:outputText value="#{resourceHistoryItem.operationDefinition.displayName}"/>
</h:outputLink>
+ </ui:remove>
+ <h:outputText value="#{resourceHistoryItem.operationDefinition.displayName}"/>
</rich:column>
13 years, 9 months
[rhq] 8 commits - modules/helpers pom.xml
by Heiko W. Rupp
modules/helpers/perftest-data-gen/install_files.sh | 7
modules/helpers/perftest-data-gen/pom.xml | 44 ++++
modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java | 101 ++++++++++
modules/helpers/pom.xml | 1
pom.xml | 36 +++
5 files changed, 187 insertions(+), 2 deletions(-)
New commits:
commit d45fd8b2b3624846b7b0b27a79e3abde96a2d063
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Thu Aug 19 14:51:33 2010 +0200
Add a script to copy the generated csv files over to the server tests.
diff --git a/modules/helpers/perftest-data-gen/install_files.sh b/modules/helpers/perftest-data-gen/install_files.sh
new file mode 100644
index 0000000..0a33154
--- /dev/null
+++ b/modules/helpers/perftest-data-gen/install_files.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -x
+
+pwd
+
+cp target/*.csv ../../enterprise/server/jar/src/test/resources/perftest/
\ No newline at end of file
commit ee41bb1a5c7fc1bb4f61d672f9865c971b4e5724
Merge: d516c7c... fe3c4a4...
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Thu Aug 19 10:36:41 2010 +0200
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit d516c7cc5eeb8c2d807ed1e11992d211b9dd50aa
Merge: 768bdc1... 36b0828...
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Wed Aug 18 16:53:36 2010 +0200
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit 768bdc1f7984816df30d8468fd85d747b025be29
Merge: efc3d35... b53c54e...
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Wed Aug 18 11:39:01 2010 +0200
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit efc3d3574cc27e586788d8372d6354d68db4237f
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Aug 17 15:57:53 2010 +0200
Add more tables, provide better output
diff --git a/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java b/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
index 5fcc229..4e0857e 100644
--- a/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
+++ b/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
@@ -43,7 +43,9 @@ public class DataGen {
private static final String[][] props = {//
{"agents","RHQ_Agent","id,name,address,port,agenttoken,remote_endpoint"},
- {"plugins","RHQ_Plugin","id,name,display_name,version,amps_version"}
+ {"plugins","RHQ_Plugin","id,name,display_name,version,amps_version"},
+ {"resourceTypes","RHQ_resource_type","id,name,category,plugin"}, // TODO parent / child types?
+ {"resources","RHQ_resource","id,uuid,resource_key,name,resource_type_id,parent_resource_id"} // TODO child resources?
};
public static void main(String[] args) {
@@ -83,10 +85,13 @@ public class DataGen {
String columns = prop[2];
File agents = new File(TARGET + fileName + DOTCSV);
- System.out.println("File: " + agents.getAbsolutePath());
+ System.out.println("Writing file: " + agents.getAbsolutePath());
CSVWriter writer = new CSVWriter(new FileWriter(agents));
Statement stm = conn.createStatement();
- ResultSet rs = stm.executeQuery("SELECT " + columns + " FROM " + tableName);
+ String query = "SELECT " + columns + " FROM " + tableName;
+ System.out.println(" using query: [" + query + "]");
+ System.out.flush();
+ ResultSet rs = stm.executeQuery(query);
writer.writeAll(rs,true);
rs.close();
writer.close();
commit d8d9991b7f9985bd2eb7e107f180d1415706e8ae
Merge: 686f2d7... 02a6eaf...
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Aug 17 14:38:06 2010 +0200
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
commit 686f2d7aaf3701f7aaab6a8e20876de5c7e46bcf
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Aug 17 14:22:55 2010 +0200
Helper to generate the input data for table driven test setup
diff --git a/modules/helpers/perftest-data-gen/pom.xml b/modules/helpers/perftest-data-gen/pom.xml
new file mode 100644
index 0000000..dceeb22
--- /dev/null
+++ b/modules/helpers/perftest-data-gen/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>rhq-helpers</artifactId>
+ <groupId>org.rhq.helpers</groupId>
+ <version>4.0.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <name>Perftest-data-gen</name>
+ <groupId>org.rhq.helpers</groupId>
+ <artifactId>perftest-data-gen</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
+ <description>Create performance unit test csv files from database</description>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>${commons-logging.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>net.sf.opencsv</groupId>
+ <artifactId>opencsv</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.rhq</groupId>
+ <artifactId>rhq-core-dbutils</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ <version>${postgresql.version}</version>
+ </dependency>
+ </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java b/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
new file mode 100644
index 0000000..5fcc229
--- /dev/null
+++ b/modules/helpers/perftest-data-gen/src/main/java/org/rhq/etc/perftestDataGen/DataGen.java
@@ -0,0 +1,96 @@
+/*
+ * 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.etc.perftestDataGen;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.Statement;
+
+import au.com.bytecode.opencsv.CSVWriter;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.rhq.core.db.DbUtil;
+
+/**
+ * // TODO: Document this
+ * @author Heiko W. Rupp
+ */
+public class DataGen {
+
+ private final Log log = LogFactory.getLog(DataGen.class);
+ private static final String TARGET = "target/";
+ private static final String DOTCSV = ".csv";
+
+ private static final String[][] props = {//
+ {"agents","RHQ_Agent","id,name,address,port,agenttoken,remote_endpoint"},
+ {"plugins","RHQ_Plugin","id,name,display_name,version,amps_version"}
+ };
+
+ public static void main(String[] args) {
+
+ DataGen dg = new DataGen();
+
+ dg.run(args);
+ }
+
+ private void run(String[] args) {
+
+ if (args.length<3) {
+ System.err.println("Usage: DataGen jdbcurl user pass");
+ return;
+ }
+
+
+ String url = args[0];
+ String user = args[1];
+ String pass = args[2];
+
+ try {
+ Connection conn = DbUtil.getConnection(url,user,pass);
+
+ for (String[] prop : props) {
+ exportTable(conn, prop);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void exportTable(Connection conn, String[] prop) throws Exception {
+
+ String fileName = prop[0];
+ String tableName = prop[1];
+ String columns = prop[2];
+
+ File agents = new File(TARGET + fileName + DOTCSV);
+ System.out.println("File: " + agents.getAbsolutePath());
+ CSVWriter writer = new CSVWriter(new FileWriter(agents));
+ Statement stm = conn.createStatement();
+ ResultSet rs = stm.executeQuery("SELECT " + columns + " FROM " + tableName);
+ writer.writeAll(rs,true);
+ rs.close();
+ writer.close();
+ stm.close();
+
+ }
+}
diff --git a/modules/helpers/pom.xml b/modules/helpers/pom.xml
index 8fa853a..a26b7f2 100644
--- a/modules/helpers/pom.xml
+++ b/modules/helpers/pom.xml
@@ -38,6 +38,7 @@
<module>pluginGen</module>
<module>pluginAnnotations</module>
<module>bundleGen</module>
+ <module>perftest-data-gen</module>
</modules>
commit 63b941dd6a0e954948c8a79e81d69cf388718d1c
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Mon Aug 16 16:55:34 2010 +0200
More mvn:site related changes - add reports
diff --git a/pom.xml b/pom.xml
index bc895da..c443bd7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1089,13 +1089,25 @@
<reporting>
<plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ <inherited>true</inherited>
+ </plugin>
+ <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.3.1</version>
+ <configuration>
+ <xmlOutput>true</xmlOutput>
+ <onlyAnalyze>org.rhq.*,org.jboss.jopr.*</onlyAnalyze>
+ <effort>Max</effort>
+ <threshold>Default</threshold>
+ </configuration>
+ <inherited>true</inherited>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jxr-plugin</artifactId>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jdepend-maven-plugin</artifactId>
</plugin>
<!--
<plugin>
@@ -1111,6 +1123,25 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
</plugin>
+<!--
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>emma-maven-plugin</artifactId>
+ <version>1.0-alpha-2</version>
+ <inherited>true</inherited>
+ </plugin>
+-->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.4</version>
+ <inherited>true</inherited>
+ </plugin>
+ <plugin>
+ <!-- must be last plugin in the list -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>dashboard-maven-plugin</artifactId>
+ </plugin>
</plugins>
</reporting>
@@ -1118,6 +1149,7 @@
<licenses>
<license>
<name>GPL</name>
+ <url>http://gnu.org</url>
</license>
</licenses>
<developers>
13 years, 9 months