[rhq] condition
by Jiri Kremser
condition | 1 -
1 file changed, 1 deletion(-)
New commits:
commit 9932e9b4255b72a4161b293e52ffe8251dd6d046
Author: Jirka Kremser <jkremser(a)redhat.com>
Date: Tue Mar 5 00:45:49 2013 +0100
Removing the file that was accidentally introduced by commit c5b87b9f1.
diff --git a/condition b/condition
deleted file mode 100644
index 6e39775..0000000
--- a/condition
+++ /dev/null
@@ -1 +0,0 @@
-{"name":"AVAIL_GOES_UP","category":"AVAILABILITY","id":10001,"threshold":null,"option":null,"triggerId":null,"comparator":null,"measurementDefinition":0}
11 years, 2 months
[rhq] Branch 'mtho11/d3-charts-master' - modules/enterprise
by mike thompson
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java | 5 +++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/D3GroupGraphListView.java | 5 +++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java | 15 ++++++++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java | 3 --
4 files changed, 24 insertions(+), 4 deletions(-)
New commits:
commit 7071ace4dbad2dbe6b3e3284b720db3a78e15d2b
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Mar 4 15:15:58 2013 -0800
Charting - Fix refresh bug with group d3 graphs not refreshing when click on different sub tab.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java
index b09e352..cb8d857 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java
@@ -42,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.components.view.ViewFactory;
+import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.D3GroupGraphListView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring.D3GraphListView;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
@@ -60,6 +61,7 @@ public abstract class AbstractTwoLevelTabSetView<T, U extends Layout> extends Lo
private U titleBar;
protected Set<Permission> globalPermissions;
protected D3GraphListView d3GraphListView;
+ protected D3GroupGraphListView d3GroupGraphListView;
public AbstractTwoLevelTabSetView(String locatorId, String baseViewPath) {
super(locatorId);
@@ -237,6 +239,9 @@ public abstract class AbstractTwoLevelTabSetView<T, U extends Layout> extends Lo
if(null != d3GraphListView){
d3GraphListView.redrawGraphs();
}
+ if(null != d3GroupGraphListView){
+ d3GroupGraphListView.redrawGraphs();
+ }
} finally {
notifyViewRenderedListeners();
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/D3GroupGraphListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/D3GroupGraphListView.java
index 623518f..6c775cf 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/D3GroupGraphListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/D3GroupGraphListView.java
@@ -78,6 +78,11 @@ public class D3GroupGraphListView extends AbstractD3GraphListView {
}
}
+
+ public void redrawGraphs(){
+ buildGraphs();
+ }
+
/**
* Build whatever graph metrics (MeasurementDefinitions) are defined for the resource.
*/
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 12a7796..753e203 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
@@ -321,11 +321,12 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
boolean visibleToIE8 = !BrowserUtility.isBrowserIE8();
-
viewFactory = (!visibleToIE8) ? null : new ViewFactory() {
@Override
public Canvas createView() {
- return new D3GroupGraphListView(monitoringTab.extendLocatorId("NewGraphs"), groupComposite.getResourceGroup(), true);
+ d3GroupGraphListView = new D3GroupGraphListView(monitoringTab.extendLocatorId("NewGraphs"), groupComposite.getResourceGroup(), true);
+ return d3GroupGraphListView;
+
}
};
@@ -598,6 +599,12 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
group.setResourceType(type);
updateTabContent(groupComposite, viewPath.isRefresh());
selectTab(getTabName(), getSubTabName(), viewPath);
+ Log.debug(" **** 1 *****"+d3GroupGraphListView);
+ if(null != d3GroupGraphListView){
+ Log.debug(" *** Refreshing Group D3 Graphs");
+ d3GroupGraphListView.redrawGraphs();
+ Log.debug(" **** 2 *****");
+ }
} finally {
notifyViewRenderedListeners();
}
@@ -607,6 +614,10 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
try {
updateTabContent(groupComposite, viewPath.isRefresh());
selectTab(getTabName(), getSubTabName(), viewPath);
+ Log.debug(" **** 3 *****");
+ if(null != d3GroupGraphListView){
+ d3GroupGraphListView.redrawGraphs();
+ }
} finally {
notifyViewRenderedListeners();
}
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 437871c..ec1560f 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
@@ -428,8 +428,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
};
updateSubTab(this.monitoringTab, this.monitorGraphs, visible, true, viewFactory);
- //boolean visibleToIE8 = !BrowserUtility.isBrowserIE8();
- boolean visibleToIE8 = true;
+ boolean visibleToIE8 = !BrowserUtility.isBrowserIE8();
viewFactory = (!visibleToIE8) ? null : new ViewFactory() {
11 years, 2 months
[rhq] modules/plugins
by Jay Shaughnessy
modules/plugins/netservices/pom.xml | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit 23e810be1d0083da92c5ba00062c806144aa02d7
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Mar 4 17:19:00 2013 -0500
Don't let the itests execute when skipTests is true. Maybe want to
move the itest exe to be profile activated like in AS7 plugin.
diff --git a/modules/plugins/netservices/pom.xml b/modules/plugins/netservices/pom.xml
index 4a661a0..8a69866 100644
--- a/modules/plugins/netservices/pom.xml
+++ b/modules/plugins/netservices/pom.xml
@@ -101,8 +101,10 @@
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
+ <!-- TODO: Move this test execution to a profile or respect skipTests
<skipTests>false</skipTests>
<skipITs>false</skipITs>
+ -->
<includes>
<!-- only include integration tests; normal unit tests are handled above by surefire plugin -->
<include>org/rhq/plugins/netservices/itest/**/*Test.java</include>
11 years, 2 months
[rhq] Branch 'mtho11/d3-charts-master' - 2 commits - modules/enterprise
by mike thompson
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java | 25 ++++++----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/D3GraphListView.java | 13 +++--
2 files changed, 24 insertions(+), 14 deletions(-)
New commits:
commit 9fcd18c062ff19bcbd8845635d8c6d3ac1868a08
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Mar 4 13:44:29 2013 -0800
Charting - Fix timing bug where availabilityGraph can be null.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/D3GraphListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/D3GraphListView.java
index 635c9de..dfb6afa 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/D3GraphListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/D3GraphListView.java
@@ -202,11 +202,14 @@ public class D3GraphListView extends AbstractD3GraphListView {
} else {
determineGraphsToBuild(metricsDataList, measurementDefinitions, definitionIds);
}
- // we only need the first metricData since we are only taking the
- // availability data set in there for the dropdowns already
- availabilityGraph.setMetricData(metricsDataList.get(0));
- availabilityGraph.setAvailabilityList(availabilityList);
- availabilityGraph.drawGraph();
+ // There is a weird timing case when availabilityGraph can be null
+ if(availabilityGraph != null){
+ // we only need the first metricData since we are only taking the
+ // availability data set in there for the dropdowns already
+ availabilityGraph.setMetricData(metricsDataList.get(0));
+ availabilityGraph.setAvailabilityList(availabilityList);
+ availabilityGraph.drawGraph();
+ }
}
}
commit 5930c865e8812bafe5e5eaf902440178c6b24e32
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Mar 4 13:41:27 2013 -0800
Charting - Bugfix for Cannot use 'in' operator to search for 'Class' in NaN. Undefined values were blowing up javascript functions.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java
index fddffe1..3a29511 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java
@@ -41,12 +41,12 @@ public final class MetricStackedBarGraph extends AbstractGraph {
public native void drawJsniChart() /*-{
console.log("Draw Stacked Bar jsni chart");
- var global = this;
+ var global = this,
// create a chartContext object (from rhq.js) with the data required to render to a chart
// this same data could be passed to different chart types
// This way, we are decoupled from the dependency on globals and JSNI and kept all the java interaction right here.
- var chartContext = new $wnd.ChartContext(global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.AbstractGraph::getChartId()(),
+ chartContext = new $wnd.ChartContext(global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.AbstractGraph::getChartId()(),
global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.AbstractGraph::getChartHeight()(),
global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.AbstractGraph::getJsonMetrics()(),
global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.AbstractGraph::getXAxisTitle()(),
@@ -78,16 +78,23 @@ public final class MetricStackedBarGraph extends AbstractGraph {
height = adjustedChartHeight - margin.top - margin.bottom,
titleHeight = 30, titleSpace = 10,
barOffset = 2,
- interpolation = "basis";
-
- var avg = $wnd.d3.mean(chartContext.data.map(function (d) {
+ interpolation = "basis",
+ avg = $wnd.d3.mean(chartContext.data.map(function (d) {
return d.y;
})),
peak = $wnd.d3.max(chartContext.data.map(function (d) {
- return d.high;
+ if(d.high != undefined){
+ return d.high;
+ }else {
+ return 0;
+ }
})),
min = $wnd.d3.min(chartContext.data.map(function (d) {
- return d.low;
+ if(d.low != undefined){
+ return d.low;
+ } else {
+ return Number.MAX_VALUE;
+ }
})),
timeScale = $wnd.d3.time.scale()
.range([0, width])
@@ -144,10 +151,10 @@ public final class MetricStackedBarGraph extends AbstractGraph {
xValue = 820,
yBase = 100,
yInc = 25,
- decimalPlaces = 0;
+ decimalPlaces = 0,
// title/header
- var sidebar = chart.append("g").append("rect")
+ sidebar = chart.append("g").append("rect")
.attr("class", "rightSidePanel")
.attr("x", xLabel -10)
.attr("y", margin.top + 60)
11 years, 2 months
[rhq] 3 commits - modules/core
by Jay Shaughnessy
modules/core/domain/pom.xml | 24 -
modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftDataAccessTest.java | 77 ----
modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftDefinitionTemplateTest.java | 62 +--
modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftFileTest.java | 162 ++++------
modules/core/domain/src/test/java/org/rhq/core/domain/drift/JPADriftChangeSetTest.java | 88 ++---
modules/core/domain/src/test/resources/arquillian.xml | 1
6 files changed, 168 insertions(+), 246 deletions(-)
New commits:
commit f69ee11476dd5930ea6efb34e59d9a41b2aeb39f
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Mar 4 15:48:22 2013 -0500
Make sure we have sufficent memory for the tests to run
diff --git a/modules/core/domain/pom.xml b/modules/core/domain/pom.xml
index 44dd0c2..ef7c906 100644
--- a/modules/core/domain/pom.xml
+++ b/modules/core/domain/pom.xml
@@ -18,7 +18,7 @@
<jboss.zip>${settings.localRepository}/org/jboss/as/jboss-as-dist/${jboss.version}/jboss-as-dist-${jboss.version}.zip</jboss.zip>
<jboss.unzip.location>${basedir}/target/jboss-as-${jboss.version}</jboss.unzip.location>
<rhq.internal>false</rhq.internal>
- <jboss.vm.args></jboss.vm.args>
+ <jboss.vm.args>-Xmx700m -XX:MaxPermSize=200m</jboss.vm.args>
<jboss.vm.args.debug></jboss.vm.args.debug> <!-- -Ditest.debug can override this, see below -->
<!-- These properties guide which datasources are used for integration tests. Only one should be true.
The default is Postgres, specify -Pitest.oracle to use Oracle -->
commit c42180bd646fffe2621b5ea6298e48180ba8a0cb
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Mar 4 15:20:13 2013 -0500
Fix some Drift domain itests, they stepped all over everything in
setup/cleanup.
diff --git a/modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftDataAccessTest.java b/modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftDataAccessTest.java
deleted file mode 100644
index 083a756..0000000
--- a/modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftDataAccessTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2011 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.domain.drift;
-
-import javax.persistence.EntityManager;
-
-import org.testng.annotations.AfterGroups;
-import org.testng.annotations.BeforeMethod;
-
-import org.rhq.core.domain.shared.TransactionCallback;
-import org.rhq.core.domain.test.AbstractEJB3Test;
-
-public class DriftDataAccessTest extends AbstractEJB3Test {
-
- @BeforeMethod(groups = "drift.ejb")
- public final void initDB() {
- if (!inContainer()) {
- return;
- }
-
- executeInTransaction(false, new TransactionCallback() {
- @Override
- public void execute() throws Exception {
- try {
- purgeDB();
-
- } catch (Exception e) {
- System.out.println("BEFORE METHOD FAILURE, TEST DID NOT RUN!!!");
- e.printStackTrace();
- throw e;
- }
- }
- });
- }
-
- @AfterGroups(groups = "drift.ejb")
- public void resetDB() {
- if (!inContainer()) {
- return;
- }
-
- executeInTransaction(false, new TransactionCallback() {
- @Override
- public void execute() throws Exception {
- purgeDB();
- }
- });
- }
-
- private void purgeDB() {
- EntityManager em = getEntityManager();
- em.createQuery("delete from JPADrift ").executeUpdate();
- em.createQuery("delete from JPADriftChangeSet").executeUpdate();
- em.createQuery("delete from JPADriftSet").executeUpdate();
- em.createQuery("delete from JPADriftFile").executeUpdate();
- em.createQuery("delete from DriftDefinition").executeUpdate();
- em.createQuery("delete from DriftDefinitionTemplate").executeUpdate();
- }
-
-}
diff --git a/modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftDefinitionTemplateTest.java b/modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftDefinitionTemplateTest.java
index 49e4e26..3908284 100644
--- a/modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftDefinitionTemplateTest.java
+++ b/modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftDefinitionTemplateTest.java
@@ -28,32 +28,29 @@ import static org.rhq.test.AssertUtils.assertPropertiesMatch;
import java.util.List;
import org.testng.Assert;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.domain.shared.ResourceTypeBuilder;
import org.rhq.core.domain.shared.TransactionCallback;
+import org.rhq.core.domain.test.AbstractEJB3Test;
-public class DriftDefinitionTemplateTest extends DriftDataAccessTest {
+public class DriftDefinitionTemplateTest extends AbstractEJB3Test {
private final String RESOURCE_TYPE_NAME = DriftDefinitionTemplateTest.class.getName();
private ResourceType resourceType;
- @BeforeMethod(groups = { "DriftDefinitionTemplate", "drift.ejb" })
- public void init() {
- if (!inContainer()) {
- return;
- }
+ @Override
+ protected void beforeMethod() {
+
+ purgeDB();
executeInTransaction(false, new TransactionCallback() {
@Override
public void execute() throws Exception {
try {
- purgeDB();
createResourceType();
em.persist(resourceType);
@@ -66,33 +63,30 @@ public class DriftDefinitionTemplateTest extends DriftDataAccessTest {
});
}
- @AfterClass(groups = { "DriftDefinitionTemplate", "drift.ejb" })
- public void cleanUp() {
- if (!inContainer()) {
- return;
- }
+ @Override
+ protected void afterMethod() {
+ purgeDB();
+ }
+ private void purgeDB() {
executeInTransaction(false, new TransactionCallback() {
@Override
public void execute() throws Exception {
- purgeDB();
+ List<?> results = em.createQuery("select t from ResourceType t where t.name = :name")
+ .setParameter("name", RESOURCE_TYPE_NAME).getResultList();
+ if (results.isEmpty()) {
+ return;
+ }
+
+ ResourceType type = (ResourceType) results.get(0);
+ for (DriftDefinitionTemplate template : type.getDriftDefinitionTemplates()) {
+ em.remove(template);
+ }
+ em.remove(type);
}
});
}
- private void purgeDB() {
- List<?> results = em.createQuery("select t from ResourceType t where t.name = :name")
- .setParameter("name", RESOURCE_TYPE_NAME).getResultList();
- if (results.isEmpty()) {
- return;
- }
- ResourceType type = (ResourceType) results.get(0);
- for (DriftDefinitionTemplate template : type.getDriftDefinitionTemplates()) {
- em.remove(template);
- }
- em.remove(type);
- }
-
private void createResourceType() {
resourceType = new ResourceTypeBuilder().createResourceType().withId(0)
.withName(DriftDefinitionTemplateTest.class.getName()).withCategory(SERVER)
@@ -114,7 +108,7 @@ public class DriftDefinitionTemplateTest extends DriftDataAccessTest {
driftDef.setBasedir(new DriftDefinition.BaseDirectory(fileSystem, "/foo/bar/test"));
template.setTemplateDefinition(driftDef);
- executeInTransaction(false, new TransactionCallback() {
+ executeInTransaction(new TransactionCallback() {
@Override
public void execute() throws Exception {
em.persist(template);
@@ -145,7 +139,7 @@ public class DriftDefinitionTemplateTest extends DriftDataAccessTest {
driftDef.setBasedir(new DriftDefinition.BaseDirectory(fileSystem, "/foo/bar/test"));
template.setTemplateDefinition(driftDef);
- executeInTransaction(false, new TransactionCallback() {
+ executeInTransaction(new TransactionCallback() {
@Override
public void execute() throws Exception {
em.persist(template);
@@ -184,7 +178,7 @@ public class DriftDefinitionTemplateTest extends DriftDataAccessTest {
driftDef.setBasedir(new DriftDefinition.BaseDirectory(fileSystem, "/foo/bar/test"));
template.setTemplateDefinition(driftDef);
- executeInTransaction(false, new TransactionCallback() {
+ executeInTransaction(new TransactionCallback() {
@Override
public void execute() throws Exception {
resourceType.addDriftDefinitionTemplate(template);
@@ -217,7 +211,7 @@ public class DriftDefinitionTemplateTest extends DriftDataAccessTest {
driftDef.setBasedir(new DriftDefinition.BaseDirectory(fileSystem, "/foo/bar/test"));
template.setTemplateDefinition(driftDef);
- executeInTransaction(false, new TransactionCallback() {
+ executeInTransaction(new TransactionCallback() {
@Override
public void execute() throws Exception {
@@ -252,7 +246,7 @@ public class DriftDefinitionTemplateTest extends DriftDataAccessTest {
template.setChangeSetId("1");
template.setTemplateDefinition(driftDef);
- executeInTransaction(false, new TransactionCallback() {
+ executeInTransaction(new TransactionCallback() {
@Override
public void execute() throws Exception {
@@ -289,7 +283,7 @@ public class DriftDefinitionTemplateTest extends DriftDataAccessTest {
template.setChangeSetId("1");
template.setTemplateDefinition(driftDef);
- executeInTransaction(false, new TransactionCallback() {
+ executeInTransaction(new TransactionCallback() {
@Override
public void execute() throws Exception {
diff --git a/modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftFileTest.java b/modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftFileTest.java
index e3fa25f..4cecf06 100644
--- a/modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftFileTest.java
+++ b/modules/core/domain/src/test/java/org/rhq/core/domain/drift/DriftFileTest.java
@@ -13,22 +13,22 @@ import java.sql.Blob;
import java.util.ArrayList;
import java.util.List;
-import javax.persistence.EntityManager;
-
import org.apache.commons.io.IOUtils;
+import org.hibernate.LobHelper;
import org.hibernate.Session;
import org.testng.annotations.Test;
import org.rhq.core.domain.shared.TransactionCallback;
+import org.rhq.core.domain.test.AbstractEJB3Test;
import org.rhq.core.util.MessageDigestGenerator;
-public class DriftFileTest extends DriftDataAccessTest {
+public class DriftFileTest extends AbstractEJB3Test {
static private final MessageDigestGenerator digestGen = new MessageDigestGenerator(MessageDigestGenerator.SHA_256);
// Note, this test is more of a general Blob handling test. A real JPADriftFile never has its content updated.
// But this is a useful test to just ensure Blob handling is working as expected.
- @Test(groups = {"driftFile", "drift.ejb"})
+ @Test(groups = { "driftFile", "drift.ejb" })
public void updateDriftFileData() throws Exception {
String content = "driftFile data";
String hashId = digestGen.calcDigestString(content);
@@ -36,36 +36,24 @@ public class DriftFileTest extends DriftDataAccessTest {
// Create the initial driftFile
final JPADriftFileBits df1 = new JPADriftFileBits(hashId);
df1.setDataSize((long) content.length());
- EntityManager em = getEntityManager();
Session session = (Session) em.getDelegate();
df1.setData(session.getLobHelper().createBlob(toInputStream(content), content.length()));
- executeInTransaction(false, new TransactionCallback() {
+ executeInTransaction(new TransactionCallback() {
@Override
public void execute() {
- getEntityManager().persist(df1);
- }
- });
+ em.persist(df1);
+
+ // Make the update
+ final String newContent = "driftFile data updated...";
- // Make the update
- final String newContent = "driftFile data updated...";
- executeInTransaction(false, new TransactionCallback() {
- @Override
- public void execute() {
- EntityManager em = getEntityManager();
Session session = (Session) em.getDelegate();
JPADriftFileBits df2 = em.find(JPADriftFileBits.class, df1.getHashId());
df2.setData(session.getLobHelper().createBlob(toInputStream(newContent), newContent.length()));
- getEntityManager().merge(df2);
- }
- });
+ em.merge(df2);
- // Fetch the driftFile to verify that the update was persisted
- executeInTransaction(false, new TransactionCallback() {
- @Override
- public void execute() {
try {
- JPADriftFileBits df3 = getEntityManager().find(JPADriftFileBits.class, df1.getHashId());
+ JPADriftFileBits df3 = em.find(JPADriftFileBits.class, df1.getHashId());
String expected = newContent;
String actual = IOUtils.toString(df3.getData());
@@ -73,6 +61,7 @@ public class DriftFileTest extends DriftDataAccessTest {
} catch (Exception e) {
fail("Failed to load driftFile data: " + e.getMessage());
}
+
}
});
}
@@ -82,100 +71,105 @@ public class DriftFileTest extends DriftDataAccessTest {
// In other words, to ensure LazyLoad semantics are working for Blobs
// Because of the amount data involved is very large the test is long
// running and should be moved to an integration test suite.
- @Test(groups = {"driftFile", "drift.ejb"})
+ @Test(groups = { "driftFile", "drift.ejb" })
public void loadMultipleDriftFilesWithoutLoadingData() throws Exception {
- int numDriftFiles = 3;
- final List<String> driftFileHashIds = new ArrayList<String>();
- for (int i = 0; i < numDriftFiles; ++i) {
- File dataFile = createDataFile("test_data.txt", 1, (char) ('a' + i));
- String hashId = digestGen.calcDigestString(dataFile);
- final JPADriftFileBits driftFile = new JPADriftFileBits(hashId);
- driftFile.setDataSize(dataFile.length());
- EntityManager em = getEntityManager();
- Session session = (Session) em.getDelegate();
- driftFile.setData(session.getLobHelper().createBlob(new BufferedInputStream(new FileInputStream(dataFile)),
- dataFile.length()));
- dataFile.delete();
+ executeInTransaction(new TransactionCallback() {
+ @Override
+ public void execute() throws Exception {
- executeInTransaction(false, new TransactionCallback() {
- @Override
- public void execute() {
- getEntityManager().persist(driftFile);
+ int numDriftFiles = 3;
+ final List<String> driftFileHashIds = new ArrayList<String>();
+
+ for (int i = 0; i < numDriftFiles; ++i) {
+ File dataFile = createDataFile("test_data.txt", 1, (char) ('a' + i));
+ String hashId = digestGen.calcDigestString(dataFile);
+ final JPADriftFileBits driftFile = new JPADriftFileBits(hashId);
+ driftFile.setDataSize(dataFile.length());
+
+ Session session = (Session) em.getDelegate();
+ driftFile.setData(session.getLobHelper().createBlob(
+ new BufferedInputStream(new FileInputStream(dataFile)), dataFile.length()));
+ dataFile.delete();
+
+ em.persist(driftFile);
driftFileHashIds.add(driftFile.getHashId());
}
- });
- }
- final List<Blob> blobs = new ArrayList<Blob>();
- final List<JPADriftFileBits> driftFiles = new ArrayList<JPADriftFileBits>();
- for (final String hashId : driftFileHashIds) {
- executeInTransaction(false, new TransactionCallback() {
- @Override
- public void execute() {
- EntityManager em = getEntityManager();
+ final List<Blob> blobs = new ArrayList<Blob>();
+ final List<JPADriftFileBits> driftFiles = new ArrayList<JPADriftFileBits>();
+ for (final String hashId : driftFileHashIds) {
+
JPADriftFileBits driftFileBits = em.find(JPADriftFileBits.class, hashId);
blobs.add(driftFileBits.getBlob());
driftFiles.add(driftFileBits);
}
- });
- }
- assertEquals("Failed to save or load " + numDriftFiles + " driftFiles", numDriftFiles, driftFiles.size());
+ assertEquals("Failed to save or load " + numDriftFiles + " driftFiles", numDriftFiles,
+ driftFiles.size());
+ }
+ });
}
// The purpose of this test is to ensure we won't store two drift files for
// the same content.
- @Test(groups = {"driftFile", "drift.ejb"})
+ @Test(groups = { "driftFile", "drift.ejb" })
public void loadSameFile() throws Exception {
+
int numDriftFiles = 2;
+ final List<JPADriftFileBits> driftFiles = new ArrayList<JPADriftFileBits>();
final List<String> driftFileHashIds = new ArrayList<String>();
+ Session session = (Session) em.getDelegate();
+ LobHelper lobHelper = session.getLobHelper();
for (int driftFileNum = 0; driftFileNum < numDriftFiles; ++driftFileNum) {
File dataFile = createDataFile("test_data.txt", 10, 'X');
String hashId = digestGen.calcDigestString(dataFile);
final JPADriftFileBits driftFile = new JPADriftFileBits(hashId);
driftFile.setDataSize(dataFile.length());
- EntityManager em = getEntityManager();
- Session session = (Session) em.getDelegate();
- driftFile.setData(session.getLobHelper().createBlob(new BufferedInputStream(new FileInputStream(dataFile)),
+
+ driftFile.setData(lobHelper.createBlob(new BufferedInputStream(new FileInputStream(dataFile)),
dataFile.length()));
+ driftFiles.add(driftFile);
dataFile.delete();
-
- try {
- executeInTransaction(false, new TransactionCallback() {
- @Override
- public void execute() {
- getEntityManager().persist(driftFile);
- driftFileHashIds.add(driftFile.getHashId());
- }
- });
- if (driftFileNum >= 1) {
- fail("Should not be able to store JPADriftFile with same hashId more than once.");
- }
-
- } catch (Exception e) {
- // expected for second file
- if (driftFileNum == 0) {
- fail("Should be able to store JPADriftFile with unique hashId - cause: " + e);
- }
- }
}
- final List<Blob> blobs = new ArrayList<Blob>();
- final List<JPADriftFileBits> driftFiles = new ArrayList<JPADriftFileBits>();
- for (final String hashId : driftFileHashIds) {
- executeInTransaction(false, new TransactionCallback() {
+ try {
+ executeInTransaction(new TransactionCallback() {
@Override
- public void execute() {
- JPADriftFileBits driftFileBits = getEntityManager().find(JPADriftFileBits.class, hashId);
- blobs.add(driftFileBits.getBlob());
- driftFiles.add(driftFileBits);
+ public void execute() throws Exception {
+
+ for (JPADriftFileBits driftFile : driftFiles) {
+ try {
+ em.persist(driftFile);
+ driftFileHashIds.add(driftFile.getHashId());
+
+ if (driftFileHashIds.size() > 1) {
+ fail("Should not be able to store JPADriftFile with same hashId more than once.");
+ }
+
+ } catch (Exception e) {
+ // expected for second file
+ if (driftFileHashIds.size() != 1) {
+ fail("Should be able to store JPADriftFile with unique hashId - cause: " + e);
+ }
+ }
+ }
+
+ final List<Blob> blobs = new ArrayList<Blob>();
+ final List<JPADriftFileBits> driftFiles = new ArrayList<JPADriftFileBits>();
+ for (final String hashId : driftFileHashIds) {
+ JPADriftFileBits driftFileBits = em.find(JPADriftFileBits.class, hashId);
+ blobs.add(driftFileBits.getBlob());
+ driftFiles.add(driftFileBits);
+ }
}
});
+ } catch (Exception e) {
+ // expected because the rollback will fail as the transaction has already terminated
}
- assertEquals("Failed to save or load " + numDriftFiles + " driftFiles", numDriftFiles, driftFiles.size());
+ assertEquals("Failed to save or load " + driftFiles.size() + " driftFiles", 2, driftFiles.size());
}
File workDir() throws URISyntaxException {
diff --git a/modules/core/domain/src/test/java/org/rhq/core/domain/drift/JPADriftChangeSetTest.java b/modules/core/domain/src/test/java/org/rhq/core/domain/drift/JPADriftChangeSetTest.java
index 2709158..fe30175 100644
--- a/modules/core/domain/src/test/java/org/rhq/core/domain/drift/JPADriftChangeSetTest.java
+++ b/modules/core/domain/src/test/java/org/rhq/core/domain/drift/JPADriftChangeSetTest.java
@@ -27,9 +27,6 @@ import static org.rhq.core.domain.resource.ResourceCategory.SERVER;
import java.util.List;
-import javax.persistence.EntityManager;
-
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.configuration.Configuration;
@@ -40,8 +37,9 @@ import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.domain.shared.ResourceBuilder;
import org.rhq.core.domain.shared.ResourceTypeBuilder;
import org.rhq.core.domain.shared.TransactionCallback;
+import org.rhq.core.domain.test.AbstractEJB3Test;
-public class JPADriftChangeSetTest extends DriftDataAccessTest {
+public class JPADriftChangeSetTest extends AbstractEJB3Test {
private final String RESOURCE_TYPE_NAME = JPADriftChangeSetTest.class.getName();
@@ -55,20 +53,15 @@ public class JPADriftChangeSetTest extends DriftDataAccessTest {
private DriftDefinition definition;
- @BeforeMethod(groups = {"JPADriftChangeSet", "drift.ejb"})
- public void init() {
- if (!inContainer()) {
- return;
- }
+ @Override
+ protected void beforeMethod() {
+
+ purgeDB();
executeInTransaction(false, new TransactionCallback() {
@Override
public void execute() throws Exception {
try {
- purgeDB();
-
- EntityManager em = getEntityManager();
-
resourceType = createResourceType();
em.persist(resourceType);
@@ -87,25 +80,45 @@ public class JPADriftChangeSetTest extends DriftDataAccessTest {
});
}
+ @Override
+ protected void afterMethod() {
+ purgeDB();
+ }
+
private void purgeDB() {
- EntityManager em = getEntityManager();
-
- List<Availability> avails = (List<Availability>) em.createQuery("SELECT a FROM Availability a").getResultList();
- for (Availability a : avails) {
- em.remove(a);
- }
-
- List<Resource> resources = (List<Resource>) em.createQuery("from Resource where resourceType.name = :name")
- .setParameter("name", RESOURCE_TYPE_NAME).getResultList();
- for (Resource resource : resources) {
- em.remove(resource);
- }
-
- List<ResourceType> resourceTypes = (List<ResourceType>) em.createQuery("from ResourceType where name = :name")
- .setParameter("name", RESOURCE_TYPE_NAME).getResultList();
- for (ResourceType type : resourceTypes) {
- em.remove(type);
- }
+ executeInTransaction(false, new TransactionCallback() {
+ @Override
+ public void execute() throws Exception {
+ try {
+ // get rid of mandatory avail records on a resource
+ List<Availability> avails = (List<Availability>) em
+ .createQuery("SELECT a FROM Availability a WHERE a.resource.resourceType.name = :name")
+ .setParameter("name", RESOURCE_TYPE_NAME).getResultList();
+ for (Availability a : avails) {
+ em.remove(a);
+ }
+
+ List<Resource> resources = (List<Resource>) em
+ .createQuery("SELECT r from Resource r where r.resourceType.name = :name")
+ .setParameter("name", RESOURCE_TYPE_NAME).getResultList();
+ for (Resource resource : resources) {
+ em.remove(resource);
+ }
+
+ List<ResourceType> resourceTypes = (List<ResourceType>) em
+ .createQuery("Select rt from ResourceType rt where rt.name = :name")
+ .setParameter("name", RESOURCE_TYPE_NAME).getResultList();
+ for (ResourceType type : resourceTypes) {
+ em.remove(type);
+ }
+
+ } catch (Exception e) {
+ System.out.println("AFTER METHOD FAILURE, TEST DID NOT COMPLETE!!!");
+ e.printStackTrace();
+ throw e;
+ }
+ }
+ });
}
private ResourceType createResourceType() {
@@ -117,9 +130,7 @@ public class JPADriftChangeSetTest extends DriftDataAccessTest {
return new ResourceBuilder().createResource().withId(0)
.withName(JPADriftChangeSetTest.class.getSimpleName() + "_" + resourceCount++)
.withResourceKey(JPADriftChangeSetTest.class.getSimpleName() + "_" + resourceCount)
- .withUuid(JPADriftChangeSetTest.class.getSimpleName() + "_" + resourceCount)
- .withResourceType(type)
- .build();
+ .withUuid(JPADriftChangeSetTest.class.getSimpleName() + "_" + resourceCount).withResourceType(type).build();
}
private DriftDefinition createDriftDefinition() {
@@ -133,12 +144,11 @@ public class JPADriftChangeSetTest extends DriftDataAccessTest {
return def;
}
- @Test(groups = {"JPADriftChangeSet", "drift.ejb"})
+ @Test(groups = { "JPADriftChangeSet", "drift.ejb" })
public void saveAndLoadInitialChangeSet() {
- executeInTransaction(false, new TransactionCallback() {
+ executeInTransaction(new TransactionCallback() {
@Override
public void execute() throws Exception {
- EntityManager em = getEntityManager();
JPADriftChangeSet changeSet = new JPADriftChangeSet(resource, 0, COVERAGE, definition);
changeSet.setDriftHandlingMode(DriftHandlingMode.normal);
@@ -155,9 +165,7 @@ public class JPADriftChangeSetTest extends DriftDataAccessTest {
em.flush();
em.clear();
-
- JPADriftChangeSet savedChangeSet = em
- .find(JPADriftChangeSet.class, Integer.parseInt(changeSet.getId()));
+ JPADriftChangeSet savedChangeSet = em.find(JPADriftChangeSet.class, Integer.parseInt(changeSet.getId()));
assertNotNull("Failed to persist change set", savedChangeSet);
JPADriftSet savedDriftSet = savedChangeSet.getInitialDriftSet();
commit de5cf74864f7f2b69d5e7cf15a4372b97e0c8728
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Mar 4 15:11:58 2013 -0500
Fix itest.debug support for domain [integration] tests
diff --git a/modules/core/domain/pom.xml b/modules/core/domain/pom.xml
index 9775aa6..44dd0c2 100644
--- a/modules/core/domain/pom.xml
+++ b/modules/core/domain/pom.xml
@@ -18,6 +18,8 @@
<jboss.zip>${settings.localRepository}/org/jboss/as/jboss-as-dist/${jboss.version}/jboss-as-dist-${jboss.version}.zip</jboss.zip>
<jboss.unzip.location>${basedir}/target/jboss-as-${jboss.version}</jboss.unzip.location>
<rhq.internal>false</rhq.internal>
+ <jboss.vm.args></jboss.vm.args>
+ <jboss.vm.args.debug></jboss.vm.args.debug> <!-- -Ditest.debug can override this, see below -->
<!-- These properties guide which datasources are used for integration tests. Only one should be true.
The default is Postgres, specify -Pitest.oracle to use Oracle -->
<skip.postgres>false</skip.postgres>
@@ -680,17 +682,17 @@
</build>
</profile>
- <profile>
- <id>itest.debug</id>
- <activation>
- <property>
- <name>itest.debug</name>
- </property>
- </activation>
- <properties>
- <jboss.vm.args.debug>-Xrunjdwp:transport=dt_socket,address=8798,server=y,suspend=y</jboss.vm.args.debug>
- </properties>
- </profile>
+ <profile>
+ <id>itest.debug</id>
+ <activation>
+ <property>
+ <name>itest.debug</name>
+ </property>
+ </activation>
+ <properties>
+ <jboss.vm.args.debug>-Xrunjdwp:transport=dt_socket,address=8798,server=y,suspend=y</jboss.vm.args.debug>
+ </properties>
+ </profile>
<!-- These two properties allow Arquillian to inspect AS7 through the mgmt port, to determine the ports it needs to interact
with when spawning the AS7 instance. This allows the AS7 to run on non-default ports. If these properties are not set (for
diff --git a/modules/core/domain/src/test/resources/arquillian.xml b/modules/core/domain/src/test/resources/arquillian.xml
index d0744f3..a55e28c 100644
--- a/modules/core/domain/src/test/resources/arquillian.xml
+++ b/modules/core/domain/src/test/resources/arquillian.xml
@@ -21,6 +21,7 @@
<configuration>
<property name="jbossHome">${jboss.unzip.location}</property>
+ <property name="javaVmArguments">${jboss.vm.args} ${jboss.vm.args.debug}</property>
<!-- These two properties allow Arquillian to inspect AS7 through the mgmt port, to determine the ports it needs
to interact with when spawning the AS7 instance. This allows the AS7 to run on non-default ports. -->
<property name="managementAddress">127.0.0.1</property>
11 years, 2 months
[rhq] condition modules/core modules/enterprise
by Jiri Kremser
condition | 1
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AbstractConfigurationUpdateCriteria.java | 11 ----
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AgentCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertDefinitionCriteria.java | 11 ----
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AvailabilityCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleDeploymentCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleDestinationCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleFileCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleResourceDeploymentCriteria.java | 11 ----
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleVersionCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java | 20 +++++++-
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DashboardCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DriftDefinitionCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DriftDefinitionTemplateCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/EventCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/GenericDriftChangeSetCriteria.java | 20 ++++----
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/InstalledPackageCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/InstalledPackageHistoryCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/JPADriftChangeSetCriteria.java | 25 ++++------
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementDataTraitCriteria.java | 15 ++++++
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementDefinitionCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementScheduleCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/OperationDefinitionCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/OperationHistoryCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PackageCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PackageVersionCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PartitionEventCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/RepoCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceCriteria.java | 11 ----
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceGroupCriteria.java | 11 ----
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceGroupDefinitionCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceTypeCriteria.java | 12 ----
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/RoleCriteria.java | 12 ----
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/SavedSearchCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ServerCriteria.java | 5 --
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/SubjectCriteria.java | 11 ----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java | 2
39 files changed, 57 insertions(+), 241 deletions(-)
New commits:
commit c5b87b9f1c8b77746d0a13313f8ad239385df950
Author: Jirka Kremser <jkremser(a)redhat.com>
Date: Mon Mar 4 20:22:14 2013 +0100
Added support for filtering by ID or by multiple IDs into Criteria class -> subsequently for all derived criteria classes
diff --git a/condition b/condition
new file mode 100644
index 0000000..6e39775
--- /dev/null
+++ b/condition
@@ -0,0 +1 @@
+{"name":"AVAIL_GOES_UP","category":"AVAILABILITY","id":10001,"threshold":null,"option":null,"triggerId":null,"comparator":null,"measurementDefinition":0}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AbstractConfigurationUpdateCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AbstractConfigurationUpdateCriteria.java
index 242de00..b58f221 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AbstractConfigurationUpdateCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AbstractConfigurationUpdateCriteria.java
@@ -43,8 +43,6 @@ public abstract class AbstractConfigurationUpdateCriteria extends Criteria {
public static final String FETCH_FIELD_CONFIGURATION = "configuration";
- private Integer filterId;
- private List<Integer> filterIds; // requires overrides
private Long filterStartTime; // requires overrides
private Long filterEndTime; // requires overrides
private ConfigurationUpdateStatus filterStatus;
@@ -56,20 +54,11 @@ public abstract class AbstractConfigurationUpdateCriteria extends Criteria {
private PageOrdering sortStatus; // requires sort override
public AbstractConfigurationUpdateCriteria() {
- filterOverrides.put("ids", "id IN ( ? )");
filterOverrides.put("startTime", "createdTime >= ?");
filterOverrides.put("endTime", "createdTime <= ?");
filterOverrides.put("statuses", "status IN ( ? )");
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
- public void addFilterIds(List<Integer> filterIds) {
- this.filterIds = filterIds;
- }
-
public void addFilterStartTime(Long filterStartTime) {
this.filterStartTime = filterStartTime;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AgentCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AgentCriteria.java
index b535141..e38fbcc 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AgentCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AgentCriteria.java
@@ -42,7 +42,6 @@ public class AgentCriteria extends Criteria {
public static final String SORT_FIELD_NAME = "name";
- private Integer filterId;
private String filterName;
private String filterAddress;
private Integer filterPort;
@@ -65,10 +64,6 @@ public class AgentCriteria extends Criteria {
return Agent.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertCriteria.java
index 3e73c33..e138ef1 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertCriteria.java
@@ -52,7 +52,6 @@ public class AlertCriteria extends Criteria {
public static final String SORT_FIELD_RESOURCE_ID = "resourceId";
public static final String SORT_FIELD_RESOURCE_NAME = "resourceName";
- private Integer filterId;
private String filterTriggeredOperationName; // requires overrides
private Long filterStartTime; // requires overrides
private Long filterEndTime; // requires overrides
@@ -110,10 +109,6 @@ public class AlertCriteria extends Criteria {
return Alert.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterTriggeredOperationName(String filterTriggeredOperationName) {
this.filterTriggeredOperationName = filterTriggeredOperationName;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertDefinitionCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertDefinitionCriteria.java
index a11b88e..6ddb395 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertDefinitionCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertDefinitionCriteria.java
@@ -45,8 +45,6 @@ public class AlertDefinitionCriteria extends Criteria {
public static final String SORT_FIELD_RESOURCE_ID = "resourceId";
public static final String SORT_FIELD_RESOURCE_NAME = "resourceName";
- private Integer filterId;
- private List<Integer> filterIds;
private String filterName;
private String filterDescription;
private AlertPriority filterPriority;
@@ -85,7 +83,6 @@ public class AlertDefinitionCriteria extends Criteria {
filterOverrides.put("resourceOnly", "resource IS NOT NULL");
filterOverrides.put("notificationSenderNames", "id IN ("
+ "SELECT notif.alertDefinition.id FROM AlertNotification notif " + "WHERE notif.senderName IN ( ? ))");
- filterOverrides.put("filterIds", "id IN ( ? )");
sortOverrides.put(SORT_FIELD_RESOURCE_ID, "resource.id");
sortOverrides.put(SORT_FIELD_RESOURCE_NAME, "resource.name");
@@ -98,14 +95,6 @@ public class AlertDefinitionCriteria extends Criteria {
return AlertDefinition.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
- public void addFilterIds(Integer... filterIds) {
- this.filterIds = Arrays.asList(filterIds);
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AvailabilityCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AvailabilityCriteria.java
index fcee832..838f5ba 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AvailabilityCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AvailabilityCriteria.java
@@ -42,7 +42,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class AvailabilityCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
// this is used to perform an interval check, see below for more, or to filter out the initial avail record
private Long filterStartTime;
private Integer filterResourceId; // requires overrides
@@ -62,10 +61,6 @@ public class AvailabilityCriteria extends Criteria {
return Availability.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
/**
* Return Availability where any portion of the Availability period falls into the specified interval. This
* filter is mutually exclusive with filterInitialAvailability.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleCriteria.java
index 84018a8..abef183 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleCriteria.java
@@ -37,7 +37,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class BundleCriteria extends TaggedCriteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private List<Integer> filterBundleVersionIds; // needs overrides
private Integer filterBundleTypeId; // needs override
private String filterBundleTypeName; // needs override
@@ -75,10 +74,6 @@ public class BundleCriteria extends TaggedCriteria {
return Bundle.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
/** Convenience routine calls addFilterBundleVersionIds */
public void addFilterBundleVersionId(Integer filterBundleVersionId) {
List<Integer> ids = new ArrayList<Integer>(1);
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleDeploymentCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleDeploymentCriteria.java
index 8449905..3861cd1 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleDeploymentCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleDeploymentCriteria.java
@@ -36,7 +36,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class BundleDeploymentCriteria extends TaggedCriteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private Boolean filterIsLive;
private String filterName;
private String filterDescription;
@@ -65,10 +64,6 @@ public class BundleDeploymentCriteria extends TaggedCriteria {
return BundleDeployment.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterIsLive(Boolean filterIsLive) {
this.filterIsLive = filterIsLive;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleDestinationCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleDestinationCriteria.java
index dcd99d8..4dfadf2 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleDestinationCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleDestinationCriteria.java
@@ -35,7 +35,6 @@ import org.rhq.core.domain.bundle.BundleDestination;
public class BundleDestinationCriteria extends TaggedCriteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterName;
private String filterDescription;
private Integer filterBundleId; // needs override
@@ -60,10 +59,6 @@ public class BundleDestinationCriteria extends TaggedCriteria {
return BundleDestination.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleFileCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleFileCriteria.java
index 26f2b3e..71c1d7c 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleFileCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleFileCriteria.java
@@ -34,7 +34,6 @@ import org.rhq.core.domain.bundle.BundleFile;
public class BundleFileCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private Integer filterBundleVersionId; // needs override
private Integer filterPackageVersionId; // needs override
@@ -51,10 +50,6 @@ public class BundleFileCriteria extends Criteria {
return BundleFile.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterBundleVersionId(Integer filterBundleVersionId) {
this.filterBundleVersionId = filterBundleVersionId;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleResourceDeploymentCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleResourceDeploymentCriteria.java
index 9e28999..7ec26d7 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleResourceDeploymentCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleResourceDeploymentCriteria.java
@@ -37,8 +37,6 @@ import org.rhq.core.domain.util.CriteriaUtils;
public class BundleResourceDeploymentCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
- private List<Integer> filterIds; // needs overrides
private Integer filterBundleDeploymentId; // requires override
private String filterBundleDeploymentName; // requires override
private Integer filterResourceId; // requires override
@@ -50,7 +48,6 @@ public class BundleResourceDeploymentCriteria extends Criteria {
private boolean fetchHistories;
public BundleResourceDeploymentCriteria() {
- filterOverrides.put("ids", "id IN ( ? )");
filterOverrides.put("bundleDeploymentId", "bundleDeployment.id = ?");
filterOverrides.put("bundleDeploymentName", "bundleDeployment.name like ?");
filterOverrides.put("resourceId", "resource.id = ?");
@@ -62,14 +59,6 @@ public class BundleResourceDeploymentCriteria extends Criteria {
return BundleResourceDeployment.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
- public void addFilterIds(Integer... filterIds) {
- this.filterIds = CriteriaUtils.getListIgnoringNulls(filterIds);
- }
-
public void addFilterBundleDeploymentId(Integer filterBundleDeploymentId) {
this.filterBundleDeploymentId = filterBundleDeploymentId;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleVersionCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleVersionCriteria.java
index bf8b885..ef5f6e1 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleVersionCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/BundleVersionCriteria.java
@@ -34,7 +34,6 @@ import org.rhq.core.domain.bundle.BundleVersion;
public class BundleVersionCriteria extends TaggedCriteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterDescription;
private String filterName;
private String filterVersion;
@@ -56,10 +55,6 @@ public class BundleVersionCriteria extends TaggedCriteria {
return BundleVersion.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterDescription(String filterDescription) {
this.filterDescription = filterDescription;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java
index 06f90e4..e2d435c 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java
@@ -33,6 +33,7 @@ import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import org.rhq.core.domain.authz.Permission;
+import org.rhq.core.domain.util.CriteriaUtils;
import org.rhq.core.domain.util.PageControl;
import org.rhq.core.domain.util.PageList;
import org.rhq.core.domain.util.PageOrdering;
@@ -43,7 +44,7 @@ import org.rhq.core.domain.util.PageOrdering;
@XmlAccessorType(XmlAccessType.FIELD)
public abstract class Criteria implements Serializable, BaseCriteria {
public enum Type {
- FILTER(), FETCH(), SORT(new String[] { "sortId" });
+ FILTER(new String[] { "filterId", "filterIds" }), FETCH(), SORT(new String[] { "sortId" });
private List<String> globalFields;
@@ -59,7 +60,7 @@ public abstract class Criteria implements Serializable, BaseCriteria {
}
private Type() {
- this.globalFields = new ArrayList(0);
+ this.globalFields = new ArrayList<String>(0);
}
private Type(String[] globalFields) {
@@ -120,6 +121,12 @@ public abstract class Criteria implements Serializable, BaseCriteria {
// All Criteria support sorting on ID
private PageOrdering sortId;
+
+ // All Criteria support filtering on ID
+ private Integer filterId;
+
+ // All Criteria support filtering on IDs
+ private List<Integer> filterIds;
/**
* This default constructor will set default paging to avoid unintended fetch of huge results. The default is:
@@ -127,6 +134,7 @@ public abstract class Criteria implements Serializable, BaseCriteria {
*/
public Criteria() {
this.filterOverrides = new HashMap<String, String>();
+ this.filterOverrides.put("ids", "id IN ( ? )");
this.sortOverrides = new HashMap<String, String>();
this.orderingFieldNames = new ArrayList<String>();
@@ -168,6 +176,14 @@ public abstract class Criteria implements Serializable, BaseCriteria {
addSortField("id");
this.sortId = sortId;
}
+
+ public void addFilterId(Integer filterId) {
+ this.filterId = filterId;
+ }
+
+ public void addFilterIds(Integer... filterIds) {
+ this.filterIds = CriteriaUtils.getListIgnoringNulls(filterIds);
+ }
protected void addSortField(String fieldName) {
orderingFieldNames.add("sort" + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1));
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DashboardCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DashboardCriteria.java
index e1ef74a..13751f0 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DashboardCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DashboardCriteria.java
@@ -39,7 +39,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class DashboardCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private DashboardCategory filterCategory = DashboardCategory.INVENTORY;
private Integer filterGroupId; // needs overrides
private String filterName;
@@ -68,10 +67,6 @@ public class DashboardCriteria extends Criteria {
return Dashboard.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
/**
* If not set explicitly this defaults to {@link DashboardCategory.INVENTORY}.
* @param category
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DriftDefinitionCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DriftDefinitionCriteria.java
index 708bb38..a047311 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DriftDefinitionCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DriftDefinitionCriteria.java
@@ -40,7 +40,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class DriftDefinitionCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterName;
private List<Integer> filterResourceIds; // needs override
private Integer filterTemplateId;
@@ -61,10 +60,6 @@ public class DriftDefinitionCriteria extends Criteria {
return DriftDefinition.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String name) {
this.filterName = name;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DriftDefinitionTemplateCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DriftDefinitionTemplateCriteria.java
index d4ff131..9d27dc2 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DriftDefinitionTemplateCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/DriftDefinitionTemplateCriteria.java
@@ -25,7 +25,6 @@ import org.rhq.core.domain.drift.DriftDefinitionTemplate;
public class DriftDefinitionTemplateCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterName;
private Integer filterResourceTypeId;
@@ -41,10 +40,6 @@ public class DriftDefinitionTemplateCriteria extends Criteria {
return DriftDefinitionTemplate.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/EventCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/EventCriteria.java
index 3bf0a28..83d9678 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/EventCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/EventCriteria.java
@@ -43,7 +43,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class EventCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterDetail;
private String filterSourceName; // requires overrides
private List<EventSeverity> filterSeverities;
@@ -89,10 +88,6 @@ public class EventCriteria extends Criteria {
return Event.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterDetail(String filterDetail) {
this.filterDetail = filterDetail;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/GenericDriftChangeSetCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/GenericDriftChangeSetCriteria.java
index c640bf0..a019f79 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/GenericDriftChangeSetCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/GenericDriftChangeSetCriteria.java
@@ -78,16 +78,6 @@ public class GenericDriftChangeSetCriteria implements Serializable, DriftChangeS
private boolean strict;
@Override
- public void addFilterId(String filterId) {
- this.filterId = filterId;
- }
-
- @Override
- public String getFilterId() {
- return filterId;
- }
-
- @Override
public void addFilterVersion(String filterVersion) {
this.filterVersion = filterVersion;
}
@@ -264,4 +254,14 @@ public class GenericDriftChangeSetCriteria implements Serializable, DriftChangeS
return result;
}
+ @Override
+ public void addFilterId(String filterId) {
+ this.filterId = filterId;
+ }
+
+ @Override
+ public String getFilterId() {
+ return filterId;
+ }
+
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/InstalledPackageCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/InstalledPackageCriteria.java
index bf9ba40..5df6a4d 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/InstalledPackageCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/InstalledPackageCriteria.java
@@ -11,7 +11,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class InstalledPackageCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private Long filterInstallationTimeMinimum; // requires overrides
private Long filterInstallationTimeMaximum; // requires overrides
private Integer filterPackageVersionId; // requires overrides
@@ -37,10 +36,6 @@ public class InstalledPackageCriteria extends Criteria {
return InstalledPackage.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterPackageVersionId(Integer filterPackageVersionId) {
this.filterPackageVersionId = filterPackageVersionId;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/InstalledPackageHistoryCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/InstalledPackageHistoryCriteria.java
index e640369..f2ea35b 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/InstalledPackageHistoryCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/InstalledPackageHistoryCriteria.java
@@ -14,7 +14,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class InstalledPackageHistoryCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private Long filterInstallationTimeMinimum; // requires overrides
private Long filterInstallationTimeMaximum; // requires overrides
private Integer filterPackageVersionId; // requires overrides
@@ -49,10 +48,6 @@ public class InstalledPackageHistoryCriteria extends Criteria {
return InstalledPackageHistory.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterPackageVersionId(Integer filterPackageVersionId) {
this.filterPackageVersionId = filterPackageVersionId;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/JPADriftChangeSetCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/JPADriftChangeSetCriteria.java
index c80cb72..4b6a24b 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/JPADriftChangeSetCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/JPADriftChangeSetCriteria.java
@@ -96,7 +96,6 @@ public class JPADriftChangeSetCriteria extends Criteria implements DriftChangeSe
this.addFilterCreatedBefore(changeSetCriteria.getFilterCreatedBefore());
this.addFilterDriftDefinitionId(changeSetCriteria.getFilterDriftDefinitionId());
this.addFilterEndVersion(changeSetCriteria.getFilterEndVersion());
- this.addFilterId(changeSetCriteria.getFilterId());
this.addFilterResourceId(changeSetCriteria.getFilterResourceId());
this.addFilterStartVersion(changeSetCriteria.getFilterStartVersion());
this.addFilterVersion(changeSetCriteria.getFilterVersion());
@@ -117,18 +116,6 @@ public class JPADriftChangeSetCriteria extends Criteria implements DriftChangeSe
return JPADriftChangeSet.class;
}
- @Override
- public void addFilterId(String filterId) {
- if (filterId != null) {
- this.filterId = Integer.parseInt(filterId);
- }
- }
-
- @Override
- public String getFilterId() {
- return filterId == null ? null : filterId.toString();
- }
-
public void addFilterVersion(Integer filterVersion) {
this.filterVersion = filterVersion;
}
@@ -293,4 +280,16 @@ public class JPADriftChangeSetCriteria extends Criteria implements DriftChangeSe
public PageOrdering getSortVersion() {
return sortVersion;
}
+
+ @Override
+ public void addFilterId(String filterId) {
+ if (filterId != null) {
+ this.filterId = Integer.parseInt(filterId);
+ }
+ }
+
+ @Override
+ public String getFilterId() {
+ return filterId == null ? null : filterId.toString();
+ }
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementDataTraitCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementDataTraitCriteria.java
index 22df940..c032c48 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementDataTraitCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementDataTraitCriteria.java
@@ -133,4 +133,19 @@ public class MeasurementDataTraitCriteria extends Criteria {
addSortField(SORT_FIELD_RESOURCE_NAME);
this.sortResourceName = sortResourceName;
}
+
+ @Override
+ public void addSortId(PageOrdering sortId) {
+ throw new UnsupportedOperationException("The id column is not defined on this entity.");
+ }
+
+ @Override
+ public void addFilterId(Integer filterId) {
+ throw new UnsupportedOperationException("The id column is not defined on this entity.");
+ }
+
+ @Override
+ public void addFilterIds(Integer... filterIds) {
+ throw new UnsupportedOperationException("The id column is not defined on this entity.");
+ }
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementDefinitionCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementDefinitionCriteria.java
index 0e22859..23efae9 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementDefinitionCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementDefinitionCriteria.java
@@ -41,7 +41,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class MeasurementDefinitionCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterName;
private String filterDisplayName;
private String filterDescription;
@@ -80,10 +79,6 @@ public class MeasurementDefinitionCriteria extends Criteria {
return MeasurementDefinition.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementScheduleCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementScheduleCriteria.java
index f82a2cd..60b4b92 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementScheduleCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/MeasurementScheduleCriteria.java
@@ -52,7 +52,6 @@ public class MeasurementScheduleCriteria extends Criteria {
public static final String FILTER_FIELD_AUTO_GROUP_RESOURCE_TYPE_ID = "autoGroupResourceTypeId";
public static final String FILTER_FIELD_AUTO_GROUP_PARENT_RESOURCE_ID = "autoGroupParentResourceId";
- private Integer filterId;
private Boolean filterEnabled;
private List<Integer> filterDefinitionIds; // requires overrides
private Integer filterResourceId; // requires overrides
@@ -99,10 +98,6 @@ public class MeasurementScheduleCriteria extends Criteria {
return MeasurementSchedule.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterEnabled(Boolean filterEnabled) {
this.filterEnabled = filterEnabled;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/OperationDefinitionCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/OperationDefinitionCriteria.java
index 854a561..e89361b 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/OperationDefinitionCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/OperationDefinitionCriteria.java
@@ -39,7 +39,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class OperationDefinitionCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterName;
private String filterDisplayName;
private String filterDescription;
@@ -76,10 +75,6 @@ public class OperationDefinitionCriteria extends Criteria {
return OperationDefinition.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/OperationHistoryCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/OperationHistoryCriteria.java
index 86e4554..7a82678 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/OperationHistoryCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/OperationHistoryCriteria.java
@@ -41,7 +41,6 @@ import org.rhq.core.domain.util.PageOrdering;
public abstract class OperationHistoryCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterJobName;
private String filterJobGroup;
private OperationRequestStatus filterStatus;
@@ -83,10 +82,6 @@ public abstract class OperationHistoryCriteria extends Criteria {
return OperationHistory.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterJobId(JobId filterJobId) {
this.filterJobName = filterJobId.getJobName();
this.filterJobGroup = filterJobId.getJobGroup();
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PackageCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PackageCriteria.java
index 306ce0a..176931b 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PackageCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PackageCriteria.java
@@ -36,7 +36,6 @@ public class PackageCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterName;
private String filterClassification;
private Integer filterPackageTypeId;
@@ -56,10 +55,6 @@ public class PackageCriteria extends Criteria {
public Class<?> getPersistentClass() {
return Package.class;
}
-
- public void addFilterId(Integer id) {
- this.filterId = id;
- }
public void addFilterName(String name) {
this.filterName = name;
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PackageVersionCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PackageVersionCriteria.java
index 592cea1..77387cd 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PackageVersionCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PackageVersionCriteria.java
@@ -11,7 +11,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class PackageVersionCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private Integer filterPackageId; // requires override
private Integer filterRepoId; // requires overrides
private Integer filterResourceId; // requires overrides
@@ -55,10 +54,6 @@ public class PackageVersionCriteria extends Criteria {
return PackageVersion.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterRepoId(Integer filterRepoId) {
this.filterRepoId = filterRepoId;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PartitionEventCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PartitionEventCriteria.java
index 975d425..40ff836 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PartitionEventCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/PartitionEventCriteria.java
@@ -44,7 +44,6 @@ public class PartitionEventCriteria extends Criteria {
public static final String SORT_FIELD_CTIME = "ctime";
- private Integer filterId;
private List<PartitionEventType> filterEventType; // requires override
private List<ExecutionStatus> filterExecutionStatus; // requires override
private String filterEventDetail;
@@ -60,10 +59,6 @@ public class PartitionEventCriteria extends Criteria {
return PartitionEvent.class;
}
- public void addFilterId(Integer id) {
- this.filterId = id;
- }
-
public void addFilterEventType(PartitionEventType... filterEventType) {
if (filterEventType != null && filterEventType.length > 0) {
this.filterEventType = Arrays.asList(filterEventType);
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/RepoCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/RepoCriteria.java
index f6912b0..26f3923 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/RepoCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/RepoCriteria.java
@@ -39,7 +39,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class RepoCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterName;
private String filterDescription;
private List<Integer> filterResourceIds; // needs overrides
@@ -71,10 +70,6 @@ public class RepoCriteria extends Criteria {
return Repo.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceCriteria.java
index 24e5bb9..e8a5e0f 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceCriteria.java
@@ -45,7 +45,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class ResourceCriteria extends TaggedCriteria {
private static final long serialVersionUID = 2L;
- private Integer filterId;
private String filterName;
private String filterResourceKey;
private InventoryStatus filterInventoryStatus = InventoryStatus.COMMITTED; // default
@@ -66,7 +65,6 @@ public class ResourceCriteria extends TaggedCriteria {
private AvailabilityType filterCurrentAvailability; // needs overrides
private Long filterStartItime;
private Long filterEndItime;
- private List<Integer> filterIds; // needs overrides
private List<Integer> filterExplicitGroupIds; // requires overrides
private List<Integer> filterImplicitGroupIds; // requires overrides
private Integer filterRootResourceId; // requires overrides
@@ -129,7 +127,6 @@ public class ResourceCriteria extends TaggedCriteria {
filterOverrides.put("currentAvailability", "currentAvailability.availabilityType = ?");
filterOverrides.put("startItime", "itime >= ?");
filterOverrides.put("endItime", "itime <= ?");
- filterOverrides.put("ids", "id IN ( ? )");
filterOverrides.put("explicitGroupIds", "" //
+ "id IN ( SELECT ires.id " //
+ " FROM Resource ires " //
@@ -158,10 +155,6 @@ public class ResourceCriteria extends TaggedCriteria {
return Resource.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
@@ -254,10 +247,6 @@ public class ResourceCriteria extends TaggedCriteria {
filterEndItime = itime;
}
- public void addFilterIds(Integer... filterIds) {
- this.filterIds = CriteriaUtils.getListIgnoringNulls(filterIds);
- }
-
public void addFilterExplicitGroupIds(Integer... filterExplicitGroupIds) {
this.filterExplicitGroupIds = CriteriaUtils.getListIgnoringNulls(filterExplicitGroupIds);
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceGroupCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceGroupCriteria.java
index dda954f..2bbb609 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceGroupCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceGroupCriteria.java
@@ -41,7 +41,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class ResourceGroupCriteria extends TaggedCriteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterName;
private Boolean filterRecursive;
private Integer filterResourceTypeId; // requires overrides
@@ -59,7 +58,6 @@ public class ResourceGroupCriteria extends TaggedCriteria {
private Integer filterGroupDefinitionId; // requires overrides
private Boolean filterPrivate; /* if true, show only private groups for the calling user */
private Boolean filterVisible = true; /* only show visible groups by default */
- private List<Integer> filterIds; // requires overrides
private NonBindingOverrideFilter filterBundleTargetableOnly; // requires overrides - finds only those that have bundle config - that is, can be targeted for bundle deployment
private boolean fetchExplicitResources;
@@ -116,7 +114,6 @@ public class ResourceGroupCriteria extends TaggedCriteria {
+ " JOIN res.explicitGroups explicitGroup " //
+ " WHERE resourcegroup.id = explicitGroup.id AND NOT res.resourceType.name = ? AND res.inventoryStatus = 'COMMITTED' )");
filterOverrides.put("groupDefinitionId", "groupDefinition.id = ?");
- filterOverrides.put("ids", "id IN ( ? )");
filterOverrides.put("bundleTargetableOnly", "resourceType.bundleConfiguration IS NOT NULL");
sortOverrides.put("resourceTypeName", "resourceType.name");
@@ -128,10 +125,6 @@ public class ResourceGroupCriteria extends TaggedCriteria {
return ResourceGroup.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
/**
* Only returns groups with at least this many downed implicit resource members
*/
@@ -236,10 +229,6 @@ public class ResourceGroupCriteria extends TaggedCriteria {
return (Boolean.TRUE.equals(this.filterVisible));
}
- public void addFilterIds(Integer... filterIds) {
- this.filterIds = CriteriaUtils.getListIgnoringNulls(filterIds);
- }
-
/**
* If true is passed in, only those groups that can be targeted for bundle deployments will
* be fetched. By definition, this means no mixed groups are ever fetched and only
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceGroupDefinitionCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceGroupDefinitionCriteria.java
index 356dabc..188c3f0 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceGroupDefinitionCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceGroupDefinitionCriteria.java
@@ -36,7 +36,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class ResourceGroupDefinitionCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterName;
private String filterDescription;
private Boolean filterRecursive;
@@ -58,10 +57,6 @@ public class ResourceGroupDefinitionCriteria extends Criteria {
return GroupDefinition.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceTypeCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceTypeCriteria.java
index 1641ab2..073741c 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceTypeCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceTypeCriteria.java
@@ -46,9 +46,7 @@ import org.rhq.core.domain.util.PageOrdering;
public class ResourceTypeCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private Integer filterParentId; // required overrides
- private List<Integer> filterIds; // requires overrides
private String filterName;
private String filterDescription;
@@ -92,7 +90,6 @@ public class ResourceTypeCriteria extends Criteria {
+ " JOIN innerRt.parentResourceTypes innerParentRt " //
+ " WHERE innerParentRt.id IN ( ? ) )");
filterOverrides.put("pluginName", "plugin like ?");
- filterOverrides.put("ids", "id in ( ? )");
filterOverrides.put("bundleTypeId", "bundleType.id = ?");
filterOverrides.put("categories", "category in ( ? )");
filterOverrides.put("parentResourceTypesEmpty", "" //
@@ -109,18 +106,10 @@ public class ResourceTypeCriteria extends Criteria {
return ResourceType.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterParentId(Integer filterParentId) {
this.filterParentId = filterParentId;
}
- public void addFilterIds(Integer... filterIds) {
- this.filterIds = Arrays.asList(filterIds);
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
@@ -253,5 +242,4 @@ public class ResourceTypeCriteria extends Criteria {
addSortField("pluginName");
this.sortPluginName = sortPluginName;
}
-
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/RoleCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/RoleCriteria.java
index 4cbdf7c..21ea647 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/RoleCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/RoleCriteria.java
@@ -40,12 +40,10 @@ public class RoleCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterDescription;
private String filterName;
private Integer filterSubjectId; // needs overrides
private Integer filterLdapSubjectId; // needs overrides
- private List<Integer> filterIds; // needs overrides
private boolean fetchPermissions;
private boolean fetchResourceGroups;
@@ -67,8 +65,6 @@ public class RoleCriteria extends Criteria {
+ " FROM Role innerRole " //
+ " JOIN innerRole.ldapSubjects innerSubject " //
+ " WHERE innerSubject.id = ? )");
-
- filterOverrides.put("ids", "id IN ( ? )");
}
@Override
@@ -76,10 +72,6 @@ public class RoleCriteria extends Criteria {
return Role.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
@@ -96,10 +88,6 @@ public class RoleCriteria extends Criteria {
this.filterLdapSubjectId = filterLdapSubjectId;
}
- public void addFilterIds(Integer... filterIds) {
- this.filterIds = CriteriaUtils.getListIgnoringNulls(filterIds);
- }
-
/**
* Requires MANAGE_SECURITY
*
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/SavedSearchCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/SavedSearchCriteria.java
index 634dc15..7efbbb1 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/SavedSearchCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/SavedSearchCriteria.java
@@ -37,7 +37,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class SavedSearchCriteria extends Criteria {
public static final long serialVersionUID = 1L;
- private Integer filterId;
private SearchSubsystem filterSearchSubsystem;
private String filterName;
private String filterDescription;
@@ -69,10 +68,6 @@ public class SavedSearchCriteria extends Criteria {
return SavedSearch.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterSearchSubsystem(SearchSubsystem filterSearchSubsystem) {
this.filterSearchSubsystem = filterSearchSubsystem;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ServerCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ServerCriteria.java
index ebbdbc6..b693890 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ServerCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ServerCriteria.java
@@ -47,7 +47,6 @@ public class ServerCriteria extends Criteria {
public static final String SORT_FIELD_COMPUTE_POWER = "computePower";
- private Integer filterId;
private String filterName;
private String filterAddress;
private Integer filterPort;
@@ -72,10 +71,6 @@ public class ServerCriteria extends Criteria {
return Server.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/SubjectCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/SubjectCriteria.java
index 71c2bea..f3ed640 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/SubjectCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/SubjectCriteria.java
@@ -41,7 +41,6 @@ import org.rhq.core.domain.util.PageOrdering;
public class SubjectCriteria extends Criteria {
private static final long serialVersionUID = 1L;
- private Integer filterId;
private String filterName;
private String filterFirstName;
private String filterLastName;
@@ -52,7 +51,6 @@ public class SubjectCriteria extends Criteria {
private Boolean filterFactive;
private Boolean filterFsystem;
private Integer filterRoleId; // needs overrides
- private List<Integer> filterIds; // needs overrides
private boolean fetchConfiguration;
private boolean fetchRoles;
@@ -72,7 +70,6 @@ public class SubjectCriteria extends Criteria {
+ " JOIN innerSubject.roles innerRole " //
+ " WHERE innerRole.id = ? )");
- filterOverrides.put("ids", "id IN ( ? )");
}
@Override
@@ -80,10 +77,6 @@ public class SubjectCriteria extends Criteria {
return Subject.class;
}
- public void addFilterId(Integer filterId) {
- this.filterId = filterId;
- }
-
public void addFilterName(String filterName) {
this.filterName = filterName;
}
@@ -124,10 +117,6 @@ public class SubjectCriteria extends Criteria {
this.filterRoleId = filterRoleId;
}
- public void addFilterIds(Integer... filterIds) {
- this.filterIds = CriteriaUtils.getListIgnoringNulls(filterIds);
- }
-
public void fetchConfiguration(boolean fetchConfiguration) {
this.fetchConfiguration = fetchConfiguration;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java
index cdce132..de448fa 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java
@@ -335,7 +335,7 @@ public abstract class AbstractConfigurationHistoryDataSource<T extends AbstractR
List<Integer> ids = getFilter(request, CriteriaField.IDS, List.class);
if (ids != null) {
- criteria.addFilterIds(ids);
+ criteria.addFilterIds(ids.toArray(new Integer[0]));
}
Boolean fetchConfiguration = request.getAttributeAsBoolean(RequestProperty.FETCH_CONFIGURATION);
11 years, 2 months
[rhq] modules/plugins
by Thomas Segismont
modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponentConfiguration.java | 5
modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceComponent.java | 151 ++++++++++
modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceComponentConfiguration.java | 51 +++
modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceDiscoveryComponent.java | 63 ++++
modules/plugins/netservices/src/main/resources/META-INF/rhq-plugin.xml | 18 +
modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/PortNetServiceDiscoveryComponentTest.java | 128 ++++++++
modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/PortNetServiceComponentTest.java | 151 ++++++++++
7 files changed, 562 insertions(+), 5 deletions(-)
New commits:
commit 157e81481a43db6991e544f5fd9f3f3fb4d1e33a
Author: Thomas Segismont <tsegismo(a)redhat.com>
Date: Mon Mar 4 16:26:17 2013 +0100
New PortService in netservices plugin
diff --git a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponentConfiguration.java b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponentConfiguration.java
index b28d03f..0072004 100644
--- a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponentConfiguration.java
+++ b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponentConfiguration.java
@@ -35,8 +35,7 @@ class HTTPNetServiceComponentConfiguration {
private Pattern responseValidationPattern;
- public HTTPNetServiceComponentConfiguration(URL endPointUrl, HttpMethod httpMethod,
- Pattern responseValidationPattern) {
+ HTTPNetServiceComponentConfiguration(URL endPointUrl, HttpMethod httpMethod, Pattern responseValidationPattern) {
this.endPointUrl = endPointUrl;
this.httpMethod = httpMethod;
this.responseValidationPattern = responseValidationPattern;
@@ -54,4 +53,4 @@ class HTTPNetServiceComponentConfiguration {
return responseValidationPattern;
}
-}
\ No newline at end of file
+}
diff --git a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceComponent.java b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceComponent.java
new file mode 100644
index 0000000..618fb5a
--- /dev/null
+++ b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceComponent.java
@@ -0,0 +1,151 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * 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.plugins.netservices;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.domain.measurement.MeasurementDataNumeric;
+import org.rhq.core.domain.measurement.MeasurementDataTrait;
+import org.rhq.core.domain.measurement.MeasurementReport;
+import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
+import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
+import org.rhq.core.pluginapi.inventory.ResourceComponent;
+import org.rhq.core.pluginapi.inventory.ResourceContext;
+import org.rhq.core.pluginapi.measurement.MeasurementFacet;
+import org.rhq.core.util.StringUtil;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.net.UnknownHostException;
+import java.util.Set;
+
+/**
+ * @author Thomas Segismont
+ */
+public class PortNetServiceComponent implements ResourceComponent, MeasurementFacet {
+
+ public static final class ConfigKeys {
+
+ private ConfigKeys() {
+ // Defensive
+ }
+
+ public static final String ADDRESS = "address";
+ public static final String PORT = "port";
+
+ }
+
+ private static final Log LOG = LogFactory.getLog(PortNetServiceComponent.class);
+
+ private static final int CONNECTION_TIMEOUT = 2000;
+
+ private PortNetServiceComponentConfiguration componentConfiguration;
+
+ @Override
+ public void start(ResourceContext resourceContext) throws InvalidPluginConfigurationException {
+ componentConfiguration = createComponentConfiguration(resourceContext.getPluginConfiguration());
+ }
+
+ static PortNetServiceComponentConfiguration createComponentConfiguration(Configuration pluginConfig)
+ throws InvalidPluginConfigurationException {
+ String addressString = pluginConfig.getSimpleValue(ConfigKeys.ADDRESS, StringUtil.EMPTY_STRING);
+ if (StringUtil.isBlank(addressString)) {
+ throw new InvalidPluginConfigurationException("Address is not defined");
+ }
+ String portString = pluginConfig.getSimpleValue(ConfigKeys.PORT, StringUtil.EMPTY_STRING);
+ if (StringUtil.isBlank(portString)) {
+ throw new InvalidPluginConfigurationException("Port is not defined");
+ }
+ int port;
+ try {
+ port = Integer.parseInt(portString);
+ } catch (NumberFormatException e) {
+ throw new InvalidPluginConfigurationException("Invalid port number: " + portString);
+ }
+ InetAddress address;
+ try {
+ address = InetAddress.getByName(addressString);
+ } catch (UnknownHostException uhe) {
+ throw new InvalidPluginConfigurationException(uhe);
+ }
+ return new PortNetServiceComponentConfiguration(address, port);
+ }
+
+ @Override
+ public void stop() {
+ componentConfiguration = null;
+ }
+
+ @Override
+ public AvailabilityType getAvailability() {
+ return portReachable() ? AvailabilityType.UP : AvailabilityType.DOWN;
+ }
+
+ @Override
+ public void getValues(MeasurementReport report, Set<MeasurementScheduleRequest> metrics) throws Exception {
+ for (MeasurementScheduleRequest request : metrics) {
+ if (request.getName().equals("ipAddress")) {
+ report.addData(new MeasurementDataTrait(request, componentConfiguration.getAddress().getHostAddress()));
+ } else if (request.getName().equals("hostName")) {
+ report.addData(new MeasurementDataTrait(request, componentConfiguration.getAddress()
+ .getCanonicalHostName()));
+ } else if (request.getName().equals("connectTime")) {
+ long start = System.currentTimeMillis();
+ if (portReachable()) {
+ report.addData(new MeasurementDataNumeric(request, (double) (System.currentTimeMillis() - start)));
+ }
+ }
+ }
+ }
+
+ private boolean portReachable() {
+ Socket socket = null;
+ try {
+ socket = new Socket();
+ socket.connect(
+ new InetSocketAddress(componentConfiguration.getAddress(), componentConfiguration.getPort()),
+ CONNECTION_TIMEOUT);
+ return true;
+ } catch (Exception e) {
+ if (LOG.isWarnEnabled()) {
+ LOG.warn("Unable to reach remote port: " + componentConfiguration.toString(), e);
+ }
+ } finally {
+ if (socket != null) {
+ closeQuietly(socket);
+ }
+ }
+ return false;
+ }
+
+ private void closeQuietly(Closeable closeable) {
+ try {
+ closeable.close();
+ } catch (IOException ignore) {
+ }
+ }
+
+}
diff --git a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceComponentConfiguration.java b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceComponentConfiguration.java
new file mode 100644
index 0000000..1419434
--- /dev/null
+++ b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceComponentConfiguration.java
@@ -0,0 +1,51 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * 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.plugins.netservices;
+
+import java.net.InetAddress;
+
+/**
+ * @author Thomas Segismont
+ */
+class PortNetServiceComponentConfiguration {
+
+ private InetAddress address;
+
+ private int port;
+
+ PortNetServiceComponentConfiguration(InetAddress address, int port) {
+ this.address = address;
+ this.port = port;
+ }
+
+ public InetAddress getAddress() {
+ return address;
+ }
+
+ public int getPort() {
+ return port;
+ }
+
+ @Override
+ public String toString() {
+ return "PortNetServiceComponentConfiguration[" + "address=" + address + ", port=" + port + ']';
+ }
+}
diff --git a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceDiscoveryComponent.java b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceDiscoveryComponent.java
new file mode 100644
index 0000000..227d941
--- /dev/null
+++ b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PortNetServiceDiscoveryComponent.java
@@ -0,0 +1,63 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * 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.plugins.netservices;
+
+import org.rhq.core.domain.configuration.Configuration;
+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.ResourceDiscoveryComponent;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+
+import java.util.Collections;
+import java.util.Set;
+
+/**
+ * @author Thomas Segismont
+ */
+public class PortNetServiceDiscoveryComponent implements ResourceDiscoveryComponent, ManualAddFacet {
+
+ private static final String RESOURCE_PREFIX = "Port ";
+
+ private static final String SEPARATOR = ":";
+
+ @Override
+ public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext context)
+ throws InvalidPluginConfigurationException, Exception {
+ // No automatic discovery
+ return Collections.EMPTY_SET;
+ }
+
+ @Override
+ public DiscoveredResourceDetails discoverResource(Configuration pluginConfiguration,
+ ResourceDiscoveryContext context) throws InvalidPluginConfigurationException {
+ PortNetServiceComponentConfiguration componentConfiguration = PortNetServiceComponent
+ .createComponentConfiguration(pluginConfiguration);
+ String resourceKey = createResourceKey(componentConfiguration);
+ return new DiscoveredResourceDetails(context.getResourceType(), resourceKey, resourceKey, null, null,
+ pluginConfiguration, null);
+ }
+
+ private String createResourceKey(PortNetServiceComponentConfiguration componentConfiguration) {
+ return RESOURCE_PREFIX + componentConfiguration.getAddress().getHostAddress() + SEPARATOR
+ + componentConfiguration.getPort();
+ }
+}
diff --git a/modules/plugins/netservices/src/main/resources/META-INF/rhq-plugin.xml b/modules/plugins/netservices/src/main/resources/META-INF/rhq-plugin.xml
index 16a48d5..c4aee62 100644
--- a/modules/plugins/netservices/src/main/resources/META-INF/rhq-plugin.xml
+++ b/modules/plugins/netservices/src/main/resources/META-INF/rhq-plugin.xml
@@ -64,7 +64,21 @@
</service>
+ <service name="PortService"
+ discovery="PortNetServiceDiscoveryComponent"
+ class="PortNetServiceComponent"
+ supportsManualAdd="true"
+ description="Remote Port monitoring service">
-</plugin>
+ <plugin-configuration>
+ <c:simple-property name="address" description="Remote IP address" />
+ <c:simple-property name="port" description="Remote port" type="integer" />
+ </plugin-configuration>
+
+ <metric property="ipAddress" displayType="summary" dataType="trait" description="The ip address of the host"/>
+ <metric property="hostName" displayType="summary" dataType="trait" description="The hostname of the host"/>
+ <metric property="connectTime" units="milliseconds" displayType="summary" description="Time to establish connection"/>
-
\ No newline at end of file
+ </service>
+
+</plugin>
diff --git a/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/PortNetServiceDiscoveryComponentTest.java b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/PortNetServiceDiscoveryComponentTest.java
new file mode 100644
index 0000000..ec50f91
--- /dev/null
+++ b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/PortNetServiceDiscoveryComponentTest.java
@@ -0,0 +1,128 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * 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.plugins.netservices;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
+import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+import org.rhq.plugins.netservices.PortNetServiceComponent.ConfigKeys;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.net.UnknownHostException;
+
+import static org.mockito.Mockito.when;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.fail;
+
+/**
+ * @author Thomas Segismont
+ */
+public class PortNetServiceDiscoveryComponentTest {
+
+ private PortNetServiceDiscoveryComponent portNetServiceDiscoveryComponent;
+
+ private Configuration configuration;
+
+ @Mock
+ private ResourceDiscoveryContext<?> resourceDiscoveryContext;
+
+ @Mock
+ private ResourceType resourceType;
+
+ @BeforeMethod(alwaysRun = true)
+ protected void setUp() throws Exception {
+ portNetServiceDiscoveryComponent = new PortNetServiceDiscoveryComponent();
+ configuration = new Configuration();
+ configuration.setSimpleValue(ConfigKeys.ADDRESS, "127.0.0.1");
+ configuration.setSimpleValue(ConfigKeys.PORT, "8080");
+ MockitoAnnotations.initMocks(this);
+ when(resourceDiscoveryContext.getResourceType()).thenReturn(resourceType);
+ }
+
+ @Test
+ public void testDiscoverResources() throws Exception {
+ // Manual add only, should always return empty set
+ assertEquals(0, portNetServiceDiscoveryComponent.discoverResources(null).size());
+ }
+
+ @Test
+ public void testValidComponentConfiguration() {
+ try {
+ DiscoveredResourceDetails resourceDetails = portNetServiceDiscoveryComponent.discoverResource(
+ configuration, resourceDiscoveryContext);
+ assertEquals(resourceDetails.getResourceType(), resourceType);
+ } catch (InvalidPluginConfigurationException e) {
+ fail("Component configuration should be valid", e);
+ }
+ }
+
+ @Test
+ public void testMissingAddress() {
+ configuration.remove(ConfigKeys.ADDRESS);
+ try {
+ portNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getMessage(), "Address is not defined");
+ }
+ }
+
+ @Test
+ public void testMissingPort() {
+ configuration.remove(ConfigKeys.PORT);
+ try {
+ portNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getMessage(), "Port is not defined");
+ }
+ }
+
+ @Test
+ public void testInvalidPortNumberFormat() {
+ String configPort = "NaN";
+ configuration.setSimpleValue(ConfigKeys.PORT, configPort);
+ try {
+ portNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getMessage(), "Invalid port number: " + configPort);
+ }
+ }
+
+ @Test
+ public void testMalformedAddress() {
+ String configAddress = "pipomolo";
+ configuration.setSimpleValue(ConfigKeys.ADDRESS, configAddress);
+ try {
+ portNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getCause().getClass(), UnknownHostException.class);
+ }
+ }
+
+}
diff --git a/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/PortNetServiceComponentTest.java b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/PortNetServiceComponentTest.java
new file mode 100644
index 0000000..f97b222
--- /dev/null
+++ b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/PortNetServiceComponentTest.java
@@ -0,0 +1,151 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * 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.plugins.netservices.itest;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.discovery.MergeResourceResponse;
+import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.domain.measurement.DataType;
+import org.rhq.core.domain.measurement.MeasurementData;
+import org.rhq.core.domain.measurement.MeasurementReport;
+import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
+import org.rhq.core.pluginapi.inventory.ResourceComponent;
+import org.rhq.core.util.StringUtil;
+import org.rhq.plugins.netservices.PortNetServiceComponent;
+import org.rhq.plugins.netservices.PortNetServiceComponent.ConfigKeys;
+
+/**
+ * @author Thomas Segismont
+ */
+public class PortNetServiceComponentTest extends NetServiceComponentTest {
+
+ private static final Log LOG = LogFactory.getLog(PortNetServiceComponentTest.class);
+
+ private static final String SERVICE_NAME = "PortService";
+
+ private static final String LOOPBACK = "127.0.0.1";
+
+ private PortNetServiceComponent portNetServiceComponent;
+
+ private ServerSocket serverSocket;
+
+ private int serverSocketLocalPort;
+
+ private Thread acceptorThread;
+
+ private volatile boolean stopListening = false;
+
+ @BeforeClass
+ public void startSocketServer() throws Exception {
+ LOG.info("Setting up a socket server");
+ // Let's bind a server socket to any available port
+ serverSocket = new ServerSocket(0, 50, InetAddress.getLocalHost());
+ // Do not block indefinitely on call to #accept
+ serverSocket.setSoTimeout(1000);
+ serverSocketLocalPort = serverSocket.getLocalPort();
+ acceptorThread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ while (!stopListening) {
+ try {
+ Socket socket = serverSocket.accept();
+ socket.close();
+ } catch (IOException ignore) {
+ }
+ }
+ }
+ });
+ acceptorThread.setDaemon(true);
+ acceptorThread.start();
+ }
+
+ @AfterClass
+ public void stopSocketServer() {
+ LOG.info("Shutting down socket server");
+ stopListening = true;
+ try {
+ serverSocket.close();
+ } catch (IOException ignore) {
+ }
+ }
+
+ @Test(dependsOnMethods = "testPluginLoad")
+ public void testManualAdd() throws Exception {
+ Configuration configuration = new Configuration();
+ configuration.setSimpleValue(ConfigKeys.ADDRESS, LOOPBACK);
+ configuration.setSimpleValue(ConfigKeys.PORT, String.valueOf(serverSocketLocalPort));
+ MergeResourceResponse response = getInventoryManager().manuallyAddResource(
+ getPluginManager().getMetadataManager().getType(SERVICE_NAME, PLUGIN_NAME), getPlatform().getId(),
+ configuration, -1);
+ assertNotNull(response, "Manual add response is null");
+ @SuppressWarnings("rawtypes")
+ ResourceComponent resourceComponent = getInventoryManager().getResourceContainer(response.getResourceId())
+ .getResourceComponent();
+ assertEquals(resourceComponent.getClass(), PortNetServiceComponent.class);
+ portNetServiceComponent = (PortNetServiceComponent) resourceComponent;
+ }
+
+ @Test(dependsOnMethods = "testManualAdd")
+ public void testAvailability() throws Exception {
+ assertEquals(portNetServiceComponent.getAvailability(), AvailabilityType.UP);
+ }
+
+ @Test(dependsOnMethods = "testAvailability")
+ public void testMeasurement() throws Exception {
+ MeasurementReport report = new MeasurementReport();
+ Set<MeasurementScheduleRequest> metrics = new HashSet<MeasurementScheduleRequest>();
+ int scheduleId = 1;
+ metrics.add(new MeasurementScheduleRequest(scheduleId++, "ipAddress", 1000, true, DataType.TRAIT));
+ metrics.add(new MeasurementScheduleRequest(scheduleId++, "hostName", 1000, true, DataType.TRAIT));
+ metrics.add(new MeasurementScheduleRequest(scheduleId++, "connectTime", 1000, true, DataType.MEASUREMENT));
+ portNetServiceComponent.getValues(report, metrics);
+ Map<String, Object> datas = new HashMap<String, Object>();
+ for (MeasurementData data : report.getNumericData()) {
+ datas.put(data.getName(), data.getValue());
+ }
+ for (MeasurementData data : report.getTraitData()) {
+ datas.put(data.getName(), data.getValue());
+ }
+ assertEquals(getTrait(datas, "ipAddress"), LOOPBACK);
+ assertTrue(StringUtil.isNotBlank(getTrait(datas, "hostName")));
+ assertTrue(getMetric(datas, "connectTime") >= 0);
+ }
+
+}
11 years, 2 months
[rhq] modules/core
by Jay Shaughnessy
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit b4d437e04fa3153c344735f5e6e0e2a2cba4917f
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Mar 4 09:22:04 2013 -0500
Remove a jdoc @link to a class not accessible to the domain module.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java
index 6088098..06f90e4 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java
@@ -50,7 +50,7 @@ public abstract class Criteria implements Serializable, BaseCriteria {
/**
* Use this to get the global fields for this Criteria field type. Don't use inspection as the field names
* for this abstract base class do not conform (for legacy reasons) to the prefix convention help by the
- * subclasses. This is likely only relevant to {@link CriteriaQueryGenerator}.
+ * subclasses.
*
* @return The set of global fields for this Criteria field type. Meaning, usable by all subclasses.
*/
11 years, 2 months
[rhq] modules/core
by Jiri Kremser
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java | 1 -
1 file changed, 1 deletion(-)
New commits:
commit 4b5df1a09b151990762b43998d247a4f1b884bcf
Author: Jirka Kremser <jkremser(a)redhat.com>
Date: Mon Mar 4 13:44:49 2013 +0100
Removing an import to a class from unreachable modul (fixing the build).
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java
index 84c31e2..6088098 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/Criteria.java
@@ -36,7 +36,6 @@ import org.rhq.core.domain.authz.Permission;
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.server.util.CriteriaQueryGenerator;
/**
* @author Joseph Marques
11 years, 2 months
[rhq] Branch 'feature/cassandra-backend' - modules/enterprise
by snegrea
modules/enterprise/server/server-metrics/src/main/java/org/rhq/server/metrics/DataMigrator.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
New commits:
commit 115fe4d274180c31b54128efb59b8b4149675fe7
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Fri Mar 1 23:29:58 2013 -0600
Make test to drain statement accumulator more reliable by draining every time the number of loaded statements is equal to or exceeds the limit.
diff --git a/modules/enterprise/server/server-metrics/src/main/java/org/rhq/server/metrics/DataMigrator.java b/modules/enterprise/server/server-metrics/src/main/java/org/rhq/server/metrics/DataMigrator.java
index cb72a07..8f07098 100644
--- a/modules/enterprise/server/server-metrics/src/main/java/org/rhq/server/metrics/DataMigrator.java
+++ b/modules/enterprise/server/server-metrics/src/main/java/org/rhq/server/metrics/DataMigrator.java
@@ -328,7 +328,7 @@ public class DataMigrator {
.using(ttl((int) itemTTLSeconds));
statementsAccumulator.add(statement);
- if (statementsAccumulator.size() == MAX_RECORDS_TO_BATCH_TO_CASSANDRA) {
+ if (statementsAccumulator.size() >= MAX_RECORDS_TO_BATCH_TO_CASSANDRA) {
resultSetFutures.add(session.executeAsync(QueryBuilder.batch((Statement[]) statementsAccumulator
.toArray(new Statement[statementsAccumulator.size()]))));
statementsAccumulator.clear();
@@ -467,7 +467,7 @@ public class DataMigrator {
statementsAccumulator.add(boundStatement);
}
- if (statementsAccumulator.size() == MAX_RECORDS_TO_BATCH_TO_CASSANDRA) {
+ if (statementsAccumulator.size() >= MAX_RECORDS_TO_BATCH_TO_CASSANDRA) {
resultSetFutures.add(session.executeAsync(QueryBuilder.batch((Statement[]) statementsAccumulator
.toArray(new Statement[statementsAccumulator.size()]))));
statementsAccumulator.clear();
11 years, 2 months