Skip to content

Commit 0b8b4e2

Browse files
Searching aggregated object with _id instead of id (#225)
* bug: searching aggregated object with _id * reviewed changes
1 parent 1cbdc69 commit 0b8b4e2

File tree

6 files changed

+46
-36
lines changed

6 files changed

+46
-36
lines changed

src/functionaltests/java/com/ericsson/ei/query/QueryAggregatedObjectsTestSteps.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,6 @@
22

33
import static org.junit.Assert.assertEquals;
44

5-
import com.ericsson.ei.mongodbhandler.MongoDBHandler;
6-
import com.ericsson.ei.utils.FunctionalTestBase;
7-
import com.ericsson.ei.utils.HttpRequest;
8-
import com.ericsson.ei.utils.HttpRequest.HttpMethod;
9-
import com.fasterxml.jackson.core.JsonParser.Feature;
10-
import com.fasterxml.jackson.databind.JsonNode;
11-
import com.fasterxml.jackson.databind.ObjectMapper;
12-
135
import java.io.File;
146
import java.io.IOException;
157
import java.util.ArrayList;
@@ -26,6 +18,14 @@
2618
import org.springframework.http.HttpStatus;
2719
import org.springframework.http.ResponseEntity;
2820

21+
import com.ericsson.ei.mongodbhandler.MongoDBHandler;
22+
import com.ericsson.ei.utils.FunctionalTestBase;
23+
import com.ericsson.ei.utils.HttpRequest;
24+
import com.ericsson.ei.utils.HttpRequest.HttpMethod;
25+
import com.fasterxml.jackson.core.JsonParser.Feature;
26+
import com.fasterxml.jackson.databind.JsonNode;
27+
import com.fasterxml.jackson.databind.ObjectMapper;
28+
2929
import cucumber.api.java.en.And;
3030
import cucumber.api.java.en.Given;
3131
import cucumber.api.java.en.Then;
@@ -90,7 +90,7 @@ public QueryAggregatedObjectsTestSteps() {
9090
public void aggregated_object_is_created() throws Throwable {
9191
List<String> aggregatedObject = mongoDBHandler.find(
9292
eiDatabaseName, aggrCollectionName,
93-
"{\"aggregatedObject.id\": \"6acc3c87-75e0-4b6d-88f5-b1a5d4e62b43\"}");
93+
"{\"_id\": \"6acc3c87-75e0-4b6d-88f5-b1a5d4e62b43\"}");
9494

9595
boolean aggregatedObjectExists = aggregatedObject.size() > 0;
9696
if (!aggregatedObjectExists) {

src/main/java/com/ericsson/ei/controller/QueryAggregatedObjectControllerImpl.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
*/
1414
package com.ericsson.ei.controller;
1515

16-
import com.ericsson.ei.controller.model.QueryResponse;
17-
import com.ericsson.ei.queryservice.ProcessAggregatedObject;
16+
import java.util.List;
17+
1818
import org.slf4j.Logger;
1919
import org.slf4j.LoggerFactory;
2020
import org.springframework.beans.factory.annotation.Autowired;
@@ -24,7 +24,8 @@
2424
import org.springframework.web.bind.annotation.CrossOrigin;
2525
import org.springframework.web.bind.annotation.RequestParam;
2626

27-
import java.util.List;
27+
import com.ericsson.ei.controller.model.QueryResponse;
28+
import com.ericsson.ei.queryservice.ProcessAggregatedObject;
2829

2930
/**
3031
* This class represents the REST GET mechanism to extract the aggregated data
@@ -34,7 +35,7 @@
3435
@CrossOrigin
3536
public class QueryAggregatedObjectControllerImpl implements QueryAggregatedObjectController {
3637

37-
private static Logger LOGGER = (Logger) LoggerFactory.getLogger(QueryAggregatedObjectControllerImpl.class);
38+
private static Logger LOGGER = LoggerFactory.getLogger(QueryAggregatedObjectControllerImpl.class);
3839

3940
@Autowired
4041
private ProcessAggregatedObject processAggregatedObject;
@@ -46,6 +47,7 @@ public class QueryAggregatedObjectControllerImpl implements QueryAggregatedObjec
4647
* @param id
4748
* @return ResponseEntity
4849
*/
50+
@Override
4951
public ResponseEntity<QueryResponse> getQueryAggregatedObject(@RequestParam("ID") final String id) {
5052
QueryResponse queryResponse = new QueryResponse();
5153
try {

src/main/java/com/ericsson/ei/controller/SubscriptionControllerImpl.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ public class SubscriptionControllerImpl implements SubscriptionController {
7272
@Override
7373
@CrossOrigin
7474
@ApiOperation(value = "Creates the subscriptions")
75-
public ResponseEntity<List<SubscriptionResponse>> createSubscription(@RequestBody List<Subscription> subscriptions) {
75+
public ResponseEntity<List<SubscriptionResponse>> createSubscription(
76+
@RequestBody List<Subscription> subscriptions) {
7677
errorMap = new HashMap<>();
7778
String user = (ldapEnabled) ? HttpSessionConfig.getCurrentUser() : "";
7879

@@ -92,7 +93,8 @@ public ResponseEntity<List<SubscriptionResponse>> createSubscription(@RequestBod
9293
errorMap.put(subscriptionName, SUBSCRIPTION_ALREADY_EXISTS);
9394
}
9495
} catch (Exception e) {
95-
LOG.error("Failed to create subscription " + subscriptionName + "\nError message: " + e.getMessage(), e);
96+
LOG.error("Failed to create subscription " + subscriptionName + "\nError message: " + e.getMessage(),
97+
e);
9698
errorMap.put(subscriptionName, e.getMessage());
9799
}
98100
});
@@ -112,7 +114,7 @@ public ResponseEntity<GetSubscriptionResponse> getSubscriptionByNames(@PathVaria
112114
try {
113115
LOG.debug("Subscription fetching has been started: " + subscriptionName);
114116

115-
//Make sure the password is not sent outside this service.
117+
// Make sure the password is not sent outside this service.
116118
Subscription subscription = subscriptionService.getSubscription(subscriptionName);
117119
subscription.setPassword("");
118120
foundSubscriptionList.add(subscription);
@@ -135,7 +137,8 @@ public ResponseEntity<GetSubscriptionResponse> getSubscriptionByNames(@PathVaria
135137
@Override
136138
@CrossOrigin
137139
@ApiOperation(value = "Updates the existing subscriptions")
138-
public ResponseEntity<List<SubscriptionResponse>> updateSubscriptions(@RequestBody List<Subscription> subscriptions) {
140+
public ResponseEntity<List<SubscriptionResponse>> updateSubscriptions(
141+
@RequestBody List<Subscription> subscriptions) {
139142
errorMap = new HashMap<>();
140143
String user = (ldapEnabled) ? HttpSessionConfig.getCurrentUser() : "";
141144

@@ -155,7 +158,8 @@ public ResponseEntity<List<SubscriptionResponse>> updateSubscriptions(@RequestBo
155158
errorMap.put(subscriptionName, SUBSCRIPTION_NOT_FOUND);
156159
}
157160
} catch (Exception e) {
158-
LOG.error("Failed to update subscription " + subscriptionName + "\nError message: " + e.getMessage(), e);
161+
LOG.error("Failed to update subscription " + subscriptionName + "\nError message: " + e.getMessage(),
162+
e);
159163
errorMap.put(subscriptionName, e.getMessage());
160164
}
161165
});
@@ -165,7 +169,8 @@ public ResponseEntity<List<SubscriptionResponse>> updateSubscriptions(@RequestBo
165169
@Override
166170
@CrossOrigin
167171
@ApiOperation(value = "Removes the subscriptions from the database")
168-
public ResponseEntity<List<SubscriptionResponse>> deleteSubscriptionByNames(@PathVariable String subscriptionNames) {
172+
public ResponseEntity<List<SubscriptionResponse>> deleteSubscriptionByNames(
173+
@PathVariable String subscriptionNames) {
169174
errorMap = new HashMap<>();
170175
// set is used to prevent subscription names repeating
171176
Set<String> subscriptionNamesList = new HashSet<>(Arrays.asList(subscriptionNames.split(",")));
@@ -194,9 +199,9 @@ public ResponseEntity<List<SubscriptionResponse>> deleteSubscriptionByNames(@Pat
194199
public ResponseEntity<?> getSubscriptions() {
195200
LOG.debug("Subscriptions fetching all has been started");
196201
try {
197-
//Make sure the password is not sent outside this service.
202+
// Make sure the password is not sent outside this service.
198203
List<Subscription> subscriptions = subscriptionService.getSubscriptions();
199-
for(Subscription subscription: subscriptions) {
204+
for (Subscription subscription : subscriptions) {
200205
subscription.setPassword("");
201206
}
202207

src/main/java/com/ericsson/ei/queryservice/ProcessAggregatedObject.java

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,12 @@
1313
*/
1414
package com.ericsson.ei.queryservice;
1515

16-
import com.ericsson.ei.mongodbhandler.MongoDBHandler;
17-
import com.fasterxml.jackson.databind.JsonNode;
18-
import com.fasterxml.jackson.databind.ObjectMapper;
16+
import java.util.ArrayList;
17+
import java.util.Iterator;
18+
import java.util.List;
19+
20+
import javax.annotation.PostConstruct;
21+
1922
import org.json.JSONArray;
2023
import org.json.JSONObject;
2124
import org.slf4j.Logger;
@@ -24,10 +27,9 @@
2427
import org.springframework.beans.factory.annotation.Value;
2528
import org.springframework.stereotype.Component;
2629

27-
import javax.annotation.PostConstruct;
28-
import java.util.ArrayList;
29-
import java.util.Iterator;
30-
import java.util.List;
30+
import com.ericsson.ei.mongodbhandler.MongoDBHandler;
31+
import com.fasterxml.jackson.databind.JsonNode;
32+
import com.fasterxml.jackson.databind.ObjectMapper;
3133

3234
/**
3335
* This class represents the mechanism to extract the aggregated data on the
@@ -36,7 +38,7 @@
3638
@Component
3739
public class ProcessAggregatedObject {
3840

39-
private static final Logger LOGGER = (Logger) LoggerFactory.getLogger(ProcessAggregatedObject.class);
41+
private static final Logger LOGGER = LoggerFactory.getLogger(ProcessAggregatedObject.class);
4042

4143
@Value("${aggregated.collection.name}")
4244
private String aggregationCollectionName;
@@ -56,8 +58,8 @@ public class ProcessAggregatedObject {
5658
*/
5759
public ArrayList<String> processQueryAggregatedObject(String id) {
5860
ObjectMapper mapper = new ObjectMapper();
59-
String query = "{\"aggregatedObject.id\": \"" + id + "\"}";
60-
61+
String query = "{\"_id\": \"" + id + "\"}";
62+
6163
LOGGER.debug("The condition is : " + query);
6264
JsonNode jsonCondition = null;
6365
try {
@@ -70,11 +72,11 @@ public ArrayList<String> processQueryAggregatedObject(String id) {
7072
jsonCondition.toString());
7173
return response;
7274
}
73-
75+
7476
/**
7577
* The method is responsible to extract the aggregated data on the basis of
7678
* the ID from the aggregatedObject.
77-
*
79+
*
7880
* @param templateName
7981
* @return ArrayList
8082
*/
@@ -83,10 +85,10 @@ public ArrayList<String> getAggregatedObjectByTemplateName(String templateName)
8385
LOGGER.debug("The Json condition is : " + condition);
8486
return handler.find(aggregationDataBaseName, aggregationCollectionName, condition);
8587
}
86-
88+
8789
/**
8890
* The method is responsible for the delete the aggregated object using template name suffix
89-
*
91+
*
9092
* @param templateName
9193
* @return boolean
9294
*/

src/main/java/com/ericsson/ei/subscriptionhandler/SubscriptionValidator.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,5 +207,4 @@ public static JsonNode objectToJson(Subscription subObject) throws SubscriptionV
207207
}
208208
return jsonSubscriptionObj1;
209209
}
210-
211210
}

src/test/java/com/ericsson/ei/subscriptionhandler/test/SubscriptionValidatorTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,7 @@ public void validateFullSubscriptionWithValidSubscriptionParameters() {
430430
assertTrue(e.getMessage(), false);
431431
return;
432432
}
433+
assertTrue(true);
433434
}
434435

435436
@Test
@@ -444,6 +445,7 @@ public void validateFullSubscriptionWithInvalidSubscriptionParameters() {
444445

445446
@Test
446447
public void validateSubscriptionWithSchemaTest() throws Exception {
448+
447449
try {
448450
invokeMethod(subscriptionValidator, "validateWithSchema", subscriptionValid);
449451
} catch (SubscriptionValidationException e) {

0 commit comments

Comments
 (0)