Skip to content

Commit 0af0193

Browse files
Merge pull request #3 from Ericsson/master
Update fork
2 parents 577849e + 618d36c commit 0af0193

37 files changed

+596
-236
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()
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.ericsson.ei.controller;
2+
3+
import io.swagger.annotations.Api;
4+
import io.swagger.annotations.ApiOperation;
5+
import org.apache.commons.io.IOUtils;
6+
import org.slf4j.Logger;
7+
import org.slf4j.LoggerFactory;
8+
import org.springframework.http.HttpHeaders;
9+
import org.springframework.http.HttpStatus;
10+
import org.springframework.http.ResponseEntity;
11+
import org.springframework.stereotype.Component;
12+
import org.springframework.web.bind.annotation.CrossOrigin;
13+
14+
import java.io.IOException;
15+
import java.io.InputStream;
16+
17+
@Component
18+
@CrossOrigin
19+
@Api(value = "Get template", description = "REST end-points for template subscription")
20+
public class SubscriptionTemplateControllerImpl implements SubscriptiontemplateController {
21+
22+
private static final Logger LOGGER = (Logger) LoggerFactory.getLogger(SubscriptionTemplateControllerImpl.class);
23+
24+
@Override
25+
@CrossOrigin
26+
@ApiOperation(value = "")
27+
public ResponseEntity<?> getDownloadSubscriptiontemplate() {
28+
try {
29+
InputStream is = getClass().getResourceAsStream("/subscriptionsTemplate.json");
30+
return new ResponseEntity<>(IOUtils.toByteArray(is), new HttpHeaders(), HttpStatus.OK);
31+
} catch (IOException e) {
32+
LOGGER.error("Error " + e.getMessage());
33+
return new ResponseEntity<>("File not found", HttpStatus.OK);
34+
}
35+
}
36+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
package com.ericsson.ei.controller;
3+
4+
import org.springframework.http.ResponseEntity;
5+
import org.springframework.web.bind.annotation.RequestMapping;
6+
import org.springframework.web.bind.annotation.RequestMethod;
7+
import org.springframework.web.bind.annotation.RestController;
8+
9+
10+
/**
11+
* No description
12+
* (Generated with springmvc-raml-parser v.0.10.11)
13+
*
14+
*/
15+
@RestController
16+
@RequestMapping(value = "/download/subscriptiontemplate", produces = "application/json")
17+
public interface SubscriptiontemplateController {
18+
19+
20+
/**
21+
* Subscription template
22+
*
23+
*/
24+
@RequestMapping(value = "", method = RequestMethod.GET)
25+
public ResponseEntity<?> getDownloadSubscriptiontemplate();
26+
27+
}

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;

0 commit comments

Comments
 (0)