Decouple TXT Report file writing and formatting logic (6/6)
This commit moves the writeReportLineToFile from ReportManager to ReportFile, deletes ReportManager (as it's not longer used), and finalizes the decoupling between the writing and the formatting logic of the TXT Report file.
Signed-off-by: Francis Toth <francis.toth@yoppworks.com>
Change-Id: Ia5cce71535ea808e6e24807ed62ae9b262eab6ad
Issue-ID: SDC-2499
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/ValidationToolBL.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/ValidationToolBL.java
index 61b3640..6659f6e 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/ValidationToolBL.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/ValidationToolBL.java
@@ -47,7 +47,7 @@
public boolean validateAll(Report report, ReportFile.TXTFile textFile, String outputFilePath) {
for (ValidatorExecuter validatorExec: validators) {
log.debug("ValidatorExecuter "+validatorExec.getName()+" started");
- if (!validatorExec.executeValidations(report, textFile, outputFilePath)) {
+ if (!validatorExec.executeValidations(report, textFile)) {
allValid = false;
log.debug("ValidatorExecuter "+validatorExec.getName()+" finished with warnings");
}
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceValidatorExecuter.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceValidatorExecuter.java
index af9cb36..5d20980 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceValidatorExecuter.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceValidatorExecuter.java
@@ -44,8 +44,8 @@
}
@Override
- public boolean executeValidations(Report report, TXTFile reportFile, String outputFilePath) {
+ public boolean executeValidations(Report report, TXTFile reportFile) {
List<GraphVertex> vertices = getVerticesToValidate(ComponentTypeEnum.SERVICE);
- return validate(report, tasks, vertices, reportFile, outputFilePath);
+ return validate(report, tasks, vertices, reportFile);
}
}
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/TopologyTemplateValidatorExecuter.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/TopologyTemplateValidatorExecuter.java
index 52c8cb5..ddf9e7b 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/TopologyTemplateValidatorExecuter.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/TopologyTemplateValidatorExecuter.java
@@ -21,10 +21,15 @@
package org.openecomp.sdc.asdctool.impl.validator.executers;
import fj.data.Either;
+import java.util.ArrayList;
+import java.util.EnumMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import org.openecomp.sdc.asdctool.impl.validator.report.Report;
import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.TXTFile;
import org.openecomp.sdc.asdctool.impl.validator.tasks.TopologyTemplateValidationTask;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
@@ -36,13 +41,6 @@
import org.openecomp.sdc.common.log.wrappers.Logger;
import org.springframework.beans.factory.annotation.Autowired;
-import java.util.ArrayList;
-import java.util.EnumMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
public class TopologyTemplateValidatorExecuter {
private static final Logger log = Logger.getLogger(VfValidatorExecuter.class);
@@ -85,8 +83,7 @@
Report report,
List<? extends TopologyTemplateValidationTask> tasks,
List<GraphVertex> vertices,
- TXTFile reportFile,
- String outputFilePath
+ TXTFile reportFile
) {
reportFile.reportStartValidatorRun(getName(), vertices.size());
Set<String> failedTasks = new HashSet<>();
@@ -100,7 +97,7 @@
boolean successAllTasks = true;
for (TopologyTemplateValidationTask task : tasks) {
reportFile.reportStartTaskRun(vertex, task.getTaskName());
- VertexResult result = task.validate(report, vertex, outputFilePath);
+ VertexResult result = task.validate(report, vertex, reportFile);
if (!result.getStatus()) {
failedTasks.add(task.getTaskName());
successAllVertices = false;
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ValidatorExecuter.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ValidatorExecuter.java
index 88b7c0c..8744988 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ValidatorExecuter.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/ValidatorExecuter.java
@@ -25,6 +25,6 @@
public interface ValidatorExecuter {
- boolean executeValidations(Report report, TXTFile textFile, String outputFilePath);
+ boolean executeValidations(Report report, TXTFile textFile);
String getName();
}
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/VfValidatorExecuter.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/VfValidatorExecuter.java
index 3484bbf..4786e12 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/VfValidatorExecuter.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/executers/VfValidatorExecuter.java
@@ -42,8 +42,8 @@
}
@Override
- public boolean executeValidations(Report report, TXTFile reportFile, String outputFilePath) {
+ public boolean executeValidations(Report report, TXTFile reportFile) {
List<GraphVertex> vertices = getVerticesToValidate(ComponentTypeEnum.RESOURCE);
- return validate(report, tasks, vertices, reportFile, outputFilePath);
+ return validate(report, tasks, vertices, reportFile);
}
}
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFile.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFile.java
index b483964..e706d8a 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFile.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFile.java
@@ -29,11 +29,6 @@
*/
public class ReportFile {
- // TODO: Delete this function once all the report file business logic has been moved to ReportFile
- static public TXTFile makeAppendableTxtFile(ReportFileWriter<FileType.TXT> writer) {
- return new TXTFile(writer);
- }
-
static public TXTFile makeTxtFile(ReportFileWriter<FileType.TXT> writer) {
writer.writeln("-----------------------Validation Tool Results:-------------------------");
return new TXTFile(writer);
@@ -82,7 +77,7 @@
);
}
- public void reportValidatorTypeSummary(
+ public void reportValidatorTypeSummary(
String validatorName,
Set<String> failedTasksNames,
Set<String> successTasksNames
@@ -99,17 +94,22 @@
public void reportEndOfToolRun(Report report) {
StrBuilder sb = new StrBuilder();
sb.appendln("-----------------------------------Validator Tool Summary-----------------------------------");
- report.forEachFailure((taskName, failedVertices) -> {
+ report.forEachFailure((taskName, failedVertices) ->
sb.append("Task: ")
.append(taskName)
.appendNewLine()
.append("FailedVertices: ")
.append(String.valueOf(failedVertices))
- .appendNewLine();
- });
+ .appendNewLine());
+
writer.writeln("");
writer.write(sb.toString());
}
+
+ public void writeReportLineToFile(String message) {
+ writer.writeln("");
+ writer.write(message);
+ }
}
/**
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/TopologyTemplateValidationTask.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/TopologyTemplateValidationTask.java
index f50e552..99470c6 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/TopologyTemplateValidationTask.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/TopologyTemplateValidationTask.java
@@ -21,11 +21,12 @@
package org.openecomp.sdc.asdctool.impl.validator.tasks;
import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile;
import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
public interface TopologyTemplateValidationTask {
- VertexResult validate(Report report, GraphVertex vertex, String outputFilePath);
+ VertexResult validate(Report report, GraphVertex vertex, ReportFile.TXTFile reportFile);
String getTaskName();
String getTaskResultStatus();
void setTaskResultStatus(String status);
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtils.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtils.java
index 428b660..bf3d267 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtils.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtils.java
@@ -22,8 +22,13 @@
package org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts;
import fj.data.Either;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile;
import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
import org.openecomp.sdc.be.dao.cassandra.CassandraOperationStatus;
import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
@@ -37,22 +42,13 @@
import org.openecomp.sdc.common.log.wrappers.Logger;
import org.springframework.beans.factory.annotation.Autowired;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-
-/**
- * Created by chaya on 7/6/2017.
- */
public class ArtifactValidationUtils {
private static final Logger logger = Logger.getLogger(ArtifactValidationUtils.class);
- private ArtifactCassandraDao artifactCassandraDao;
+ private final ArtifactCassandraDao artifactCassandraDao;
- private TopologyTemplateOperation topologyTemplateOperation;
+ private final TopologyTemplateOperation topologyTemplateOperation;
@Autowired
public ArtifactValidationUtils(ArtifactCassandraDao artifactCassandraDao,
@@ -61,14 +57,19 @@
this.topologyTemplateOperation = topologyTemplateOperation;
}
- public ArtifactsVertexResult validateArtifactsAreInCassandra(Report report, GraphVertex vertex, String taskName,
- List<ArtifactDataDefinition> artifacts, String outputFilePath) {
+ public ArtifactsVertexResult validateArtifactsAreInCassandra(
+ Report report,
+ GraphVertex vertex,
+ String taskName,
+ List<ArtifactDataDefinition> artifacts,
+ ReportFile.TXTFile reportFile
+ ) {
ArtifactsVertexResult result = new ArtifactsVertexResult(true);
for (ArtifactDataDefinition artifact : artifacts) {
boolean isArtifactExist = isArtifactInCassandra(artifact.getEsId());
String status = isArtifactExist ? "Artifact " + artifact.getEsId() + " is in Cassandra" :
"Artifact " + artifact.getEsId() + " doesn't exist in Cassandra";
- ReportManager.writeReportLineToFile(status, outputFilePath);
+ reportFile.writeReportLineToFile(status);
if (!isArtifactExist) {
report.addFailure(taskName, vertex.getUniqueId());
result.setStatus(false);
@@ -99,8 +100,12 @@
return artifacts;
}
- public ArtifactsVertexResult validateTopologyTemplateArtifacts(Report report, GraphVertex vertex, String taskName,
- String outputFilePath) {
+ public ArtifactsVertexResult validateTopologyTemplateArtifacts(
+ Report report,
+ GraphVertex vertex,
+ String taskName,
+ ReportFile.TXTFile reportFile
+ ) {
ArtifactsVertexResult result = new ArtifactsVertexResult();
ComponentParametersView paramView = new ComponentParametersView();
paramView.disableAll();
@@ -135,6 +140,6 @@
allArtifacts.addAll(addRelevantArtifacts(artifactMap.getMapToscaDataDefinition())));
}
- return validateArtifactsAreInCassandra(report, vertex, taskName, allArtifacts, outputFilePath);
+ return validateArtifactsAreInCassandra(report, vertex, taskName, allArtifacts, reportFile);
}
}
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ServiceArtifactValidationTask.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ServiceArtifactValidationTask.java
index e3f5474..a5d5185 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ServiceArtifactValidationTask.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ServiceArtifactValidationTask.java
@@ -21,6 +21,7 @@
package org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts;
import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile;
import org.openecomp.sdc.asdctool.impl.validator.tasks.ServiceValidationTask;
import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
import org.springframework.beans.factory.annotation.Autowired;
@@ -37,7 +38,7 @@
}
@Override
- public ArtifactsVertexResult validate(Report report, GraphVertex vertex, String outputFilePath) {
- return artifactValidationUtils.validateTopologyTemplateArtifacts(report, vertex, getTaskName(), outputFilePath);
+ public ArtifactsVertexResult validate(Report report, GraphVertex vertex, ReportFile.TXTFile reportFile) {
+ return artifactValidationUtils.validateTopologyTemplateArtifacts(report, vertex, getTaskName(), reportFile);
}
}
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/VfArtifactValidationTask.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/VfArtifactValidationTask.java
index f480883..26495fa 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/VfArtifactValidationTask.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/VfArtifactValidationTask.java
@@ -21,6 +21,7 @@
package org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts;
import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile;
import org.openecomp.sdc.asdctool.impl.validator.tasks.VfValidationTask;
import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
@@ -41,7 +42,7 @@
}
@Override
- public VertexResult validate(Report report, GraphVertex vertex, String outputFilePath) {
- return artifactValidationUtils.validateTopologyTemplateArtifacts(report, vertex, getTaskName(), outputFilePath);
+ public VertexResult validate(Report report, GraphVertex vertex, ReportFile.TXTFile reportFile) {
+ return artifactValidationUtils.validateTopologyTemplateArtifacts(report, vertex, getTaskName(), reportFile);
}
}
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/module/json/ModuleJsonTask.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/module/json/ModuleJsonTask.java
index 58c2ef0..62404e1 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/module/json/ModuleJsonTask.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/module/json/ModuleJsonTask.java
@@ -29,8 +29,8 @@
import java.util.Optional;
import java.util.stream.Collectors;
import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile;
import org.openecomp.sdc.asdctool.impl.validator.tasks.ServiceValidationTask;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
import org.openecomp.sdc.be.datatypes.elements.ArtifactDataDefinition;
@@ -47,7 +47,7 @@
public class ModuleJsonTask extends ServiceValidationTask {
- private TopologyTemplateOperation topologyTemplateOperation;
+ private final TopologyTemplateOperation topologyTemplateOperation;
@Autowired
public ModuleJsonTask(TopologyTemplateOperation topologyTemplateOperation) {
@@ -56,7 +56,7 @@
}
@Override
- public VertexResult validate(Report report, GraphVertex vertex, String outputFilePath) {
+ public VertexResult validate(Report report, GraphVertex vertex, ReportFile.TXTFile reportFile) {
if (!isAfterSubmitForTesting(vertex)) {
return new VertexResult(true);
}
@@ -80,35 +80,39 @@
MapGroupsDataDefinition groups = pair.getValue();
if (groups != null && !groups.getMapToscaDataDefinition().isEmpty()) {
return new VertexResult(
- findCoordinateModuleJson(report, pair, instDeploymentArtifacts, vertex, outputFilePath));
+ findCoordinateModuleJson(report, pair, instDeploymentArtifacts, vertex, reportFile));
}
}
return new VertexResult(true);
}
- private boolean findCoordinateModuleJson(Report report, Map.Entry<String, MapGroupsDataDefinition> pair,
- Map<String, MapArtifactDataDefinition> instDeploymentArtifacts,
- GraphVertex vertex, String outputFilePath) {
+ private boolean findCoordinateModuleJson(
+ Report report,
+ Map.Entry<String, MapGroupsDataDefinition> pair,
+ Map<String, MapArtifactDataDefinition> instDeploymentArtifacts,
+ GraphVertex vertex,
+ ReportFile.TXTFile reportFile
+ ) {
String groupKey = pair.getKey();
String[] split = groupKey.split("\\.");
String instanceName = split[split.length - 1];
MapArtifactDataDefinition deploymentsArtifacts = instDeploymentArtifacts.get(groupKey);
if (deploymentsArtifacts != null && !deploymentsArtifacts.getMapToscaDataDefinition().isEmpty()) {
List<ArtifactDataDefinition> moduleJsonArtifacts = deploymentsArtifacts.getMapToscaDataDefinition().values()
- .stream().filter(artifact -> {
- String artifactName = artifact.getArtifactName();
- return (artifactName.startsWith(instanceName) && artifactName.endsWith("modules.json"));
- }).collect(Collectors.toList());
- if (!moduleJsonArtifacts.isEmpty()) {
- String status = "Instance " + instanceName + " has a corresponding modules.json file: "
- + moduleJsonArtifacts.get(0)
+ .stream().filter(artifact -> {
+ String artifactName = artifact.getArtifactName();
+ return artifactName.startsWith(instanceName) && artifactName.endsWith("modules.json");
+ }).collect(Collectors.toList());
+ if (moduleJsonArtifacts.size() > 0) {
+ String status =
+ "Instance " + instanceName + " has a corresponding modules.json file: " + moduleJsonArtifacts.get(0)
.getArtifactName();
- ReportManager.writeReportLineToFile(status, outputFilePath);
+ reportFile.writeReportLineToFile(status);
return true;
}
}
String status = "Instance " + instanceName + " doesn't have a corresponding modules.json file";
- ReportManager.writeReportLineToFile(status, outputFilePath);
+ reportFile.writeReportLineToFile(status);
report.addFailure(getTaskName(), vertex.getUniqueId());
return false;
}
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManager.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManager.java
deleted file mode 100644
index 9b09e67..0000000
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManager.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (c) 2019 Samsung
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.asdctool.impl.validator.utils;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.StandardOpenOption;
-import java.util.Set;
-import org.apache.commons.lang.text.StrBuilder;
-import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ReportManager {
-
- private static final Logger log = LoggerFactory.getLogger(ReportManager.class);
-
- public static ReportManager make(String txtReportFilePath) {
- return new ReportManager(txtReportFilePath);
- }
-
- private ReportManager(String txtReportFilePath) {
- try {
- initReportFile(txtReportFilePath);
- } catch (IOException e) {
- log.info("Init file failed - {}", e.getClass().getSimpleName(), e);
- }
- }
-
- private void initReportFile(String txtReportFilePath) throws IOException {
- Path path = Paths.get(txtReportFilePath);
- // TODO: Remove this once all the report file business logic has been moved to ReportFile
- if(Files.notExists(path)) {
- StrBuilder sb = new StrBuilder();
- sb.appendln("-----------------------Validation Tool Results:-------------------------");
- Files.write(path, sb.toString().getBytes());
- }
- }
-
- public static void writeReportLineToFile(String message, String outputFilePath) {
- try {
- Files.write(Paths.get(outputFilePath), new StrBuilder().appendNewLine().toString().getBytes(),
- StandardOpenOption.APPEND);
- Files.write(Paths.get(outputFilePath), message.getBytes(), StandardOpenOption.APPEND);
- } catch (IOException e) {
- log.info("write to file failed - {}", e.getClass().getSimpleName(), e);
- }
- }
-}
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/main/ValidationTool.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/main/ValidationTool.java
index 3bffa0b..22d93b1 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/main/ValidationTool.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/main/ValidationTool.java
@@ -31,7 +31,6 @@
import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.CSVFile;
import org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.TXTFile;
import org.openecomp.sdc.asdctool.impl.validator.report.ReportFileWriter;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
import org.openecomp.sdc.be.config.ConfigurationManager;
import org.openecomp.sdc.common.api.ConfigurationSource;
import org.openecomp.sdc.common.impl.ExternalConfiguration;
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceValidatorExecuterTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceValidatorExecuterTest.java
index 2f9f11b..41fb048 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceValidatorExecuterTest.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/ServiceValidatorExecuterTest.java
@@ -43,8 +43,6 @@
@Test(expected = NullPointerException.class)
public void testExecuteValidations() {
Report report = Report.make();
- // Initially no outputFilePath was passed to this function (hence it is set to null)
- // TODO: Fix this null and see if the argument is used by this function
- createTestSubject().executeValidations(report, makeTxtFile(makeConsoleWriter()), null);
+ createTestSubject().executeValidations(report, makeTxtFile(makeConsoleWriter()));
}
}
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/VfValidatorExecuterTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/VfValidatorExecuterTest.java
index 3760a57..aa388f6 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/VfValidatorExecuterTest.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/executers/VfValidatorExecuterTest.java
@@ -48,8 +48,6 @@
@Test(expected = NullPointerException.class)
public void testExecuteValidations() {
Report report = Report.make();
- // Initially no outputFilePath was passed to this function (hence it is set to null)
- // TODO: Fix this null and see if the argument is used by this function
- createTestSubject().executeValidations(report, makeTxtFile(makeConsoleWriter()), null);
+ createTestSubject().executeValidations(report, makeTxtFile(makeConsoleWriter()));
}
}
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFileNioHelper.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFileNioHelper.java
index cd35f4b..2ef85fd 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFileNioHelper.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/report/ReportFileNioHelper.java
@@ -78,9 +78,7 @@
* @param <A> The type returned by the function consuming the file
*/
public static <A> A withTxtFile(String txtReportFilePath, Function<ReportFile.TXTFile, A> f) {
- // TODO: Switch to makeTxtFile once all the report file business logic has been moved to
- // ReportFile
- ReportFile.TXTFile file = ReportFile.makeAppendableTxtFile(makeNioWriter(txtReportFilePath));
+ ReportFile.TXTFile file = ReportFile.makeTxtFile(makeNioWriter(txtReportFilePath));
A result = f.apply(file);
try {
Files.delete(Paths.get(txtReportFilePath));
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java
index 763c69f..26ad7d8 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java
@@ -37,17 +37,13 @@
import java.util.List;
import java.util.Map;
import java.util.stream.IntStream;
-import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.openecomp.sdc.asdctool.impl.validator.config.ValidationConfigManager;
import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
-import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManagerHelper;
import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
import org.openecomp.sdc.be.dao.cassandra.CassandraOperationStatus;
import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
@@ -101,16 +97,6 @@
when(vertex.getUniqueId()).thenReturn(UNIQUE_ID_VERTEX);
}
- @BeforeEach
- public void setup() {
- ReportManager.make(txtReportFilePath);
- }
-
- @AfterEach
- public void clean() {
- ReportManagerHelper.cleanReports(txtReportFilePath);
- }
-
@Test
public void testValidateArtifactsAreInCassandra() {
// given
@@ -119,15 +105,17 @@
artifacts.add(artifactDataDefinition);
// when
- ArtifactsVertexResult result =
- testSubject.validateArtifactsAreInCassandra(report, vertex, TASK_NAME, artifacts, txtReportFilePath);
+ withTxtFile(txtReportFilePath, file -> {
+ ArtifactsVertexResult result =
+ testSubject.validateArtifactsAreInCassandra(report, vertex, TASK_NAME, artifacts, file);
- List<String> reportOutputFile = ReportManagerHelper.getReportOutputFileAsList(txtReportFilePath);
+ List<String> reportOutputFile = readFileAsList(txtReportFilePath);
- // then
- assertTrue(result.getStatus());
- assertEquals(0, result.notFoundArtifacts.size());
- assertEquals("Artifact " + ES_ID + " is in Cassandra", reportOutputFile.get(2));
+ // then
+ assertTrue(result.getStatus());
+ assertEquals(0, result.notFoundArtifacts.size());
+ assertEquals("Artifact " + ES_ID + " is in Cassandra", reportOutputFile.get(2));
+ });
}
@Test
@@ -141,7 +129,7 @@
// when
withTxtFile(txtReportFilePath, file -> {
ArtifactsVertexResult result =
- testSubject.validateArtifactsAreInCassandra(report, vertex, TASK_NAME, artifacts, txtReportFilePath);
+ testSubject.validateArtifactsAreInCassandra(report, vertex, TASK_NAME, artifacts, file);
file.reportEndOfToolRun(report);
List<String> reportOutputFile = readFileAsList(txtReportFilePath);
@@ -219,17 +207,19 @@
.thenReturn(Either.left(topologyTemplate));
// when
- ArtifactsVertexResult result =
- testSubject.validateTopologyTemplateArtifacts(report, vertex, TASK_NAME, txtReportFilePath);
+ withTxtFile(txtReportFilePath, file -> {
+ ArtifactsVertexResult result =
+ testSubject.validateTopologyTemplateArtifacts(report, vertex, TASK_NAME, file);
- List<String> reportOutputFile = ReportManagerHelper.getReportOutputFileAsList(txtReportFilePath);
+ List<String> reportOutputFile = readFileAsList(txtReportFilePath);
- // then
- assertTrue(result.getStatus());
- assertEquals(0, result.notFoundArtifacts.size());
+ // then
+ assertTrue(result.getStatus());
+ assertEquals(0, result.notFoundArtifacts.size());
- IntStream.range(2, reportOutputFile.size()).forEach(
- i -> assertEquals("Artifact " + ES_ID + " is in Cassandra", reportOutputFile.get(i)));
+ IntStream.range(2, reportOutputFile.size()).forEach(
+ i -> assertEquals("Artifact " + ES_ID + " is in Cassandra", reportOutputFile.get(i)));
+ });
}
@Test
@@ -240,10 +230,11 @@
.thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
// when
- ArtifactsVertexResult result =
- testSubject.validateTopologyTemplateArtifacts(report, vertex, TASK_NAME, txtReportFilePath);
-
- // then
- assertFalse(result.getStatus());
+ withTxtFile(txtReportFilePath, file -> {
+ ArtifactsVertexResult result =
+ testSubject.validateTopologyTemplateArtifacts(report, vertex, TASK_NAME, file);
+ // then
+ assertFalse(result.getStatus());
+ });
}
}
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ServiceArtifactValidationTaskTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ServiceArtifactValidationTaskTest.java
index b45b589..849c679 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ServiceArtifactValidationTaskTest.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ServiceArtifactValidationTaskTest.java
@@ -20,15 +20,17 @@
package org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts;
-import org.junit.Test;
-import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
-import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
-
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.nullValue;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.mock;
+import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.makeTxtFile;
+
+import org.junit.Test;
+import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFileWriterTestFactory;
+import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
+import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
public class ServiceArtifactValidationTaskTest {
@@ -42,9 +44,10 @@
Report report = Report.make();
GraphVertex vertex = null;
ServiceArtifactValidationTask testSubject = createTestSubject();
- // Initially no outputFilePath was passed to this function (hence it is set to null)
- // TODO: Fix this null and see if the argument is used by this function
- VertexResult actual = testSubject.validate(report, vertex, null);
+ VertexResult actual = testSubject.validate(
+ report, vertex,
+ makeTxtFile(ReportFileWriterTestFactory.makeConsoleWriter())
+ );
assertThat(actual, is(nullValue()));
}
}
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/VfArtifactValidationTaskTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/VfArtifactValidationTaskTest.java
index 60e41ab..a70326b 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/VfArtifactValidationTaskTest.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/VfArtifactValidationTaskTest.java
@@ -22,6 +22,7 @@
import org.junit.Test;
import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFileWriterTestFactory;
import org.openecomp.sdc.asdctool.impl.validator.utils.VertexResult;
import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
@@ -29,6 +30,7 @@
import static org.hamcrest.Matchers.nullValue;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.mock;
+import static org.openecomp.sdc.asdctool.impl.validator.report.ReportFile.makeTxtFile;
public class VfArtifactValidationTaskTest {
@@ -42,9 +44,10 @@
Report report = Report.make();
GraphVertex vertex = null;
VfArtifactValidationTask testSubject = createTestSubject();
- // Initially no outputFilePath was passed to this function (hence it is set to null)
- // TODO: Fix this null and see if the argument is used by this function
- VertexResult actual = testSubject.validate(report, vertex, null);
+ VertexResult actual = testSubject.validate(
+ report, vertex,
+ makeTxtFile(ReportFileWriterTestFactory.makeConsoleWriter())
+ );
assertThat(actual, is(nullValue()));
}
}
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java
index d2276fd..af05610 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java
@@ -21,24 +21,21 @@
package org.openecomp.sdc.asdctool.impl.validator.utils;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-import org.openecomp.sdc.asdctool.impl.validator.config.ValidationConfigManager;
-import org.openecomp.sdc.asdctool.impl.validator.report.Report;
-import org.openecomp.sdc.asdctool.impl.validator.report.ReportFileNioHelper;
-import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.mockito.Mockito.when;
import java.io.File;
import java.util.Arrays;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.mockito.Mockito.when;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+import org.openecomp.sdc.asdctool.impl.validator.config.ValidationConfigManager;
+import org.openecomp.sdc.asdctool.impl.validator.report.Report;
+import org.openecomp.sdc.asdctool.impl.validator.report.ReportFileNioHelper;
+import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
public class ReportManagerTest {
@@ -74,17 +71,6 @@
private final GraphVertex vertexScanned = Mockito.mock(GraphVertex.class);
- @BeforeEach
- public void setup() {
- ReportManager.make(txtReportFilePath);
- successResult.setStatus(true);
- }
-
- @AfterEach
- public void clean() {
- ReportManagerHelper.cleanReports(txtReportFilePath);
- }
-
@Test
public void testReportTaskEnd() {
// when
@@ -144,15 +130,15 @@
@Test
public void testWriteReportLineToFile() {
// when
- ReportManager.writeReportLineToFile(DUMMY_MESSAGE, txtReportFilePath);
-
- List<String> reportOutputFile = ReportManagerHelper.getReportOutputFileAsList(txtReportFilePath);
+ List<String> reportTxtFile = ReportFileNioHelper.withTxtFile(txtReportFilePath, file -> {
+ file.writeReportLineToFile(DUMMY_MESSAGE);
+ return ReportFileNioHelper.readFileAsList(txtReportFilePath);
+ });
// then
- assertNotNull(reportOutputFile);
-
- assertEquals(EXPECTED_OUTPUT_FILE_HEADER, reportOutputFile.get(0));
- assertEquals(DUMMY_MESSAGE, reportOutputFile.get(2));
+ assertNotNull(reportTxtFile);
+ assertEquals(EXPECTED_OUTPUT_FILE_HEADER, reportTxtFile.get(0));
+ assertEquals(DUMMY_MESSAGE, reportTxtFile.get(2));
}
@Test