aboutsummaryrefslogtreecommitdiffstats
path: root/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/java/org/onap/so/aaisimulator/service/providers/GenericVnfCacheServiceProviderImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/java/org/onap/so/aaisimulator/service/providers/GenericVnfCacheServiceProviderImpl.java')
-rw-r--r--plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/java/org/onap/so/aaisimulator/service/providers/GenericVnfCacheServiceProviderImpl.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/java/org/onap/so/aaisimulator/service/providers/GenericVnfCacheServiceProviderImpl.java b/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/java/org/onap/so/aaisimulator/service/providers/GenericVnfCacheServiceProviderImpl.java
index e7a42106..42b2d872 100644
--- a/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/java/org/onap/so/aaisimulator/service/providers/GenericVnfCacheServiceProviderImpl.java
+++ b/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/java/org/onap/so/aaisimulator/service/providers/GenericVnfCacheServiceProviderImpl.java
@@ -37,6 +37,8 @@ import org.onap.aai.domain.yang.RelatedToProperty;
import org.onap.aai.domain.yang.Relationship;
import org.onap.aai.domain.yang.RelationshipData;
import org.onap.aai.domain.yang.RelationshipList;
+import org.onap.aai.domain.yang.VfModule;
+import org.onap.aai.domain.yang.VfModules;
import org.onap.so.aaisimulator.utils.ShallowBeanCopy;
import org.onap.so.simulator.cache.provider.AbstractCacheServiceProvider;
import org.slf4j.Logger;
@@ -58,6 +60,7 @@ public class GenericVnfCacheServiceProviderImpl extends AbstractCacheServiceProv
private static final Logger LOGGER = LoggerFactory.getLogger(GenericVnfCacheServiceProviderImpl.class);
private final HttpRestServiceProvider httpRestServiceProvider;
+ //final VfModules vfModules = new VfModules();
@Autowired
public GenericVnfCacheServiceProviderImpl(final CacheManager cacheManager,
@@ -255,4 +258,64 @@ public class GenericVnfCacheServiceProviderImpl extends AbstractCacheServiceProv
clearCache(GENERIC_VNF_CACHE.getName());
}
+ @Override
+ public Optional<VfModule> getVfModule(final String vnfId, final String vfModuleId) {
+ LOGGER.info("Getting vfModule from cache for vnfId: {} and vfModuleId: {}",
+ vnfId, vfModuleId);
+ final Optional<GenericVnf> genericVnfOptional = getGenericVnf(vnfId);
+ final GenericVnf value = genericVnfOptional.get();
+ final VfModules vfmodules = value.getVfModules();
+ if (vfmodules != null) {
+ for (VfModule vfModule : vfmodules.getVfModule()) {
+ if (vfModule.getVfModuleId().equalsIgnoreCase(vfModuleId)){
+ return Optional.of(vfModule);
+ }
+ }
+ }
+ return Optional.empty();
+ }
+
+
+ @Override
+ public void putVfModule(final String vnfId, final String vfModuleId, final VfModule vfModule) {
+ LOGGER.info("Adding vfModule for vnfId: {} and vfModuleId: {}",
+ vnfId, vfModuleId);
+ final Optional<GenericVnf> genericVnfOptional = getGenericVnf(vnfId);
+ final Cache cache = getCache(GENERIC_VNF_CACHE.getName());
+ if (genericVnfOptional.isPresent()) {
+ final GenericVnf genericVnf = genericVnfOptional.get();
+ VfModules vfModules = null;
+ if(genericVnf.getVfModules()==null){
+ vfModules = new VfModules();
+ genericVnf.setVfModules(vfModules);
+ } else {
+ vfModules = genericVnf.getVfModules();
+ }
+
+ vfModules.getVfModule().add(vfModule);
+ cache.put(vfModuleId, vfModule);
+ }
+ }
+
+ @Override
+ public boolean patchVfModule(final String vnfId, final String vfModuleId, final VfModule vfModule) {
+ final Optional<GenericVnf> genericVnfOptional = getGenericVnf(vnfId);
+ LOGGER.info("Create vfModule for vnfId: {} and vfModuleId: {}",
+ vnfId, vfModuleId);
+ if (genericVnfOptional.isPresent()) {
+ final GenericVnf cachedGenericVnf = genericVnfOptional.get();
+ final VfModules vfmodules = cachedGenericVnf.getVfModules();
+ LOGGER.info("vfModuleId is Matched");
+ try {
+ vfmodules.getVfModule().stream().filter(tempVfModule ->
+ tempVfModule.getVfModuleId().equalsIgnoreCase(vfModuleId)).forEach(tempVfModule ->
+ tempVfModule.setOrchestrationStatus(vfModule.getOrchestrationStatus()));
+ return true;
+ } catch (final Exception exception) {
+ LOGGER.error("Unable to update VfModule for vfModuleId: {}", vfModule, exception);
+ }
+ }
+ LOGGER.error("Unable to find VfModule ...");
+ return false;
+ }
}