/*
* ============LICENSE_START========================================================
- * Copyright (C) 2023 Nordix Foundation
+ * Copyright (C) 2023-2024 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.api.impl.config.embeddedcache;
-import com.hazelcast.collection.ISet;
-import com.hazelcast.config.SetConfig;
+import com.hazelcast.config.MapConfig;
+import java.util.Map;
import org.onap.cps.cache.HazelcastCacheConfig;
+import org.onap.cps.ncmp.api.impl.trustlevel.TrustLevel;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class TrustLevelCacheConfig extends HazelcastCacheConfig {
- private static final SetConfig untrustworthyCmHandlesSetConfig = createSetConfig("untrustworthyCmHandlesSetConfig");
+ public static final String TRUST_LEVEL_PER_DMI_PLUGIN = "trustLevelPerDmiPlugin";
+
+ public static final String TRUST_LEVEL_PER_CM_HANDLE = "trustLevelPerCmHandle";
+ private static final MapConfig trustLevelPerCmHandleCacheConfig =
+ createMapConfig("trustLevelPerCmHandleCacheConfig");
+
+ private static final MapConfig trustLevelPerDmiPluginCacheConfig =
+ createMapConfig("trustLevelPerDmiPluginCacheConfig");
/**
- * Untrustworthy cmhandle set instance.
+ * Distributed instance of trust level cache containing the trust level per cm handle.
*
- * @return instance of distributed set of untrustworthy cmhandles.
+ * @return configured map of cm handle name as keys to trust-level for values.
*/
- @Bean
- public ISet<String> untrustworthyCmHandlesSet() {
- return createHazelcastInstance("untrustworthyCmHandlesSet", untrustworthyCmHandlesSetConfig).getSet(
- "untrustworthyCmHandlesSet");
+ @Bean(TRUST_LEVEL_PER_CM_HANDLE)
+ public Map<String, TrustLevel> trustLevelPerCmHandle() {
+ return createHazelcastInstance("hazelcastInstanceTrustLevelPerCmHandleMap",
+ trustLevelPerCmHandleCacheConfig).getMap(TRUST_LEVEL_PER_CM_HANDLE);
}
+ /**
+ * Distributed instance of trust level cache containing the trust level per dmi plugin service(name).
+ *
+ * @return configured map of dmi-plugin name as keys to trust-level for values.
+ */
+ @Bean(TRUST_LEVEL_PER_DMI_PLUGIN)
+ public Map<String, TrustLevel> trustLevelPerDmiPlugin() {
+ return createHazelcastInstance("hazelcastInstanceTrustLevelPerDmiPluginMap",
+ trustLevelPerDmiPluginCacheConfig).getMap(TRUST_LEVEL_PER_DMI_PLUGIN);
+ }
}