Просмотр исходного кода

[192-webreport] Declared function in ReportingStrtegy to generate report as json strings, implemented the function in ReportImplementation, Json strings from JPlagResult can now be generated

Evgeni 5 лет назад
Родитель
Сommit
94c83423c2

+ 14 - 1
jplag/src/main/java/de/jplag/reportingV2/ReportImplementation.java

@@ -1,4 +1,17 @@
 package de.jplag.reportingV2;
 
-public class ReportImplementation {
+import de.jplag.JPlagResult;
+import de.jplag.reportingV2.jsonfactory.JsonFactory;
+import de.jplag.reportingV2.reportobject.ReportObjectFactory;
+import de.jplag.reportingV2.reportobject.model.JPlagReport;
+
+import java.util.List;
+
+public class ReportImplementation  implements ReportStrategy{
+
+	@Override
+	public List<String> getJsonStrings(JPlagResult result) {
+		JPlagReport report = ReportObjectFactory.getReportObject(result);
+		return JsonFactory.generateJsonFiles(report);
+	}
 }

+ 6 - 0
jplag/src/main/java/de/jplag/reportingV2/ReportStrategy.java

@@ -1,4 +1,10 @@
 package de.jplag.reportingV2;
 
+import de.jplag.JPlagResult;
+
+import java.util.List;
+
 public interface ReportStrategy {
+
+	List<String> getJsonStrings(JPlagResult result);
 }

+ 22 - 0
jplag/src/main/java/de/jplag/reportingV2/ReportingTest.java

@@ -0,0 +1,22 @@
+package de.jplag.reportingV2;
+
+import de.jplag.ExitException;
+import de.jplag.JPlag;
+import de.jplag.JPlagResult;
+import de.jplag.options.JPlagOptions;
+import de.jplag.options.LanguageOption;
+
+import java.util.List;
+
+public class ReportingTest {
+
+	public static void main(String[] args) throws ExitException {
+		JPlagOptions options = new JPlagOptions("C:\\Uni\\PISE\\jplag-try-out\\src\\submission", LanguageOption.JAVA_1_9);
+		JPlag jPlag = new JPlag(options);
+		JPlagResult result = jPlag.run();
+		ReportStrategy reporting = new ReportImplementation();
+		List<String> jsonStrings = reporting.getJsonStrings(result);
+		System.out.println(jsonStrings.get(0));
+		System.out.println(jsonStrings.get(1));
+	}
+}

+ 4 - 4
jplag/src/main/java/de/jplag/reportingV2/reportobject/ReportObjectFactory.java

@@ -18,7 +18,6 @@ public class ReportObjectFactory {
 	public static JPlagReport getReportObject(JPlagResult result) {
 		OverviewReport overviewReport = generateOverviewReport(result);
 		List<ComparisonReport> comparisons = generateComparisonReports(result);
-
 		return new JPlagReport(overviewReport, comparisons);
 	}
 
@@ -46,16 +45,17 @@ public class ReportObjectFactory {
 	}
 
 	private static List<ComparisonReport> generateComparisonReports(JPlagResult result) {
-		List<ComparisonReport> comparisons = List.of();
+		List<ComparisonReport> comparisons = new ArrayList<>();
 		result.getComparisons().forEach( c -> {
-
-			ComparisonReport comparisonReport = new ComparisonReport(
+			comparisons.add(
+				new ComparisonReport(
 					c.getFirstSubmission().getName(),
 					c.getSecondSubmission().getName(),
 					c.similarity(),
 					getFilesForSubmission(c.getFirstSubmission()),
 					getFilesForSubmission(c.getSecondSubmission()),
 					c.getMatches().stream().map(m -> convertMatchToReportMatch(c, m)).collect(Collectors.toList())
+				)
 			);
 		});
 		return comparisons;