diff --git a/src/main/java/com/redhat/exhort/cli/App.java b/src/main/java/com/redhat/exhort/cli/App.java index ee11827c..30bf39d4 100644 --- a/src/main/java/com/redhat/exhort/cli/App.java +++ b/src/main/java/com/redhat/exhort/cli/App.java @@ -25,12 +25,14 @@ import com.redhat.exhort.Api; import com.redhat.exhort.api.v4.AnalysisReport; import com.redhat.exhort.api.v4.ProviderReport; -import com.redhat.exhort.api.v4.Source; +import com.redhat.exhort.api.v4.SourceSummary; import com.redhat.exhort.impl.ExhortApi; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -161,7 +163,8 @@ private static CompletableFuture executeComponentAnalysis( Api api = new ExhortApi(); CompletableFuture analysis = api.componentAnalysis(filePath); if (outputFormat.equals(OutputFormat.SUMMARY)) { - analysis = analysis.thenApply(App::extractSummary); + var summary = analysis.thenApply(App::extractSummary); + return summary.thenApply(App::toJsonString); } return analysis.thenApply(App::toJsonString); } @@ -174,9 +177,8 @@ private static String toJsonString(Object obj) { } } - private static AnalysisReport extractSummary(AnalysisReport report) { - AnalysisReport summary = new AnalysisReport(); - summary.setScanned(report.getScanned()); + private static Map extractSummary(AnalysisReport report) { + Map summary = new HashMap<>(); if (report.getProviders() == null) { return summary; } @@ -194,12 +196,11 @@ private static AnalysisReport extractSummary(AnalysisReport report) { .entrySet() .forEach( sourceEntry -> { - var source = new Source(); - source.setSummary(sourceEntry.getValue().getSummary()); - provider.putSourcesItem(sourceEntry.getKey(), source); + if (sourceEntry.getValue().getSummary() != null) { + summary.put(sourceEntry.getKey(), sourceEntry.getValue().getSummary()); + } }); } - summary.putProvidersItem(entry.getKey(), provider); }); return summary; }