List of usage examples for org.springframework.batch.core ExitStatus COMPLETED
ExitStatus COMPLETED
To view the source code for org.springframework.batch.core ExitStatus COMPLETED.
Click Source Link
From source file:uk.ac.ebi.eva.pipeline.jobs.GenotypedVcfJobWorkflowTest.java
@Test public void allStepsShouldBeExecuted() throws Exception { initVariantConfigurationJob();//ww w . jav a 2 s. c o m JobExecution execution = jobLauncherTestUtils.launchJob(); assertEquals(ExitStatus.COMPLETED, execution.getExitStatus()); assertEquals(7, execution.getStepExecutions().size()); List<StepExecution> steps = new ArrayList<>(execution.getStepExecutions()); StepExecution transformStep = steps.get(0); StepExecution loadStep = steps.get(1); Map<String, StepExecution> parallelStepsNameToStepExecution = new HashMap<>(); for (int i = 2; i <= steps.size() - 1; i++) { parallelStepsNameToStepExecution.put(steps.get(i).getStepName(), steps.get(i)); } assertEquals(GenotypedVcfJob.NORMALIZE_VARIANTS, transformStep.getStepName()); assertEquals(GenotypedVcfJob.LOAD_VARIANTS, loadStep.getStepName()); Set<String> parallelStepNamesExecuted = parallelStepsNameToStepExecution.keySet(); Set<String> parallelStepNamesToCheck = new HashSet<>(Arrays.asList( PopulationStatisticsJob.CALCULATE_STATISTICS, PopulationStatisticsJob.LOAD_STATISTICS, VepInputGeneratorStep.FIND_VARIANTS_TO_ANNOTATE, VepAnnotationGeneratorStep.GENERATE_VEP_ANNOTATION, AnnotationLoaderStep.LOAD_VEP_ANNOTATION)); assertEquals(parallelStepNamesToCheck, parallelStepNamesExecuted); assertTrue(transformStep.getEndTime().before(loadStep.getStartTime())); assertTrue(loadStep.getEndTime().before( parallelStepsNameToStepExecution.get(PopulationStatisticsJob.CALCULATE_STATISTICS).getStartTime())); assertTrue(loadStep.getEndTime().before(parallelStepsNameToStepExecution .get(VepInputGeneratorStep.FIND_VARIANTS_TO_ANNOTATE).getStartTime())); assertTrue(parallelStepsNameToStepExecution.get(PopulationStatisticsJob.CALCULATE_STATISTICS).getEndTime() .before(parallelStepsNameToStepExecution.get(PopulationStatisticsJob.LOAD_STATISTICS) .getStartTime())); assertTrue(parallelStepsNameToStepExecution.get(VepInputGeneratorStep.FIND_VARIANTS_TO_ANNOTATE) .getEndTime().before(parallelStepsNameToStepExecution .get(VepAnnotationGeneratorStep.GENERATE_VEP_ANNOTATION).getStartTime())); assertTrue(parallelStepsNameToStepExecution.get(VepAnnotationGeneratorStep.GENERATE_VEP_ANNOTATION) .getEndTime().before(parallelStepsNameToStepExecution.get(AnnotationLoaderStep.LOAD_VEP_ANNOTATION) .getStartTime())); }
From source file:com.javaetmoi.elasticsearch.musicbrainz.batch.TestMusicAlbumJob.java
@Test public void indexMusicAlbum() throws Exception { JobExecution execution = testUtils.launchJob(); // Batch Status assertEquals(ExitStatus.COMPLETED, execution.getExitStatus()); StepExecution indexMusicAlbum = getStepExecution(execution, "indexMusicAlbum"); assertEquals(13, indexMusicAlbum.getWriteCount()); assertEquals(2 * 2, indexMusicAlbum.getCommitCount()); // Elasticsearch status ElasticSearchHelper.refreshIndex(client); DocsStatus docs = getDocStatus();//from w ww. ja v a 2 s .c o m assertEquals(13, docs.getNumDocs()); }
From source file:uk.ac.ebi.eva.pipeline.jobs.steps.AnnotationLoaderStepTest.java
@Test public void shouldLoadAllAnnotations() throws Exception { DBObjectToVariantAnnotationConverter converter = new DBObjectToVariantAnnotationConverter(); String dump = AnnotationLoaderStepTest.class.getResource("/dump/").getFile(); restoreMongoDbFromDump(dump);//from w ww .ja v a2s . c o m String vepOutput = jobOptions.getVepOutput(); makeGzipFile(VepOutputContent.vepOutputContent, vepOutput); JobExecution jobExecution = jobLauncherTestUtils.launchStep(AnnotationLoaderStep.LOAD_VEP_ANNOTATION); assertEquals(ExitStatus.COMPLETED, jobExecution.getExitStatus()); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); //check that documents have the annotation DBCursor cursor = collection(dbName, jobOptions.getDbCollectionsVariantsName()).find(); int cnt = 0; int consequenceTypeCount = 0; while (cursor.hasNext()) { cnt++; DBObject dbObject = (DBObject) cursor.next().get("annot"); if (dbObject != null) { VariantAnnotation annot = converter.convertToDataModelType(dbObject); Assert.assertNotNull(annot.getConsequenceTypes()); consequenceTypeCount += annot.getConsequenceTypes().size(); } } assertEquals(300, cnt); assertTrue("Annotations not found", consequenceTypeCount > 0); }
From source file:uk.ac.ebi.eva.pipeline.jobs.AggregatedVcfJobTest.java
@Test public void aggregatedTransformAndLoadShouldBeExecuted() throws Exception { Config.setOpenCGAHome(opencgaHome);/* w w w .j a va2 s . c o m*/ JobExecution jobExecution = jobLauncherTestUtils.launchJob(); assertEquals(ExitStatus.COMPLETED, jobExecution.getExitStatus()); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); // check execution flow Assert.assertEquals(2, jobExecution.getStepExecutions().size()); List<StepExecution> steps = new ArrayList<>(jobExecution.getStepExecutions()); StepExecution transformStep = steps.get(0); StepExecution loadStep = steps.get(1); Assert.assertEquals(AggregatedVcfJob.NORMALIZE_VARIANTS, transformStep.getStepName()); Assert.assertEquals(AggregatedVcfJob.LOAD_VARIANTS, loadStep.getStepName()); assertTrue(transformStep.getEndTime().before(loadStep.getStartTime())); // check transformed file String outputFilename = getTransformedOutputPath(Paths.get(input).getFileName(), compressExtension, outputDir); long lines = JobTestUtils.getLines(new GZIPInputStream(new FileInputStream(outputFilename))); assertEquals(156, lines); // check ((documents in DB) == (lines in transformed file)) VariantStorageManager variantStorageManager = StorageManagerFactory.getVariantStorageManager(); VariantDBAdaptor variantDBAdaptor = variantStorageManager.getDBAdaptor(dbName, null); VariantDBIterator iterator = variantDBAdaptor.iterator(new QueryOptions()); Assert.assertEquals(JobTestUtils.count(iterator), lines); // check that stats are loaded properly assertFalse(variantDBAdaptor.iterator(new QueryOptions()).next().getSourceEntries().values().iterator() .next().getCohortStats().isEmpty()); }
From source file:org.jasig.ssp.util.importer.job.listener.ParsingListener.java
@SuppressWarnings("unchecked") @Override/*w ww .j av a2 s . c o m*/ @AfterStep public ExitStatus afterStep(StepExecution arg0) { // The "fileName" context property has been normalized so the file separator is // not platform-specific String fileSeparatorRegex = "/"; String fileName = this.getStepExecution().getExecutionContext().getString("fileName"); String[] split = fileName.split(fileSeparatorRegex); String pathname = split[split.length - 1]; String[] split1 = pathname.split("\\."); String currentEntity = split1[0]; if (currentEntity != null) { Map<String, ReportEntry> report = (Map<String, ReportEntry>) this.getStepExecution().getJobExecution() .getExecutionContext().get("report"); if (report == null) { report = new HashMap<String, ReportEntry>(); } ReportEntry currentEntry = report.get(currentEntity); if (currentEntry != null) { currentEntry.setTableName(currentEntity); currentEntry.setNumberParsed(this.getStepExecution().getReadCount()); currentEntry.setNumberSkippedOnParse(this.getStepExecution().getProcessSkipCount()); } else { currentEntry = new ReportEntry(); currentEntry.setTableName(currentEntity); currentEntry.setNumberParsed(this.getStepExecution().getReadCount()); currentEntry.setNumberSkippedOnParse(this.getStepExecution().getProcessSkipCount()); } report.put(currentEntity, currentEntry); arg0.getJobExecution().getExecutionContext().put("report", report); } return ExitStatus.COMPLETED; }
From source file:com.github.jrrdev.mantisbtsync.core.common.auth.PortalAuthManager.java
/** * EGet the authenfication by executing the defined requests sequence. * * @throws IOException//from w w w . j a v a 2 s . co m * @throws ClientProtocolException */ public ExitStatus authentificate() throws ClientProtocolException, IOException { authCookie = null; if (firstRequest != null) { final CookieStore cookieStore = new BasicCookieStore(); client = HttpClients.custom().setDefaultCookieStore(cookieStore) .setRedirectStrategy(new LaxRedirectStrategy()).useSystemProperties().build(); lastResponse = firstRequest.executeSequence(client); final List<Cookie> cookies = cookieStore.getCookies(); final StringBuilder strBuff = new StringBuilder(); for (final Cookie cookie : cookies) { strBuff.append(cookie.getName()); strBuff.append("="); strBuff.append(cookie.getValue()); strBuff.append(";"); } authCookie = strBuff.toString(); } return ExitStatus.COMPLETED; }
From source file:org.emonocot.job.common.GetResourceClientTest.java
/** * * @throws IOException// w ww . j a v a2 s . co m * if a temporary file cannot be created or if there is a http * protocol error. * @throws SAXException * if the content retrieved is not valid xml. */ @Test public final void testGetResourceSuccessfully() throws IOException, SAXException { File tempFile = File.createTempFile("test", "zip"); tempFile.deleteOnExit(); EasyMock.expect(httpClient.getParams()).andReturn(new BasicHttpParams()); EasyMock.expect(httpClient.execute(EasyMock.isA(HttpGet.class))).andReturn(httpResponse); EasyMock.replay(httpClient); ExitStatus exitStatus = getResourceClient.getResource(testzip, Long.toString(new Date().getTime()), tempFile.getAbsolutePath()); EasyMock.verify(httpClient); assertNotNull("ExitStatus should not be null", exitStatus); assertEquals("ExitStatus should be COMPLETED", exitStatus, ExitStatus.COMPLETED); }
From source file:uk.ac.ebi.eva.pipeline.jobs.steps.VariantNormalizerStepTest.java
@Test public void normalizerStepShouldTransformAllVariants() throws Exception { Config.setOpenCGAHome(opencgaHome);//w ww . j a va2 s . co m String inputFile = VariantNormalizerStepTest.class.getResource(input).getFile(); jobOptions.getPipelineOptions().put("input.vcf", inputFile); String outputFilename = getTransformedOutputPath(Paths.get(input).getFileName(), ".gz", "/tmp"); File file = new File(outputFilename); if (file.exists()) file.delete(); assertFalse(file.exists()); // When the execute method in variantsTransform is executed JobExecution jobExecution = jobLauncherTestUtils.launchStep(GenotypedVcfJob.NORMALIZE_VARIANTS); //Then variantsTransform should complete correctly assertEquals(ExitStatus.COMPLETED, jobExecution.getExitStatus()); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); // And the transformed file should contain the same number of line of the Vcf input file Assert.assertEquals(300, getLines(new GZIPInputStream(new FileInputStream(outputFilename)))); file.delete(); new File(outputDir, "small20.vcf.gz.file.json.gz").delete(); }
From source file:uk.ac.ebi.eva.pipeline.jobs.steps.IndexesGeneratorStepTest.java
@Test(expected = DuplicateKeyException.class) public void testNoDuplicatesCanBeInserted() throws Exception { String dbCollectionGenesName = jobOptions.getDbCollectionsFeaturesName(); JobExecution jobExecution = jobLauncherTestUtils .launchStep(DatabaseInitializationJob.CREATE_DATABASE_INDEXES); assertEquals(ExitStatus.COMPLETED, jobExecution.getExitStatus()); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); MongoClient mongoClient = new MongoClient(); DBCollection genesCollection = mongoClient.getDB(dbName).getCollection(dbCollectionGenesName); genesCollection.insert(new BasicDBObject("_id", "example_id")); genesCollection.insert(new BasicDBObject("_id", "example_id")); }
From source file:com.github.jrrdev.mantisbtsync.core.jobs.issues.tasklets.IssuesLastRunExtractorTasklet.java
/** * {@inheritDoc}// w w w .ja va 2s . c o m * @see org.springframework.batch.core.step.tasklet.Tasklet#execute(org.springframework.batch.core.StepContribution, org.springframework.batch.core.scope.context.ChunkContext) */ @Override public RepeatStatus execute(final StepContribution contribution, final ChunkContext chunkContext) throws Exception { final StepContext stepContext = chunkContext.getStepContext(); final String jobName = stepContext.getJobName(); final JobParameters jobParams = stepContext.getStepExecution().getJobParameters(); final Map<String, JobParameter> currParams = new HashMap<String, JobParameter>(jobParams.getParameters()); currParams.remove("run.id"); Date lastJobRun = null; final List<JobInstance> jobInstances = jobExplorer.getJobInstances(jobName, 0, 1000); for (final JobInstance jobInstance : jobInstances) { final List<JobExecution> jobExecutions = jobExplorer.getJobExecutions(jobInstance); for (final JobExecution jobExecution : jobExecutions) { final JobParameters oldJobParams = jobExecution.getJobParameters(); final Map<String, JobParameter> oldParams = new HashMap<String, JobParameter>( oldJobParams.getParameters()); oldParams.remove("run.id"); if (ExitStatus.COMPLETED.equals(jobExecution.getExitStatus()) && oldParams.equals(currParams)) { if (lastJobRun == null || lastJobRun.before(jobExecution.getStartTime())) { lastJobRun = jobExecution.getStartTime(); } } } } if (lastJobRun != null) { stepContext.getStepExecution().getExecutionContext().put("mantis.update.last_job_run", lastJobRun); } stepContext.getStepExecution().getExecutionContext().put("mantis.update.current_job_run", Calendar.getInstance()); return RepeatStatus.FINISHED; }