aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/nbi/apis/hub/HubResource.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/nbi/apis/hub/HubResource.java')
-rwxr-xr-xsrc/main/java/org/onap/nbi/apis/hub/HubResource.java184
1 files changed, 91 insertions, 93 deletions
diff --git a/src/main/java/org/onap/nbi/apis/hub/HubResource.java b/src/main/java/org/onap/nbi/apis/hub/HubResource.java
index 3f14b8a..0eebb71 100755
--- a/src/main/java/org/onap/nbi/apis/hub/HubResource.java
+++ b/src/main/java/org/onap/nbi/apis/hub/HubResource.java
@@ -11,6 +11,7 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
+
package org.onap.nbi.apis.hub;
import java.util.LinkedHashMap;
@@ -54,105 +55,102 @@ import org.springframework.web.bind.annotation.RestController;
@EnableScheduling
public class HubResource extends ResourceManagement {
- Logger logger = LoggerFactory.getLogger(HubResource.class);
-
- @Autowired
- MongoTemplate mongoTemplate;
-
- @Autowired
- SubscriptionService subscriptionService;
-
- @Autowired
- MultiCriteriaRequestBuilder multiCriteriaRequestBuilder;
-
- @Autowired
- CheckDMaaPEventsManager checkDMaaPEventMAnager;
-
- @Autowired
- EWInterfaceUtils ewInterfaceUtils;
-
- @Value("${nbi.public.url}")
- private String nbiPublicUrl;
-
- @PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
- public ResponseEntity<Object> createEventSubscription(@RequestBody Subscription subscription,
- @RequestParam MultiValueMap<String, String> params, @RequestHeader(value="Target",required = false)String targetUrl) {
- logger.debug("POST request for subscription : {}", subscription);
- if (targetUrl != null) {
- targetUrl = targetUrl + OnapComponentsUrlPaths.HUB_PATH;
- String originalCallback = subscription.getCallback();
- subscription.setCallback(nbiPublicUrl + OnapComponentsUrlPaths.LISTENER_PATH);
- ResponseEntity ewResponse = ewInterfaceUtils.callPostRequestTarget(subscription, targetUrl);
- if (ewResponse.getStatusCode() == HttpStatus.CREATED) {
- subscription.setCallback(originalCallback);
- subscription.setEwHost(targetUrl);
- subscription.setEwId(((LinkedHashMap)ewResponse.getBody()).get( "id" ).toString());
- } else {
- return ewResponse;
- }
+ Logger logger = LoggerFactory.getLogger(HubResource.class);
+
+ @Autowired
+ MongoTemplate mongoTemplate;
+
+ @Autowired
+ SubscriptionService subscriptionService;
+
+ @Autowired
+ MultiCriteriaRequestBuilder multiCriteriaRequestBuilder;
+
+ @Autowired
+ CheckDMaaPEventsManager checkDMaaPEventMAnager;
+
+ @Autowired
+ EWInterfaceUtils ewInterfaceUtils;
+
+ @Value("${nbi.public.url}")
+ private String nbiPublicUrl;
+
+ @PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
+ public ResponseEntity<Object> createEventSubscription(@RequestBody Subscription subscription,
+ @RequestParam MultiValueMap<String, String> params,
+ @RequestHeader(value = "Target", required = false) String targetUrl) {
+ logger.debug("POST request for subscription : {}", subscription);
+ if (targetUrl != null) {
+ targetUrl = targetUrl + OnapComponentsUrlPaths.HUB_PATH;
+ String originalCallback = subscription.getCallback();
+ subscription.setCallback(nbiPublicUrl + OnapComponentsUrlPaths.LISTENER_PATH);
+ ResponseEntity ewResponse = ewInterfaceUtils.callPostRequestTarget(subscription, targetUrl);
+ if (ewResponse.getStatusCode() == HttpStatus.CREATED) {
+ subscription.setCallback(originalCallback);
+ subscription.setEwHost(targetUrl);
+ subscription.setEwId(((LinkedHashMap) ewResponse.getBody()).get("id").toString());
+ } else {
+ return ewResponse;
+ }
+ }
+ Subscriber subscriber = subscriptionService.createSubscription(subscription);
+ JsonRepresentation filter = new JsonRepresentation(params);
+ return this.createResponse(Subscription.createFromSubscriber(subscriber), filter);
+
+ }
+
+ @GetMapping(value = "/{subscriptionId}", produces = MediaType.APPLICATION_JSON_VALUE)
+ public ResponseEntity<Subscription> getSubscription(@PathVariable String subscriptionId) {
+
+ Optional<Subscriber> optionalSubscriber = subscriptionService.findSubscriptionById(subscriptionId);
+ if (!optionalSubscriber.isPresent()) {
+ return ResponseEntity.notFound().build();
+ }
+ return ResponseEntity.ok(Subscription.createFromSubscriber(optionalSubscriber.get()));
}
- Subscriber subscriber = subscriptionService.createSubscription(subscription);
- JsonRepresentation filter = new JsonRepresentation(params);
- return this.createResponse(Subscription.createFromSubscriber(subscriber), filter);
- }
+ @GetMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)
+ public ResponseEntity<Object> findSubscribers(@RequestParam MultiValueMap<String, String> params) {
+
+ Query query = multiCriteriaRequestBuilder.buildRequest(params);
+ List<Subscriber> subscribers = mongoTemplate.find(query, Subscriber.class);
+ JsonRepresentation filter = new JsonRepresentation(params);
+ long totalCount = subscriptionService.countSubscription();
+ HttpHeaders headers = new HttpHeaders();
+ headers.add("X-Total-Count", String.valueOf(totalCount));
+ headers.add("X-Result-Count", String.valueOf(subscribers.size()));
+ List<Subscription> subscriptions =
+ subscribers.stream().map(Subscription::createFromSubscriber).collect(Collectors.toList());
- @GetMapping(value = "/{subscriptionId}", produces = MediaType.APPLICATION_JSON_VALUE)
- public ResponseEntity<Subscription> getSubscription(@PathVariable String subscriptionId) {
+ return this.findResponse(subscriptions, filter, headers);
+ }
- Optional<Subscriber> optionalSubscriber =
- subscriptionService.findSubscriptionById(subscriptionId);
- if (!optionalSubscriber.isPresent()) {
- return ResponseEntity.notFound().build();
+ /*
+ * Resource to test for DMaaP Integration for subscribing to AAI-EVENTs
+ */
+ @GetMapping("/testaaievents")
+ @ResponseStatus(HttpStatus.OK)
+ public void testAAIEventListener() {
+ checkDMaaPEventMAnager.checkForDMaaPAAIEvents();
}
- return ResponseEntity.ok(Subscription.createFromSubscriber(optionalSubscriber.get()));
- }
-
- @GetMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)
- public ResponseEntity<Object> findSubscribers(
- @RequestParam MultiValueMap<String, String> params) {
-
- Query query = multiCriteriaRequestBuilder.buildRequest(params);
- List<Subscriber> subscribers = mongoTemplate.find(query, Subscriber.class);
- JsonRepresentation filter = new JsonRepresentation(params);
- long totalCount = subscriptionService.countSubscription();
- HttpHeaders headers = new HttpHeaders();
- headers.add("X-Total-Count", String.valueOf(totalCount));
- headers.add("X-Result-Count", String.valueOf(subscribers.size()));
- List<Subscription> subscriptions =
- subscribers.stream().map(Subscription::createFromSubscriber).collect(Collectors.toList());
-
- return this.findResponse(subscriptions, filter, headers);
-
- }
-
- /*
- * Resource to test for DMaaP Integration for subscribing to AAI-EVENTs
- */
- @GetMapping("/testaaievents")
- @ResponseStatus(HttpStatus.OK)
- public void testAAIEventListener() {
- checkDMaaPEventMAnager.checkForDMaaPAAIEvents();
- }
-
- @DeleteMapping("/{subscriptionId}")
- @ResponseStatus(HttpStatus.NO_CONTENT)
- public void deleteSubscription(@PathVariable String subscriptionId) {
- logger.debug("DELETE request for subscription id #{}", subscriptionId);
- Optional<Subscriber> optionalSubscriber= subscriptionService.findSubscriptionById(subscriptionId);
- subscriptionService.deleteSubscription(subscriptionId);
- String ewHost=optionalSubscriber.get().getEwHost();
- String ewId=optionalSubscriber.get().getEwId();
- logger.info("POST delete for ewHost : {}", ewHost);
- logger.info("POST delete for ewId : {}", ewId);
- if ( ewHost !=null && ewId !=null )
- {
- logger.info("POST deleteIF for ewHost : {}", ewHost);
- String targetUrl = ewHost+ "/" + ewId;
- ewInterfaceUtils.callDeleteRequestTarget(targetUrl);
- logger.info("POST deleteIF for ewHost is : {}", targetUrl);
+
+ @DeleteMapping("/{subscriptionId}")
+ @ResponseStatus(HttpStatus.NO_CONTENT)
+ public void deleteSubscription(@PathVariable String subscriptionId) {
+ logger.debug("DELETE request for subscription id #{}", subscriptionId);
+ Optional<Subscriber> optionalSubscriber = subscriptionService.findSubscriptionById(subscriptionId);
+ subscriptionService.deleteSubscription(subscriptionId);
+ String ewHost = optionalSubscriber.get().getEwHost();
+ String ewId = optionalSubscriber.get().getEwId();
+ logger.info("POST delete for ewHost : {}", ewHost);
+ logger.info("POST delete for ewId : {}", ewId);
+ if (ewHost != null && ewId != null) {
+ logger.info("POST deleteIF for ewHost : {}", ewHost);
+ String targetUrl = ewHost + "/" + ewId;
+ ewInterfaceUtils.callDeleteRequestTarget(targetUrl);
+ logger.info("POST deleteIF for ewHost is : {}", targetUrl);
+ }
}
- }
}