modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AbstractRestBean.java
| 85 ----------
modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/AlertTest.java
| 29 +++
2 files changed, 28 insertions(+), 86 deletions(-)
New commits:
commit 301a28ce97530f69416677a8b8b470e3f157d9bd
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Thu May 23 22:38:18 2013 +0200
Bit of cleanup and testing of alert->ack and alert->purge
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AbstractRestBean.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AbstractRestBean.java
index 92d2499..224ab3f 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AbstractRestBean.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AbstractRestBean.java
@@ -25,12 +25,9 @@ package org.rhq.enterprise.server.rest;
import java.io.IOException;
import java.io.StringWriter;
import java.net.URI;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -251,89 +248,8 @@ public class AbstractRestBean {
return result;
}
- protected void putResourceToCache(Resource res) {
- putToCache(res.getId(), Resource.class, res);
- CacheKey callerKey = new CacheKey("rhq.rest.caller", caller.getId());
- try {
- Set<Integer> visibleResources = (Set<Integer>)
cache.get(callerKey);
-
- if (null == visibleResources) {
- visibleResources = new HashSet<Integer>();
- }
-
- visibleResources.add(res.getId());
- cache.put(callerKey, visibleResources);
-
- Map<Integer, Integer> childParentMap = (Map<Integer, Integer>)
cache.get(META_KEY);
-
- if (null == childParentMap) {
- childParentMap = new HashMap<Integer, Integer>();
- }
- int pid = res.getParentResource() == null ? 0 :
res.getParentResource().getId();
- childParentMap.put(res.getId(), pid);
- cache.put(META_KEY, childParentMap);
-
- } catch (Exception e) {
- log.warn(e.getMessage());
- }
- }
-
- protected List<Resource> getResourcesFromCacheByParentId(int pid) {
- List<Integer> candidateIds = new ArrayList<Integer>();
- List<Resource> ret = new ArrayList<Resource>();
-
- // First determine candidate children
- Map<Integer, Integer> childParentMap = (Map<Integer, Integer>)
cache.get(META_KEY);
-
- if (null != childParentMap) {
- try {
- for (Map.Entry<Integer, Integer> entry : childParentMap.entrySet())
{
- if (entry.getValue() == pid)
- candidateIds.add(entry.getKey());
- }
- // then see if the current user can see them
- CacheKey callerKey = new CacheKey("rhq.rest.caller",
caller.getId());
- Set<Integer> visibleResources = (Set<Integer>)
cache.get(callerKey);
- Iterator<Integer> iter = candidateIds.iterator();
- while (iter.hasNext()) {
- Integer resId = iter.next();
- if (!visibleResources.contains(resId)) {
- iter.remove();
- }
- }
-
- // Last but not least, get the resources and return them
- for (Integer resId : candidateIds) {
- ret.add(getFromCache(resId, Resource.class));
- }
- } catch (Exception e) {
- log.warn(e.getMessage());
- }
-
- }
- return ret;
- }
-
- protected Resource getResourceFromCache(int resourceid) {
-
- Resource res = null;
- // check if the current user can see the resource
- CacheKey callerKey = new CacheKey("rhq.rest.caller", caller.getId());
- Set<Integer> visibleResources = (Set<Integer>) cache.get(callerKey);
- if (null != visibleResources) {
- try {
- if (visibleResources.contains(resourceid)) {
- res = getFromCache(resourceid, Resource.class);
- }
- } catch (Exception e) {
- log.warn(e.getMessage());
- }
- }
-
- return res;
- }
/**
* Remove an item from the cache
@@ -393,6 +309,7 @@ public class AbstractRestBean {
uriBuilder.path("/resource/{id}/children");
uri = uriBuilder.build(res.getId());
link = new Link("children", uri.toString());
+ rwt.addLink(link);
uriBuilder = uriInfo.getBaseUriBuilder();
uriBuilder.path("/resource/{id}/alerts");
uri = uriBuilder.build(res.getId());
diff --git
a/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/AlertTest.java
b/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/AlertTest.java
index acbb492..355adcd 100644
---
a/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/AlertTest.java
+++
b/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/AlertTest.java
@@ -1434,6 +1434,8 @@ public class AlertTest extends AbstractBase {
int definitionId = createEmptyAlertDefinition(true);
+ int alertId;
+
// Now add a condition
try {
@@ -1481,7 +1483,7 @@ public class AlertTest extends AbstractBase {
// wait a little
Thread.sleep(5000);
- int alertId =
+ alertId =
given()
.header(acceptJson)
.queryParam("definitionId",definitionId)
@@ -1543,9 +1545,32 @@ public class AlertTest extends AbstractBase {
.when()
.get("/resource/{resourceId}/alerts");
+ if (alertId>0) {
+ // Acknowledge the alert
+ given()
+ .header(acceptWrappedJson)
+ .pathParam("id", alertId)
+ .expect()
+ .statusCode(200)
+ .log().ifError()
+ .when()
+ .put("/alert/{id}");
+
+ Thread.sleep(500);
+
+ // purge the alert
+ given()
+ .header(acceptJson)
+ .pathParam("id", alertId)
+ .expect()
+ .statusCode(204)
+ .log().ifError()
+ .when()
+ .delete("/alert/{id}");
+ }
}
-
finally {
+
// delete the definition again
cleanupDefinition(definitionId);
}
Show replies by date