X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ncmp-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fncmp%2Fapi%2FNetworkCmProxyDataService.java;h=0c12875538b1e554f568037d2d8bc2ebd899edf0;hb=41727e5dd167c71a63fb8b8f4e3136867b0e65b3;hp=ce850cc82f1a02a11140b154c7acafb2f93b645b;hpb=e9ed581de0a6090c513e6fca0052b69396cb3cc8;p=cps.git diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java index ce850cc82..0c1287553 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java @@ -1,7 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2021 highstreet technologies GmbH - * Modifications Copyright (C) 2021-2022 Nordix Foundation + * Modifications Copyright (C) 2021-2023 Nordix Foundation * Modifications Copyright (C) 2021 Pantheon.tech * Modifications Copyright (C) 2022 Bell Canada * ================================================================================ @@ -23,15 +23,18 @@ package org.onap.cps.ncmp.api; -import static org.onap.cps.ncmp.api.impl.operations.DmiRequestBody.OperationEnum; - import java.util.Collection; import java.util.Map; -import java.util.Set; +import org.onap.cps.ncmp.api.impl.inventory.CompositeState; +import org.onap.cps.ncmp.api.impl.operations.OperationType; import org.onap.cps.ncmp.api.models.CmHandleQueryApiParameters; +import org.onap.cps.ncmp.api.models.CmHandleQueryServiceParameters; +import org.onap.cps.ncmp.api.models.DataOperationRequest; import org.onap.cps.ncmp.api.models.DmiPluginRegistration; import org.onap.cps.ncmp.api.models.DmiPluginRegistrationResponse; import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle; +import org.onap.cps.spi.FetchDescendantsOption; +import org.onap.cps.spi.model.ModuleDefinition; import org.onap.cps.spi.model.ModuleReference; /* @@ -48,52 +51,61 @@ public interface NetworkCmProxyDataService { DmiPluginRegistrationResponse updateDmiRegistrationAndSyncModule(DmiPluginRegistration dmiPluginRegistration); /** - * Get resource data for data store pass-through operational - * using dmi. + * Get resource data for given data store using dmi. * - * @param cmHandleId cm handle identifier - * @param resourceIdentifier resource identifier + * @param datastoreName datastore name + * @param cmHandleId cm handle identifier + * @param resourceIdentifier resource identifier * @param optionsParamInQuery options query - * @param topicParamInQuery topic name for (triggering) async responses - * @param requestId unique requestId for async request + * @param topicParamInQuery topic name for (triggering) async responses + * @param requestId unique requestId for async request * @return {@code Object} resource data */ - Object getResourceDataOperationalForCmHandle(String cmHandleId, - String resourceIdentifier, - String optionsParamInQuery, - String topicParamInQuery, - String requestId); + Object getResourceDataForCmHandle(String datastoreName, + String cmHandleId, + String resourceIdentifier, + String optionsParamInQuery, + String topicParamInQuery, + String requestId); /** - * Get resource data for data store pass-through running - * using dmi. + * Get resource data for operational. * - * @param cmHandleId cm handle identifier + * @param datastoreName datastore name + * @param cmHandleId cm handle identifier * @param resourceIdentifier resource identifier - * @param optionsParamInQuery options query - * @param topicParamInQuery topic name for (triggering) async responses - * @param requestId unique requestId for async request + * @Link FetchDescendantsOption fetch descendants option * @return {@code Object} resource data */ - Object getResourceDataPassThroughRunningForCmHandle(String cmHandleId, - String resourceIdentifier, - String optionsParamInQuery, - String topicParamInQuery, - String requestId); + Object getResourceDataForCmHandle(String datastoreName, + String cmHandleId, + String resourceIdentifier, + FetchDescendantsOption fetchDescendantsOption); /** - * Write resource data for data store pass-through running - * using dmi for given cm-handle. - * @param cmHandleId cm handle identifier + * Execute (async) data operation for group of cm handles using dmi. + * + * @param topicParamInQuery topic name for (triggering) async responses + * @param dataOperationRequest contains a list of operation definitions(multiple operations) + */ + void executeDataOperationForCmHandles(String topicParamInQuery, + DataOperationRequest dataOperationRequest, + String requestId); + + + /** + * Write resource data for data store pass-through running using dmi for given cm-handle. + * + * @param cmHandleId cm handle identifier * @param resourceIdentifier resource identifier - * @param operation required operation - * @param requestBody request body to create resource - * @param contentType content type in body + * @param operationType required operation type + * @param requestBody request body to create resource + * @param contentType content type in body * @return {@code Object} return data */ Object writeResourceDataPassThroughRunningForCmHandle(String cmHandleId, String resourceIdentifier, - OperationEnum operation, + OperationType operationType, String requestBody, String contentType); @@ -105,6 +117,14 @@ public interface NetworkCmProxyDataService { */ Collection getYangResourcesModuleReferences(String cmHandleId); + /** + * Retrieve module definitions for the given cm handle. + * + * @param cmHandleId cm handle identifier + * @return a collection of module definition (moduleName, revision and yang resource content) + */ + Collection getModuleDefinitionsByCmHandleId(String cmHandleId); + /** * Query cm handle details by cm handle's name. * @@ -121,13 +141,21 @@ public interface NetworkCmProxyDataService { */ Map getCmHandlePublicProperties(String cmHandleId); + /** + * Get cm handle composite state by cm handle id. + * + * @param cmHandleId cm handle identifier + * @return a cm handle composite state + */ + CompositeState getCmHandleCompositeState(String cmHandleId); + /** * Query and return cm handles that match the given query parameters. * * @param cmHandleQueryApiParameters the cm handle query parameters * @return collection of cm handles */ - Set executeCmHandleSearch(CmHandleQueryApiParameters cmHandleQueryApiParameters); + Collection executeCmHandleSearch(CmHandleQueryApiParameters cmHandleQueryApiParameters); /** * Query and return cm handle ids that match the given query parameters. @@ -135,5 +163,30 @@ public interface NetworkCmProxyDataService { * @param cmHandleQueryApiParameters the cm handle query parameters * @return collection of cm handle ids */ - Set executeCmHandleIdSearch(CmHandleQueryApiParameters cmHandleQueryApiParameters); + Collection executeCmHandleIdSearch(CmHandleQueryApiParameters cmHandleQueryApiParameters); + + /** + * Set the data sync enabled flag, along with the data sync state to true or false based on the cm handle id. + * + * @param cmHandleId cm handle id + * @param dataSyncEnabled data sync enabled flag + */ + void setDataSyncEnabled(String cmHandleId, Boolean dataSyncEnabled); + + /** + * Get all cm handle IDs by DMI plugin identifier. + * + * @param dmiPluginIdentifier DMI plugin identifier + * @return collection of cm handle IDs + */ + Collection getAllCmHandleIdsByDmiPluginIdentifier(String dmiPluginIdentifier); + + /** + * Get all cm handle IDs by various search criteria. + * + * @param cmHandleQueryServiceParameters cm handle query parameters + * @return collection of cm handle IDs + */ + Collection executeCmHandleIdSearchForInventory(CmHandleQueryServiceParameters + cmHandleQueryServiceParameters); }