aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentDataHealer.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentDataHealer.java')
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentDataHealer.java53
1 files changed, 23 insertions, 30 deletions
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentDataHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentDataHealer.java
index 1e6299ce17..7dd86ddb5b 100644
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentDataHealer.java
+++ b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentDataHealer.java
@@ -13,12 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.healing.healers;
import com.google.common.annotations.VisibleForTesting;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+import java.util.Collection;
+import java.util.Objects;
import org.apache.commons.lang.StringUtils;
import org.openecomp.sdc.healing.interfaces.Healer;
import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
@@ -26,14 +27,11 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
import org.openecomp.sdc.versioning.dao.types.Version;
-import java.util.Collection;
-import java.util.Objects;
-
public class ComponentDataHealer implements Healer {
private static final String VFC_CODE = "vfcCode"; //earlier present in composition data
private static final String NFC_FUNCTION = "nfcFunction";
- private static final String NFC_NAMING_CODE = "nfcNamingCode";
+ private static final String NFC_NAMING_CODE = "nfcNamingCode";
private static final String GENERAL = "general";
private final ComponentDao componentDao;
@@ -46,12 +44,22 @@ public class ComponentDataHealer implements Healer {
this.componentDao = componentDao;
}
+ private static void moveAttribute(JsonObject compositionJsonObj, JsonObject questJsonObject, JsonObject general, String compositionAttrName,
+ String questAttrName) {
+ if (Objects.nonNull(compositionJsonObj.get(compositionAttrName))) {
+ if (general == null) {
+ general = new JsonObject();
+ }
+ general.addProperty(questAttrName, compositionJsonObj.get(compositionAttrName).getAsString());
+ questJsonObject.add(GENERAL, general);
+ compositionJsonObj.remove(compositionAttrName);
+ }
+ }
+
@Override
public boolean isHealingNeeded(String itemId, Version version) {
- final Collection<ComponentEntity> componentEntities =
- componentDao.listCompositionAndQuestionnaire(itemId, version);
- return Objects.nonNull(componentEntities) && !componentEntities.isEmpty() &&
- componentEntities.stream().anyMatch(this::checkNfcParams);
+ final Collection<ComponentEntity> componentEntities = componentDao.listCompositionAndQuestionnaire(itemId, version);
+ return Objects.nonNull(componentEntities) && !componentEntities.isEmpty() && componentEntities.stream().anyMatch(this::checkNfcParams);
}
private boolean checkNfcParams(ComponentEntity componentEntity) {
@@ -66,8 +74,7 @@ public class ComponentDataHealer implements Healer {
@Override
public void heal(String itemId, Version version) throws Exception {
- final Collection<ComponentEntity> componentEntities =
- componentDao.listCompositionAndQuestionnaire(itemId, version);
+ final Collection<ComponentEntity> componentEntities = componentDao.listCompositionAndQuestionnaire(itemId, version);
if (Objects.nonNull(componentEntities) && !componentEntities.isEmpty()) {
componentEntities.forEach(componentEntity -> {
final String compositionData = componentEntity.getCompositionData();
@@ -76,32 +83,18 @@ public class ComponentDataHealer implements Healer {
}
}
- private void updateComponentData(String itemId, Version version, ComponentEntity componentEntity,
- String questionnaireData, String compositionData) {
+ private void updateComponentData(String itemId, Version version, ComponentEntity componentEntity, String questionnaireData,
+ String compositionData) {
if (!StringUtils.isEmpty(compositionData)) {
JsonParser jsonParser = new JsonParser();
JsonObject json = (JsonObject) jsonParser.parse(compositionData);
JsonObject questionnaireJson = (JsonObject) jsonParser.parse(questionnaireData);
- moveAttribute(json, questionnaireJson, questionnaireJson.getAsJsonObject(GENERAL), VFC_CODE,
- NFC_NAMING_CODE);
- moveAttribute(json, questionnaireJson, questionnaireJson.getAsJsonObject(GENERAL), NFC_FUNCTION,
- NFC_FUNCTION);
+ moveAttribute(json, questionnaireJson, questionnaireJson.getAsJsonObject(GENERAL), VFC_CODE, NFC_NAMING_CODE);
+ moveAttribute(json, questionnaireJson, questionnaireJson.getAsJsonObject(GENERAL), NFC_FUNCTION, NFC_FUNCTION);
componentEntity.setCompositionData(json.toString());
componentDao.update(componentEntity);
componentEntity.setQuestionnaireData(questionnaireJson.toString());
- componentDao.updateQuestionnaireData(itemId,version,componentEntity.getId(), questionnaireJson.toString());
- }
- }
-
- private static void moveAttribute(JsonObject compositionJsonObj, JsonObject questJsonObject,
- JsonObject general, String compositionAttrName, String questAttrName ) {
- if (Objects.nonNull(compositionJsonObj.get(compositionAttrName))) {
- if (general == null) {
- general = new JsonObject();
- }
- general.addProperty(questAttrName, compositionJsonObj.get(compositionAttrName).getAsString());
- questJsonObject.add(GENERAL, general);
- compositionJsonObj.remove(compositionAttrName);
+ componentDao.updateQuestionnaireData(itemId, version, componentEntity.getId(), questionnaireJson.toString());
}
}
}