Skip to content

Commit d865fda

Browse files
tobiasakeemichaf
authored andcommitted
Solved getSubscriptionById() RestAPI not responding with empy JSON, responded with empty string before this fix, when no Subscription was found, which caused errors in webBrowser using EI Frontend. (#22)
* Removed Timeout parameter from subscripion code since the parameter will not be used. * Solved getSubscriptionById() RestAPI not responding with empy JSON, responded with empty string before this fix, when no Subscription was found, which caused errors in webBrowser using EI Frontend. * Solved getSubscriptionById() RestAPI not responding with empy JSON, responded with empty string before this fix, when no Subscription was found, which caused errors in webBrowser using EI Frontend.
1 parent c0a0831 commit d865fda

File tree

4 files changed

+16
-13
lines changed

4 files changed

+16
-13
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public ResponseEntity<com.ericsson.ei.controller.model.SubscriptionResponse> upd
5151
*
5252
*/
5353
@RequestMapping(value = "/{subscriptionName}", method = RequestMethod.GET)
54-
public ResponseEntity<com.ericsson.ei.controller.model.Subscription> getSubscriptionById(
54+
public ResponseEntity<List<com.ericsson.ei.controller.model.Subscription>> getSubscriptionById(
5555
@PathVariable
5656
String subscriptionName);
5757

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

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class SubscriptionControllerImpl implements SubscriptionController {
3939

4040
private static final Logger LOG = LoggerFactory.getLogger(SubscriptionControllerImpl.class);
4141

42+
4243
@Override
4344
@CrossOrigin
4445
@ApiOperation(value = "Creates the subscription")
@@ -51,7 +52,7 @@ public ResponseEntity<SubscriptionResponse> createSubscription(@RequestBody Subs
5152
return new ResponseEntity<SubscriptionResponse>(subscriptionResponse, HttpStatus.OK);
5253
} else {
5354
LOG.error("Subscription :" + subscription.getSubscriptionName() + " identified as duplicate subscription");
54-
subscriptionResponse.setMsg("Duplicate Subscription"); subscriptionResponse.setStatusCode(HttpStatus.BAD_REQUEST.value());
55+
subscriptionResponse.setMsg("Subscription already exists"); subscriptionResponse.setStatusCode(HttpStatus.BAD_REQUEST.value());
5556
return new ResponseEntity<SubscriptionResponse>(subscriptionResponse, HttpStatus.BAD_REQUEST);
5657
}
5758

@@ -60,16 +61,17 @@ public ResponseEntity<SubscriptionResponse> createSubscription(@RequestBody Subs
6061
@Override
6162
@CrossOrigin
6263
@ApiOperation(value = "Returns the subscription rules for given subscription name")
63-
public ResponseEntity<Subscription> getSubscriptionById(@PathVariable String subscriptionName) {
64-
Subscription subscription = null;
64+
public ResponseEntity<List<Subscription>> getSubscriptionById(@PathVariable String subscriptionName) {
65+
List<Subscription> subscriptionList = new ArrayList<Subscription>();
6566
try {
6667
LOG.info("Subscription :" + subscriptionName + " fetch started");
67-
subscription = subscriptionService.getSubscription(subscriptionName);
68+
subscriptionList.add(subscriptionService.getSubscription(subscriptionName));
6869
LOG.info("Subscription :" + subscriptionName + " fetched");
69-
return new ResponseEntity<Subscription>(subscription, HttpStatus.OK);
70+
return new ResponseEntity<List<Subscription>> (subscriptionList, HttpStatus.OK);
7071
} catch (SubscriptionNotFoundException e) {
7172
LOG.error("Subscription :" + subscriptionName + " not found in records");
72-
return new ResponseEntity<Subscription>(subscription, HttpStatus.OK);
73+
return new ResponseEntity<List<Subscription>> (subscriptionList, HttpStatus.OK);
74+
7375
}
7476

7577
}

src/main/resources/public/raml/subscription.raml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,11 @@
6666
get:
6767
description: Returns the subscription rules for given subscription name.
6868
responses:
69-
200:
69+
200:
7070
body:
7171
application/json:
72-
schema: subscription
72+
schema: subscriptionList
73+
7374

7475

7576
delete:

src/test/java/com/ericsson/ei/subscription/SubscriptionRestAPITest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,10 @@ public void getSubScriptionByName() throws Exception {
108108

109109
MvcResult result = mockMvc.perform(requestBuilder).andReturn();
110110

111-
Subscription subscription = mapper.readValue(result.getResponse().getContentAsString().toString(),
112-
Subscription.class);
111+
Subscription[] subscription = mapper.readValue(result.getResponse().getContentAsString().toString(),
112+
Subscription[].class);
113113
assertEquals(HttpStatus.OK.value(), result.getResponse().getStatus());
114-
assertEquals("Subscription_Test", subscription.getSubscriptionName());
114+
assertEquals("Subscription_Test", subscription[0].getSubscriptionName());
115115
}
116116

117117
@Test
@@ -125,7 +125,7 @@ public void getSubScriptionByNameNotFound() throws Exception {
125125
MvcResult result = mockMvc.perform(requestBuilder).andReturn();
126126

127127
assertEquals(HttpStatus.OK.value(), result.getResponse().getStatus());
128-
assertEquals("", result.getResponse().getContentAsString());
128+
assertEquals("[]", result.getResponse().getContentAsString());
129129
}
130130

131131
@Test

0 commit comments

Comments
 (0)