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;
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)