* Copyright (C) 2021 highstreet technologies GmbH
* Modifications Copyright (C) 2021-2022 Nordix Foundation
* Modifications Copyright (C) 2021 Pantheon.tech
+ * Modifications Copyright (C) 2022 Bell Canada
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
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.inventory.CompositeState;
+import org.onap.cps.ncmp.api.models.CmHandleQueryApiParameters;
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.model.ModuleDefinition;
import org.onap.cps.spi.model.ModuleReference;
/*
* Registration of New CM Handles.
*
* @param dmiPluginRegistration Dmi Plugin Registration
+ * @return dmiPluginRegistrationResponse
*/
- void updateDmiRegistrationAndSyncModule(DmiPluginRegistration dmiPluginRegistration);
+ DmiPluginRegistrationResponse updateDmiRegistrationAndSyncModule(DmiPluginRegistration dmiPluginRegistration);
/**
* Get resource data for data store pass-through operational
*
* @param cmHandleId cm handle identifier
* @param resourceIdentifier resource identifier
- * @param acceptParamInHeader accept param
* @param optionsParamInQuery options query
* @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 acceptParamInHeader,
String optionsParamInQuery,
- String topicParamInQuery);
+ String topicParamInQuery,
+ String requestId);
/**
* Get resource data for data store pass-through running
*
* @param cmHandleId cm handle identifier
* @param resourceIdentifier resource identifier
- * @param acceptParamInHeader accept param
* @param optionsParamInQuery options query
- * @param topicParamInQuery topic query
+ * @param topicParamInQuery topic name for (triggering) async responses
+ * @param requestId unique requestId for async request
* @return {@code Object} resource data
*/
Object getResourceDataPassThroughRunningForCmHandle(String cmHandleId,
String resourceIdentifier,
- String acceptParamInHeader,
String optionsParamInQuery,
- String topicParamInQuery);
+ String topicParamInQuery,
+ String requestId);
/**
* Write resource data for data store pass-through running
Collection<ModuleReference> getYangResourcesModuleReferences(String cmHandleId);
/**
- * Query cm handle identifiers for the given collection of module names.
+ * Retrieve module definitions for the given cm handle.
*
- * @param moduleNames module names.
- * @return a collection of cm handle identifiers. The schema set for each cm handle must include all the
- * given module names
+ * @param cmHandleId cm handle identifier
+ * @return a collection of module definition (moduleName, revision and yang resource content)
*/
- Collection<String> executeCmHandleHasAllModulesSearch(Collection<String> moduleNames);
+ Collection<ModuleDefinition> getModuleDefinitionsByCmHandleId(String cmHandleId);
/**
* Query cm handle details by cm handle's name.
*/
NcmpServiceCmHandle getNcmpServiceCmHandle(String cmHandleId);
+ /**
+ * Get cm handle public properties by cm handle id.
+ *
+ * @param cmHandleId cm handle identifier
+ * @return a collection of cm handle public properties.
+ */
+ Map<String, String> 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<NcmpServiceCmHandle> executeCmHandleSearch(CmHandleQueryApiParameters cmHandleQueryApiParameters);
+
+ /**
+ * Query and return cm handle ids that match the given query parameters.
+ *
+ * @param cmHandleQueryApiParameters the cm handle query parameters
+ * @return collection of cm handle ids
+ */
+ Set<String> 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);
}