aboutsummaryrefslogtreecommitdiffstats
path: root/ms/controllerblueprints/modules/service/src/main
diff options
context:
space:
mode:
authorMuthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>2018-12-11 19:40:51 -0500
committerBrinda Santh Muthuramalingam <bs2796@att.com>2018-12-12 00:55:13 +0000
commita567903b114503a13c225ed720a96391e75f0126 (patch)
tree59266407163c9ebfd2174acccf741522dc1c3c0f /ms/controllerblueprints/modules/service/src/main
parent9321f6dea8f57f3e1b9a05c446e59d243f94bfc5 (diff)
Implement Enhancer Framework Interfaces
Change-Id: Iff85dc50f87ab6d6f7d9ceb4a309ea6e4d55e362 Issue-ID: CCSDK-803 Signed-off-by: Muthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
Diffstat (limited to 'ms/controllerblueprints/modules/service/src/main')
-rw-r--r--ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/BluePrintEnhancerService.java9
-rw-r--r--ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/ResourceDefinitionRepoDBService.java36
-rw-r--r--ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerServiceImpl.kt (renamed from ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerService.kt)47
-rw-r--r--ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/ResourceAssignmentEnhancerService.kt54
4 files changed, 58 insertions, 88 deletions
diff --git a/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/BluePrintEnhancerService.java b/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/BluePrintEnhancerService.java
index aaa45e14..91df3331 100644
--- a/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/BluePrintEnhancerService.java
+++ b/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/BluePrintEnhancerService.java
@@ -30,7 +30,7 @@ import org.onap.ccsdk.apps.controllerblueprints.core.data.*;
import org.onap.ccsdk.apps.controllerblueprints.core.utils.JacksonUtils;
import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceAssignment;
import org.onap.ccsdk.apps.controllerblueprints.resource.dict.service.ResourceDefinitionRepoService;
-import org.onap.ccsdk.apps.controllerblueprints.service.enhancer.BluePrintEnhancerDefaultService;
+import org.onap.ccsdk.apps.controllerblueprints.service.enhancer.BluePrintEnhancerServiceImpl;
import org.onap.ccsdk.apps.controllerblueprints.service.enhancer.ResourceAssignmentEnhancerService;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
@@ -46,9 +46,10 @@ import java.util.Map;
* @author Brinda Santh DATE : 8/8/2018
*/
+@Deprecated
@Service
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
-public class BluePrintEnhancerService extends BluePrintEnhancerDefaultService {
+public class BluePrintEnhancerService extends BluePrintEnhancerServiceImpl {
private static EELFLogger log = EELFManager.getInstance().getLogger(BluePrintEnhancerService.class);
@@ -167,8 +168,8 @@ public class BluePrintEnhancerService extends BluePrintEnhancerDefaultService {
JacksonUtils.getListFromJson(resourceAssignmentContent, ResourceAssignment.class);
Preconditions.checkNotNull(resourceAssignments, "Failed to Processing Resource Mapping " + resourceAssignmentContent);
- // Enhance Resource Assignment
- resourceAssignmentEnhancerService.enhanceBluePrint(this, resourceAssignments);
+ // Enhance Resource Assignment TODO("Plug Resource Assignment Enhancer Service")
+ //resourceAssignmentEnhancerService.enhanceBluePrint(this, resourceAssignments);
dataTypeProperties = new HashMap<>();
diff --git a/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/ResourceDefinitionRepoDBService.java b/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/ResourceDefinitionRepoDBService.java
index 16cc8415..0af5d9d3 100644
--- a/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/ResourceDefinitionRepoDBService.java
+++ b/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/ResourceDefinitionRepoDBService.java
@@ -31,7 +31,6 @@ import org.onap.ccsdk.apps.controllerblueprints.service.domain.ResourceDictionar
import org.onap.ccsdk.apps.controllerblueprints.service.repository.ModelTypeRepository;
import org.onap.ccsdk.apps.controllerblueprints.service.repository.ResourceDictionaryRepository;
import org.springframework.stereotype.Service;
-import reactor.core.publisher.Mono;
import java.util.Optional;
@@ -55,54 +54,53 @@ public class ResourceDefinitionRepoDBService implements ResourceDefinitionRepoSe
}
@Override
- public Mono<NodeType> getNodeType(@NotNull String nodeTypeName) throws BluePrintException {
+ public NodeType getNodeType(@NotNull String nodeTypeName) throws BluePrintException {
return getModelType(nodeTypeName, NodeType.class);
}
@Override
- public Mono<DataType> getDataType(@NotNull String dataTypeName) throws BluePrintException {
+ public DataType getDataType(@NotNull String dataTypeName) throws BluePrintException {
return getModelType(dataTypeName, DataType.class);
}
@Override
- public Mono<ArtifactType> getArtifactType(@NotNull String artifactTypeName) throws BluePrintException {
+ public ArtifactType getArtifactType(@NotNull String artifactTypeName) throws BluePrintException {
return getModelType(artifactTypeName, ArtifactType.class);
}
@Override
- public Mono<RelationshipType> getRelationshipType(@NotNull String relationshipTypeName) throws BluePrintException {
+ public RelationshipType getRelationshipType(@NotNull String relationshipTypeName) throws BluePrintException {
return getModelType(relationshipTypeName, RelationshipType.class);
}
@Override
- public Mono<CapabilityDefinition> getCapabilityDefinition(@NotNull String capabilityDefinitionName) throws BluePrintException {
+ public CapabilityDefinition getCapabilityDefinition(@NotNull String capabilityDefinitionName) throws BluePrintException {
return getModelType(capabilityDefinitionName, CapabilityDefinition.class);
}
@NotNull
@Override
- public Mono<ResourceDefinition> getResourceDefinition(@NotNull String resourceDefinitionName) throws BluePrintException{
+ public ResourceDefinition getResourceDefinition(@NotNull String resourceDefinitionName) throws BluePrintException {
Optional<ResourceDictionary> dbResourceDictionary = resourceDictionaryRepository.findByName(resourceDefinitionName);
- if(dbResourceDictionary.isPresent()){
- return Mono.just(dbResourceDictionary.get().getDefinition());
- }else{
+ if (dbResourceDictionary.isPresent()) {
+ return dbResourceDictionary.get().getDefinition();
+ } else {
throw new BluePrintException(String.format("failed to get resource dictionary (%s) from repo", resourceDefinitionName));
}
}
- private <T> Mono<T> getModelType(String modelName, Class<T> valueClass) throws BluePrintException {
+ private <T> T getModelType(String modelName, Class<T> valueClass) throws BluePrintException {
Preconditions.checkArgument(StringUtils.isNotBlank(modelName),
"Failed to get model from repo, model name is missing");
- return getModelDefinition(modelName).map(modelDefinition -> {
- Preconditions.checkNotNull(modelDefinition,
- String.format("Failed to get model content for model name (%s)", modelName));
- return JacksonUtils.readValue(modelDefinition, valueClass);
- }
- );
+ JsonNode modelDefinition = getModelDefinition(modelName);
+ Preconditions.checkNotNull(modelDefinition,
+ String.format("Failed to get model content for model name (%s)", modelName));
+
+ return JacksonUtils.readValue(modelDefinition, valueClass);
}
- private Mono<JsonNode> getModelDefinition(String modelName) throws BluePrintException {
+ private JsonNode getModelDefinition(String modelName) throws BluePrintException {
JsonNode modelDefinition;
Optional<ModelType> modelTypeDb = modelTypeRepository.findByModelName(modelName);
if (modelTypeDb.isPresent()) {
@@ -110,6 +108,6 @@ public class ResourceDefinitionRepoDBService implements ResourceDefinitionRepoSe
} else {
throw new BluePrintException(String.format("failed to get model definition (%s) from repo", modelName));
}
- return Mono.just(modelDefinition);
+ return modelDefinition;
}
}
diff --git a/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerService.kt b/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerServiceImpl.kt
index 2c13d864..d2a7d226 100644
--- a/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerService.kt
+++ b/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerServiceImpl.kt
@@ -23,44 +23,15 @@ import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException
import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintTypes
import org.onap.ccsdk.apps.controllerblueprints.core.data.*
import org.onap.ccsdk.apps.controllerblueprints.core.format
+import org.onap.ccsdk.apps.controllerblueprints.core.interfaces.BluePrintEnhancerService
import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintContext
import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintRepoService
import org.onap.ccsdk.apps.controllerblueprints.core.utils.BluePrintFileUtils
import org.onap.ccsdk.apps.controllerblueprints.core.utils.BluePrintMetadataUtils
-import java.io.Serializable
-/**
- * BluePrintEnhancerService
- * @author Brinda Santh
- *
- */
-interface BluePrintEnhancerService : Serializable {
-
- @Throws(BluePrintException::class)
- fun enhance(basePath: String, enrichedBasePath: String): BluePrintContext
-
- /**
- * Read Blueprint from CBA structure Directory
- */
- @Throws(BluePrintException::class)
- fun enhance(basePath: String): BluePrintContext
-
- @Throws(BluePrintException::class)
- fun enhance(serviceTemplate: ServiceTemplate): ServiceTemplate
-
- @Throws(BluePrintException::class)
- fun enrichNodeTemplate(nodeTemplateName: String, nodeTemplate: NodeTemplate)
-
- @Throws(BluePrintException::class)
- fun enrichNodeType(nodeTypeName: String, nodeType: NodeType)
-
- @Throws(BluePrintException::class)
- fun enrichPropertyDefinition(propertyName: String, propertyDefinition: PropertyDefinition)
-}
-
-open class BluePrintEnhancerDefaultService(val bluePrintRepoService: BluePrintRepoService) : BluePrintEnhancerService {
+open class BluePrintEnhancerServiceImpl(val bluePrintRepoService: BluePrintRepoService) : BluePrintEnhancerService {
- private val log: EELFLogger = EELFManager.getInstance().getLogger(BluePrintEnhancerDefaultService::class.toString())
+ private val log: EELFLogger = EELFManager.getInstance().getLogger(BluePrintEnhancerServiceImpl::class.toString())
lateinit var serviceTemplate: ServiceTemplate
@@ -124,7 +95,7 @@ open class BluePrintEnhancerDefaultService(val bluePrintRepoService: BluePrintRe
}
@Throws(BluePrintException::class)
- override fun enrichNodeTemplate(nodeTemplateName: String, nodeTemplate: NodeTemplate) {
+ open fun enrichNodeTemplate(nodeTemplateName: String, nodeTemplate: NodeTemplate) {
val nodeTypeName = nodeTemplate.type
// Get NodeType from Repo and Update Service Template
val nodeType = populateNodeType(nodeTypeName)
@@ -137,7 +108,7 @@ open class BluePrintEnhancerDefaultService(val bluePrintRepoService: BluePrintRe
}
@Throws(BluePrintException::class)
- override fun enrichNodeType(nodeTypeName: String, nodeType: NodeType) {
+ fun enrichNodeType(nodeTypeName: String, nodeType: NodeType) {
log.debug("Enriching NodeType({})", nodeTypeName)
val derivedFrom = nodeType.derivedFrom
@@ -222,7 +193,7 @@ open class BluePrintEnhancerDefaultService(val bluePrintRepoService: BluePrintRe
}
@Throws(BluePrintException::class)
- override fun enrichPropertyDefinition(propertyName: String, propertyDefinition: PropertyDefinition) {
+ fun enrichPropertyDefinition(propertyName: String, propertyDefinition: PropertyDefinition) {
val propertyType = propertyDefinition.type
if (BluePrintTypes.validPrimitiveTypes().contains(propertyType)) {
@@ -253,7 +224,7 @@ open class BluePrintEnhancerDefaultService(val bluePrintRepoService: BluePrintRe
open fun populateNodeType(nodeTypeName: String): NodeType {
val nodeType = serviceTemplate.nodeTypes?.get(nodeTypeName)
- ?: bluePrintRepoService.getNodeType(nodeTypeName).block()
+ ?: bluePrintRepoService.getNodeType(nodeTypeName)
?: throw BluePrintException(format("Couldn't get NodeType({}) from repo.", nodeTypeName))
serviceTemplate.nodeTypes?.put(nodeTypeName, nodeType)
return nodeType
@@ -261,7 +232,7 @@ open class BluePrintEnhancerDefaultService(val bluePrintRepoService: BluePrintRe
open fun populateArtifactType(artifactTypeName: String): ArtifactType {
val artifactType = serviceTemplate.artifactTypes?.get(artifactTypeName)
- ?: bluePrintRepoService.getArtifactType(artifactTypeName).block()
+ ?: bluePrintRepoService.getArtifactType(artifactTypeName)
?: throw BluePrintException(format("Couldn't get ArtifactType({}) from repo.", artifactTypeName))
serviceTemplate.artifactTypes?.put(artifactTypeName, artifactType)
return artifactType
@@ -269,7 +240,7 @@ open class BluePrintEnhancerDefaultService(val bluePrintRepoService: BluePrintRe
open fun populateDataTypes(dataTypeName: String): DataType {
val dataType = serviceTemplate.dataTypes?.get(dataTypeName)
- ?: bluePrintRepoService.getDataType(dataTypeName).block()
+ ?: bluePrintRepoService.getDataType(dataTypeName)
?: throw BluePrintException(format("Couldn't get DataType({}) from repo.", dataTypeName))
serviceTemplate.dataTypes?.put(dataTypeName, dataType)
return dataType
diff --git a/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/ResourceAssignmentEnhancerService.kt b/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/ResourceAssignmentEnhancerService.kt
index de6f82ff..d3bc636b 100644
--- a/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/ResourceAssignmentEnhancerService.kt
+++ b/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/ResourceAssignmentEnhancerService.kt
@@ -17,16 +17,17 @@
package org.onap.ccsdk.apps.controllerblueprints.service.enhancer
import com.att.eelf.configuration.EELFLogger
-import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException
-import org.onap.ccsdk.apps.controllerblueprints.core.data.ServiceTemplate
-import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceAssignment
-import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceDefinition
import com.att.eelf.configuration.EELFManager
+import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintError
+import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException
import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintTypes
import org.onap.ccsdk.apps.controllerblueprints.core.format
+import org.onap.ccsdk.apps.controllerblueprints.core.interfaces.BluePrintTypeEnhancerService
+import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintContext
+import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceAssignment
+import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceDefinition
import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceDictionaryConstants
import org.onap.ccsdk.apps.controllerblueprints.resource.dict.factory.ResourceSourceMappingFactory
-import org.onap.ccsdk.apps.controllerblueprints.resource.dict.service.ResourceAssignmentValidationDefaultService
import org.onap.ccsdk.apps.controllerblueprints.resource.dict.service.ResourceDefinitionRepoService
import org.springframework.stereotype.Service
@@ -38,11 +39,9 @@ import org.springframework.stereotype.Service
interface ResourceAssignmentEnhancerService {
@Throws(BluePrintException::class)
- fun enhanceBluePrint(bluePrintEnhancerService: BluePrintEnhancerService,
+ fun enhanceBluePrint(bluePrintTypeEnhancerService: BluePrintTypeEnhancerService,
+ bluePrintContext: BluePrintContext, error: BluePrintError,
resourceAssignments: List<ResourceAssignment>)
-
- @Throws(BluePrintException::class)
- fun enhanceBluePrint(resourceAssignments: List<ResourceAssignment>): ServiceTemplate
}
/**
@@ -51,15 +50,16 @@ interface ResourceAssignmentEnhancerService {
* @author Brinda Santh
*/
@Service
-open class ResourceAssignmentEnhancerDefaultService(private val resourceDefinitionRepoService: ResourceDefinitionRepoService)
+open class ResourceAssignmentEnhancerServiceImpl(private val resourceDefinitionRepoService: ResourceDefinitionRepoService)
: ResourceAssignmentEnhancerService {
- private val log: EELFLogger = EELFManager.getInstance().getLogger(ResourceAssignmentValidationDefaultService::class.java)
+ private val log: EELFLogger = EELFManager.getInstance().getLogger(ResourceAssignmentEnhancerServiceImpl::class.java)
/**
* Get the defined source instance from the ResourceAssignment,
* then get the NodeType of the Sources assigned
*/
- override fun enhanceBluePrint(bluePrintEnhancerService: BluePrintEnhancerService,
+ override fun enhanceBluePrint(bluePrintTypeEnhancerService: BluePrintTypeEnhancerService,
+ bluePrintContext: BluePrintContext, error: BluePrintError,
resourceAssignments: List<ResourceAssignment>) {
val uniqueSourceNodeTypeNames = hashSetOf<String>()
@@ -78,7 +78,8 @@ open class ResourceAssignmentEnhancerDefaultService(private val resourceDefiniti
// TODO("Candidate for Optimisation")
if (checkResourceDefinitionNeeded(resourceAssignment)) {
- bluePrintEnhancerService.enrichPropertyDefinition(resourceAssignment.name, resourceAssignment.property!!);
+ bluePrintTypeEnhancerService.enhancePropertyDefinition(bluePrintContext, error, resourceAssignment.name,
+ resourceAssignment.property!!);
// Get the Resource Definition from Repo
val resourceDefinition: ResourceDefinition = getResourceDefinition(dictionaryName)
@@ -87,26 +88,26 @@ open class ResourceAssignmentEnhancerDefaultService(private val resourceDefiniti
?: throw BluePrintException(format("failed to get assigned dictionarySource({}) from resourceDefinition({})", dictionarySource, dictionaryName))
// Enrich as NodeTemplate
- bluePrintEnhancerService.enrichNodeTemplate(dictionarySource, sourceNodeTemplate)
+ bluePrintTypeEnhancerService.enhanceNodeTemplate(bluePrintContext, error, dictionarySource, sourceNodeTemplate)
}
}
// Enrich the ResourceSource NodeTypes
uniqueSourceNodeTypeNames.map { nodeTypeName ->
- resourceDefinitionRepoService.getNodeType(nodeTypeName).subscribe { nodeType ->
- bluePrintEnhancerService.enrichNodeType(nodeTypeName, nodeType)
- }
+ val nodeType = resourceDefinitionRepoService.getNodeType(nodeTypeName)
+ bluePrintTypeEnhancerService.enhanceNodeType(bluePrintContext, error, nodeTypeName, nodeType)
}
}
- override fun enhanceBluePrint(resourceAssignments: List<ResourceAssignment>): ServiceTemplate {
- val bluePrintEnhancerService = BluePrintEnhancerDefaultService(resourceDefinitionRepoService)
- bluePrintEnhancerService.serviceTemplate = ServiceTemplate()
- bluePrintEnhancerService.initialCleanUp()
- enhanceBluePrint(bluePrintEnhancerService, resourceAssignments)
- return bluePrintEnhancerService.serviceTemplate
- }
-
+ /*
+ override fun enhanceBluePrint(resourceAssignments: List<ResourceAssignment>): ServiceTemplate {
+ val bluePrintEnhancerService = BluePrintEnhancerServiceImpl(resourceDefinitionRepoService)
+ bluePrintEnhancerService.serviceTemplate = ServiceTemplate()
+ bluePrintEnhancerService.initialCleanUp()
+ enhanceBluePrint(bluePrintEnhancerService, resourceAssignments)
+ return bluePrintEnhancerService.serviceTemplate
+ }
+ */
private fun checkResourceDefinitionNeeded(resourceAssignment: ResourceAssignment): Boolean {
return !((resourceAssignment.dictionarySource.equals(ResourceDictionaryConstants.SOURCE_INPUT)
|| resourceAssignment.dictionarySource.equals(ResourceDictionaryConstants.SOURCE_DEFAULT))
@@ -114,7 +115,6 @@ open class ResourceAssignmentEnhancerDefaultService(private val resourceDefiniti
}
private fun getResourceDefinition(name: String): ResourceDefinition {
- return resourceDefinitionRepoService.getResourceDefinition(name).block()
- ?: throw BluePrintException(format("failed to get dictionary definition({})", name))
+ return resourceDefinitionRepoService.getResourceDefinition(name)
}
} \ No newline at end of file