Toggle
[sdc.git] / catalog-dao / src / main / java / org / openecomp / sdc / be / dao / impl / heal / HealJanusGraphDao.java
index e74556a..c0a0663 100644 (file)
@@ -28,6 +28,7 @@ import org.openecomp.sdc.be.dao.jsongraph.heal.HealVersion;
 import org.openecomp.sdc.be.dao.jsongraph.heal.HealVersionBuilder;
 import org.openecomp.sdc.be.dao.neo4j.GraphEdgeLabels;
 import org.openecomp.sdc.be.datatypes.enums.GraphPropertyEnum;
+import org.openecomp.sdc.be.togglz.ToggleableFeature;
 
 public class HealJanusGraphDao implements HealGraphDao<JanusGraphVertex, GraphEdgeLabels> {
 
@@ -41,18 +42,23 @@ public class HealJanusGraphDao implements HealGraphDao<JanusGraphVertex, GraphEd
     public JanusGraphVertex performGraphReadHealing(JanusGraphVertex childVertex, GraphEdgeLabels graphEdgeLabels) {
         final Integer healingVersionInt = (Integer) childVertex.property(GraphPropertyEnum.HEALING_VERSION.getProperty()).orElse(HealConstants.DEFAULT_HEAL_VERSION);
         HealVersion<Integer> healingVersion = HealVersionBuilder.build(healingVersionInt);
-        healingPipelineDao.getHealersForVertex(graphEdgeLabels.name(), healingVersion).forEach(heal -> healGraphVertex(childVertex, heal));
-        childVertex.property(GraphPropertyEnum.HEALING_VERSION.getProperty(), healingPipelineDao.getCurrentHealVersion().getVersion());
+        healingPipelineDao.getHealersForVertex(graphEdgeLabels.name(), healingVersion)
+                .forEach(heal -> healGraphVertex(childVertex, heal));
+        childVertex.property(GraphPropertyEnum.HEALING_VERSION.getProperty(),
+                healingPipelineDao.getCurrentHealVersion().getVersion());
+
         return childVertex;
     }
 
 
     private JanusGraphVertex healGraphVertex(JanusGraphVertex childVertex, Heal<JanusGraphVertex> heal) {
-        heal.healData(childVertex);
-        final HealVersion<Integer> healVersion = heal.fromVersion();
-        HealVersion newerVersion = HealVersionBuilder.build(healVersion.getVersion() + 1);
-        childVertex.property(GraphPropertyEnum.HEALING_VERSION.getProperty(), newerVersion);
-        heal.healData(childVertex);
+        if(ToggleableFeature.HEALING.isActive()) {
+            heal.healData(childVertex);
+            final HealVersion<Integer> healVersion = heal.fromVersion();
+            HealVersion<Integer> newerVersion = HealVersionBuilder.build(healVersion.getVersion() + 1);
+            childVertex.property(GraphPropertyEnum.HEALING_VERSION.getProperty(), newerVersion);
+            heal.healData(childVertex);
+        }
         return childVertex;
     }
 }