Skip to content

Commit 04e6203

Browse files
tobiasakeemichaf
authored andcommitted
Simplified updateSubscription RestApi, so SubscritionName is only spe… …cified in json file/object. (#14)
* Fix updateSubscription RestApi issue that prevented subscription to be updated. * Changed name on isDuplicateSubscriptions functions to doSubscriptionExist. Fixed impacted unit test due to this change. * Simplified updateSubscription RestApi, so SubscritionName is only specified in json file/object.
1 parent 9797066 commit 04e6203

File tree

4 files changed

+28
-29
lines changed

4 files changed

+28
-29
lines changed

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

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,25 +37,23 @@ public ResponseEntity<?> createSubscription(
3737
com.ericsson.ei.controller.model.Subscription subscription);
3838

3939
/**
40-
* Returns the subscription rules for given subscription name.
40+
* Modify an existing Subscription.
4141
*
4242
*/
43-
@RequestMapping(value = "/{subscriptionName}", method = RequestMethod.GET)
44-
public ResponseEntity<com.ericsson.ei.controller.model.Subscription> getSubscriptionById(
45-
@PathVariable
46-
String subscriptionName);
43+
@RequestMapping(value = "", method = RequestMethod.PUT)
44+
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);
4748

4849
/**
49-
* Modify an existing Subscription.
50+
* Returns the subscription rules for given subscription name.
5051
*
5152
*/
52-
@RequestMapping(value = "/{subscriptionName}", method = RequestMethod.PUT)
53-
public ResponseEntity<com.ericsson.ei.controller.model.SubscriptionResponse> updateSubscriptionById(
53+
@RequestMapping(value = "/{subscriptionName}", method = RequestMethod.GET)
54+
public ResponseEntity<com.ericsson.ei.controller.model.Subscription> getSubscriptionById(
5455
@PathVariable
55-
String subscriptionName,
56-
@javax.validation.Valid
57-
@org.springframework.web.bind.annotation.RequestBody
58-
com.ericsson.ei.controller.model.Subscription subscription);
56+
String subscriptionName);
5957

6058
/**
6159
* Removes the subscription from the database.

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,13 @@ public ResponseEntity<Subscription> getSubscriptionById(@PathVariable String sub
7575
}
7676

7777
@Override
78-
@CrossOrigin
78+
//@CrossOrigin
7979
@ApiOperation(value = "Update the existing subscription by the subscription name")
80-
public ResponseEntity<SubscriptionResponse> updateSubscriptionById(@PathVariable String subscriptionName, @RequestBody Subscription subscription) {
80+
public ResponseEntity<SubscriptionResponse> updateSubscriptions(@RequestBody Subscription subscription) {
81+
String subscriptionName = subscription.getSubscriptionName();
8182
LOG.info("Subscription :" + subscriptionName + " update started");
8283
SubscriptionResponse subscriptionResponse = new SubscriptionResponse();
83-
if (subscriptionService.doSubscriptionExist(subscription.getSubscriptionName())) {
84+
if (subscriptionService.doSubscriptionExist(subscriptionName)) {
8485
subscriptionService.modifySubscription(subscription, subscriptionName);
8586
LOG.info("Subscription :" + subscriptionName + " update completed");
8687
subscriptionResponse.setMsg("Updated Successfully"); subscriptionResponse.setStatusCode(HttpStatus.OK.value());

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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,18 @@
4141
description: Takes the subscription rules, the name for subscription and the user name of the person registering this subscription and saves the subscription in subscription database. The name needs to be unique.
4242
body:
4343
application/json:
44-
schema: subscription
44+
schema: subscription
45+
46+
put:
47+
description: Modify an existing Subscription.
48+
body:
49+
application/json:
50+
schema: subscription
51+
responses:
52+
200:
53+
body:
54+
application/json:
55+
schema: subscriptionResponse
4556

4657
/{subscriptionName}:
4758
uriParameters:
@@ -59,17 +70,6 @@
5970
body:
6071
application/json:
6172
schema: subscription
62-
63-
put:
64-
description: Modify an existing Subscription.
65-
body:
66-
application/json:
67-
schema: subscription
68-
responses:
69-
200:
70-
body:
71-
application/json:
72-
schema: subscriptionResponse
7373

7474

7575
delete:

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public void updateSubscription() throws Exception {
7070
Mockito.when(subscriptionService.modifySubscription(Mockito.any(Subscription.class), Mockito.anyString()))
7171
.thenReturn(false);
7272
// Send subscription as body to /subscriptions
73-
RequestBuilder requestBuilder = MockMvcRequestBuilders.put("/subscriptions/Subscription_Test")
73+
RequestBuilder requestBuilder = MockMvcRequestBuilders.put("/subscriptions")
7474
.accept(MediaType.APPLICATION_JSON).content(jsonArray.getJSONObject(0).toString())
7575
.contentType(MediaType.APPLICATION_JSON);
7676

@@ -86,7 +86,7 @@ public void updateSubscription() throws Exception {
8686
public void updateSubscriptionFailWhenSubscriptionDoNotExist() throws Exception {
8787
Mockito.when(subscriptionService.doSubscriptionExist(Mockito.anyString())).thenReturn(false);
8888
// Send subscription as body to /subscriptions
89-
RequestBuilder requestBuilder = MockMvcRequestBuilders.put("/subscriptions/Subscription_Test")
89+
RequestBuilder requestBuilder = MockMvcRequestBuilders.put("/subscriptions")
9090
.accept(MediaType.APPLICATION_JSON).content(jsonArray.getJSONObject(0).toString())
9191
.contentType(MediaType.APPLICATION_JSON);
9292

0 commit comments

Comments
 (0)