diff options
author | aribeiro <anderson.ribeiro@est.tech> | 2019-09-11 13:50:46 +0100 |
---|---|---|
committer | Ofir Sonsino <ofir.sonsino@intl.att.com> | 2019-11-04 13:33:00 +0000 |
commit | 5775dd13964a56a60dfbe8fc72e5977672d5acb8 (patch) | |
tree | 5ce7f67dc963e219d338cde4a152f90f9dccc2fc /openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/converter/impl/pnfd/AbstractPnfdTransformationEngine.java | |
parent | dd22ca7a392b6532f6ed74d2aa985e14035828d1 (diff) |
Transform custom types for PNFD.
Transformation of customized Node Types for PNFD.
Issue-ID: SDC-2561
Change-Id: Id3e07edff0e5a8cb134aa12c07878e14c33d1512
Signed-off-by: aribeiro <anderson.ribeiro@est.tech>
Diffstat (limited to 'openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/converter/impl/pnfd/AbstractPnfdTransformationEngine.java')
-rw-r--r-- | openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/converter/impl/pnfd/AbstractPnfdTransformationEngine.java | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/converter/impl/pnfd/AbstractPnfdTransformationEngine.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/converter/impl/pnfd/AbstractPnfdTransformationEngine.java new file mode 100644 index 0000000000..2391ed6ecc --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/converter/impl/pnfd/AbstractPnfdTransformationEngine.java @@ -0,0 +1,86 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.openecomp.core.converter.impl.pnfd; + +import java.io.IOException; +import java.io.InputStream; +import java.util.List; +import java.util.Map; +import org.onap.sdc.tosca.datatypes.model.ServiceTemplate; +import org.openecomp.core.converter.ServiceTemplateReaderService; +import org.openecomp.core.converter.pnfd.PnfdTransformationEngine; +import org.openecomp.core.converter.pnfd.model.Transformation; +import org.openecomp.core.converter.pnfd.model.TransformationBlock; +import org.openecomp.core.converter.pnfd.model.TransformationDescription; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; + +/** + * Engine that manages the PNF Descriptor transformation process. + */ +public abstract class AbstractPnfdTransformationEngine implements PnfdTransformationEngine { + + private static final Logger LOGGER = LoggerFactory.getLogger(AbstractPnfdTransformationEngine.class); + + protected final ServiceTemplate templateTo; + protected final ServiceTemplateReaderService templateFrom; + private final PnfdTransformationDescriptorReader pnfdTransformationDescriptorReader = + new PnfdTransformationDescriptorReader(); + protected TransformationDescription transformationDescription; + protected Map<TransformationBlock, List<Transformation>> transformationGroupByBlockMap; + private final String descriptorResourcePath; + + public AbstractPnfdTransformationEngine(final ServiceTemplateReaderService templateFrom, + final ServiceTemplate templateTo) { + this(templateFrom, templateTo, "pnfdTransformationTemplate/model-driven-conversion.yaml"); + } + + //used for tests purposes + AbstractPnfdTransformationEngine(final ServiceTemplateReaderService templateFrom, + final ServiceTemplate templateTo, + final String descriptorResourcePath) { + this.templateFrom = templateFrom; + this.templateTo = templateTo; + this.descriptorResourcePath = descriptorResourcePath; + } + + /** + * Gets and Reads the transformation description yaml file. + */ + protected void readDefinition() { + try (final InputStream resourceAsStream = getClass().getClassLoader().getResourceAsStream(descriptorResourcePath)) { + if (resourceAsStream == null) { + if (LOGGER.isErrorEnabled()) { + LOGGER.error("Could not find resource '{}'", descriptorResourcePath); + } + return; + } + transformationDescription = pnfdTransformationDescriptorReader.parse(resourceAsStream); + } catch (final IOException e) { + LOGGER.error("Could not find resource '{}'", descriptorResourcePath, e); + } + } + + /** + * Executes all transformations specified in the descriptor. + */ + protected abstract void executeTransformations(); + +} |