Skip to content

Commit

Permalink
#605 Remove ArrayList from return type. Now it only returns one result.
Browse files Browse the repository at this point in the history
  • Loading branch information
adiherzog committed Oct 18, 2017
1 parent 7f3d01e commit 366b205
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -142,14 +142,16 @@ public synchronized void submitBuildForReimport(AvailableBuildsList availableBui
saveBuildImportSummaries(buildImportSummaries);
}

public synchronized ArrayList<Future<ComparisonResult>> importBuild(AvailableBuildsList availableBuilds,
BuildIdentifier buildIdentifier, BuildIdentifier comparisonBuildIdentifier, String comparisonName) {
public synchronized Future<ComparisonResult> importBuildAndCreateComparison(AvailableBuildsList availableBuilds,
BuildIdentifier buildIdentifier, BuildIdentifier comparisonBuildIdentifier, String comparisonName) {

removeImportedBuildAndDerivedData(availableBuilds, buildIdentifier);
submitBuildForImport(availableBuilds, buildIdentifier);
ArrayList<Future<ComparisonResult>> futureList = submitBuildForSingleComparison(buildIdentifier, comparisonBuildIdentifier, comparisonName);
Future<ComparisonResult> comparisonResult =
submitBuildForSingleComparison(buildIdentifier, comparisonBuildIdentifier,comparisonName);
saveBuildImportSummaries(buildImportSummaries);

return futureList;
return comparisonResult;
}

/**
Expand Down Expand Up @@ -203,8 +205,9 @@ private void submitBuildForComparison(BuildIdentifier buildIdentifier) {
comparisonExecutor.doComparison(buildIdentifier.getBranchName(), buildIdentifier.getBuildName());
}

private ArrayList<Future<ComparisonResult>> submitBuildForSingleComparison(BuildIdentifier buildIdentifier, BuildIdentifier compareBuildIdentifier, String comparisonName) {
return comparisonExecutor.doComparison(buildIdentifier.getBranchName(), buildIdentifier.getBuildName(), compareBuildIdentifier.getBranchName(), compareBuildIdentifier.getBuildName(), comparisonName);
private Future<ComparisonResult> submitBuildForSingleComparison(BuildIdentifier buildIdentifier, BuildIdentifier compareBuildIdentifier, String comparisonName) {
return comparisonExecutor.doComparison(buildIdentifier.getBranchName(), buildIdentifier.getBuildName(),
compareBuildIdentifier.getBranchName(), compareBuildIdentifier.getBuildName(), comparisonName);
}

private void importBuild(AvailableBuildsList availableBuilds, BuildImportSummary summary) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,8 @@ public void reimportBuild(final BuildIdentifier buildIdentifier) {
buildImporter.submitBuildForReimport(availableBuilds, buildIdentifier);
}

public ArrayList<Future<ComparisonResult>> importBuild(final BuildIdentifier buildIdentifier, final BuildIdentifier comparisonBuildIdentifier, String comparisonName) {
return buildImporter.importBuild(availableBuilds, buildIdentifier, comparisonBuildIdentifier, comparisonName);
public Future<ComparisonResult> importBuildAndCreateComparison(final BuildIdentifier buildIdentifier, final BuildIdentifier comparisonBuildIdentifier, String comparisonName) {
return buildImporter.importBuildAndCreateComparison(availableBuilds, buildIdentifier, comparisonBuildIdentifier, comparisonName);
}

public LongObjectNamesResolver getLongObjectNameResolver(final BuildIdentifier buildIdentifier) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,8 @@ public synchronized void doComparison(String baseBranchName, String baseBuildNam
}
}

public ArrayList<Future<ComparisonResult>> doComparison(String baseBranchName, String baseBuildName, String comparisonBranchName, String comparisonBuildName, String comparisonName) {
public Future<ComparisonResult> doComparison(String baseBranchName, String baseBuildName,
String comparisonBranchName, String comparisonBuildName, String comparisonName) {

ArrayList<Future<ComparisonResult>> futureList = new ArrayList<Future<ComparisonResult>>();

Expand All @@ -92,9 +93,7 @@ public ArrayList<Future<ComparisonResult>> doComparison(String baseBranchName, S
comparisonConfiguration.setComparisonBranchName(comparisonBranchName);
comparisonConfiguration.setComparisonBuildName(comparisonBuildName);

Future<ComparisonResult> result = submitBuildForComparison(baseBranchName, baseBuildName, comparisonConfiguration);
futureList.add(result);
return futureList;
return submitBuildForComparison(baseBranchName, baseBuildName, comparisonConfiguration);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
import javax.ws.rs.core.Response.ResponseBuilder;
import javax.ws.rs.core.Response.Status;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Future;

Expand Down Expand Up @@ -95,6 +94,9 @@ public void reimportBuild(@PathParam("branchName") final String branchName,
ScenarioDocuBuildsManager.INSTANCE.reimportBuild(buildIdentifier);
}

/**
* Import a specific build and create the diff data for a specific comparison build.
*/
@GET
@Path("importBuild/{branchName}/{buildName}/{comparisonBranchName}/{comparisonBuildName}/{comparisonName}")
@Produces({"application/xml", "application/json"})
Expand All @@ -108,20 +110,17 @@ public Response importBuild(
BuildIdentifier buildIdentifier = new BuildIdentifier(branchName, buildName);
BuildIdentifier comparisonBuildIdentifier = new BuildIdentifier(comparisonBranchName, comparisonBuildName);

ArrayList<Future<ComparisonResult>> futureList = ScenarioDocuBuildsManager.INSTANCE.importBuild(buildIdentifier, comparisonBuildIdentifier, comparisonName);
Future<ComparisonResult> comparisonResultFuture =
ScenarioDocuBuildsManager.INSTANCE.importBuildAndCreateComparison(buildIdentifier,
comparisonBuildIdentifier, comparisonName);

List<ComparisonResult> comparisonResultList = new ArrayList<>();
for (Future<ComparisonResult> comparisonResultFuture : futureList) {
try {
comparisonResultList.add(comparisonResultFuture.get());
} catch (Exception e) {
throw new RuntimeException(e);
}
ComparisonResult comparisonResult;
try {
comparisonResult = comparisonResultFuture.get();
} catch (Exception e) {
throw new RuntimeException(e);
}

ComparisonResult[] results = comparisonResultList.toArray(new ComparisonResult[comparisonResultList.size()]);

return Response.ok(results).build();
return Response.ok(comparisonResult).build();
}

@POST
Expand Down

0 comments on commit 366b205

Please sign in to comment.