[rhq] Branch 'rhq-on-as7' - modules/enterprise
by Jay Shaughnessy
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/authz/test/RoleManagerBeanTest.java | 8
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/ProductVersionManagerBeanTest.java | 126 ++---
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/RepoSyncingTest.java | 7
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/operation/OperationManagerBeanTest.java | 85 +--
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/plugin/ServerPluginsBeanTest.java | 15
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/RecursiveResourceGroupTest.java | 10
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceFactoryManagerBeanTest.java | 222 ++++------
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceGroupManagerBeanTest.java | 20
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceStorageTest.java | 17
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/scheduler/jobs/RepoSyncJobTest.java | 10
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/sync/test/SynchronizationManagerBeanTest.java | 4
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/system/SystemManagerBeanTest.java | 14
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java | 16
13 files changed, 211 insertions(+), 343 deletions(-)
New commits:
commit 0be40baa30bc98846d7a583d09775af966a437d4
Author: Jay Shaughnessy <jshaughn(a)jshaughn.csb>
Date: Thu Nov 8 13:00:38 2012 -0500
- More test classes passing
- SynchronizationManagerBeanTest running but not passing. BZ 874696 created
- Fixed bug in ResourceGroupManagerBean
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/authz/test/RoleManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/authz/test/RoleManagerBeanTest.java
index c316462..ef86a6e 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/authz/test/RoleManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/authz/test/RoleManagerBeanTest.java
@@ -21,7 +21,6 @@ package org.rhq.enterprise.server.authz.test;
import java.util.ArrayList;
import java.util.List;
-import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
@@ -46,11 +45,8 @@ public class RoleManagerBeanTest extends AbstractEJB3Test {
private RoleManagerLocal roleManager;
private LdapGroupManagerLocal ldapManager;
- /**
- * Prepares things for the entire test class.
- */
- @BeforeClass
- public void beforeClass() {
+ @Override
+ protected void beforeMethod() {
roleManager = LookupUtil.getRoleManager();
subjectManager = LookupUtil.getSubjectManager();
ldapManager = LookupUtil.getLdapGroupManager();
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/ProductVersionManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/ProductVersionManagerBeanTest.java
index a583fc7..0d1f9f7 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/ProductVersionManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/ProductVersionManagerBeanTest.java
@@ -19,12 +19,11 @@
package org.rhq.enterprise.server.content.test;
import java.util.List;
-import javax.persistence.EntityManager;
+
import javax.persistence.Query;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
+
import org.testng.annotations.Test;
+
import org.rhq.core.domain.resource.ProductVersion;
import org.rhq.core.domain.resource.ResourceCategory;
import org.rhq.core.domain.resource.ResourceType;
@@ -44,18 +43,15 @@ public class ProductVersionManagerBeanTest extends AbstractEJB3Test {
// Setup --------------------------------------------
- @BeforeClass
- public void setupBeforeClass() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
productManager = LookupUtil.getProductVersionManager();
- }
- @BeforeMethod
- public void setupBeforeMethod() throws Exception {
setupTestEnvironment();
}
- @AfterMethod
- public void teardownAfterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
teardownTestEnvironment();
}
@@ -68,31 +64,26 @@ public class ProductVersionManagerBeanTest extends AbstractEJB3Test {
// Verify
getTransactionManager().begin();
- EntityManager em = getEntityManager();
try {
- try {
- // Verify
- resourceType = em.find(ResourceType.class, resourceType.getId());
+ // Verify
+ resourceType = em.find(ResourceType.class, resourceType.getId());
- Query query = em.createNamedQuery(ProductVersion.QUERY_FIND_BY_RESOURCE_TYPE_AND_VERSION);
- query.setParameter("resourceType", resourceType);
- query.setParameter("version", "1.0.0");
+ Query query = em.createNamedQuery(ProductVersion.QUERY_FIND_BY_RESOURCE_TYPE_AND_VERSION);
+ query.setParameter("resourceType", resourceType);
+ query.setParameter("version", "1.0.0");
- List addedProductVersion = query.getResultList();
+ List addedProductVersion = query.getResultList();
- assert addedProductVersion.size() == 1 : "Incorrect number of versions persisted. Expected: 1, Found: "
- + addedProductVersion.size();
+ assert addedProductVersion.size() == 1 : "Incorrect number of versions persisted. Expected: 1, Found: "
+ + addedProductVersion.size();
- // Clean up
- em.remove(addedProductVersion.get(0));
+ // Clean up
+ em.remove(addedProductVersion.get(0));
- getTransactionManager().commit();
- } catch (Exception e) {
- getTransactionManager().rollback();
- }
- } finally {
- em.close();
+ getTransactionManager().commit();
+ } catch (Exception e) {
+ getTransactionManager().rollback();
}
}
@@ -104,31 +95,26 @@ public class ProductVersionManagerBeanTest extends AbstractEJB3Test {
// Verify
getTransactionManager().begin();
- EntityManager em = getEntityManager();
try {
- try {
- // Verify
- resourceType = em.find(ResourceType.class, resourceType.getId());
+ // Verify
+ resourceType = em.find(ResourceType.class, resourceType.getId());
- Query query = em.createNamedQuery(ProductVersion.QUERY_FIND_BY_RESOURCE_TYPE_AND_VERSION);
- query.setParameter("resourceType", resourceType);
- query.setParameter("version", "1.0.0");
+ Query query = em.createNamedQuery(ProductVersion.QUERY_FIND_BY_RESOURCE_TYPE_AND_VERSION);
+ query.setParameter("resourceType", resourceType);
+ query.setParameter("version", "1.0.0");
- List addedProductVersion = query.getResultList();
+ List addedProductVersion = query.getResultList();
- assert addedProductVersion.size() == 1 : "Incorrect number of versions persisted. Expected: 1, Found: "
- + addedProductVersion.size();
+ assert addedProductVersion.size() == 1 : "Incorrect number of versions persisted. Expected: 1, Found: "
+ + addedProductVersion.size();
- // Clean up
- em.remove(addedProductVersion.get(0));
+ // Clean up
+ em.remove(addedProductVersion.get(0));
- getTransactionManager().commit();
- } catch (Exception e) {
- getTransactionManager().rollback();
- }
- } finally {
- em.close();
+ getTransactionManager().commit();
+ } catch (Exception e) {
+ getTransactionManager().rollback();
}
}
@@ -136,42 +122,30 @@ public class ProductVersionManagerBeanTest extends AbstractEJB3Test {
private void setupTestEnvironment() throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
-
try {
- try {
- resourceType = new ResourceType("testResourceType", "testPlugin", ResourceCategory.PLATFORM, null);
-
- em.persist(resourceType);
-
- getTransactionManager().commit();
- } catch (Exception e) {
- e.printStackTrace();
- getTransactionManager().rollback();
- throw e;
- }
- } finally {
- em.close();
+ resourceType = new ResourceType("testResourceType", "testPlugin", ResourceCategory.PLATFORM, null);
+
+ em.persist(resourceType);
+
+ getTransactionManager().commit();
+ } catch (Exception e) {
+ e.printStackTrace();
+ getTransactionManager().rollback();
+ throw e;
}
}
private void teardownTestEnvironment() throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
-
try {
- try {
- resourceType = em.find(ResourceType.class, resourceType.getId());
- em.remove(resourceType);
-
- getTransactionManager().commit();
- } catch (Exception e) {
- e.printStackTrace();
- getTransactionManager().rollback();
- throw e;
- }
- } finally {
- em.close();
+ resourceType = em.find(ResourceType.class, resourceType.getId());
+ em.remove(resourceType);
+
+ getTransactionManager().commit();
+ } catch (Exception e) {
+ e.printStackTrace();
+ getTransactionManager().rollback();
+ throw e;
}
}
}
\ No newline at end of file
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/RepoSyncingTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/RepoSyncingTest.java
index cf4006f..3f0ef84 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/RepoSyncingTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/RepoSyncingTest.java
@@ -7,7 +7,6 @@ import javax.persistence.Query;
import javax.transaction.TransactionManager;
import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
@@ -29,17 +28,15 @@ import org.rhq.enterprise.server.util.LookupUtil;
public class RepoSyncingTest extends AbstractEJB3Test {
private static final boolean ENABLED = false;
- private EntityManager em;
private Repo repo;
private ContentSource contentSource;
private TestContentServerPluginService pluginService;
TestContentProvider p1;
- @BeforeMethod
- public void setupBeforeMethod() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
TransactionManager tx = getTransactionManager();
tx.begin();
- em = getEntityManager();
pluginService = new TestContentServerPluginService(this);
ContentSourceType type = new ContentSourceType("testGetSyncResultsListCST");
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/operation/OperationManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/operation/OperationManagerBeanTest.java
index f3b1f91..fe61829 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/operation/OperationManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/operation/OperationManagerBeanTest.java
@@ -23,14 +23,9 @@ import java.util.List;
import java.util.Random;
import javax.ejb.EJBException;
-import javax.persistence.EntityManager;
import org.quartz.SimpleTrigger;
import org.quartz.Trigger;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.clientapi.agent.PluginContainerException;
@@ -97,26 +92,15 @@ public class OperationManagerBeanTest extends AbstractEJB3Test {
// for those tests that cancel an operation, this will be the results of the simulated cancellation
private CancelResults simulatedOperation_CancelResults;
- /**
- * Prepares things for the entire test class.
- */
- @BeforeClass
- public void beforeClass() {
+ @Override
+ protected void beforeMethod() throws Exception {
configurationManager = LookupUtil.getConfigurationManager();
operationManager = LookupUtil.getOperationManager();
schedulerManager = LookupUtil.getSchedulerBean();
overlord = LookupUtil.getSubjectManager().getOverlord();
operationServerService = new OperationServerServiceImpl();
- }
-
- @AfterClass(alwaysRun = true)
- public void afterClass() {
- operationServerService = null;
- }
- @BeforeMethod
- public void beforeMethod() throws Exception {
TestServerCommunicationsService agentServiceContainer = prepareForTestAgents();
agentServiceContainer.operationService = new TestConfigService();
@@ -131,8 +115,8 @@ public class OperationManagerBeanTest extends AbstractEJB3Test {
newGroup = newResource.getExplicitGroups().iterator().next();
}
- @AfterMethod(alwaysRun = true)
- public void afterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
try {
deleteNewResource(newResource);
} finally {
@@ -1550,53 +1534,48 @@ public class OperationManagerBeanTest extends AbstractEJB3Test {
private Resource createNewResource() throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
Resource resource;
try {
- try {
- ResourceType resourceType = new ResourceType("plat" + System.currentTimeMillis(), "test",
- ResourceCategory.PLATFORM, null);
-
- OperationDefinition def = new OperationDefinition(resourceType, "testOp");
- def.setTimeout(10);
- def.setDisplayName("Test Operation");
- resourceType.addOperationDefinition(def);
+ ResourceType resourceType = new ResourceType("plat" + System.currentTimeMillis(), "test",
+ ResourceCategory.PLATFORM, null);
- em.persist(resourceType);
+ OperationDefinition def = new OperationDefinition(resourceType, "testOp");
+ def.setTimeout(10);
+ def.setDisplayName("Test Operation");
+ resourceType.addOperationDefinition(def);
- Agent agent = new Agent("testagent", "testaddress", 1, "", "testtoken");
- em.persist(agent);
- em.flush();
+ em.persist(resourceType);
- resource = new Resource("reskey" + System.currentTimeMillis(), "resname", resourceType);
- resource.setUuid("" + new Random().nextInt());
- resource.setAgent(agent);
- resource.setInventoryStatus(InventoryStatus.COMMITTED);
- em.persist(resource);
+ Agent agent = new Agent("testagent", "testaddress", 1, "", "testtoken");
+ em.persist(agent);
+ em.flush();
- ResourceGroup group = new ResourceGroup("testgroupOMB" + System.currentTimeMillis(), resourceType);
- em.persist(group);
- group.addExplicitResource(resource);
- } catch (Exception e) {
- System.out.println("CANNOT PREPARE TEST: " + e);
- getTransactionManager().rollback();
- throw e;
- }
+ resource = new Resource("reskey" + System.currentTimeMillis(), "resname", resourceType);
+ resource.setUuid("" + new Random().nextInt());
+ resource.setAgent(agent);
+ resource.setInventoryStatus(InventoryStatus.COMMITTED);
+ em.persist(resource);
+ ResourceGroup group = new ResourceGroup("testgroupOMB" + System.currentTimeMillis(), resourceType);
+ em.persist(group);
+ group.addExplicitResource(resource);
em.flush();
- getTransactionManager().commit();
- } finally {
- em.close();
+
+ } catch (Exception e) {
+ System.out.println("CANNOT PREPARE TEST: " + e);
+ getTransactionManager().rollback();
+ throw e;
}
+ getTransactionManager().commit();
+
return resource;
}
private void deleteNewResource(Resource resource) throws Exception {
if (null != resource) {
- EntityManager em = null;
try {
ResourceManagerLocal resourceManager = LookupUtil.getResourceManager();
@@ -1610,8 +1589,6 @@ public class OperationManagerBeanTest extends AbstractEJB3Test {
ResourceGroup group = res.getExplicitGroups().iterator().next();
getTransactionManager().commit();
- em.close();
- em = null;
// then invoke bulk delete on the resource to remove any dependencies not defined in the hibernate entity model
// perform in-band and out-of-band work in quick succession
@@ -1643,10 +1620,6 @@ public class OperationManagerBeanTest extends AbstractEJB3Test {
getTransactionManager().rollback();
} catch (Exception ignore) {
}
- } finally {
- if (null != em) {
- em.close();
- }
}
}
}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/plugin/ServerPluginsBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/plugin/ServerPluginsBeanTest.java
index 9ce4829..5d15593 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/plugin/ServerPluginsBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/plugin/ServerPluginsBeanTest.java
@@ -22,12 +22,9 @@ package org.rhq.enterprise.server.plugin;
import java.util.ArrayList;
import java.util.List;
-import javax.persistence.EntityManager;
import javax.persistence.Query;
import org.hibernate.LazyInitializationException;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
@@ -54,8 +51,8 @@ public class ServerPluginsBeanTest extends AbstractEJB3Test {
private ServerPluginsLocal serverPluginsBean;
- @BeforeMethod
- public void beforeMethod() {
+ @Override
+ protected void beforeMethod() {
TestGenericServerPluginService pluginService;
pluginService = new TestGenericServerPluginService();
prepareCustomServerPluginService(pluginService);
@@ -63,10 +60,8 @@ public class ServerPluginsBeanTest extends AbstractEJB3Test {
serverPluginsBean = LookupUtil.getServerPlugins();
}
- @AfterMethod(alwaysRun = true)
- public void afterMethod() {
-
- EntityManager em = null;
+ @Override
+ protected void afterMethod() {
try {
unprepareServerPluginService();
@@ -389,7 +384,7 @@ public class ServerPluginsBeanTest extends AbstractEJB3Test {
}
private ServerPlugin getDeletedPluginInTx(String pluginName) throws Exception {
- EntityManager em = getEntityManager();
+
getTransactionManager().begin();
try {
Query q = em.createNamedQuery(ServerPlugin.QUERY_FIND_ANY_BY_NAME);
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/RecursiveResourceGroupTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/RecursiveResourceGroupTest.java
index 597cb26..4b422ff 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/RecursiveResourceGroupTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/RecursiveResourceGroupTest.java
@@ -27,8 +27,6 @@ import java.util.Random;
import javax.persistence.EntityManager;
import javax.transaction.Status;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
@@ -55,8 +53,8 @@ public class RecursiveResourceGroupTest extends AbstractEJB3Test {
private RoleManagerLocal roleManager;
private SubjectManagerLocal subjectManager;
- @BeforeMethod
- protected void init() {
+ @Override
+ protected void beforeMethod() throws Exception {
resourceGroupManager = LookupUtil.getResourceGroupManager();
resourceManager = LookupUtil.getResourceManager();
roleManager = LookupUtil.getRoleManager();
@@ -64,8 +62,8 @@ public class RecursiveResourceGroupTest extends AbstractEJB3Test {
prepareScheduler();
}
- @AfterMethod
- protected void after() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
unprepareScheduler();
}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceFactoryManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceFactoryManagerBeanTest.java
index cbcf1dc..e1f17b6 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceFactoryManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceFactoryManagerBeanTest.java
@@ -26,11 +26,7 @@ import java.util.Set;
import java.util.UUID;
import javax.ejb.EJBException;
-import javax.persistence.EntityManager;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.clientapi.agent.PluginContainerException;
@@ -92,16 +88,13 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
// Setup --------------------------------------------
- @BeforeClass
- public void setupBeforeClass() throws Exception {
+ @Override
+ public void beforeMethod() throws Exception {
resourceFactoryManager = LookupUtil.getResourceFactoryManager();
resourceManager = LookupUtil.getResourceManager();
discoveryBoss = LookupUtil.getDiscoveryBoss();
overlord = LookupUtil.getSubjectManager().getOverlord();
- }
- @BeforeMethod
- public void setupBeforeMethod() throws Exception {
prepareScheduler();
TestServerCommunicationsService agentServiceContainer = prepareForTestAgents();
agentServiceContainer.resourceFactoryService = mockAgentService;
@@ -114,8 +107,8 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
setupResourceEnvironment();
}
- @AfterMethod(alwaysRun = true)
- public void teardownAfterMethod() throws Exception {
+ @Override
+ public void afterMethod() throws Exception {
unprepareForTestAgents();
unprepareScheduler();
unprepareServerPluginService();
@@ -141,12 +134,10 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
"newResource", null, resourceConfiguration);
// Verify
- EntityManager entityManager = null;
try {
getTransactionManager().begin();
- entityManager = getEntityManager();
- Resource parent = entityManager.find(Resource.class, parentResource.getId());
+ Resource parent = em.find(Resource.class, parentResource.getId());
List<CreateResourceHistory> historyList = parent.getCreateChildResourceRequests();
assert historyList.size() == 1 : "Incorrect number of children found. Expected: 1, Found: "
@@ -162,7 +153,6 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
assert historyItem.getConfiguration() != null : "Null configuration found for history item";
} finally {
getTransactionManager().rollback();
- entityManager.close();
}
}
@@ -182,12 +172,10 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
"newResource", null, resourceConfiguration);
// Verify
- EntityManager entityManager = null;
try {
getTransactionManager().begin();
- entityManager = getEntityManager();
- Resource parent = entityManager.find(Resource.class, parentResource.getId());
+ Resource parent = em.find(Resource.class, parentResource.getId());
List<CreateResourceHistory> historyList = parent.getCreateChildResourceRequests();
assert historyList.size() == 1 : "Incorrect number of children found. Expected: 1, Found: "
@@ -201,7 +189,6 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
+ historyItem.getErrorMessage();
} finally {
getTransactionManager().rollback();
- entityManager.close();
}
}
@@ -217,16 +204,14 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
resourceConfiguration.put(new PropertySimple("property1", "value1"));
// Test
- CreateResourceHistory history1 = resourceFactoryManager.createResource(overlord, parentResource.getId(), configBackedChildResourceType2.getId(),
- "newResource", null, resourceConfiguration);
+ CreateResourceHistory history1 = resourceFactoryManager.createResource(overlord, parentResource.getId(),
+ configBackedChildResourceType2.getId(), "newResource", null, resourceConfiguration);
// Verify
- EntityManager entityManager = null;
try {
getTransactionManager().begin();
- entityManager = getEntityManager();
- Resource parent = entityManager.find(Resource.class, parentResource.getId());
+ Resource parent = em.find(Resource.class, parentResource.getId());
List<CreateResourceHistory> historyList = parent.getCreateChildResourceRequests();
assert historyList.size() == 1 : "Incorrect number of children found. Expected: 1, Found: "
@@ -242,12 +227,11 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
assert historyItem.getConfiguration() != null : "Null configuration found for history item";
} finally {
getTransactionManager().rollback();
- entityManager.close();
}
// Invoke the same callbacks the plugin container would to actually commit the new Resource to inventory.
- resourceFactoryManager.completeCreateResource(new CreateResourceResponse(history1.getId(), "newResource", "key",
- CreateResourceStatus.SUCCESS, null, new Configuration()));
+ resourceFactoryManager.completeCreateResource(new CreateResourceResponse(history1.getId(), "newResource",
+ "key", CreateResourceStatus.SUCCESS, null, new Configuration()));
Resource resource = new Resource(1000000);
resource.setUuid(UUID.randomUUID().toString());
resource.setResourceType(configBackedChildResourceType2);
@@ -260,7 +244,7 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
// Now try to create another Resource of the same singleton type - this should fail.
try {
CreateResourceHistory history2 = resourceFactoryManager.createResource(overlord, parentResource.getId(),
- configBackedChildResourceType2.getId(), "newResource2", null, resourceConfiguration);
+ configBackedChildResourceType2.getId(), "newResource2", null, resourceConfiguration);
fail("Creating a singleton that already existed succeeded: " + history2);
} catch (EJBException e) {
assertEquals(String.valueOf(e.getCause()), RuntimeException.class, e.getCause().getClass());
@@ -283,23 +267,21 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
deploymentTimeConfiguration.put(new PropertySimple("testProperty", "testValue"));
// This file should be in the classpath, so use it for the artifact content
- URL contentResource = this.getClass().getClassLoader().getResource("jndi.properties");
- assert contentResource != null : "Could not load jndi.properties as package content";
+ URL contentResource = this.getClass().getClassLoader().getResource("test-scheduler.properties");
+ assert contentResource != null : "Could not load test-scheduler.properties as package content";
InputStream packageInputStream = contentResource.openStream();
// Test
- CreateResourceHistory history1 = resourceFactoryManager.createResource(overlord, parentResource.getId(), contentBackedChildResourceType.getId(),
- "newResource", null, packageName, packageVersion, architectureId, deploymentTimeConfiguration,
- packageInputStream);
+ CreateResourceHistory history1 = resourceFactoryManager.createResource(overlord, parentResource.getId(),
+ contentBackedChildResourceType.getId(), "newResource", null, packageName, packageVersion, architectureId,
+ deploymentTimeConfiguration, packageInputStream);
// Verify
- EntityManager entityManager = null;
try {
getTransactionManager().begin();
- entityManager = getEntityManager();
- Resource parent = entityManager.find(Resource.class, parentResource.getId());
+ Resource parent = em.find(Resource.class, parentResource.getId());
List<CreateResourceHistory> historyList = parent.getCreateChildResourceRequests();
assert historyList.size() == 1 : "Incorrect number of children found. Expected: 1, Found: "
@@ -314,12 +296,11 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
assert historyItem.getErrorMessage() == null : "Error message found for successful call";
} finally {
getTransactionManager().rollback();
- entityManager.close();
}
// Invoke the same callbacks the plugin container would to actually commit the new Resource to inventory.
- resourceFactoryManager.completeCreateResource(new CreateResourceResponse(history1.getId(), "newResource", "key",
- CreateResourceStatus.SUCCESS, null, new Configuration()));
+ resourceFactoryManager.completeCreateResource(new CreateResourceResponse(history1.getId(), "newResource",
+ "key", CreateResourceStatus.SUCCESS, null, new Configuration()));
Resource resource = new Resource(2000000);
resource.setUuid(UUID.randomUUID().toString());
resource.setResourceType(contentBackedChildResourceType);
@@ -332,8 +313,8 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
// Now try to create another Resource of the same singleton type - this should fail.
try {
CreateResourceHistory history2 = resourceFactoryManager.createResource(overlord, parentResource.getId(),
- contentBackedChildResourceType.getId(), "newResource2", null, packageName, packageVersion,
- architectureId, deploymentTimeConfiguration, packageInputStream);
+ contentBackedChildResourceType.getId(), "newResource2", null, packageName, packageVersion,
+ architectureId, deploymentTimeConfiguration, packageInputStream);
fail("Creating a singleton that already existed succeeded: " + history2);
} catch (EJBException e) {
assertEquals(String.valueOf(e.getCause()), RuntimeException.class, e.getCause().getClass());
@@ -356,13 +337,10 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
resourceFactoryManager.deleteResource(overlord, deleteMe.getId());
// Verify
- EntityManager entityManager = null;
-
try {
getTransactionManager().begin();
- entityManager = getEntityManager();
- Resource parent = entityManager.find(Resource.class, parentResource.getId());
+ Resource parent = em.find(Resource.class, parentResource.getId());
Set<Resource> childResources = parent.getChildResources();
assert childResources.size() == 1 : "Child resource not found on the parent";
@@ -373,7 +351,6 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
+ deletedResource.getInventoryStatus();
} finally {
getTransactionManager().rollback();
- entityManager.close();
}
}
@@ -391,14 +368,10 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
// Test
resourceFactoryManager.deleteResource(overlord, deleteMe.getId());
- // Verify
- EntityManager entityManager = null;
-
try {
getTransactionManager().begin();
- entityManager = getEntityManager();
- Resource parent = entityManager.find(Resource.class, parentResource.getId());
+ Resource parent = em.find(Resource.class, parentResource.getId());
Set<Resource> childResources = parent.getChildResources();
assert childResources.size() == 1 : "Child resource not found on the parent";
@@ -409,7 +382,6 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
+ deletedResource.getInventoryStatus();
} finally {
getTransactionManager().rollback();
- entityManager.close();
}
}
@@ -423,18 +395,18 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
resourceConfiguration = new Configuration();
resourceConfiguration.getMap();
- resourceFactoryManager.createResource(overlord, parentResource.getId(), configBackedChildResourceType1.getId(), "resource1",
- (Configuration) null, resourceConfiguration);
+ resourceFactoryManager.createResource(overlord, parentResource.getId(), configBackedChildResourceType1.getId(),
+ "resource1", (Configuration) null, resourceConfiguration);
resourceConfiguration = new Configuration();
resourceConfiguration.getMap();
- resourceFactoryManager.createResource(overlord, parentResource.getId(), configBackedChildResourceType1.getId(), "resource2",
- (Configuration) null, resourceConfiguration);
+ resourceFactoryManager.createResource(overlord, parentResource.getId(), configBackedChildResourceType1.getId(),
+ "resource2", (Configuration) null, resourceConfiguration);
resourceConfiguration = new Configuration();
resourceConfiguration.getMap();
- resourceFactoryManager.createResource(overlord, parentResource.getId(), configBackedChildResourceType1.getId(), "resource3",
- (Configuration) null, resourceConfiguration);
+ resourceFactoryManager.createResource(overlord, parentResource.getId(), configBackedChildResourceType1.getId(),
+ "resource3", (Configuration) null, resourceConfiguration);
// Verify
int numRequestsInHistory = resourceFactoryManager.getCreateChildResourceHistoryCount(parentResource.getId(),
@@ -520,63 +492,59 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
*/
private void setupResourceEnvironment() throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
try {
- try {
- // Create parent resource type
- parentResourceType = new ResourceType("platform-" + System.currentTimeMillis(), TEST_PLUGIN_NAME,
- ResourceCategory.PLATFORM, null);
- em.persist(parentResourceType);
-
- // Create child resource type to parent. Artifact type lives under this resource type.
- contentBackedChildResourceType = new ResourceType("service-" + System.currentTimeMillis(), TEST_PLUGIN_NAME,
- ResourceCategory.SERVICE, parentResourceType);
- contentBackedChildResourceType.setCreateDeletePolicy(CreateDeletePolicy.BOTH);
- contentBackedChildResourceType.setCreationDataType(ResourceCreationDataType.CONTENT);
- contentBackedChildResourceType.setSingleton(true);
- em.persist(contentBackedChildResourceType);
-
- // Create artifact type under child resource type that is marked as the creation artifact type
- packageType = new PackageType();
- packageType.setName("artifact-" + System.currentTimeMillis());
- packageType.setDescription("");
- packageType.setCategory(PackageCategory.DEPLOYABLE);
- packageType.setDisplayName("TestResourceArtifact");
- packageType.setCreationData(true);
- packageType.setResourceType(contentBackedChildResourceType);
- em.persist(packageType);
-
- // Link artifact type and child resource type
- contentBackedChildResourceType.addPackageType(packageType);
-
- configBackedChildResourceType1 = new ResourceType("service1-" + System.currentTimeMillis(), TEST_PLUGIN_NAME,
- ResourceCategory.SERVICE, parentResourceType);
- configBackedChildResourceType1.setCreateDeletePolicy(CreateDeletePolicy.BOTH);
- configBackedChildResourceType1.setCreationDataType(ResourceCreationDataType.CONFIGURATION);
- em.persist(configBackedChildResourceType1);
-
- configBackedChildResourceType2 = new ResourceType("service2-" + System.currentTimeMillis(), TEST_PLUGIN_NAME,
- ResourceCategory.SERVICE, parentResourceType);
- configBackedChildResourceType2.setCreateDeletePolicy(CreateDeletePolicy.BOTH);
- configBackedChildResourceType2.setCreationDataType(ResourceCreationDataType.CONFIGURATION);
- configBackedChildResourceType2.setSingleton(true);
- em.persist(configBackedChildResourceType2);
-
- // Create parent resource off of which to hang created resources
- parentResource = new Resource("parent" + System.currentTimeMillis(), "name", parentResourceType);
- parentResource.setUuid("" + new Random().nextInt());
- em.persist(parentResource);
- } catch (Exception e) {
- System.out.println(e);
- getTransactionManager().rollback();
- throw e;
- }
-
- getTransactionManager().commit();
- } finally {
- em.close();
+ // Create parent resource type
+ parentResourceType = new ResourceType("platform-" + System.currentTimeMillis(), TEST_PLUGIN_NAME,
+ ResourceCategory.PLATFORM, null);
+ em.persist(parentResourceType);
+
+ // Create child resource type to parent. Artifact type lives under this resource type.
+ contentBackedChildResourceType = new ResourceType("service-" + System.currentTimeMillis(),
+ TEST_PLUGIN_NAME, ResourceCategory.SERVICE, parentResourceType);
+ contentBackedChildResourceType.setCreateDeletePolicy(CreateDeletePolicy.BOTH);
+ contentBackedChildResourceType.setCreationDataType(ResourceCreationDataType.CONTENT);
+ contentBackedChildResourceType.setSingleton(true);
+ em.persist(contentBackedChildResourceType);
+
+ // Create artifact type under child resource type that is marked as the creation artifact type
+ packageType = new PackageType();
+ packageType.setName("artifact-" + System.currentTimeMillis());
+ packageType.setDescription("");
+ packageType.setCategory(PackageCategory.DEPLOYABLE);
+ packageType.setDisplayName("TestResourceArtifact");
+ packageType.setCreationData(true);
+ packageType.setResourceType(contentBackedChildResourceType);
+ em.persist(packageType);
+
+ // Link artifact type and child resource type
+ contentBackedChildResourceType.addPackageType(packageType);
+
+ configBackedChildResourceType1 = new ResourceType("service1-" + System.currentTimeMillis(),
+ TEST_PLUGIN_NAME, ResourceCategory.SERVICE, parentResourceType);
+ configBackedChildResourceType1.setCreateDeletePolicy(CreateDeletePolicy.BOTH);
+ configBackedChildResourceType1.setCreationDataType(ResourceCreationDataType.CONFIGURATION);
+ em.persist(configBackedChildResourceType1);
+
+ configBackedChildResourceType2 = new ResourceType("service2-" + System.currentTimeMillis(),
+ TEST_PLUGIN_NAME, ResourceCategory.SERVICE, parentResourceType);
+ configBackedChildResourceType2.setCreateDeletePolicy(CreateDeletePolicy.BOTH);
+ configBackedChildResourceType2.setCreationDataType(ResourceCreationDataType.CONFIGURATION);
+ configBackedChildResourceType2.setSingleton(true);
+ em.persist(configBackedChildResourceType2);
+
+ // Create parent resource off of which to hang created resources
+ parentResource = new Resource("parent" + System.currentTimeMillis(), "name", parentResourceType);
+ parentResource.setUuid("" + new Random().nextInt());
+ em.persist(parentResource);
+
+ } catch (Exception e) {
+ System.out.println(e);
+ getTransactionManager().rollback();
+ throw e;
}
+
+ getTransactionManager().commit();
}
/**
@@ -593,7 +561,7 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
}
getTransactionManager().begin();
- EntityManager em = getEntityManager();
+
try {
// Remove the children first.
ResourceType deleteMeType = em.find(ResourceType.class, contentBackedChildResourceType.getId());
@@ -617,8 +585,6 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
}
throw e;
- } finally {
- em.close();
}
}
}
@@ -634,25 +600,19 @@ public class ResourceFactoryManagerBeanTest extends AbstractEJB3Test {
Resource resource = null;
getTransactionManager().begin();
- EntityManager em = getEntityManager();
-
try {
- try {
- resource = new Resource("child" + System.currentTimeMillis(), "name", parentResourceType);
- resource.setUuid("" + new Random().nextInt());
- resource.setParentResource(parentResource);
- resource.setInventoryStatus(InventoryStatus.COMMITTED);
- em.persist(resource);
- } catch (Exception e) {
- System.out.println(e);
- getTransactionManager().rollback();
- }
-
- getTransactionManager().commit();
- } finally {
- em.close();
+ resource = new Resource("child" + System.currentTimeMillis(), "name", parentResourceType);
+ resource.setUuid("" + new Random().nextInt());
+ resource.setParentResource(parentResource);
+ resource.setInventoryStatus(InventoryStatus.COMMITTED);
+ em.persist(resource);
+ } catch (Exception e) {
+ System.out.println(e);
+ getTransactionManager().rollback();
}
+ getTransactionManager().commit();
+
return resource;
}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceGroupManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceGroupManagerBeanTest.java
index 7c8c632..851e08d 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceGroupManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceGroupManagerBeanTest.java
@@ -18,10 +18,6 @@
*/
package org.rhq.enterprise.server.resource.test;
-import javax.persistence.EntityManager;
-
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
@@ -41,9 +37,8 @@ import org.rhq.enterprise.server.util.SessionTestHelper;
public class ResourceGroupManagerBeanTest extends AbstractEJB3Test {
private static ResourceGroupManagerLocal resourceGroupManager;
- @BeforeMethod
- @SuppressWarnings("unused")
- private void init() {
+ @Override
+ protected void beforeMethod() {
try {
resourceGroupManager = LookupUtil.getResourceGroupManager();
prepareScheduler();
@@ -55,9 +50,8 @@ public class ResourceGroupManagerBeanTest extends AbstractEJB3Test {
}
}
- @AfterMethod
- @SuppressWarnings("unused")
- private void after() {
+ @Override
+ protected void afterMethod() {
try {
unprepareScheduler();
} catch (Throwable t) {
@@ -72,8 +66,6 @@ public class ResourceGroupManagerBeanTest extends AbstractEJB3Test {
public void testGetCompatibleGroupById() throws Exception {
getTransactionManager().begin();
try {
- EntityManager em = getEntityManager();
-
/* bootstrap */
ResourceType type = new ResourceType("type", "plugin", ResourceCategory.PLATFORM, null);
Subject testSubject = SessionTestHelper.createNewSubject(em, "testSubject");
@@ -104,8 +96,6 @@ public class ResourceGroupManagerBeanTest extends AbstractEJB3Test {
public void testUpdateGroupDescription() throws Exception {
getTransactionManager().begin();
try {
- EntityManager em = getEntityManager();
-
/* bootstrap */
ResourceType type = new ResourceType("type", "plugin", ResourceCategory.PLATFORM, null);
Subject testSubject = SessionTestHelper.createNewSubject(em, "testSubject");
@@ -137,8 +127,6 @@ public class ResourceGroupManagerBeanTest extends AbstractEJB3Test {
public void testUpdateGroupName() throws Exception {
getTransactionManager().begin();
try {
- EntityManager em = getEntityManager();
-
/* bootstrap */
ResourceType type = new ResourceType("type", "plugin", ResourceCategory.PLATFORM, null);
Subject testSubject = SessionTestHelper.createNewSubject(em, "testSubject");
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceStorageTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceStorageTest.java
index b8fce18..d748109 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceStorageTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceStorageTest.java
@@ -21,7 +21,6 @@ package org.rhq.enterprise.server.resource.test;
import java.util.List;
import java.util.Map;
-import javax.persistence.EntityManager;
import javax.persistence.Query;
import org.apache.commons.logging.Log;
@@ -40,10 +39,8 @@ 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.auth.SubjectManagerLocal;
-import org.rhq.enterprise.server.authz.AuthorizationManagerBean;
import org.rhq.enterprise.server.authz.AuthorizationManagerLocal;
import org.rhq.enterprise.server.discovery.DiscoveryBossLocal;
-import org.rhq.enterprise.server.resource.ResourceManagerBean;
import org.rhq.enterprise.server.resource.ResourceManagerLocal;
import org.rhq.enterprise.server.resource.group.ResourceGroupManagerLocal;
import org.rhq.enterprise.server.test.AbstractEJB3Test;
@@ -55,7 +52,7 @@ public class ResourceStorageTest extends AbstractEJB3Test {
// TODO GH: Fixme (setup non-super user and group)@Test(groups = "integration.ejb3")
public void testFindResourceComposite() throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
+
try {
ResourceManagerLocal resourceManager = LookupUtil.getResourceManager();
SubjectManagerLocal subjectManager = LookupUtil.getSubjectManager();
@@ -81,7 +78,6 @@ public class ResourceStorageTest extends AbstractEJB3Test {
@SuppressWarnings("unchecked")
public void testBindOrderBy() throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
try {
log.error("QUERY TEST!!");
Query q = em.createQuery("SELECT r FROM Resource r ORDER BY :col");
@@ -140,7 +136,6 @@ public class ResourceStorageTest extends AbstractEJB3Test {
@Test(groups = "integration.ejb3")
public void testConstructorQuery() throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
try {
Query q = em
.createQuery("SELECT new org.rhq.enterprise.server.resource.test.ResourceWithStatus(a.availabilityType,r) "
@@ -162,7 +157,6 @@ public class ResourceStorageTest extends AbstractEJB3Test {
@Test(groups = "integration.ejb3")
public void getDeadResources() throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
try {
Query q = em
.createQuery("SELECT new org.rhq.enterprise.server.resource.test.ResourceWithStatus(a.availabilityType,r) "
@@ -205,16 +199,11 @@ public class ResourceStorageTest extends AbstractEJB3Test {
public void resourceTest() throws Exception {
// TODO GH: Implement actual tests
- System.out.println("foo");
-
- ResourceManagerLocal resourceManager = (ResourceManagerLocal) getInitialContext().lookup(
- ResourceManagerBean.class.getSimpleName() + "/local");
+ ResourceManagerLocal resourceManager = LookupUtil.getResourceManager();
SubjectManagerLocal subjectManager = LookupUtil.getSubjectManager();
- // (SubjectManagerLocal) getInitialContext().lookup(SubjectManagerBean.class.getSimpleName() + "/local");
- AuthorizationManagerLocal authorizationManager = (AuthorizationManagerLocal) getInitialContext().lookup(
- AuthorizationManagerBean.class.getSimpleName() + "/local");
+ AuthorizationManagerLocal authorizationManager = LookupUtil.getAuthorizationManager();
Subject rhqadmin = subjectManager.loginUnauthenticated("rhqadmin");
System.out.println(rhqadmin);
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/scheduler/jobs/RepoSyncJobTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/scheduler/jobs/RepoSyncJobTest.java
index 1927932..b78244c 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/scheduler/jobs/RepoSyncJobTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/scheduler/jobs/RepoSyncJobTest.java
@@ -27,8 +27,6 @@ import java.util.Set;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.content.Repo;
@@ -41,14 +39,14 @@ public class RepoSyncJobTest extends AbstractEJB3Test {
private static final boolean ENABLED = true;
- @BeforeMethod
- public void beforeMethod() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
prepareScheduler();
prepareForTestAgents();
}
- @AfterMethod
- public void afterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
unprepareForTestAgents();
unprepareScheduler();
}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/sync/test/SynchronizationManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/sync/test/SynchronizationManagerBeanTest.java
index a0a3cc5..f00fe27 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/sync/test/SynchronizationManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/sync/test/SynchronizationManagerBeanTest.java
@@ -606,7 +606,9 @@ public class SynchronizationManagerBeanTest extends AbstractEJB3Test {
while ((cnt = str.read(buf)) >= 0) {
bld.append(buf, 0, cnt);
}
-
+ System.out.println("*********************************************");
+ System.out.println(bld.toString());
+ System.out.println("*********************************************");
return bld.toString();
} finally {
str.close();
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/system/SystemManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/system/SystemManagerBeanTest.java
index ede29a4..557c787 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/system/SystemManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/system/SystemManagerBeanTest.java
@@ -20,9 +20,6 @@ package org.rhq.enterprise.server.system;
import java.util.Properties;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.db.DatabaseType;
@@ -40,13 +37,10 @@ public class SystemManagerBeanTest extends AbstractEJB3Test {
private SystemManagerLocal systemManager;
private TestServerPluginService testServerPluginService;
- @BeforeClass
- public void setupServer() {
+ @Override
+ protected void beforeMethod() throws Exception {
systemManager = LookupUtil.getSystemManager();
- }
- @BeforeMethod
- public void beforeMethod() {
// do this each method so it doesn't expire
overlord = LookupUtil.getSubjectManager().getOverlord();
@@ -56,8 +50,8 @@ public class SystemManagerBeanTest extends AbstractEJB3Test {
testServerPluginService.startMasterPluginContainer();
}
- @AfterMethod(alwaysRun = true)
- public void tearDownServer() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
unprepareServerPluginService();
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
index da0b670..37a66b9 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
@@ -157,6 +157,7 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
Query query = entityManager.createNamedQuery(ResourceGroup.QUERY_FIND_BY_NAME_VISIBLE_GROUP);
query.setParameter("name", group.getName());
+ @SuppressWarnings("unchecked")
List<ResourceGroup> groups = query.getResultList();
if (groups.size() != 0) {
throw new ResourceGroupAlreadyExistsException("ResourceGroup with name " + group.getName()
@@ -341,8 +342,11 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
throws ResourceGroupDeleteException {
// for compatible groups, first recursively remove any referring backing groups for auto-clusters
- for (ResourceGroup referringGroup : group.getClusterBackingGroups()) {
- deleteResourceGroup(subject, referringGroup.getId());
+ List<ResourceGroup> clusterBackingGroups = group.getClusterBackingGroups();
+ if (null != clusterBackingGroups) {
+ for (ResourceGroup referringGroup : clusterBackingGroups) {
+ deleteResourceGroup(subject, referringGroup.getId());
+ }
}
Subject overlord = subjectManager.getOverlord();
@@ -999,7 +1003,6 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
}
}
- @SuppressWarnings("unchecked")
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public void setResourceType(int resourceGroupId) throws ResourceGroupDeleteException {
Query query = entityManager.createNamedQuery(ResourceType.QUERY_GET_EXPLICIT_RESOURCE_TYPE_COUNTS_BY_GROUP);
@@ -1008,7 +1011,8 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
Subject overlord = subjectManager.getOverlord();
ResourceGroup resourceGroup = getResourceGroupById(overlord, resourceGroupId, null);
- List results = query.getResultList();
+ @SuppressWarnings("unchecked")
+ List<Object> results = query.getResultList();
if (results.size() == 1) {
Object[] info = (Object[]) results.get(0);
int resourceTypeId = (Integer) info[0];
@@ -1505,14 +1509,14 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
: RecursivityChangeType.RemovedRecursion);
}
- @SuppressWarnings("unchecked")
public PageList<ResourceGroup> findResourceGroupsByCriteria(Subject subject, ResourceGroupCriteria criteria) {
CriteriaAuthzType authzType = getCriteriaAuthzType(subject, criteria);
CriteriaQueryGenerator generator = getCriteriaQueryGenerator(subject, criteria, authzType);
- CriteriaQueryRunner<ResourceGroup> queryRunner = new CriteriaQueryRunner(criteria, generator, entityManager);
+ CriteriaQueryRunner<ResourceGroup> queryRunner = new CriteriaQueryRunner<ResourceGroup>(criteria, generator,
+ entityManager);
PageList<ResourceGroup> result = queryRunner.execute();
11 years, 7 months
[rhq] Changes to 'mtho11/d3-charts'
by mike thompson
New branch 'mtho11/d3-charts' available with the following commits:
commit 33737202b9f1d4c2348ab66a496124fa4cd51b77
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Nov 6 16:09:33 2012 -0800
implemented base d3 line charts not working yet.
commit 0d19fe9f23a6d854063b4ae198b71507800ff5eb
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Nov 6 14:08:09 2012 -0800
Candlestick
commit 33e290f3f51ecd2b27c097b21c7f0e8c26ec17a6
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Nov 6 14:06:31 2012 -0800
new version of d3 2.10.3
commit 41fc926fafa928e522be967403e9bac60bb7a64e
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Oct 30 17:47:55 2012 -0700
Made the graph type be able to extend the different chart types.
commit a96c6d2a60f132aab1de81d756650f2b45354f17
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Oct 30 15:27:07 2012 -0700
Made the multiline graph type be able to extend the different chart types.
commit 9d8a7d9b86aec875fc84c28ec0b652b296b3cb68
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 29 18:36:21 2012 -0700
Add click handler on d3GraphListView
commit 8163ec7bedd84989c3962929f129e25d0c935eb5
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Sun Oct 28 15:50:28 2012 -0700
Fix bug in multiline-graph after several invocations.
commit 3ad9f2eae4940de3a612d9818805608806390c8e
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Oct 26 15:56:53 2012 -0700
Make the Set button work in dialog box.
commit b17190f6e4ef1c9bc5474bb7cac6a7eb0d3ebb16
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Oct 26 15:39:04 2012 -0700
Multi Line Graph line labels.
commit 223444e30c8b422a4e7a9eda72caa24866b394ea
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Oct 26 14:13:28 2012 -0700
Multi Line Graph working!
commit c7c960a4cc1171521aefe7864a4000710e435967
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Oct 25 18:57:16 2012 -0700
Graphing data now
commit 97693ab11f9bcc5fd11d7867b98fbe3e49a39a61
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Oct 25 18:14:11 2012 -0700
Graphing data now
commit d69b31545b2f5da275efee2db732d4e9060359b4
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Oct 25 16:19:51 2012 -0700
Hooked Json data up.
commit bc4d86e6c3fc59b0392adcb2581a00fee11bfa68
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Oct 25 09:18:21 2012 -0700
Added countDownLatch so chart drawing wont get executed until after all results are back.
commit 195cfaee999e4b4447d97e0b6ce64b2292ccc1c4
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Oct 24 15:50:21 2012 -0700
Call graphs on a timer because all x async calls need to be complete.
commit 12b3b49be4daa27bce8151c5a7566cd628fbd47a
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Oct 24 15:33:26 2012 -0700
Adding the multi-line graph.
commit b82cd0f38bf3e502820ff5e240d7abadf7f3f01f
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Oct 24 13:56:25 2012 -0700
Data retrieve to for autogroups is working.
commit a117abadfad610822e6e0cd2b355f009514353db
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 22 14:57:55 2012 -0700
save non-working version of composites for save-point recovery. having issues with retrieving autogroups.
commit a625a82a8ad667f7168a500073b0a295dc5a11e6
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 22 09:35:17 2012 -0700
Change the graph x axis scale to add day of week if time range > 24 hours.
commit 60089f354a56052c8cd200af0a7d16a44ff28c4c
Merge: cfcfeb7 31c3648
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Sun Oct 21 19:46:12 2012 -0700
Merge branch 'master' into d3-charts
commit cfcfeb70aea53b399af882e2553ef708d69bb265
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Sun Oct 21 19:43:36 2012 -0700
Added graph d. resource metric portlet.
commit 352d7fae58ae2408be1c80cff0f87d038c16cd8e
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Sat Oct 20 15:19:23 2012 -0700
Add composite multiline graph. Not complete.
commit 634dca0dcfc4e936e8c66ab55bdb2bbaf438e8a0
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Oct 19 11:15:25 2012 -0700
Add New nvd3.js libraries
commit ae4226befff596b937f3513daf664b6e1e3025c8
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Oct 18 17:22:26 2012 -0700
i18n
commit 64638f3dd97f58d8484ab474d5a3d84e55efe6d0
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Oct 18 16:47:02 2012 -0700
Git rid of NaN values.
commit 8df2ab13ab24091edbabb6c18d7d8352f36bee44
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Oct 18 16:00:58 2012 -0700
Add day name to date/time for longer time periods.
commit d12686c3c4098145dbb6134d758570ace0119a82
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Oct 18 14:41:08 2012 -0700
Remove client side svg submission for batik servers side rendering.
commit 97bf96155373813db76a960f68c85e5c40b2a6cd
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Oct 18 14:24:16 2012 -0700
Hook Filtering up.
commit 547b5b65697026c18a20c7fe65c73f1504212b96
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Oct 18 08:06:34 2012 -0700
Delete cubism, rickshaw add fisheye for nvd3 scatter plots.
commit 257c9b234442a8ced5d28c397af948584951569e
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Oct 17 15:26:01 2012 -0700
Added charting for autogroups.
commit 94b85ba1c3e28311d42b052b61c065e38b2eb084
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Oct 16 14:21:38 2012 -0700
Enable d3 Chart Selected Metrics.
commit fbe5f8c4ab32129dcb1dcff431f844482a876ffc
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Oct 16 10:30:42 2012 -0700
Add a BoundedLinkedList to support the sliding window of data for live graphs.
commit 65944f82859a62ccc20b42f454b10180f01b9058
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 15 15:43:03 2012 -0700
Livegraph now works with bar charts.
commit 7b9796613ea0711469589fa3f6c9d5ab00284f4d
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 15 09:14:17 2012 -0700
Add xmlns namespace for svg so batik can consume this svg.
commit 1f418b2b8492bc69bdaa0e8a1a166fbf75d2399c
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 15 08:58:10 2012 -0700
Add proper height for different chart sizes some use 100% some use 150px.
commit 26a56f79af147be4f98d399c2c64a5efc6b952d8
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 15 08:26:27 2012 -0700
Batik servlet cleanup.
commit c6a1ef89973048ddd025838cfa992c9756227981
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Oct 9 11:52:00 2012 -0700
made the servlet more robust with respect to error handling.
commit adcb0f52dc1471a717e1d149564bcadd2a3ff03f
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Oct 9 09:16:17 2012 -0700
Fixed Batik svg backend servlet.
commit 1cb2b65fb07b6c5ba7a9580d2a83733f862ad6c7
Merge: 6b24190 cb3474d
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 8 18:52:03 2012 -0700
Merge branch 'nvd3-batik' into nvd3-dashboard
commit 6b241900ad2088d6abdcf0c42b32e1e2a3eeb1ad
Merge: 76cf71f 35fb131
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 8 18:50:53 2012 -0700
Remove GSoC.
commit cb3474db45a033c97b712730719bc43d9f87e3fa
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 8 17:20:59 2012 -0700
Added Batik SVG servlet.
commit 76cf71feb1bfea103907fcd4b7eeb9e39f6d7954
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 8 09:59:36 2012 -0700
make the height adjustable.
commit c88ca3bb0ad12507aa388fd3d1f6ab86331521a8
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 8 07:58:44 2012 -0700
fix the resource monitor charts to work with nvd3.
commit 9025c70299823b93409aaafb6317a4aa9d4c6f47
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Oct 8 07:14:21 2012 -0700
format ticks on the hour.
commit 35fb131ff8aece64bfd6d85b4cef74b39e4122ea
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Sun Oct 7 17:51:26 2012 -0700
removed cubism graphs.
commit 2dd99e73d0e13ac93b21a635e76401d280d696d6
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Sun Oct 7 15:53:12 2012 -0700
set height on graph to 100%
commit 918792e44dba5b93d6c100f2dd6056b5d5c10006
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Sun Oct 7 15:48:17 2012 -0700
changed time format to H:M and xAxisLabel configurable.
commit f62660bd85d98b6f086dc67b3b7978a2cdf134e7
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Sun Oct 7 15:24:18 2012 -0700
removed controls from charts that were cluttering the graphs.
commit bbd4c0844f949c73b6551ead5f89b5a0505ac09c
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Sun Oct 7 15:09:23 2012 -0700
fixed date/time format on x axis issue.
commit cff8c9b5be44d7afb9f42f84e42410e50dcbdae7
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Oct 5 16:36:42 2012 -0700
fix issue with multiple charts and id naming collisions.
commit 24e66c0740163f596e2ecc133930b90f10c137c1
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Oct 5 15:26:05 2012 -0700
barchart with real live data. Time values not formatted on x axis yet.
commit 06364e90879ed402a3c5ce24896eb9a53e786147
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Oct 5 13:38:24 2012 -0700
added axis labels.
commit 374b8930163223a8680910b2595910f870624634
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Oct 5 11:32:40 2012 -0700
dashboard working with nvd3 graph and fake data.
commit f7c93356e24f7f73ad5d99ff1d7d1f56df741fba
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Oct 5 09:31:16 2012 -0700
generic fixes
commit 0ecd6c501bd21bbaedaabf8ba4cce20534ced827
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Oct 4 08:18:54 2012 -0700
Works with fake data.
commit 232bec94445fa61cc8a16b8870c2c909e4ca7775
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Oct 3 19:01:52 2012 -0700
Added nvd3 nv undefined error.
commit 0749a968a76d2d7366448421cdfbabfcf175f47b
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Oct 3 15:41:14 2012 -0700
Add Rickshaw. Rendering issue though in drawCharts.
commit cac1974fc840c3948b01ebd03e5c95cd6a7e6b98
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Oct 3 08:28:35 2012 -0700
Ready for jsni charts and data next.
commit e9356106a2db227b9e16a1c9316296b1870a0ede
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Oct 2 15:43:28 2012 -0700
cleanup groups.
commit 18a8243b6c5ec04f57c322da63a331a62f301f81
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Oct 2 15:43:13 2012 -0700
make graph size smaller
commit 446e6ee4119145c4aa17b0245bf89936d98ce0ef
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Oct 2 15:32:17 2012 -0700
Remove the Resource Selector
commit 5170d4c1f737c4d2efd3de5270db3078de02ec64
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Oct 2 15:15:01 2012 -0700
Remove unnecessary remoting calls to get graph data.
commit 0071b9fb264bbd8f99b4ebf68d6bae02f6f38517
Merge: c9bd94e feb01f4
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Oct 2 09:30:36 2012 -0700
Merge branch 'master' into cubism-static
commit c9bd94ef2ab4795ccfd9f62b6cb9ecdb3a689116
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Sep 27 14:00:15 2012 -0700
more fixes for the GraphDataProvider
commit 4747d487e9b3601e67db7bdff4c0cddc4d9e0f60
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Sep 26 16:23:16 2012 -0700
Rename methods.
commit 165359229aca9654b30862462e83c85dada7b2e3
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Sep 26 15:03:05 2012 -0700
Remove unused code.
commit 5819f029c032d3aab68ad4328fb4e1c387bfb710
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Sep 26 14:52:09 2012 -0700
Visual Changes to cubism graph
commit c8a1c7e5cdf92ad4ade6a4b75d48b7f2b68828b3
Merge: 44e813f d41955c
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Sep 26 09:18:26 2012 -0700
Merge branch 'master' into gsoc-charts2
commit 44e813f60845a73fc18af4d0266f5d077711feee
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Sep 26 09:17:13 2012 -0700
Minor changes to GraphMonitoringView.
commit bc9335595b44d148fd9985c22efe458f7221e4db
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Sep 25 18:08:25 2012 -0700
Delete CanvasUtility.
commit 5393b0db3dabf5e8c5fedf16528b78498ab829bc
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Sep 25 12:52:13 2012 -0700
Make graphs not visibible for IE8.
commit d91286fdd4be7dfe0c6ede5fd44ccf8f983d4159
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Sep 21 08:16:09 2012 -0700
Added nvd3.js. Lots of GraphViewChanges. Added new D3GraphListVIew.
commit baeb99013364077a9116852b11f6078c26070875
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Sep 19 12:15:45 2012 -0700
Make MessageListener interface package and not public. Add @Overrides where missing.
commit 3f6f87758942420fbd4bd0ef76cdb947cbad499c
Merge: 3162326 6314bfb
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Sep 18 09:26:26 2012 -0700
Merge branch 'master' into gsoc-charts2
commit 316232668d3fda8a1c368fb96cd1d8e91191d780
Merge: 3bdc399 a493f41
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Sep 17 15:23:16 2012 -0700
Merge branch 'master' into gsoc-charts2
commit 3bdc3996a3eaada12d809384cc1aa34e17cd4c5d
Merge: 64a9dec 42c00f9
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Sep 11 08:48:26 2012 -0700
Merge branch 'master' into gsoc-charts2
commit 64a9decc7458e608490259d1ea0d47c2195606bf
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Sep 10 18:46:53 2012 -0700
Documentation cleanup.
commit 0ad2f82992e06dbc05ac2db5c736f25219b36b24
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Sep 10 11:01:09 2012 -0700
Clean variable names.
commit 4b22e1f2e62626a0b90f32321070a49cb9728071
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Sep 10 08:49:57 2012 -0700
Original working.
commit 7d33574b7252b061287b1334e2a2ebdb57a859c4
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Sep 7 13:01:37 2012 -0700
Still broken but closer. Fixed endless looping.
commit e6ee8c7fba653107809a2b59a71bab4d2695d7ff
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Sep 7 09:52:24 2012 -0700
Non-working changes.
commit 52118943bf4a1a66eb2923111e4e1ad03a3d25f0
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Sep 5 15:30:49 2012 -0700
Refactoring javascript.
commit 7b9f0ebabe8b29c75c1024fdc56b6894635bb4a4
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Sep 5 15:13:17 2012 -0700
Prototype for d3.js.
commit beaf684b62b63902b01f02df8c115df861b6cbec
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Sep 5 15:03:21 2012 -0700
Prototype for d3.js.
commit 357d5bf73512d44b40a36fc5a3f0af15c2a67386
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Tue Sep 4 11:00:38 2012 -0700
Prototype for d3.js.
11 years, 7 months
[rhq] pom.xml
by lkrejci
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 3c42d61f9fce165cbaf6115e3a49b01b9d7dc2c7
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Thu Nov 8 12:34:24 2012 +0100
[BZ 803737] - Bumping Clirr maven plugin version to 2.5. No need for the patched version to do the API checks anymore.
diff --git a/pom.xml b/pom.xml
index a66acb6..5c146b2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -187,7 +187,7 @@
<animal.sniffer.java.signature.artifactId>java16</animal.sniffer.java.signature.artifactId>
<animal.sniffer.java.signature.version>1.0</animal.sniffer.java.signature.version>
<!-- API checks -->
- <clirr.version>2.4</clirr.version>
+ <clirr.version>2.5</clirr.version>
<!-- a default value for the child modules indicating that the module is not
part of our public API and is therefore not API-checked. -->
<rhq.internal>true</rhq.internal>
11 years, 7 months
[rhq] Branch 'rhq-on-as7' - modules/enterprise
by Jay Shaughnessy
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementBaselineManagerTest.java | 79 ++++------
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementDataManagerTest.java | 78 ++++-----
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementViewManagerTest.java | 15 -
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MetadataBeanTest.java | 20 +-
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java | 21 --
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java | 16 +-
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/test/UpdatePluginMetadataTestBase.java | 2
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java | 41 +++--
8 files changed, 125 insertions(+), 147 deletions(-)
New commits:
commit 7809d6644bcb918ad6803d831f3eb491407728af
Author: Jay Shaughnessy <jshaughn(a)jshaughn.csb>
Date: Wed Nov 7 17:22:48 2012 -0500
More test classes passing
- Add methods to register custom plugin scanner service
- Add more test resource files to deployment
-
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementBaselineManagerTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementBaselineManagerTest.java
index 86bfb07..5e41732 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementBaselineManagerTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementBaselineManagerTest.java
@@ -23,11 +23,8 @@ import java.util.Date;
import java.util.List;
import java.util.Random;
-import javax.persistence.EntityManager;
import javax.persistence.Query;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
@@ -57,7 +54,6 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
private MeasurementDefinition measDef;
private MeasurementSchedule measSched;
private MeasurementSchedule measSched2;
- private EntityManager entityManager;
private ResourceManagerLocal resourceManager;
private MeasurementBaselineManagerLocal baselineManager;
private MeasurementOOBManagerLocal oobManager;
@@ -68,17 +64,18 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
private List<MeasurementDefinition> allDefs;
private List<MeasurementSchedule> allScheds;
- @BeforeMethod
- public void beforeMethod() throws Exception {
- this.prepareScheduler();
+ @Override
+ protected void beforeMethod() throws Exception {
this.resourceManager = LookupUtil.getResourceManager();
this.baselineManager = LookupUtil.getMeasurementBaselineManager();
this.oobManager = LookupUtil.getOOBManager();
this.overlord = LookupUtil.getSubjectManager().getOverlord();
+
+ this.prepareScheduler();
}
- @AfterMethod
- public void afterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
this.unprepareScheduler();
}
@@ -93,7 +90,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
begin();
try {
- setupManyResources(entityManager, 20, 10);
+ setupManyResources(20, 10);
long now = System.currentTimeMillis();
long eldest = now - 180000;
@@ -162,8 +159,8 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
begin();
try {
- setupResources(entityManager);
- assert entityManager.find(Resource.class, platform.getId()) != null : "Did not setup platform - cannot test";
+ setupResources();
+ assert em.find(Resource.class, platform.getId()) != null : "Did not setup platform - cannot test";
long now = System.currentTimeMillis();
long eldest = now - 180000;
@@ -199,7 +196,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
begin();
- bl1 = entityManager.find(MeasurementSchedule.class, measSched.getId()).getBaseline();
+ bl1 = em.find(MeasurementSchedule.class, measSched.getId()).getBaseline();
assert bl1 != null : "Baseline for measSched should have been inserted";
assert bl1.getSchedule().getId() == measSched.getId();
assert !bl1.isUserEntered();
@@ -207,7 +204,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
assertEquals(50.0, bl1.getMax());
assertEquals(40.0, bl1.getMean());
- bl2 = entityManager.find(MeasurementSchedule.class, measSched2.getId()).getBaseline();
+ bl2 = em.find(MeasurementSchedule.class, measSched2.getId()).getBaseline();
assert bl2 != null : "Baseline for measSched2 should have been inserted";
assert bl2.getSchedule().getId() == measSched2.getId();
assert !bl2.isUserEntered();
@@ -231,7 +228,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
begin();
- bl1 = entityManager.find(MeasurementSchedule.class, measSched.getId()).getBaseline();
+ bl1 = em.find(MeasurementSchedule.class, measSched.getId()).getBaseline();
assert bl1 != null : "Baseline for measSched should have been inserted";
assert bl1.getSchedule().getId() == measSched.getId();
assert !bl1.isUserEntered();
@@ -239,7 +236,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
assertEquals(50.0, bl1.getMax());
assertEquals(40.0, bl1.getMean());
- bl2 = entityManager.find(MeasurementSchedule.class, measSched2.getId()).getBaseline();
+ bl2 = em.find(MeasurementSchedule.class, measSched2.getId()).getBaseline();
assert bl2 != null : "Baseline for measSched2 should have been inserted";
assert bl2.getSchedule().getId() == measSched2.getId();
assert !bl2.isUserEntered();
@@ -262,7 +259,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
begin();
- bl1 = entityManager.find(MeasurementSchedule.class, measSched.getId()).getBaseline();
+ bl1 = em.find(MeasurementSchedule.class, measSched.getId()).getBaseline();
assert bl1 != null : "Baseline for measSched should have been inserted";
assert bl1.getSchedule().getId() == measSched.getId();
assert !bl1.isUserEntered();
@@ -270,7 +267,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
assertEquals(50.00, bl1.getMax());
assertEquals(20.25, bl1.getMean());
- bl2 = entityManager.find(MeasurementSchedule.class, measSched2.getId()).getBaseline();
+ bl2 = em.find(MeasurementSchedule.class, measSched2.getId()).getBaseline();
assert bl2 != null : "Baseline for measSched2 should have been inserted";
assert bl2.getSchedule().getId() == measSched2.getId();
assert !bl2.isUserEntered();
@@ -309,8 +306,8 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
begin();
try {
- setupResources(entityManager);
- assert entityManager.find(Resource.class, platform.getId()) != null : "Did not setup platform - cannot test";
+ setupResources();
+ assert em.find(Resource.class, platform.getId()) != null : "Did not setup platform - cannot test";
long now = System.currentTimeMillis();
long eldest = now - 180000;
@@ -340,7 +337,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
oobManager.computeOOBsFromHourBeginingAt(overlord, eldest);
// check results
- Query q = entityManager.createQuery("SELECT oo FROM MeasurementOOB oo");
+ Query q = em.createQuery("SELECT oo FROM MeasurementOOB oo");
List<MeasurementOOB> oobs = q.getResultList();
System.out.println("OOBs calculated: \n" + oobs);
for (MeasurementOOB oob : oobs) {
@@ -362,7 +359,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
// Compute some more OOBs
oobManager.computeOOBsFromHourBeginingAt(overlord, elder);
- q = entityManager.createQuery("SELECT oo FROM MeasurementOOB oo");
+ q = em.createQuery("SELECT oo FROM MeasurementOOB oo");
oobs = q.getResultList();
// System.out.println("OOBs calculated: \n" + oobs);
@@ -376,7 +373,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
begin();
- q = entityManager.createQuery("DELETE FROM MeasurementOOB oo WHERE oo.id = :sched1 OR oo.id = :sched2");
+ q = em.createQuery("DELETE FROM MeasurementOOB oo WHERE oo.id = :sched1 OR oo.id = :sched2");
q.setParameter("sched1", measSched.getId());
q.setParameter("sched2", measSched2.getId());
q.executeUpdate();
@@ -396,7 +393,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
}
- private void setupResources(EntityManager em) {
+ private void setupResources() {
agent = new Agent("test-agent", "localhost", 1234, "", "randomToken");
em.persist(agent);
@@ -450,20 +447,20 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
deleteMeasurementDataNumeric1H(measSched);
deleteMeasurementDataNumeric1H(measSched2);
- if ((doomed = entityManager.find(MeasurementSchedule.class, measSched.getId())) != null) {
- entityManager.remove(doomed);
+ if ((doomed = em.find(MeasurementSchedule.class, measSched.getId())) != null) {
+ em.remove(doomed);
}
- if ((doomed = entityManager.find(MeasurementSchedule.class, measSched2.getId())) != null) {
- entityManager.remove(doomed);
+ if ((doomed = em.find(MeasurementSchedule.class, measSched2.getId())) != null) {
+ em.remove(doomed);
}
- if ((doomed = entityManager.find(MeasurementDefinition.class, measDef.getId())) != null) {
- entityManager.remove(doomed);
+ if ((doomed = em.find(MeasurementDefinition.class, measDef.getId())) != null) {
+ em.remove(doomed);
}
- if ((doomed = entityManager.find(ResourceType.class, platformType.getId())) != null) {
- entityManager.remove(doomed);
+ if ((doomed = em.find(ResourceType.class, platformType.getId())) != null) {
+ em.remove(doomed);
}
commit();
@@ -473,7 +470,7 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
}
}
- private void setupManyResources(EntityManager em, int resourceCount, int measurementCount) {
+ private void setupManyResources(int resourceCount, int measurementCount) {
allResources = new ArrayList<Resource>(resourceCount);
allDefs = new ArrayList<MeasurementDefinition>(measurementCount);
allScheds = new ArrayList<MeasurementSchedule>(resourceCount * measurementCount);
@@ -561,13 +558,13 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
begin();
for (MeasurementDefinition doomedDef : allDefs) {
- if ((doomed = entityManager.find(MeasurementDefinition.class, doomedDef.getId())) != null) {
- entityManager.remove(doomed);
+ if ((doomed = em.find(MeasurementDefinition.class, doomedDef.getId())) != null) {
+ em.remove(doomed);
}
}
- if ((doomed = entityManager.find(ResourceType.class, platformType.getId())) != null) {
- entityManager.remove(doomed);
+ if ((doomed = em.find(ResourceType.class, platformType.getId())) != null) {
+ em.remove(doomed);
}
commit();
@@ -587,14 +584,12 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
}
private void commit() throws Exception {
- entityManager.flush();
+ em.flush();
getTransactionManager().commit();
- entityManager.close();
}
private void begin() throws Exception {
getTransactionManager().begin();
- entityManager = getEntityManager();
}
private void insertMeasurementDataNumeric1H(long timeStamp, MeasurementSchedule schedule, double value, double min,
@@ -603,14 +598,14 @@ public class MeasurementBaselineManagerTest extends AbstractEJB3Test {
+ "(time_stamp, schedule_id, value, minvalue, maxvalue) " + "VALUES (" + timeStamp + "," + schedule.getId()
+ "," + value + "," + min + "," + max + ")";
- Query q = entityManager.createNativeQuery(sql);
+ Query q = em.createNativeQuery(sql);
assert q.executeUpdate() == 1;
}
private void deleteMeasurementDataNumeric1H(MeasurementSchedule schedule) {
String sql = "DELETE FROM RHQ_measurement_data_num_1h WHERE schedule_id = " + schedule.getId();
- Query q = entityManager.createNativeQuery(sql);
+ Query q = em.createNativeQuery(sql);
q.executeUpdate();
}
}
\ No newline at end of file
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementDataManagerTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementDataManagerTest.java
index 80f0cd2..1d7bd96 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementDataManagerTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementDataManagerTest.java
@@ -35,8 +35,6 @@ import java.util.Set;
import javax.persistence.EntityManager;
import javax.persistence.Query;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.clientapi.agent.measurement.MeasurementAgentService;
@@ -91,8 +89,8 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
private Agent theAgent;
private Set<MeasurementData> expectedResult1, expectedResult2, expectedResult3, expectedResult4;
- @BeforeMethod
- public void beforeMethod() {
+ @Override
+ protected void beforeMethod() {
try {
this.measurementDataManager = LookupUtil.getMeasurementDataManager();
this.callTimeDataManager = LookupUtil.getCallTimeDataManager();
@@ -106,14 +104,14 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
}
}
- @AfterMethod
- public void afterMethod() {
+ @Override
+ protected void afterMethod() {
try {
// delete values
callTimeDataManager.purgeCallTimeData(new Date());
- EntityManager em = beginTx();
+ beginTx();
// delete keys
List<Integer> resourceIds = new ArrayList<Integer>();
@@ -156,7 +154,7 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
theAgent = em.merge(theAgent);
em.remove(theAgent);
- commitAndClose(em);
+ commit();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
@@ -167,7 +165,7 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
public void bz658491() throws Exception {
try {
- EntityManager em = beginTx();
+ beginTx();
setupResources(em);
@@ -187,7 +185,7 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
report.addData(data1);
report.addData(data2);
- commitAndClose(em);
+ commit();
measurementDataManager.mergeMeasurementReport(report);
@@ -216,7 +214,7 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
public void bz658491OneResource() throws Exception {
try {
- EntityManager em = beginTx();
+ beginTx();
setupResources(em);
@@ -236,7 +234,7 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
report.addData(data1);
report.addData(data2);
- commitAndClose(em);
+ commit();
measurementDataManager.mergeMeasurementReport(report);
@@ -310,6 +308,7 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
* @param em The EntityManager to use
*
*/
+ @SuppressWarnings("unchecked")
private void setupGroupOfResources(EntityManager em) {
theAgent = new Agent("testagent", "localhost", 1234, "", "randomToken");
em.persist(theAgent);
@@ -410,9 +409,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testFindLiveDataForGroup1() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
Set<MeasurementData> actualResult = measurementDataManager.findLiveDataForGroup(overlord, group.getId(),
new int[] { resource1.getId() }, new int[] { definitionCt1.getId() });
@@ -435,9 +434,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testFindLiveDataForGroup2() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
Set<MeasurementData> actualResult = measurementDataManager.findLiveDataForGroup(overlord, group.getId(),
new int[] { resource1.getId(), resource2.getId() },
@@ -454,9 +453,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testFindLiveDataForGroup3() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
Set<MeasurementData> actualResult = measurementDataManager.findLiveDataForGroup(overlord, group.getId(),
@@ -473,9 +472,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testFindLiveDataForGroup4() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
measurementDataManager.findLiveDataForGroup(null, group.getId(), new int[] { resource1.getId() },
new int[] { definitionCt1.getId() });
@@ -488,9 +487,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testAddAndFindTrait1() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
Set<MeasurementDataTrait> expectedResult = new HashSet<MeasurementDataTrait>();
for (MeasurementData data : expectedResult1) {
@@ -515,9 +514,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testAddAndFindTrait2() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
Set<MeasurementDataTrait> expectedResult = new HashSet<MeasurementDataTrait>();
for (MeasurementData data : expectedResult4) {
@@ -542,9 +541,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testAddAndFindTrait3() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
Set<MeasurementDataTrait> traitsData = new HashSet<MeasurementDataTrait>();
Set<MeasurementDataTrait> expectedResult = new HashSet<MeasurementDataTrait>();
@@ -574,9 +573,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testFindNonExistentTraitByResourceId() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
// get back the trait data
List<MeasurementDataTrait> actualResult = measurementDataManager.findTraits(overlord, resource2.getId(), definitionCt2.getId());
@@ -598,9 +597,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testAddAndFindByCriteria() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
Set<MeasurementDataTrait> expectedResult = new HashSet<MeasurementDataTrait>();
for (MeasurementData data : expectedResult1) {
@@ -647,9 +646,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testAddAndFindCurrentTraitByResourceId() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
// get back the trait data
List<MeasurementDataTrait> actualResult = measurementDataManager.findCurrentTraitsForResource(overlord, resource1.getId(), null);
@@ -665,9 +664,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testAddAndFindCurrentTraitByResourceIdAcrossMoreSchedules() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
Set<MeasurementDataTrait> expectedResult = new HashSet<MeasurementDataTrait>();
for (MeasurementData data : expectedResult2) {
@@ -692,9 +691,9 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
@Test
public void testFindNonExistentCurrentTraitByResourceId() throws Exception {
// prepare DB
- EntityManager em = beginTx();
+ beginTx();
setupGroupOfResources(em);
- commitAndClose(em);
+ commit();
try {
Set<MeasurementDataTrait> expectedResult = new HashSet<MeasurementDataTrait>();
for (MeasurementData data : expectedResult2) {
@@ -723,15 +722,12 @@ public class MeasurementDataManagerTest extends AbstractEJB3Test {
return measurement;
}
- private EntityManager beginTx() throws Exception {
+ private void beginTx() throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
- return em;
}
- private void commitAndClose(EntityManager em) throws Exception {
+ private void commit() throws Exception {
em.flush();
getTransactionManager().commit();
- em.close();
}
}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementViewManagerTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementViewManagerTest.java
index 285e2ce..ee230f0 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementViewManagerTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/measurement/test/MeasurementViewManagerTest.java
@@ -3,11 +3,8 @@ package org.rhq.enterprise.server.measurement.test;
import java.util.ArrayList;
import java.util.List;
-import javax.persistence.EntityManager;
import javax.persistence.Query;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
@@ -41,8 +38,8 @@ public class MeasurementViewManagerTest extends AbstractEJB3Test {
// TODO: jmarques - write unit tests for MeasurementViewManager
}
- @BeforeMethod
- public void init() throws Exception {
+ @Override
+ public void beforeMethod() throws Exception {
viewManager = LookupUtil.getMeasurementViewManager();
subjectManager = LookupUtil.getSubjectManager();
@@ -50,8 +47,6 @@ public class MeasurementViewManagerTest extends AbstractEJB3Test {
getTransactionManager().begin();
try {
- EntityManager em = getEntityManager();
-
String prefix = MeasurementViewManagerTest.class.getSimpleName();
type = new ResourceType(prefix + "type", prefix + "plugin", ResourceCategory.PLATFORM, null);
@@ -99,12 +94,10 @@ public class MeasurementViewManagerTest extends AbstractEJB3Test {
}
}
- @AfterMethod
- public void afterTest() throws Exception {
+ @Override
+ public void afterMethod() throws Exception {
getTransactionManager().begin();
try {
- EntityManager em = getEntityManager();
-
List<Integer> measurementDefinitionIds = new ArrayList<Integer>();
for (int i = 0; i < definitions.size(); i++) {
measurementDefinitionIds.add(definitions.get(i).getId());
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MetadataBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MetadataBeanTest.java
index a3ca64c..a5896b7 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MetadataBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MetadataBeanTest.java
@@ -28,9 +28,9 @@ import org.dbunit.dataset.datatype.IDataTypeFactory;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.dataset.xml.FlatXmlProducer;
import org.dbunit.operation.DatabaseOperation;
-import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
import org.xml.sax.InputSource;
import org.rhq.core.clientapi.descriptor.plugin.PluginDescriptor;
@@ -52,21 +52,23 @@ public class MetadataBeanTest extends AbstractEJB3Test {
private List<Integer> pluginIds = new ArrayList<Integer>();
- // @BeforeGroups currently executes only as client (remote) only with Arquillian/testNg. So,
- // we can't get DS here. Now called from BeforeMethod.
+ // Arquillian (1.0.2) executes @BeforeGroups only as client (remote). So, we can't get DS here.
+ // Also, it is called for each test. For now call from BeforeMethod.
//
//@BeforeGroups(groups = { "plugin.metadata" }, dependsOnGroups = { "integration.ejb3" })
public void beforeGroups() throws Exception {
setupDB();
}
+ // Arquillian (1.0.2) executes @AfterClass after each test. So, instead turn it into a low priority
+ // test that should execute last.
/**
* Need to delete rows from RHQ_PLUGINS because subsequent tests in server/jar would otherwise fail. Some tests look
* at what plugins are in the database, and then look for corresponding plugin files on the file system. MetadataTest
* however removes the generated plugin files during each test run.
*/
- @AfterClass(alwaysRun = true, groups = { "plugin.metadata" })
- void afterClass() throws Exception {
+ @Test(priority = 10, alwaysRun = true, groups = { "plugin.metadata" })
+ void afterClassStandIn() throws Exception {
// Although its documented that AfterXXX don't execute in-container (only as client), in practice this is not true
// and we perform in-container work here.
if (!inContainer()) {
@@ -82,7 +84,7 @@ public class MetadataBeanTest extends AbstractEJB3Test {
}
@BeforeMethod(groups = { "plugin.metadata" }, dependsOnGroups = { "integration.ejb3" })
- public void before() throws Exception {
+ protected void before() throws Exception {
if (!inContainer()) {
return;
}
@@ -103,7 +105,7 @@ public class MetadataBeanTest extends AbstractEJB3Test {
* however removes the generated plugin files during each test run.
*/
@AfterMethod(alwaysRun = true, groups = { "plugin.metadata" })
- void after() throws Exception {
+ protected void after() throws Exception {
if (!inContainer()) {
return;
}
@@ -188,11 +190,11 @@ public class MetadataBeanTest extends AbstractEJB3Test {
}
protected String getPluginWorkDir() throws Exception {
- return getCurrentWorkingDir() + "/work";
+ return getCurrentWorkingDir() + "/rhqtest";
}
protected String getCurrentWorkingDir() throws Exception {
- return getClass().getResource(".").toURI().getPath();
+ return System.getProperty("java.io.tmpdir");
}
String getAmpsVersion(PluginDescriptor pluginDescriptor) {
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
index b24ea04..b27abee3 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
@@ -25,13 +25,11 @@ import java.util.List;
import javax.ejb.EJBException;
-import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;
import org.rhq.core.domain.plugin.Plugin;
import org.rhq.core.domain.plugin.PluginStatusType;
import org.rhq.enterprise.server.auth.SubjectManagerLocal;
-import org.rhq.enterprise.server.core.plugin.PluginDeploymentScanner;
import org.rhq.enterprise.server.scheduler.jobs.PurgePluginsJob;
import org.rhq.enterprise.server.scheduler.jobs.PurgeResourceTypesJob;
import org.rhq.enterprise.server.util.LookupUtil;
@@ -45,25 +43,6 @@ public class PluginManagerBeanTest extends MetadataBeanTest {
private SubjectManagerLocal subjectMgr;
private PluginManagerLocal pluginMgr;
- // Our test class wants to deploy plugins that other test methods use.
- // We need to keep intact our plugin scanner throughout our methods
- // so we keep our own copy here.
- private PluginDeploymentScanner pluginScanner;
-
- @AfterClass
- public void afterClass() throws Exception {
- this.pluginScanner = null;
- super.afterClass();
- }
-
- @Override
- protected void preparePluginScannerService() {
- if (this.pluginScanner == null) {
- this.pluginScanner = new PluginDeploymentScanner();
- }
- super.preparePluginScannerService(this.pluginScanner);
- }
-
public void registerPlugins() throws Exception {
subjectMgr = LookupUtil.getSubjectManager();
pluginMgr = LookupUtil.getPluginManager();
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java
index 624793c..aad3ef8 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java
@@ -56,8 +56,12 @@ public class PluginScanningExtensionMetadataTest extends MetadataBeanTest {
private List<File> createdJarFiles = new ArrayList<File>();
private PluginDeploymentScanner pluginScanner;
- @BeforeMethod
- public void prepareBeforeTestMethod() {
+ @BeforeMethod(groups = { "plugin.metadata" }, dependsOnGroups = { "integration.ejb3" })
+ protected void beforeTestMethod() throws Exception {
+ if (!inContainer()) {
+ return;
+ }
+
subjectMgr = LookupUtil.getSubjectManager();
resourceTypeMgr = LookupUtil.getResourceTypeManager();
@@ -70,8 +74,11 @@ public class PluginScanningExtensionMetadataTest extends MetadataBeanTest {
createdJarFiles.clear();
}
- @AfterMethod(alwaysRun = true)
- public void cleanUpAfterTestMethod() {
+ @AfterMethod(groups = { "plugin.metadata" }, dependsOnGroups = { "integration.ejb3" })
+ protected void afterTestMethod() throws Exception {
+ if (!inContainer()) {
+ return;
+ }
// clean up any generated jar files - we want to remove these so they don't get in the way of a future test run
if (!createdJarFiles.isEmpty()) {
for (File doomed : createdJarFiles) {
@@ -82,7 +89,6 @@ public class PluginScanningExtensionMetadataTest extends MetadataBeanTest {
}
@Override
- @Test(enabled = false)
// this method isn't a test method
protected void preparePluginScannerService() {
if (this.pluginScanner == null) {
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/test/UpdatePluginMetadataTestBase.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/test/UpdatePluginMetadataTestBase.java
index ef785fc..53d7f14 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/test/UpdatePluginMetadataTestBase.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/test/UpdatePluginMetadataTestBase.java
@@ -88,7 +88,7 @@ public class UpdatePluginMetadataTestBase extends AbstractEJB3Test {
prepareScheduler();
try {
- unpreparePluginScannerService(true);
+ unpreparePluginScannerService();
} catch (Exception e) {
throw new RuntimeException(e);
}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java
index a88542a..f0f13d4 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java
@@ -132,6 +132,14 @@ public abstract class AbstractEJB3Test extends Arquillian {
testClassesJar.addAsResource("test-assist-color-number.txt");
testClassesJar.addAsResource("org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.xml");
testClassesJar.addAsResource("org/rhq/enterprise/server/inventory/InventoryManagerBeanTest.xml");
+ testClassesJar
+ .addAsResource("org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest/child1_plugin_v1.xml");
+ testClassesJar
+ .addAsResource("org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest/child2_plugin_v1.xml");
+ testClassesJar
+ .addAsResource("org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest/parent_plugin_v1.xml");
+ testClassesJar
+ .addAsResource("org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest/parent_plugin_v2.xml");
testClassesJar.addAsResource("serverplugins/simple-generic-serverplugin.xml");
// create test ear by starting with rhq.ear and thinning it
@@ -620,7 +628,7 @@ public abstract class AbstractEJB3Test extends Arquillian {
testServiceMBean.start();
mbs.registerMBean(testServiceMBean, ServerPluginServiceMBean.OBJECT_NAME);
serverPluginService = testServiceMBean;
- return;
+
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -765,10 +773,16 @@ public abstract class AbstractEJB3Test extends Arquillian {
if (scannerService == null) {
scannerService = new PluginDeploymentScanner();
}
- // MBeanServer mbs = getJBossMBeanServer();
- // mbs.registerMBean(scannerService, PluginDeploymentScannerMBean.OBJECT_NAME);
- // pluginScannerService = scannerService;
- return;
+
+ MBeanServer mbs = getPlatformMBeanServer();
+ if (mbs.isRegistered(PluginDeploymentScannerMBean.OBJECT_NAME)) {
+ mbs.unregisterMBean(PluginDeploymentScannerMBean.OBJECT_NAME);
+ }
+
+ // Now replace with the test service...
+ mbs.registerMBean(scannerService, PluginDeploymentScannerMBean.OBJECT_NAME);
+ pluginScannerService = scannerService;
+
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
@@ -776,22 +790,15 @@ public abstract class AbstractEJB3Test extends Arquillian {
}
public void unpreparePluginScannerService() throws Exception {
- unpreparePluginScannerService(false);
- }
-
- public void unpreparePluginScannerService(boolean beanOnly) throws Exception {
if (pluginScannerService != null) {
pluginScannerService.stop();
- if (beanOnly) {
- // MBeanServer mbs = getJBossMBeanServer();
- // if (mbs.isRegistered(PluginDeploymentScannerMBean.OBJECT_NAME)) {
- // getJBossMBeanServer().unregisterMBean(PluginDeploymentScannerMBean.OBJECT_NAME);
- }
- } else {
- // releaseJBossMBeanServer();
+ pluginScannerService = null;
}
- pluginScannerService = null;
+ MBeanServer mbs = getPlatformMBeanServer();
+ if (mbs.isRegistered(PluginDeploymentScannerMBean.OBJECT_NAME)) {
+ mbs.unregisterMBean(PluginDeploymentScannerMBean.OBJECT_NAME);
+ }
}
public MBeanServer getPlatformMBeanServer() {
11 years, 7 months
[rhq] modules/enterprise
by John Sanda
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java | 1 +
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBean.java | 1 +
2 files changed, 2 insertions(+)
New commits:
commit 20212484ca59c5a0f3f206f48c5b03038184ed90
Author: John Sanda <jsanda(a)redhat.com>
Date: Wed Nov 7 17:02:12 2012 -0500
[BZ 857189] change transaction boundaries when installing resource types
Previously a new transaction was started for
PluginManagerBean.registerPluginTypes. All resource types and associated meta
data are persisted to the database during this method. For a plugin like the
AS 7 plugin which has a var large number of resource types (406 to be exact),
this could result in transaction time outs which in turn would lead to the
plugin not to be fully installed.
This commit changes the transaction boundaries such that a transaction is no
longer started for the registerPluginTypes method. Instead a new, separate
transaction is created for each individual resource type that is being
installed/updated.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
index d1fbb80..925130e 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
@@ -420,6 +420,7 @@ public class PluginManagerBean implements PluginManagerLocal {
}
@Override
+ @TransactionAttribute(TransactionAttributeType.NEVER)
public boolean registerPluginTypes(String newPluginName, PluginDescriptor pluginDescriptor, boolean newOrUpdated,
boolean forceUpdate) throws Exception {
boolean typesUpdated = false;
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBean.java
index 2c8a925..04175ea 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBean.java
@@ -117,6 +117,7 @@ public class ResourceMetadataManagerBean implements ResourceMetadataManagerLocal
@EJB
private PluginConfigurationMetadataManagerLocal pluginConfigMetadataMgr;
+ @TransactionAttribute(TransactionAttributeType.NEVER)
public void updateTypes(Set<ResourceType> resourceTypes) throws Exception {
// Only process the type if it is a non-runs-inside type (i.e. not a child of some other type X at this same
// level in the type hierarchy). runs-inside types which we skip here will get processed at the next level down
11 years, 7 months
[rhq] Branch 'rhq-on-as7' - modules/enterprise
by Jay Shaughnessy
modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManager.java | 3
modules/enterprise/server/itests-2/pom.xml | 14
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java | 224 ++++++++++
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/cloud/FailoverListManagerBeanTest.java | 27 -
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/LargeGroupPluginConfigurationTest.java | 14
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/LargeGroupResourceConfigurationTest.java | 12
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/event/test/EventManagerTest.java | 11
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/inventory/InventoryManagerBeanTest.java | 12
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java | 10
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/GroupWithUncommittedTest.java | 7
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/LargeGroupCriteriaTest.java | 10
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/LdapGroupManagerBeanTest.java | 18
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java | 3
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/LargeGroupTestBase.java | 49 --
modules/enterprise/server/itests/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java | 224 ----------
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java | 5
16 files changed, 309 insertions(+), 334 deletions(-)
New commits:
commit 5235af61fdbb2cfe2fbf33c1d8013f89c19e2f7c
Author: Jay Shaughnessy <jshaughn(a)jshaughn.csb>
Date: Wed Nov 7 15:27:10 2012 -0500
More test classes passing
- migrate JndiAccessTest from itests to itests-2
- fix issue in RhqManager
- NOT TOTALLY PASSING, need Lukas
- fix jndi lookup for getEntityManagerFacade
- add more required test resources to teast deployment
diff --git a/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManager.java b/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManager.java
index 1dd79f1..d374324 100644
--- a/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManager.java
+++ b/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManager.java
@@ -93,7 +93,6 @@ public enum RhqManager {
private String beanName;
private boolean enabled;
- private static final int REMOTE_IFACE_SUFFIX_LENGTH = "Remote".length();
private RhqManager(Class<?> remote, String enable) {
this.remote = remote;
@@ -141,6 +140,6 @@ public enum RhqManager {
+ "' does not follow the established naming convention. This is a bug, please report it.");
}
- return ifaceName.substring(0, ifaceName.length() - REMOTE_IFACE_SUFFIX_LENGTH) + "Local";
+ return (ifaceName.substring(0, ifaceName.lastIndexOf("Remote")) + "Local");
}
}
\ No newline at end of file
diff --git a/modules/enterprise/server/itests-2/pom.xml b/modules/enterprise/server/itests-2/pom.xml
index 2d988d1..80e9758 100644
--- a/modules/enterprise/server/itests-2/pom.xml
+++ b/modules/enterprise/server/itests-2/pom.xml
@@ -120,6 +120,20 @@
</dependency>
<dependency>
+ <groupId>org.rhq</groupId>
+ <artifactId>rhq-script-bindings</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.rhq</groupId>
+ <artifactId>rhq-server-client-api</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
<groupId>${project.groupId}</groupId>
<artifactId>rhq-serverplugin-drift</artifactId>
<version>${project.version}</version>
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java
new file mode 100644
index 0000000..274e94f
--- /dev/null
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java
@@ -0,0 +1,224 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-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.enterprise.client.security.test;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.security.PermissionCollection;
+import java.util.Collections;
+
+import javax.script.ScriptEngine;
+import javax.script.ScriptException;
+
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import org.rhq.bindings.ScriptEngineFactory;
+import org.rhq.bindings.StandardBindings;
+import org.rhq.bindings.StandardScriptPermissions;
+import org.rhq.bindings.util.PackageFinder;
+import org.rhq.core.domain.auth.Subject;
+import org.rhq.enterprise.client.LocalClient;
+import org.rhq.enterprise.server.RHQConstants;
+import org.rhq.enterprise.server.auth.SubjectManagerBean;
+import org.rhq.enterprise.server.test.AbstractEJB3Test;
+import org.rhq.enterprise.server.util.LookupUtil;
+import org.rhq.jndi.AllowRhqServerInternalsAccessPermission;
+
+/**
+ *
+ *
+ * @author Lukas Krejci
+ */
+@Test
+public class JndiAccessTest extends AbstractEJB3Test {
+
+ public void testEjbsAccessibleThroughPrivilegedCode() {
+ LookupUtil.getSubjectManager().getOverlord();
+ }
+
+ public void testEjbsAccessibleThroughLocalClient() throws ScriptException, IOException {
+ Subject overlord = LookupUtil.getSubjectManager().getOverlord();
+
+ ScriptEngine engine = getEngine(overlord);
+
+ engine.eval("SubjectManager.getSubjectByName('rhqadmin');");
+ }
+
+ public void testLocalEjbsInaccessibleThroughJndiLookup() throws ScriptException, IOException {
+ Subject overlord = LookupUtil.getSubjectManager().getOverlord();
+
+ ScriptEngine engine = getEngine(overlord);
+
+ String jndiName = "java:global/rhq/rhq-enterprise-server-ejb3/" + SubjectManagerBean.class.getSimpleName()
+ + "!" + SubjectManagerBean.class.getName().replace("Bean", "Local");
+
+ try {
+ engine.eval(""
+ + "var ctx = new javax.naming.InitialContext();\n"
+ + "var subjectManager = ctx.lookup('" + jndiName + "');\n"
+ + "subjectManager.getOverlord();");
+
+ Assert.fail("The script shouldn't have been able to call local SLSB method.");
+ } catch (ScriptException e) {
+ checkIsDesiredSecurityException(e);
+ }
+ }
+
+ public void testRemoteEjbsInaccessibleThroughJndiLookup() throws ScriptException, IOException {
+ Subject overlord = LookupUtil.getSubjectManager().getOverlord();
+
+ ScriptEngine engine = getEngine(overlord);
+
+ String jndiName = "java:global/rhq/rhq-enterprise-server-ejb3/" + SubjectManagerBean.class.getSimpleName()
+ + "!" + SubjectManagerBean.class.getName().replace("Bean", "Remote");
+
+ try {
+ engine.eval(""
+ + "var ctx = new javax.naming.InitialContext();\n"
+ + "var subjectManager = ctx.lookup('" + jndiName + "');\n"
+ + "subjectManager.getSubjectByName('rhqadmin');");
+
+ Assert.fail("The script shouldn't have been able to call remote SLSB method directly.");
+ } catch (ScriptException e) {
+ checkIsDesiredSecurityException(e);
+ }
+ }
+
+ public void testScriptCantUseSessionManagerMethods() throws Exception {
+
+ Subject overlord = LookupUtil.getSubjectManager().getOverlord();
+
+ final ScriptEngine engine = getEngine(overlord);
+
+ class G {
+ private String sessionManager = ""
+ + "org.rhq.enterprise.server.auth.SessionManager.getInstance().";
+
+ public void testInvoke(String methodCall) throws ScriptException {
+ String code = sessionManager + methodCall;
+
+ try {
+ engine.eval(code);
+ Assert.fail("The script shouldn't have been able to call a method on a SessionManager: " + methodCall);
+ } catch (ScriptException e) {
+ checkIsDesiredSecurityException(e);
+ }
+ }
+ };
+ G manager = new G();
+
+ manager.testInvoke("getlastAccess(0);");
+ manager.testInvoke("getOverlord()");
+ manager.testInvoke("getSubject(2);");
+ manager.testInvoke("invalidate(0);");
+ manager.testInvoke("invalidate(\"\");");
+ manager.testInvoke("put(new org.rhq.core.domain.auth.Subject());");
+ manager.testInvoke("put(new org.rhq.core.domain.auth.Subject(), 0);");
+ }
+
+ public void testScriptCantObtainRawJDBCConnectionsWithoutCredentials() throws Exception {
+ Subject overlord = LookupUtil.getSubjectManager().getOverlord();
+
+ ScriptEngine engine = getEngine(overlord);
+
+ try {
+ engine.eval(""
+ + "var ctx = new javax.naming.InitialContext();\n"
+ + "var datasource = ctx.lookup('" + RHQConstants.DATASOURCE_JNDI_NAME + "');\n"
+ + "con = datasource.getConnection();");
+
+ Assert.fail("The script shouldn't have been able to obtain the datasource from the JNDI.");
+ } catch (ScriptException e) {
+ checkIsDesiredSecurityException(e);
+ }
+ }
+
+ public void testScriptCantUseEntityManager() throws Exception {
+ Subject overlord = LookupUtil.getSubjectManager().getOverlord();
+
+ ScriptEngine engine = getEngine(overlord);
+
+ try {
+ engine.eval(""
+ + "var ctx = new javax.naming.InitialContext();\n"
+ + "var entityManagerFactory = ctx.lookup('" + RHQConstants.ENTITY_MANAGER_JNDI_NAME + "');\n"
+ + "var entityManager = entityManagerFactory.createEntityManager();\n"
+ + "entityManager.find(java.lang.Class.forName('org.rhq.core.domain.resource.Resource'), java.lang.Integer.valueOf('10001'));");
+
+ Assert.fail("The script shouldn't have been able to use the EntityManager.");
+ } catch (ScriptException e) {
+ checkIsDesiredSecurityException(e);
+ }
+
+ //try harder with manually specifying the initial context factory
+ try {
+ engine.eval(""
+ + "var env = new java.util.Hashtable();"
+ + "env.put('java.naming.factory.initial', 'org.jboss.as.naming.InitialContextFactory');"
+ //+ "env.put('java.naming.factory.url.pkgs', 'org.jboss.naming:org.jnp.interfaces');"
+ + "var ctx = new javax.naming.InitialContext(env);\n"
+ + "var entityManagerFactory = ctx.lookup('" + RHQConstants.ENTITY_MANAGER_JNDI_NAME + "');\n"
+ + "var entityManager = entityManagerFactory.createEntityManager();\n"
+ + "entityManager.find(java.lang.Class.forName('org.rhq.core.domain.resource.Resource'), java.lang.Integer.valueOf('10001'));");
+
+ Assert.fail("The script shouldn't have been able to use the EntityManager even using custom initial context factory.");
+ } catch (ScriptException e) {
+ checkIsDesiredSecurityException(e);
+ }
+ }
+
+ public void testProxyFactoryWorksWithSecuredScriptEngine() throws Exception {
+ Subject overlord = LookupUtil.getSubjectManager().getOverlord();
+
+ ScriptEngine engine = getEngine(overlord);
+
+ try {
+ engine.eval("var resource = ProxyFactory.getResource(10001);");
+ } catch (ScriptException e) {
+ //if the script fails (there is no resource with ID 10001)
+ //it should not be because of an access control exception
+ checkIsNotASecurityException(e);
+ }
+ }
+
+ private ScriptEngine getEngine(Subject subject) throws ScriptException, IOException {
+ StandardBindings bindings = new StandardBindings(new PrintWriter(System.out), new LocalClient(subject));
+
+ PermissionCollection perms = new StandardScriptPermissions();
+
+ return ScriptEngineFactory.getSecuredScriptEngine("javascript",
+ new PackageFinder(Collections.<File> emptyList()), bindings, perms);
+ }
+
+ private static void checkIsDesiredSecurityException(ScriptException e) {
+ String message = e.getMessage();
+ String permissionTrace = AllowRhqServerInternalsAccessPermission.class.getName();
+
+ Assert.assertTrue(message.contains(permissionTrace), "The script exception doesn't seem to be caused by the AllowRhqServerInternalsAccessPermission security exception. " + message);
+ }
+
+ private static void checkIsNotASecurityException(ScriptException e) {
+ String message = e.getMessage();
+ String permissionTrace = AllowRhqServerInternalsAccessPermission.class.getName();
+
+ Assert.assertFalse(message.contains(permissionTrace), "The script exception does seem to be caused by the AllowRhqServerInternalsAccessPermission security exception although it shouldn't. " + message);
+ }
+}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/cloud/FailoverListManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/cloud/FailoverListManagerBeanTest.java
index ac07e18..26a6254 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/cloud/FailoverListManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/cloud/FailoverListManagerBeanTest.java
@@ -25,11 +25,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.persistence.EntityManager;
-
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
@@ -70,11 +65,8 @@ public class FailoverListManagerBeanTest extends AbstractEJB3Test {
private PartitionEvent partitionEvent;
private List<Agent> newAgents;
- /**
- * Prepares things for the entire test class.
- */
- @BeforeClass
- public void beforeClass() {
+ @Override
+ protected void beforeMethod() throws Exception {
agentManager = LookupUtil.getAgentManager();
failoverListManager = LookupUtil.getFailoverListManager();
partitionEventManager = LookupUtil.getPartitionEventManager();
@@ -85,10 +77,7 @@ public class FailoverListManagerBeanTest extends AbstractEJB3Test {
servers = new ArrayList<Server>();
agents = new ArrayList<Agent>();
newAgents = new ArrayList<Agent>();
- }
- @BeforeMethod
- public void beforeMethod() throws Exception {
servers.clear();
agents.clear();
newAgents.clear();
@@ -96,8 +85,8 @@ public class FailoverListManagerBeanTest extends AbstractEJB3Test {
prepareForTestAgents();
}
- @AfterMethod(alwaysRun = true)
- public void afterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
try {
getTransactionManager().begin();
@@ -155,7 +144,7 @@ public class FailoverListManagerBeanTest extends AbstractEJB3Test {
Agent agent;
getTransactionManager().begin();
- EntityManager em = getEntityManager();
+
try {
for (int i = 0; (i < numServers); ++i) {
server = new Server();
@@ -190,14 +179,12 @@ public class FailoverListManagerBeanTest extends AbstractEJB3Test {
}
throw e;
- } finally {
- em.close();
}
}
private void setupNewAgents(int numNewAgents) throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
+
try {
for (int i = 0; (i < numNewAgents); ++i) {
@@ -215,8 +202,6 @@ public class FailoverListManagerBeanTest extends AbstractEJB3Test {
}
throw e;
- } finally {
- em.close();
}
}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/LargeGroupPluginConfigurationTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/LargeGroupPluginConfigurationTest.java
index 2ad1547..42fc77e 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/LargeGroupPluginConfigurationTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/LargeGroupPluginConfigurationTest.java
@@ -23,8 +23,6 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.jetbrains.annotations.NotNull;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.clientapi.agent.PluginContainerException;
@@ -60,8 +58,10 @@ public class LargeGroupPluginConfigurationTest extends LargeGroupTestBase {
/**
* Create a large group of 1000+ resources.
*/
- @BeforeMethod
- public void beforeMethod() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
+ super.beforeMethod();
+
env = createLargeGroupWithNormalUserRoleAccess(1010, Permission.MODIFY_RESOURCE);
SessionTestHelper.simulateLogin(env.normalSubject);
}
@@ -69,10 +69,12 @@ public class LargeGroupPluginConfigurationTest extends LargeGroupTestBase {
/**
* Remove the group and all its members.
*/
- @AfterMethod(alwaysRun = true)
- public void afterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
tearDownLargeGroupWithNormalUserRoleAccess(env);
SessionTestHelper.simulateLogout(env.normalSubject);
+
+ super.afterMethod();
}
public void testGroupPluginConfigurationUpdate() throws Exception {
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/LargeGroupResourceConfigurationTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/LargeGroupResourceConfigurationTest.java
index 591c12f..e3b6025 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/LargeGroupResourceConfigurationTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/LargeGroupResourceConfigurationTest.java
@@ -23,8 +23,6 @@ import java.util.Map;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.clientapi.agent.PluginContainerException;
@@ -56,8 +54,10 @@ public class LargeGroupResourceConfigurationTest extends LargeGroupTestBase {
/**
* Create a large group of 1000+ resources.
*/
- @BeforeMethod
- public void beforeMethod() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
+ super.beforeMethod();
+
env = createLargeGroupWithNormalUserRoleAccess(1010, Permission.CONFIGURE_READ, Permission.CONFIGURE_WRITE);
SessionTestHelper.simulateLogin(env.normalSubject);
}
@@ -65,10 +65,12 @@ public class LargeGroupResourceConfigurationTest extends LargeGroupTestBase {
/**
* Remove the group and all its members.
*/
- @AfterMethod(alwaysRun = true)
+ @Override
public void afterMethod() throws Exception {
tearDownLargeGroupWithNormalUserRoleAccess(env);
SessionTestHelper.simulateLogout(env.normalSubject);
+
+ super.beforeMethod();
}
public void testGroupResourceConfigurationUpdate() throws Exception {
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/event/test/EventManagerTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/event/test/EventManagerTest.java
index ad390d4..47dd288 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/event/test/EventManagerTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/event/test/EventManagerTest.java
@@ -28,7 +28,6 @@ import java.util.Set;
import javax.persistence.EntityManager;
import javax.persistence.Query;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
@@ -53,10 +52,9 @@ import org.rhq.enterprise.server.util.LookupUtil;
public class EventManagerTest extends AbstractEJB3Test {
EventManagerLocal eventManager;
- EntityManager em;
- @BeforeMethod
- public void init() {
+ @Override
+ protected void beforeMethod() {
try {
eventManager = LookupUtil.getEventManager();
} catch (Throwable t) {
@@ -67,13 +65,11 @@ public class EventManagerTest extends AbstractEJB3Test {
}
}
- @SuppressWarnings("unchecked")
@Test
public void testEventsSimple() throws Exception {
try {
getTransactionManager().begin();
- em = getEntityManager();
Resource resource = setUpResource(em);
EventDefinition eDef = new EventDefinition(resource.getResourceType(), "My definition is this ..");
@@ -115,7 +111,6 @@ public class EventManagerTest extends AbstractEJB3Test {
} finally {
getTransactionManager().rollback();
- em.close();
}
}
@@ -124,7 +119,6 @@ public class EventManagerTest extends AbstractEJB3Test {
try {
getTransactionManager().begin();
- em = getEntityManager();
Resource resource = setUpResource(em);
EventDefinition eDef = new EventDefinition(resource.getResourceType(), "My definition is this ..");
@@ -175,7 +169,6 @@ public class EventManagerTest extends AbstractEJB3Test {
} finally {
getTransactionManager().rollback();
- em.close();
}
}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/inventory/InventoryManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/inventory/InventoryManagerBeanTest.java
index dcf83fe..7d02fce 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/inventory/InventoryManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/inventory/InventoryManagerBeanTest.java
@@ -17,8 +17,6 @@ import org.dbunit.ext.oracle.Oracle10DataTypeFactory;
import org.dbunit.ext.oracle.OracleDataTypeFactory;
import org.dbunit.ext.postgresql.PostgresqlDataTypeFactory;
import org.dbunit.operation.DatabaseOperation;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.xml.sax.InputSource;
@@ -32,8 +30,8 @@ public class InventoryManagerBeanTest extends AbstractEJB3Test {
private static List<Integer> deletedTypeIds = asList(1, 2, 3, 4, 5);
- @BeforeMethod
- public void beforeMethod() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
initDB();
getTransactionManager().begin();
@@ -43,8 +41,8 @@ public class InventoryManagerBeanTest extends AbstractEJB3Test {
getTransactionManager().commit();
}
- @AfterMethod(alwaysRun = true)
- public void afterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
cleanDB();
}
@@ -96,7 +94,7 @@ public class InventoryManagerBeanTest extends AbstractEJB3Test {
// protect against other db detritus, just look for the ones we expect
int resultSize = deletedTypes.size();
assertTrue("Expected at least five deleted types", resultSize >= 5);
- List<Integer> resultIds = new ArrayList(resultSize);
+ List<Integer> resultIds = new ArrayList<Integer>(resultSize);
for (ResourceType rt : deletedTypes) {
resultIds.add(rt.getId());
}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
index 7eb7917..e8ece2e 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/plugin/pc/generic/GenericServerPluginTest.java
@@ -27,8 +27,6 @@ import java.util.Map;
import java.util.jar.JarEntry;
import java.util.jar.JarOutputStream;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.configuration.Configuration;
@@ -55,15 +53,15 @@ import org.rhq.enterprise.server.xmlschema.generated.serverplugin.generic.Generi
public class GenericServerPluginTest extends AbstractEJB3Test {
private TestGenericServerPluginService pluginService;
- @BeforeMethod
- public void beforeMethod() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
this.pluginService = new TestGenericServerPluginService();
deleteAllTestPluginJars(); // remove any old server plugins that might be still around
prepareCustomServerPluginService(this.pluginService);
}
- @AfterMethod(alwaysRun = true)
- public void afterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
unprepareServerPluginService();
deleteAllTestPluginJars(); // remove any server plugins that tests created
this.pluginService = null;
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/GroupWithUncommittedTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/GroupWithUncommittedTest.java
index 3c57e5c..e3a2ea7 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/GroupWithUncommittedTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/GroupWithUncommittedTest.java
@@ -23,7 +23,6 @@ import java.util.List;
import javax.persistence.Query;
-import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.authz.Permission;
@@ -77,13 +76,15 @@ public class GroupWithUncommittedTest extends LargeGroupTestBase {
/**
* Remove the group and all its members.
*/
- @AfterMethod(alwaysRun = true)
- public void teardownEnv() throws Exception {
+ @Override
+ public void afterMethod() throws Exception {
if (env != null) {
tearDownLargeGroupWithNormalUserRoleAccess(env, false);
SessionTestHelper.simulateLogout(env.normalSubject);
}
env = null;
+
+ super.afterMethod();
}
@Test(enabled = TESTS_ENABLED)
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/LargeGroupCriteriaTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/LargeGroupCriteriaTest.java
index 323cf5c..a1dd556 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/LargeGroupCriteriaTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/LargeGroupCriteriaTest.java
@@ -23,7 +23,6 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
-import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.authz.Permission;
@@ -80,8 +79,13 @@ public class LargeGroupCriteriaTest extends LargeGroupTestBase {
/**
* Remove the group and all its members.
*/
- @AfterMethod(alwaysRun = true)
- public void tearDownGroups() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
+ tearDownGroups();
+ super.afterMethod();
+ }
+
+ private void tearDownGroups() throws Exception {
if (env != null) {
System.out.println("Tearing down groups...");
Iterator<LargeGroupEnvironment> iter = env.iterator();
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/LdapGroupManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/LdapGroupManagerBeanTest.java
index aaa0808..01e4a10 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/LdapGroupManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/group/test/LdapGroupManagerBeanTest.java
@@ -25,9 +25,6 @@ import java.util.Properties;
import javax.persistence.Query;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.common.SystemConfiguration;
@@ -98,18 +95,11 @@ public class LdapGroupManagerBeanTest extends AbstractEJB3Test {
private SystemManagerLocal systemManager = null;
private TestServerPluginService testServerPluginService = null;
- // private Subject overlord = null;
-
- @BeforeClass
- @SuppressWarnings({ "unused" })
- private void init() throws Throwable {
- // overlord = LookupUtil.getSubjectManager().getOverlord();
+ @Override
+ protected void beforeMethod() throws Exception {
systemManager = LookupUtil.getSystemManager();
ldapGroupManager = LookupUtil.getLdapGroupManager();
- }
- @BeforeMethod
- public void beforeMethod() throws Exception {
//we need this because the drift plugins are referenced from the system settings that we use in our tests
testServerPluginService = new TestServerPluginService();
prepareCustomServerPluginService(testServerPluginService);
@@ -151,8 +141,8 @@ public class LdapGroupManagerBeanTest extends AbstractEJB3Test {
this.setLdapGroupMemberAttribute("member");
}
- @AfterMethod(alwaysRun = true)
- public void afterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
unprepareServerPluginService();
}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java
index 628df29..a88542a 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java
@@ -129,7 +129,10 @@ public abstract class AbstractEJB3Test extends Arquillian {
testClassesJar.addAsManifestResource(EmptyAsset.INSTANCE, ArchivePaths.create("beans.xml")); // add CDI injection (needed by arquillian injection);
testClassesJar.addAsResource("test-scheduler.properties");
testClassesJar.addAsResource("test-alert-sender-serverplugin.xml");
+ testClassesJar.addAsResource("test-assist-color-number.txt");
testClassesJar.addAsResource("org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.xml");
+ testClassesJar.addAsResource("org/rhq/enterprise/server/inventory/InventoryManagerBeanTest.xml");
+ testClassesJar.addAsResource("serverplugins/simple-generic-serverplugin.xml");
// create test ear by starting with rhq.ear and thinning it
MavenDependencyResolver earResolver = DependencyResolvers.use(MavenDependencyResolver.class);
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/LargeGroupTestBase.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/LargeGroupTestBase.java
index cb7d301..1f5fe66 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/LargeGroupTestBase.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/LargeGroupTestBase.java
@@ -20,14 +20,8 @@ package org.rhq.enterprise.server.test;
import java.util.List;
-import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.Query;
-import javax.transaction.TransactionManager;
-
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.authz.Permission;
@@ -53,8 +47,6 @@ import org.rhq.enterprise.server.resource.ResourceManagerLocal;
import org.rhq.enterprise.server.resource.group.ResourceGroupManagerLocal;
import org.rhq.enterprise.server.util.LookupUtil;
import org.rhq.enterprise.server.util.SessionTestHelper;
-import org.rhq.test.JPAUtils;
-import org.rhq.test.TransactionCallbackWithContext;
public abstract class LargeGroupTestBase extends AbstractEJB3Test {
// for plugin configuration
@@ -101,27 +93,21 @@ public abstract class LargeGroupTestBase extends AbstractEJB3Test {
}
}
- /**
- * Prepares things for the entire test class.
- */
- @BeforeClass
- public void beforeClassBase() {
+ @Override
+ protected void beforeMethod() throws Exception {
configurationManager = LookupUtil.getConfigurationManager();
resourceManager = LookupUtil.getResourceManager();
resourceGroupManager = LookupUtil.getResourceGroupManager();
subjectManager = LookupUtil.getSubjectManager();
- }
-
- @BeforeMethod
- public void beforeMethodBase() throws Exception {
+
TestServerCommunicationsService agentServiceContainer = prepareForTestAgents();
setupMockAgentServices(agentServiceContainer);
prepareScheduler();
}
- @AfterMethod(alwaysRun = true)
- public void afterMethodBase() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
try {
unprepareForTestAgents();
} finally {
@@ -174,8 +160,9 @@ public abstract class LargeGroupTestBase extends AbstractEJB3Test {
System.out.println("=====Creating a group with [" + groupSize + "] members");
final LargeGroupEnvironment lge = new LargeGroupEnvironment(largeGroupEnv);
- JPAUtils.executeInTransaction(new TransactionCallbackWithContext<Object>() {
- public Object execute(TransactionManager tm, EntityManager em) throws Exception {
+ executeInTransaction(false, new TransactionCallback() {
+
+ public void execute() throws Exception {
// create the agent where all resources will be housed
lge.agent = SessionTestHelper.createNewAgent(em, "LargeGroupTestAgent");
@@ -208,6 +195,7 @@ public abstract class LargeGroupTestBase extends AbstractEJB3Test {
em.persist(lge.serverType);
em.flush();
+
} else {
lge.serverType = em.find(ResourceType.class, lge.serverType.getId());
}
@@ -278,7 +266,6 @@ public abstract class LargeGroupTestBase extends AbstractEJB3Test {
em.flush();
em.clear();
- return null;
}
});
@@ -325,29 +312,27 @@ public abstract class LargeGroupTestBase extends AbstractEJB3Test {
System.out.println(" Done.");
// purge the users and role
- executeInTransaction(new TransactionCallbackReturnable<Object>() {
- public Object execute() throws Exception {
+ executeInTransaction(false, new TransactionCallback() {
+ public void execute() throws Exception {
lge.normalRole = em.getReference(Role.class, lge.normalRole.getId());
lge.normalSubject = em.getReference(Subject.class, lge.normalSubject.getId());
lge.unauthzSubject = em.getReference(Subject.class, lge.unauthzSubject.getId());
em.remove(lge.normalRole);
em.remove(lge.normalSubject);
em.remove(lge.unauthzSubject);
- return null;
}
});
if (!keepTypes) {
// purge the resource types
- executeInTransaction(new TransactionCallbackReturnable<Object>() {
- public Object execute() throws Exception {
+ executeInTransaction(false, new TransactionCallback() {
+ public void execute() throws Exception {
ResourceType pType = em.getReference(ResourceType.class, lge.platformResource.getResourceType()
.getId());
ResourceType sType = em.getReference(ResourceType.class, lge.compatibleGroup.getResourceType()
.getId());
em.remove(sType);
em.remove(pType);
- return null;
}
});
}
@@ -362,8 +347,8 @@ public abstract class LargeGroupTestBase extends AbstractEJB3Test {
* @return status, or null if not known
*/
protected ConfigurationUpdateStatus getGroupPluginConfigurationStatus(final int groupId) {
- return JPAUtils.executeInTransaction(new TransactionCallbackWithContext<ConfigurationUpdateStatus>() {
- public ConfigurationUpdateStatus execute(TransactionManager tm, EntityManager em) throws Exception {
+ return executeInTransaction(false, new TransactionCallbackReturnable<ConfigurationUpdateStatus>() {
+ public ConfigurationUpdateStatus execute() throws Exception {
try {
Query query = em.createNamedQuery(GroupPluginConfigurationUpdate.QUERY_FIND_LATEST_BY_GROUP_ID);
query.setParameter("groupId", groupId);
@@ -385,8 +370,8 @@ public abstract class LargeGroupTestBase extends AbstractEJB3Test {
* @return status, or null if not known
*/
protected ConfigurationUpdateStatus getGroupResourceConfigurationStatus(final int groupId) {
- return JPAUtils.executeInTransaction(new TransactionCallbackWithContext<ConfigurationUpdateStatus>() {
- public ConfigurationUpdateStatus execute(TransactionManager tm, EntityManager em) throws Exception {
+ return executeInTransaction(false, new TransactionCallbackReturnable<ConfigurationUpdateStatus>() {
+ public ConfigurationUpdateStatus execute() throws Exception {
try {
Query query = em.createNamedQuery(GroupResourceConfigurationUpdate.QUERY_FIND_LATEST_BY_GROUP_ID);
query.setParameter("groupId", groupId);
diff --git a/modules/enterprise/server/itests/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java b/modules/enterprise/server/itests/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java
deleted file mode 100644
index 274e94f..0000000
--- a/modules/enterprise/server/itests/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2005-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.enterprise.client.security.test;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.security.PermissionCollection;
-import java.util.Collections;
-
-import javax.script.ScriptEngine;
-import javax.script.ScriptException;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-import org.rhq.bindings.ScriptEngineFactory;
-import org.rhq.bindings.StandardBindings;
-import org.rhq.bindings.StandardScriptPermissions;
-import org.rhq.bindings.util.PackageFinder;
-import org.rhq.core.domain.auth.Subject;
-import org.rhq.enterprise.client.LocalClient;
-import org.rhq.enterprise.server.RHQConstants;
-import org.rhq.enterprise.server.auth.SubjectManagerBean;
-import org.rhq.enterprise.server.test.AbstractEJB3Test;
-import org.rhq.enterprise.server.util.LookupUtil;
-import org.rhq.jndi.AllowRhqServerInternalsAccessPermission;
-
-/**
- *
- *
- * @author Lukas Krejci
- */
-@Test
-public class JndiAccessTest extends AbstractEJB3Test {
-
- public void testEjbsAccessibleThroughPrivilegedCode() {
- LookupUtil.getSubjectManager().getOverlord();
- }
-
- public void testEjbsAccessibleThroughLocalClient() throws ScriptException, IOException {
- Subject overlord = LookupUtil.getSubjectManager().getOverlord();
-
- ScriptEngine engine = getEngine(overlord);
-
- engine.eval("SubjectManager.getSubjectByName('rhqadmin');");
- }
-
- public void testLocalEjbsInaccessibleThroughJndiLookup() throws ScriptException, IOException {
- Subject overlord = LookupUtil.getSubjectManager().getOverlord();
-
- ScriptEngine engine = getEngine(overlord);
-
- String jndiName = "java:global/rhq/rhq-enterprise-server-ejb3/" + SubjectManagerBean.class.getSimpleName()
- + "!" + SubjectManagerBean.class.getName().replace("Bean", "Local");
-
- try {
- engine.eval(""
- + "var ctx = new javax.naming.InitialContext();\n"
- + "var subjectManager = ctx.lookup('" + jndiName + "');\n"
- + "subjectManager.getOverlord();");
-
- Assert.fail("The script shouldn't have been able to call local SLSB method.");
- } catch (ScriptException e) {
- checkIsDesiredSecurityException(e);
- }
- }
-
- public void testRemoteEjbsInaccessibleThroughJndiLookup() throws ScriptException, IOException {
- Subject overlord = LookupUtil.getSubjectManager().getOverlord();
-
- ScriptEngine engine = getEngine(overlord);
-
- String jndiName = "java:global/rhq/rhq-enterprise-server-ejb3/" + SubjectManagerBean.class.getSimpleName()
- + "!" + SubjectManagerBean.class.getName().replace("Bean", "Remote");
-
- try {
- engine.eval(""
- + "var ctx = new javax.naming.InitialContext();\n"
- + "var subjectManager = ctx.lookup('" + jndiName + "');\n"
- + "subjectManager.getSubjectByName('rhqadmin');");
-
- Assert.fail("The script shouldn't have been able to call remote SLSB method directly.");
- } catch (ScriptException e) {
- checkIsDesiredSecurityException(e);
- }
- }
-
- public void testScriptCantUseSessionManagerMethods() throws Exception {
-
- Subject overlord = LookupUtil.getSubjectManager().getOverlord();
-
- final ScriptEngine engine = getEngine(overlord);
-
- class G {
- private String sessionManager = ""
- + "org.rhq.enterprise.server.auth.SessionManager.getInstance().";
-
- public void testInvoke(String methodCall) throws ScriptException {
- String code = sessionManager + methodCall;
-
- try {
- engine.eval(code);
- Assert.fail("The script shouldn't have been able to call a method on a SessionManager: " + methodCall);
- } catch (ScriptException e) {
- checkIsDesiredSecurityException(e);
- }
- }
- };
- G manager = new G();
-
- manager.testInvoke("getlastAccess(0);");
- manager.testInvoke("getOverlord()");
- manager.testInvoke("getSubject(2);");
- manager.testInvoke("invalidate(0);");
- manager.testInvoke("invalidate(\"\");");
- manager.testInvoke("put(new org.rhq.core.domain.auth.Subject());");
- manager.testInvoke("put(new org.rhq.core.domain.auth.Subject(), 0);");
- }
-
- public void testScriptCantObtainRawJDBCConnectionsWithoutCredentials() throws Exception {
- Subject overlord = LookupUtil.getSubjectManager().getOverlord();
-
- ScriptEngine engine = getEngine(overlord);
-
- try {
- engine.eval(""
- + "var ctx = new javax.naming.InitialContext();\n"
- + "var datasource = ctx.lookup('" + RHQConstants.DATASOURCE_JNDI_NAME + "');\n"
- + "con = datasource.getConnection();");
-
- Assert.fail("The script shouldn't have been able to obtain the datasource from the JNDI.");
- } catch (ScriptException e) {
- checkIsDesiredSecurityException(e);
- }
- }
-
- public void testScriptCantUseEntityManager() throws Exception {
- Subject overlord = LookupUtil.getSubjectManager().getOverlord();
-
- ScriptEngine engine = getEngine(overlord);
-
- try {
- engine.eval(""
- + "var ctx = new javax.naming.InitialContext();\n"
- + "var entityManagerFactory = ctx.lookup('" + RHQConstants.ENTITY_MANAGER_JNDI_NAME + "');\n"
- + "var entityManager = entityManagerFactory.createEntityManager();\n"
- + "entityManager.find(java.lang.Class.forName('org.rhq.core.domain.resource.Resource'), java.lang.Integer.valueOf('10001'));");
-
- Assert.fail("The script shouldn't have been able to use the EntityManager.");
- } catch (ScriptException e) {
- checkIsDesiredSecurityException(e);
- }
-
- //try harder with manually specifying the initial context factory
- try {
- engine.eval(""
- + "var env = new java.util.Hashtable();"
- + "env.put('java.naming.factory.initial', 'org.jboss.as.naming.InitialContextFactory');"
- //+ "env.put('java.naming.factory.url.pkgs', 'org.jboss.naming:org.jnp.interfaces');"
- + "var ctx = new javax.naming.InitialContext(env);\n"
- + "var entityManagerFactory = ctx.lookup('" + RHQConstants.ENTITY_MANAGER_JNDI_NAME + "');\n"
- + "var entityManager = entityManagerFactory.createEntityManager();\n"
- + "entityManager.find(java.lang.Class.forName('org.rhq.core.domain.resource.Resource'), java.lang.Integer.valueOf('10001'));");
-
- Assert.fail("The script shouldn't have been able to use the EntityManager even using custom initial context factory.");
- } catch (ScriptException e) {
- checkIsDesiredSecurityException(e);
- }
- }
-
- public void testProxyFactoryWorksWithSecuredScriptEngine() throws Exception {
- Subject overlord = LookupUtil.getSubjectManager().getOverlord();
-
- ScriptEngine engine = getEngine(overlord);
-
- try {
- engine.eval("var resource = ProxyFactory.getResource(10001);");
- } catch (ScriptException e) {
- //if the script fails (there is no resource with ID 10001)
- //it should not be because of an access control exception
- checkIsNotASecurityException(e);
- }
- }
-
- private ScriptEngine getEngine(Subject subject) throws ScriptException, IOException {
- StandardBindings bindings = new StandardBindings(new PrintWriter(System.out), new LocalClient(subject));
-
- PermissionCollection perms = new StandardScriptPermissions();
-
- return ScriptEngineFactory.getSecuredScriptEngine("javascript",
- new PackageFinder(Collections.<File> emptyList()), bindings, perms);
- }
-
- private static void checkIsDesiredSecurityException(ScriptException e) {
- String message = e.getMessage();
- String permissionTrace = AllowRhqServerInternalsAccessPermission.class.getName();
-
- Assert.assertTrue(message.contains(permissionTrace), "The script exception doesn't seem to be caused by the AllowRhqServerInternalsAccessPermission security exception. " + message);
- }
-
- private static void checkIsNotASecurityException(ScriptException e) {
- String message = e.getMessage();
- String permissionTrace = AllowRhqServerInternalsAccessPermission.class.getName();
-
- Assert.assertFalse(message.contains(permissionTrace), "The script exception does seem to be caused by the AllowRhqServerInternalsAccessPermission security exception although it shouldn't. " + message);
- }
-}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java
index a38c069..7b784fa 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java
@@ -356,7 +356,8 @@ public final class LookupUtil {
}
public static EntityManagerFacadeLocal getEntityManagerFacade() {
- return lookupLocal(EntityManagerFacade.class);
+ Class<EntityManagerFacade> clazz = EntityManagerFacade.class;
+ return (EntityManagerFacadeLocal) lookupByName(clazz.getSimpleName(), clazz.getName() + "Local");
}
public static EventManagerLocal getEventManager() {
@@ -620,7 +621,7 @@ public final class LookupUtil {
* @param beanName the name of the EJB bean
* @param interfaceName the full class name of either the remote or local interface
*
- * @return the bean accessed through specified inerface
+ * @return the bean accessed through specified interface
*/
public static Object getEjb(String beanName, String interfaceName) {
return lookupByName(beanName, interfaceName);
11 years, 7 months
[rhq] modules/enterprise
by mike thompson
modules/enterprise/gui/coregui/pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
New commits:
commit 94d0a2c4aeae8be9ff69cbc96b7a3a91daa6acae
Author: mtho11 <mikecthompson(a)gmail.com>
Date: Wed Nov 7 08:11:26 2012 -0800
[BZ 873880 - CVE-2012-4563 GWT Unknown XSS flaw] Upgrade GWT 2.4.0 to GWT 2.5.0
diff --git a/modules/enterprise/gui/coregui/pom.xml b/modules/enterprise/gui/coregui/pom.xml
index 08fb745..a85c1b0 100644
--- a/modules/enterprise/gui/coregui/pom.xml
+++ b/modules/enterprise/gui/coregui/pom.xml
@@ -19,7 +19,7 @@
<properties>
<!-- dependency versions -->
- <gwt.version>2.4.0</gwt.version>
+ <gwt.version>2.5.0</gwt.version>
<smartgwt.version>3.0</smartgwt.version>
<!-- If this is too much memory to allocate to your gwt:debug process then override this property in
@@ -278,7 +278,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
- <version>2.4.0</version>
+ <version>2.5.0</version>
<configuration>
<noServer>true</noServer>
<inplace>false</inplace>
11 years, 7 months
[rhq] Branch 'release/jon3.1.x' - 2 commits - modules/enterprise
by John Sanda
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java | 6 +++
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java | 16 ++++++++++
modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml | 8 +++++
3 files changed, 30 insertions(+)
New commits:
commit 687c313ad97f987f756e4867765371554e0783a4
Author: John Sanda <jsanda(a)redhat.com>
Date: Wed Nov 7 09:34:07 2012 -0500
[BZ 845700] adding debug logging
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
index 22fc2ce..d1fbb80 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
@@ -107,6 +107,11 @@ public class PluginManagerBean implements PluginManagerLocal {
criteria.setStrict(true);
PageList results = resourceTypeMgr.findResourceTypesByCriteria(subjectMgr.getOverlord(), criteria);
+ if (log.isDebugEnabled()) {
+ log.debug(plugin + " is not ready to be purged. There are still " + results.getTotalSize() +
+ " resource types in the system for this plugin.");
+ }
+
return results.getTotalSize() == 0;
}
commit a77fb7ef8c9fe8010056f2143f29d11753151293
Author: John Sanda <jsanda(a)redhat.com>
Date: Tue Nov 6 23:49:37 2012 -0500
[BZ 845700] Do not use SQL LIKE operator when checking if plugin is ready for purge
The query used in PluginManagerBean.isReadyForPurge used the LIKE operator to
make sure all resource types have been deleted. This is problematic with the
jboss-as (JBoss 4) plugin. Its name is JBossAS and the jboss-as-5 plugin name
is JBossAS5. When using the LIKE operator on the plugin name, both plugin names
match which prevents the purge from happening. The LIKE operator is no longer
used to prevent this problem. A test has been added to PluginManagerBeanTest
for this scenario.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
index 09563df..22fc2ce 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
@@ -104,6 +104,7 @@ public class PluginManagerBean implements PluginManagerLocal {
ResourceTypeCriteria criteria = new ResourceTypeCriteria();
criteria.addFilterPluginName(plugin.getName());
criteria.setRestriction(Criteria.Restriction.COUNT_ONLY);
+ criteria.setStrict(true);
PageList results = resourceTypeMgr.findResourceTypesByCriteria(subjectMgr.getOverlord(), criteria);
return results.getTotalSize() == 0;
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
index 9b1d0bf..c19f9c0 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
@@ -13,6 +13,8 @@ import org.rhq.core.domain.plugin.Plugin;
import org.rhq.core.domain.plugin.PluginStatusType;
import org.rhq.enterprise.server.auth.SubjectManagerLocal;
import org.rhq.enterprise.server.core.plugin.PluginDeploymentScanner;
+import org.rhq.enterprise.server.inventory.InventoryManagerLocal;
+import org.rhq.enterprise.server.resource.ResourceTypeManagerLocal;
import org.rhq.enterprise.server.scheduler.jobs.PurgePluginsJob;
import org.rhq.enterprise.server.scheduler.jobs.PurgeResourceTypesJob;
import org.rhq.enterprise.server.util.LookupUtil;
@@ -62,6 +64,7 @@ public class PluginManagerBeanTest extends MetadataBeanTest {
createPlugin("test-plugin1", "1.0", "plugin_1.xml");
createPlugin("test-plugin2", "1.0", "plugin_2.xml");
createPlugin("test-plugin3", "1.0", "plugin_3.xml");
+ createPlugin("test-plugin3.1", "1.0", "plugin_3.1.xml");
}
@Test(dependsOnMethods = { "registerPlugins" })
@@ -150,6 +153,19 @@ public class PluginManagerBeanTest extends MetadataBeanTest {
assertTrue("Expected plugin status to be set to DELETED", plugin2.getStatus() == PluginStatusType.DELETED);
}
+ @Test(dependsOnMethods = { "registerPlugins" })
+ public void isPluginReadyForDeletion() {
+ Plugin plugin3 = getPlugin("PluginManagerBeanTestPlugin3");
+
+ ResourceTypeManagerLocal resourceTypeManager = LookupUtil.getResourceTypeManager();
+ List<Integer> ids = resourceTypeManager.getResourceTypeIdsByPlugin(plugin3.getName());
+ InventoryManagerLocal inventoryManager = LookupUtil.getInventoryManager();
+ inventoryManager.markTypesDeleted(ids);
+
+ assertTrue("Expected " + plugin3 + " to be ready for purge since all its resource types have been marked " +
+ "deleted", pluginMgr.isReadyForPurge(plugin3));
+ }
+
@Test(enabled = false, dependsOnMethods = { "deletePlugins" })
public void purgePlugins() throws Exception {
Plugin plugin1 = getPlugin("PluginManagerBeanTestPlugin1",
diff --git a/modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml b/modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml
new file mode 100644
index 0000000..e885167
--- /dev/null
+++ b/modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml
@@ -0,0 +1,8 @@
+<plugin name="PluginManagerBeanTestPlugin3.1"
+ package="org.rhq.plugins.test"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="urn:xmlns:rhq-plugin"
+ xmlns:c="urn:xmlns:rhq-configuration">
+
+ <server name="TestServer3.1"/>
+</plugin>
\ No newline at end of file
11 years, 7 months
[rhq] modules/enterprise
by John Sanda
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java | 5 +++++
1 file changed, 5 insertions(+)
New commits:
commit cf039adcb51d03d96dd9a49092abbd0cd3504cd1
Author: John Sanda <jsanda(a)redhat.com>
Date: Wed Nov 7 09:34:07 2012 -0500
[BZ 845700] adding debug logging
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
index 22fc2ce..d1fbb80 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
@@ -107,6 +107,11 @@ public class PluginManagerBean implements PluginManagerLocal {
criteria.setStrict(true);
PageList results = resourceTypeMgr.findResourceTypesByCriteria(subjectMgr.getOverlord(), criteria);
+ if (log.isDebugEnabled()) {
+ log.debug(plugin + " is not ready to be purged. There are still " + results.getTotalSize() +
+ " resource types in the system for this plugin.");
+ }
+
return results.getTotalSize() == 0;
}
11 years, 7 months
[rhq] modules/enterprise
by John Sanda
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java | 1
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java | 16 ++++++++++
modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml | 8 +++++
3 files changed, 25 insertions(+)
New commits:
commit 2f891cc677965f56de4d143e0e3a41aa16eca99c
Author: John Sanda <jsanda(a)redhat.com>
Date: Tue Nov 6 23:49:37 2012 -0500
[BZ 845700] Do not use SQL LIKE operator when checking if plugin is ready for purge
The query used in PluginManagerBean.isReadyForPurge used the LIKE operator to
make sure all resource types have been deleted. This is problematic with the
jboss-as (JBoss 4) plugin. Its name is JBossAS and the jboss-as-5 plugin name
is JBossAS5. When using the LIKE operator on the plugin name, both plugin names
match which prevents the purge from happening. The LIKE operator is no longer
used to prevent this problem. A test has been added to PluginManagerBeanTest
for this scenario.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
index 09563df..22fc2ce 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBean.java
@@ -104,6 +104,7 @@ public class PluginManagerBean implements PluginManagerLocal {
ResourceTypeCriteria criteria = new ResourceTypeCriteria();
criteria.addFilterPluginName(plugin.getName());
criteria.setRestriction(Criteria.Restriction.COUNT_ONLY);
+ criteria.setStrict(true);
PageList results = resourceTypeMgr.findResourceTypesByCriteria(subjectMgr.getOverlord(), criteria);
return results.getTotalSize() == 0;
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
index ec0fcd4..4112da0 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java
@@ -32,6 +32,8 @@ import org.rhq.core.domain.plugin.Plugin;
import org.rhq.core.domain.plugin.PluginStatusType;
import org.rhq.enterprise.server.auth.SubjectManagerLocal;
import org.rhq.enterprise.server.core.plugin.PluginDeploymentScanner;
+import org.rhq.enterprise.server.inventory.InventoryManagerLocal;
+import org.rhq.enterprise.server.resource.ResourceTypeManagerLocal;
import org.rhq.enterprise.server.scheduler.jobs.PurgePluginsJob;
import org.rhq.enterprise.server.scheduler.jobs.PurgeResourceTypesJob;
import org.rhq.enterprise.server.util.LookupUtil;
@@ -82,6 +84,7 @@ public class PluginManagerBeanTest extends MetadataBeanTest {
createPlugin("test-plugin1", "1.0", "plugin_1.xml");
createPlugin("test-plugin2", "1.0", "plugin_2.xml");
createPlugin("test-plugin3", "1.0", "plugin_3.xml");
+ createPlugin("test-plugin3.1", "1.0", "plugin_3.1.xml");
}
@Test(dependsOnMethods = { "registerPlugins" })
@@ -170,6 +173,19 @@ public class PluginManagerBeanTest extends MetadataBeanTest {
assertTrue("Expected plugin status to be set to DELETED", plugin2.getStatus() == PluginStatusType.DELETED);
}
+ @Test(dependsOnMethods = { "registerPlugins" })
+ public void isPluginReadyForDeletion() {
+ Plugin plugin3 = getPlugin("PluginManagerBeanTestPlugin3");
+
+ ResourceTypeManagerLocal resourceTypeManager = LookupUtil.getResourceTypeManager();
+ List<Integer> ids = resourceTypeManager.getResourceTypeIdsByPlugin(plugin3.getName());
+ InventoryManagerLocal inventoryManager = LookupUtil.getInventoryManager();
+ inventoryManager.markTypesDeleted(ids);
+
+ assertTrue("Expected " + plugin3 + " to be ready for purge since all its resource types have been marked " +
+ "deleted", pluginMgr.isReadyForPurge(plugin3));
+ }
+
@Test(enabled = false, dependsOnMethods = { "deletePlugins" })
public void purgePlugins() throws Exception {
Plugin plugin1 = getPlugin("PluginManagerBeanTestPlugin1",
diff --git a/modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml b/modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml
new file mode 100644
index 0000000..e885167
--- /dev/null
+++ b/modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml
@@ -0,0 +1,8 @@
+<plugin name="PluginManagerBeanTestPlugin3.1"
+ package="org.rhq.plugins.test"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="urn:xmlns:rhq-plugin"
+ xmlns:c="urn:xmlns:rhq-configuration">
+
+ <server name="TestServer3.1"/>
+</plugin>
\ No newline at end of file
11 years, 7 months