use of com.synopsys.integration.detect.tool.impactanalysis.service.ImpactAnalysisBatchOutput in project synopsys-detect by blackducksoftware.
the class ImpactAnalysisUploadOperation method uploadImpactAnalysis.
public CodeLocationCreationData<ImpactAnalysisBatchOutput> uploadImpactAnalysis(Path impactAnalysisPath, NameVersion projectNameVersion, String codeLocationName) throws IntegrationException {
ImpactAnalysis impactAnalysis = new ImpactAnalysis(impactAnalysisPath, projectNameVersion.getName(), projectNameVersion.getVersion(), codeLocationName);
CodeLocationCreationData<ImpactAnalysisBatchOutput> codeLocationCreationData = impactAnalysisUploadService.uploadImpactAnalysis(impactAnalysis);
ImpactAnalysisBatchOutput impactAnalysisBatchOutput = codeLocationCreationData.getOutput();
impactAnalysisBatchOutput.throwExceptionForError(logger);
return codeLocationCreationData;
}
use of com.synopsys.integration.detect.tool.impactanalysis.service.ImpactAnalysisBatchOutput in project synopsys-detect by blackducksoftware.
the class ImpactAnalysisTestIT method testImpactAnalysisForDetect.
@Test
public void testImpactAnalysisForDetect() throws IOException, IntegrationException {
BlackDuckTestConnection blackDuckTestConnection = BlackDuckTestConnection.fromEnvironment();
NameVersion projectNameVersion = new NameVersion("synopsys-detect-junit", "impact-analysis");
BlackDuckServicesFactory blackDuckServicesFactory = blackDuckTestConnection.getBlackDuckServicesFactory();
File toScan = new File("./");
Path outputDirectory = outputDirAsPath.toPath();
ImpactAnalysisNamingOperation impactAnalysisNamingOperation = new ImpactAnalysisNamingOperation(codeLocationNameManager);
String impactAnalysisCodeLocationName = impactAnalysisNamingOperation.createCodeLocationName(toScan, projectNameVersion);
GenerateImpactAnalysisOperation generateImpactAnalysisOperation = new GenerateImpactAnalysisOperation();
Path impactAnalysisFile = generateImpactAnalysisOperation.generateImpactAnalysis(toScan, impactAnalysisCodeLocationName, outputDirectory);
ImpactAnalysisBatchRunner impactAnalysisBatchRunner = new ImpactAnalysisBatchRunner(logger, blackDuckServicesFactory.getBlackDuckApiClient(), blackDuckServicesFactory.getApiDiscovery(), new NoThreadExecutorService(), blackDuckServicesFactory.getGson());
ImpactAnalysisUploadService impactAnalysisUploadService = new ImpactAnalysisUploadService(impactAnalysisBatchRunner, blackDuckServicesFactory.createCodeLocationCreationService());
ImpactAnalysisUploadOperation impactAnalysisUploadOperation = new ImpactAnalysisUploadOperation(impactAnalysisUploadService);
CodeLocationCreationData<ImpactAnalysisBatchOutput> creationData = impactAnalysisUploadOperation.uploadImpactAnalysis(impactAnalysisFile, projectNameVersion, impactAnalysisCodeLocationName);
assertEquals(1, creationData.getOutput().getOutputs().size());
assertEquals(Result.SUCCESS, creationData.getOutput().getOutputs().get(0).getResult());
}
use of com.synopsys.integration.detect.tool.impactanalysis.service.ImpactAnalysisBatchOutput in project synopsys-detect by blackducksoftware.
the class IntelligentModeStepRunner method runImpactAnalysisOnline.
public void runImpactAnalysisOnline(NameVersion projectNameVersion, ProjectVersionWrapper projectVersionWrapper, CodeLocationAccumulator codeLocationAccumulator, BlackDuckServicesFactory blackDuckServicesFactory) throws OperationException {
String impactAnalysisName = operationFactory.generateImpactAnalysisCodeLocationName(projectNameVersion);
Path impactFile = operationFactory.generateImpactAnalysisFile(impactAnalysisName);
CodeLocationCreationData<ImpactAnalysisBatchOutput> uploadData = operationFactory.uploadImpactAnalysisFile(impactFile, projectNameVersion, impactAnalysisName, blackDuckServicesFactory);
operationFactory.mapImpactAnalysisCodeLocations(impactFile, uploadData, projectVersionWrapper, blackDuckServicesFactory);
/* TODO: There is currently no mechanism within Black Duck for checking the completion status of an Impact Analysis code location. Waiting should happen here when such a mechanism exists. See HUB-25142. JM - 08/2020 */
codeLocationAccumulator.addNonWaitableCodeLocation(uploadData.getOutput().getSuccessfulCodeLocationNames());
}
Aggregations