Update to Spring Boot 2
[externalapi/nbi.git] / src / main / java / org / onap / nbi / apis / hub / HubResource.java
index cccd0a8..0f94802 100755 (executable)
@@ -14,6 +14,7 @@ package org.onap.nbi.apis.hub;
 
 import java.net.URI;
 import java.util.List;
+import java.util.Optional;
 import java.util.stream.Collectors;
 import org.onap.nbi.apis.hub.model.Subscriber;
 import org.onap.nbi.apis.hub.model.Subscription;
@@ -60,28 +61,24 @@ public class HubResource extends ResourceManagement {
     MultiCriteriaRequestBuilder multiCriteriaRequestBuilder;
 
     @PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
-    public ResponseEntity<Subscriber> createEventSubscription(@RequestBody Subscription subscription) {
+    public ResponseEntity<Object> createEventSubscription(@RequestBody Subscription subscription,
+        @RequestParam MultiValueMap<String, String> params) {
         logger.debug("POST request for subscription : {}", subscription);
-
         Subscriber subscriber = subscriptionService.createSubscription(subscription);
+        JsonRepresentation filter = new JsonRepresentation(params);
+        return this.createResponse(Subscription.createFromSubscriber(subscriber), filter);
 
-        URI location = ServletUriComponentsBuilder
-            .fromCurrentRequest()
-            .path("/{id}")
-            .buildAndExpand(subscriber.getId())
-            .toUri();
-
-        return ResponseEntity.created(location).build();
     }
 
     @GetMapping(value = "/{subscriptionId}", produces = MediaType.APPLICATION_JSON_VALUE)
     public ResponseEntity<Subscription> getSubscription(@PathVariable String subscriptionId) {
 
-        Subscriber subscriber = subscriptionService.findSubscriptionById(subscriptionId);
-        if (subscriber == null) {
+
+        Optional<Subscriber> optionalSubscriber = subscriptionService.findSubscriptionById(subscriptionId);
+        if (!optionalSubscriber.isPresent()) {
             return ResponseEntity.notFound().build();
         }
-        return ResponseEntity.ok(Subscription.createFromSubscriber(subscriber));
+        return ResponseEntity.ok(Subscription.createFromSubscriber(optionalSubscriber.get()));
     }
 
     @GetMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)