Filter on private properties of CM Handles
[cps.git] / cps-ncmp-rest / src / main / java / org / onap / cps / ncmp / rest / controller / NetworkCmProxyInventoryController.java
index 0c428e4..98da150 100755 (executable)
@@ -27,10 +27,12 @@ import java.util.stream.Collectors;
 import javax.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import org.onap.cps.ncmp.api.NetworkCmProxyDataService;
+import org.onap.cps.ncmp.api.models.CmHandleQueryServiceParameters;
 import org.onap.cps.ncmp.api.models.CmHandleRegistrationResponse;
 import org.onap.cps.ncmp.api.models.CmHandleRegistrationResponse.Status;
 import org.onap.cps.ncmp.api.models.DmiPluginRegistrationResponse;
 import org.onap.cps.ncmp.rest.api.NetworkCmProxyInventoryApi;
+import org.onap.cps.ncmp.rest.model.CmHandleQueryParameters;
 import org.onap.cps.ncmp.rest.model.CmHandlerRegistrationErrorResponse;
 import org.onap.cps.ncmp.rest.model.DmiPluginRegistrationErrorResponse;
 import org.onap.cps.ncmp.rest.model.RestDmiPluginRegistration;
@@ -47,6 +49,16 @@ public class NetworkCmProxyInventoryController implements NetworkCmProxyInventor
     private final NetworkCmProxyDataService networkCmProxyDataService;
     private final NcmpRestInputMapper ncmpRestInputMapper;
 
+    @Override
+    public ResponseEntity<List<String>> searchCmHandleIds(final CmHandleQueryParameters cmHandleQueryParameters) {
+        final CmHandleQueryServiceParameters cmHandleQueryServiceParameters = ncmpRestInputMapper
+                .toCmHandleQueryServiceParameters(cmHandleQueryParameters);
+
+        final Set<String> cmHandleIds = networkCmProxyDataService
+                .executeCmHandleIdSearchForInventory(cmHandleQueryServiceParameters);
+        return ResponseEntity.ok(List.copyOf(cmHandleIds));
+    }
+
     /**
      * Get all cm-handle IDs under a registered DMI plugin.
      *