CPS-1553 :REST endpoint to accept collection of cm handles for GET operation
[cps.git] / cps-ncmp-rest / src / main / java / org / onap / cps / ncmp / rest / controller / handlers / NcmpDatastoreResourceRequestHandlerFactory.java
index ff7bda6..9a71798 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  ============LICENSE_START=======================================================
- *  Copyright (C) 2022 Nordix Foundation
+ *  Copyright (C) 2022-2023 Nordix Foundation
  *  ================================================================================
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
 package org.onap.cps.ncmp.rest.controller.handlers;
 
 import lombok.RequiredArgsConstructor;
-import org.onap.cps.ncmp.api.NetworkCmProxyDataService;
-import org.onap.cps.ncmp.api.NetworkCmProxyQueryService;
-import org.onap.cps.ncmp.rest.executor.CpsNcmpTaskExecutor;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 @Component
 @RequiredArgsConstructor
 public class NcmpDatastoreResourceRequestHandlerFactory {
-
-    private final NetworkCmProxyDataService networkCmProxyDataService;
-    private final NetworkCmProxyQueryService networkCmProxyQueryService;
-    private final CpsNcmpTaskExecutor cpsNcmpTaskExecutor;
-
-    @Value("${notification.async.executor.time-out-value-in-ms:2000}")
-    private int timeOutInMilliSeconds;
-    @Value("${notification.enabled:true}")
-    private boolean notificationFeatureEnabled;
+    private final NcmpCachedResourceRequestHandler ncmpCachedResourceRequestHandler;
+    private final NcmpPassthroughResourceRequestHandler ncmpPassthroughResourceRequestHandler;
 
     /**
      * Gets ncmp datastore handler.
@@ -46,31 +35,17 @@ public class NcmpDatastoreResourceRequestHandlerFactory {
      * @param datastoreType the datastore type
      * @return the ncmp datastore handler
      */
-    public NcmpDatastoreRequestHandler getNcmpDatastoreResourceRequestHandler(
-            final DatastoreType datastoreType) {
+    public NcmpDatastoreRequestHandler getNcmpResourceRequestHandler(final DatastoreType datastoreType) {
 
         switch (datastoreType) {
             case OPERATIONAL:
-                return new NcmpDatastoreOperationalResourceRequestHandler(networkCmProxyDataService,
-                        cpsNcmpTaskExecutor, timeOutInMilliSeconds, notificationFeatureEnabled);
+                ncmpCachedResourceRequestHandler.setDataStoreName(datastoreType.getDatastoreName());
+                return ncmpCachedResourceRequestHandler;
             case PASSTHROUGH_RUNNING:
-                return new NcmpDatastorePassthroughRunningResourceRequestHandler(networkCmProxyDataService,
-                        cpsNcmpTaskExecutor, timeOutInMilliSeconds, notificationFeatureEnabled);
             case PASSTHROUGH_OPERATIONAL:
             default:
-                return new NcmpDatastorePassthroughOperationalResourceRequestHandler(networkCmProxyDataService,
-                        cpsNcmpTaskExecutor, timeOutInMilliSeconds, notificationFeatureEnabled);
+                ncmpPassthroughResourceRequestHandler.setDataStoreName(datastoreType.getDatastoreName());
+                return ncmpPassthroughResourceRequestHandler;
         }
     }
-
-    /**
-     * Gets ncmp datastore query handler.
-     * Note. Currently only ncmp-datastore:operational supports query operations
-     * @return a ncmp datastore query handler.
-     */
-    public NcmpDatastoreRequestHandler getNcmpDatastoreResourceQueryHandler() {
-        return new NcmpDatastoreOperationalQueryHandler(networkCmProxyQueryService, cpsNcmpTaskExecutor,
-            timeOutInMilliSeconds, notificationFeatureEnabled);
-    }
-
 }