Skip to content

Commit b3496ac

Browse files
authored
Merge pull request #14 from Ericsson/master
Merge
2 parents 191002e + c72d2ba commit b3496ac

31 files changed

+434
-235
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
package com.ericsson.ei.controller;
1515

1616
import java.util.ArrayList;
17+
import java.util.List;
1718

1819
import org.slf4j.Logger;
1920
import org.slf4j.LoggerFactory;
@@ -50,7 +51,7 @@ public class MissedNotificationControllerImpl implements MissedNotificationContr
5051
*/
5152
public ResponseEntity<QueryResponse> getQueryMissedNotifications(
5253
@RequestParam("SubscriptionName") final String subscriptionName) {
53-
ArrayList response = processMissedNotification.processQueryMissedNotification(subscriptionName);
54+
List<String> response = processMissedNotification.processQueryMissedNotification(subscriptionName);
5455
log.info("The response is : " + response.toString());
5556
return new ResponseEntity(response.toString(), HttpStatus.OK);
5657
}

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

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
package com.ericsson.ei.controller;
33

44
import java.util.List;
5+
import javax.validation.Valid;
56
import org.springframework.http.ResponseEntity;
67
import org.springframework.web.bind.annotation.PathVariable;
8+
import org.springframework.web.bind.annotation.RequestBody;
79
import org.springframework.web.bind.annotation.RequestMapping;
810
import org.springframework.web.bind.annotation.RequestMethod;
911
import org.springframework.web.bind.annotation.RestController;
@@ -32,19 +34,19 @@ public interface SubscriptionController {
3234
*/
3335
@RequestMapping(value = "", method = RequestMethod.POST)
3436
public ResponseEntity<?> createSubscription(
35-
@javax.validation.Valid
36-
@org.springframework.web.bind.annotation.RequestBody
37-
com.ericsson.ei.controller.model.Subscription subscription);
37+
@Valid
38+
@RequestBody
39+
List<com.ericsson.ei.controller.model.Subscription> subscription);
3840

3941
/**
4042
* Modify an existing Subscription.
4143
*
4244
*/
4345
@RequestMapping(value = "", method = RequestMethod.PUT)
4446
public ResponseEntity<com.ericsson.ei.controller.model.SubscriptionResponse> updateSubscriptions(
45-
@javax.validation.Valid
46-
@org.springframework.web.bind.annotation.RequestBody
47-
com.ericsson.ei.controller.model.Subscription subscription);
47+
@Valid
48+
@RequestBody
49+
List<com.ericsson.ei.controller.model.Subscription> subscription);
4850

4951
/**
5052
* Returns the subscription rules for given subscription name.

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

Lines changed: 34 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package com.ericsson.ei.controller;
1818

19+
import java.time.Instant;
1920
import java.util.ArrayList;
2021
import java.util.List;
2122

@@ -54,33 +55,38 @@ public class SubscriptionControllerImpl implements SubscriptionController {
5455
@Override
5556
@CrossOrigin
5657
@ApiOperation(value = "Creates the subscription")
57-
public ResponseEntity<SubscriptionResponse> createSubscription(@RequestBody Subscription subscription) {
58+
public ResponseEntity<SubscriptionResponse> createSubscription(@RequestBody List<Subscription> subscriptions) {
59+
ResponseEntity<SubscriptionResponse> subResponse = null;
5860
SubscriptionResponse subscriptionResponse = new SubscriptionResponse();
59-
60-
try {
61-
subscriptionValidator.validateSubscription(subscription);
62-
} catch (SubscriptionValidationException e) {
63-
String msg = "Validation of Subscription parameters on:" + subscription.getSubscriptionName()
64-
+ " failed! Error: " + e.getMessage();
65-
LOG.error(msg);
66-
subscriptionResponse.setMsg(msg);
67-
subscriptionResponse.setStatusCode(HttpStatus.PRECONDITION_FAILED.value());
68-
return new ResponseEntity<SubscriptionResponse>(subscriptionResponse, HttpStatus.PRECONDITION_FAILED);
61+
for (Subscription subscription : subscriptions){
62+
subResponse = null;
63+
try {
64+
subscription.setCreated(Instant.now().toEpochMilli());
65+
subscriptionValidator.validateSubscription(subscription);
66+
} catch (SubscriptionValidationException e) {
67+
String msg = "Validation of Subscription parameters on:" + subscription.getSubscriptionName()
68+
+ " failed! Error: " + e.getMessage();
69+
LOG.error(msg);
70+
subscriptionResponse.setMsg(msg);
71+
subscriptionResponse.setStatusCode(HttpStatus.PRECONDITION_FAILED.value());
72+
subResponse = new ResponseEntity<SubscriptionResponse>(subscriptionResponse, HttpStatus.PRECONDITION_FAILED);
73+
}
74+
75+
if (!subscriptionService.doSubscriptionExist(subscription.getSubscriptionName())) {
76+
subscriptionService.addSubscription(subscription);
77+
LOG.info("Subscription :" + subscription.getSubscriptionName() + " Inserted Successfully");
78+
subscriptionResponse.setMsg("Inserted Successfully");
79+
subscriptionResponse.setStatusCode(HttpStatus.OK.value());
80+
subResponse = new ResponseEntity<SubscriptionResponse>(subscriptionResponse, HttpStatus.OK);
81+
82+
} else {
83+
LOG.error("Subscription :" + subscription.getSubscriptionName() + " already exists");
84+
subscriptionResponse.setMsg("Subscription already exists");
85+
subscriptionResponse.setStatusCode(HttpStatus.BAD_REQUEST.value());
86+
subResponse = new ResponseEntity<SubscriptionResponse>(subscriptionResponse, HttpStatus.BAD_REQUEST);
87+
}
6988
}
70-
71-
if (!subscriptionService.doSubscriptionExist(subscription.getSubscriptionName())) {
72-
subscriptionService.addSubscription(subscription);
73-
LOG.info("Subscription :" + subscription.getSubscriptionName() + " Inserted Successfully");
74-
subscriptionResponse.setMsg("Inserted Successfully");
75-
subscriptionResponse.setStatusCode(HttpStatus.OK.value());
76-
return new ResponseEntity<SubscriptionResponse>(subscriptionResponse, HttpStatus.OK);
77-
} else {
78-
LOG.error("Subscription :" + subscription.getSubscriptionName() + " already exists");
79-
subscriptionResponse.setMsg("Subscription already exists");
80-
subscriptionResponse.setStatusCode(HttpStatus.BAD_REQUEST.value());
81-
return new ResponseEntity<SubscriptionResponse>(subscriptionResponse, HttpStatus.BAD_REQUEST);
82-
}
83-
89+
return subResponse;
8490
}
8591

8692
@Override
@@ -105,12 +111,14 @@ public ResponseEntity<List<Subscription>> getSubscriptionById(@PathVariable Stri
105111

106112
// @CrossOrigin
107113
@ApiOperation(value = "Update the existing subscription by the subscription name")
108-
public ResponseEntity<SubscriptionResponse> updateSubscriptions(@RequestBody Subscription subscription) {
114+
public ResponseEntity<SubscriptionResponse> updateSubscriptions(@RequestBody List<Subscription> subscriptions) {
115+
Subscription subscription = subscriptions.get(0);
109116
String subscriptionName = subscription.getSubscriptionName();
110117
LOG.info("Subscription :" + subscriptionName + " update started");
111118
SubscriptionResponse subscriptionResponse = new SubscriptionResponse();
112119

113120
try {
121+
subscription.setCreated(Instant.now().toEpochMilli());
114122
subscriptionValidator.validateSubscription(subscription);
115123
} catch (SubscriptionValidationException e) {
116124
String msg = "Validation of Subscription parameters on:" + subscription.getSubscriptionName()

src/main/java/com/ericsson/ei/controller/model/Subscription.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class Subscription {
3131
@JsonProperty("aggregationtype")
3232
private String aggregationtype;
3333
@JsonProperty("created")
34-
private String created;
34+
private Object created;
3535
@JsonProperty("notificationMessage")
3636
private String notificationMessage;
3737
@JsonProperty("notificationMeta")
@@ -58,12 +58,12 @@ public void setAggregationtype(String aggregationtype) {
5858
}
5959

6060
@JsonProperty("created")
61-
public String getCreated() {
61+
public Object getCreated() {
6262
return created;
6363
}
6464

6565
@JsonProperty("created")
66-
public void setCreated(String created) {
66+
public void setCreated(Object created) {
6767
this.created = created;
6868
}
6969

src/main/java/com/ericsson/ei/handlers/DownstreamExtractionHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void runExtraction(RulesObject rulesObject, String mergeId, String event,
5757

5858
if(aggregatedDbObject != null) {
5959
String objectId = objectHandler.extractObjectId(aggregatedDbObject);
60-
String mergedContent = mergeHandler.mergeObject(objectId, mergeId, rulesObject, event, extractedContent);
60+
mergeHandler.mergeObject(objectId, mergeId, rulesObject, event, extractedContent);
6161
}
6262
}
6363

src/main/java/com/ericsson/ei/handlers/DownstreamIdRulesHandler.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
*/
1717
package com.ericsson.ei.handlers;
1818

19-
import java.util.ArrayList;
2019
import java.util.List;
2120

2221
import org.slf4j.Logger;

src/main/java/com/ericsson/ei/handlers/EventHandler.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,14 @@
1919
import org.slf4j.Logger;
2020
import org.slf4j.LoggerFactory;
2121
import org.springframework.amqp.core.Message;
22-
import org.springframework.amqp.rabbit.core.ChannelAwareMessageListener;
2322
import org.springframework.beans.factory.annotation.Autowired;
24-
import org.springframework.beans.factory.annotation.Value;
25-
import org.springframework.context.annotation.Bean;
2623
import org.springframework.scheduling.annotation.Async;
27-
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
2824
import org.springframework.stereotype.Component;
2925

3026
import com.ericsson.ei.rules.RulesHandler;
3127
import com.ericsson.ei.rules.RulesObject;
32-
3328
import com.rabbitmq.client.Channel;
3429

35-
import java.util.concurrent.Executor;
36-
37-
import javax.annotation.PostConstruct;
38-
3930
@Component
4031
public class EventHandler {
4132

@@ -75,6 +66,5 @@ public void onMessage(Message message, Channel channel) throws Exception {
7566
eventReceived(messageBody);
7667
long deliveryTag = message.getMessageProperties().getDeliveryTag();
7768
channel.basicAck(deliveryTag, false);
78-
int breakHere = 1;
7969
}
8070
}

src/main/java/com/ericsson/ei/handlers/EventToObjectMapHandler.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,7 @@
1616
*/
1717
package com.ericsson.ei.handlers;
1818

19-
import java.io.IOException;
2019
import java.util.ArrayList;
21-
import java.util.HashMap;
22-
import java.util.List;
23-
import java.util.Map;
2420

2521
import org.slf4j.Logger;
2622
import org.slf4j.LoggerFactory;
@@ -30,11 +26,8 @@
3026

3127
import com.ericsson.ei.jmespath.JmesPathInterface;
3228
import com.ericsson.ei.mongodbhandler.MongoDBHandler;
33-
import com.ericsson.ei.rules.RulesHandler;
3429
import com.ericsson.ei.rules.RulesObject;
35-
import com.fasterxml.jackson.core.JsonParseException;
3630
import com.fasterxml.jackson.core.type.TypeReference;
37-
import com.fasterxml.jackson.databind.JsonMappingException;
3831
import com.fasterxml.jackson.databind.JsonNode;
3932
import com.fasterxml.jackson.databind.ObjectMapper;
4033
import com.fasterxml.jackson.databind.node.ArrayNode;

src/main/java/com/ericsson/ei/handlers/HistoryExtractionHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public String runHistoryExtraction(String aggregatedObjectId, RulesObject rules,
100100
private String getRulePath(String stringRule) {
101101
String flattenRule = JsonFlattener.flatten(stringRule);
102102
String[] rulePair = flattenRule.split(":");
103-
String ruleKey = mergePrepare.destringify(rulePair[0]);
103+
String ruleKey = MergePrepare.destringify(rulePair[0]);
104104
return ruleKey;
105105
}
106106

src/main/java/com/ericsson/ei/handlers/ObjectHandler.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@
1919
import java.util.ArrayList;
2020
import java.util.List;
2121

22-
import com.ericsson.ei.subscriptionhandler.SubscriptionHandler;
23-
import com.mongodb.DBObject;
24-
import lombok.Getter;
25-
import lombok.Setter;
22+
import org.bson.Document;
2623
import org.slf4j.Logger;
2724
import org.slf4j.LoggerFactory;
2825
import org.springframework.beans.factory.annotation.Autowired;
@@ -32,9 +29,14 @@
3229
import com.ericsson.ei.jmespath.JmesPathInterface;
3330
import com.ericsson.ei.mongodbhandler.MongoDBHandler;
3431
import com.ericsson.ei.rules.RulesObject;
32+
import com.ericsson.ei.subscriptionhandler.SubscriptionHandler;
3533
import com.fasterxml.jackson.databind.JsonNode;
3634
import com.fasterxml.jackson.databind.ObjectMapper;
3735
import com.fasterxml.jackson.databind.node.ObjectNode;
36+
import com.mongodb.util.JSON;
37+
38+
import lombok.Getter;
39+
import lombok.Setter;
3840

3941
@Component
4042
public class ObjectHandler {
@@ -186,12 +188,13 @@ public String lockDocument(String id){
186188
JsonNode documentJson = mapper.readValue(setLock, JsonNode.class);
187189
JsonNode queryCondition = mapper.readValue(conditionId, JsonNode.class);
188190
((ObjectNode) queryCondition).set("$or", mapper.readValue(conditionLock, JsonNode.class));
189-
DBObject result = mongoDbHandler.findAndModify(databaseName, collectionName, queryCondition.toString(), documentJson.toString());
190-
if(result != null){
191+
Document result = mongoDbHandler.findAndModify(databaseName, collectionName, queryCondition.toString(), documentJson.toString());
192+
if (result != null) {
191193
log.info("DB locked by " + Thread.currentThread().getId() + " thread");
192194
documentLocked = false;
193-
return result.toString();}
194-
// To Remove
195+
return JSON.serialize(result);
196+
}
197+
// To Remove
195198
log.info("Waiting by " + Thread.currentThread().getId() + " thread");
196199
} catch (Exception e) {
197200
log.info(e.getMessage(),e); }

0 commit comments

Comments
 (0)