Example usage for org.springframework.batch.core StepExecution getReadCount

List of usage examples for org.springframework.batch.core StepExecution getReadCount

Introduction

In this page you can find the example usage for org.springframework.batch.core StepExecution getReadCount.

Prototype

public int getReadCount() 

Source Link

Document

Returns the current number of items read for this execution

Usage

From source file:org.seedstack.spring.batch.fixtures.FlatFileBatchDemo.java

protected static void printStatistics(JobExecution jobExecution) {
    for (StepExecution stepExecution : jobExecution.getStepExecutions()) {
        System.out.println("-----------------------------------");
        System.out.println("STEP name: " + stepExecution.getStepName());
        System.out.println("-----------------------------------");
        System.out.println("CommitCount: " + stepExecution.getCommitCount());
        System.out.println("FilterCount: " + stepExecution.getFilterCount());
        System.out.println("ProcessSkipCount: " + stepExecution.getProcessSkipCount());
        System.out.println("ReadCount: " + stepExecution.getReadCount());
        System.out.println("ReadSkipCount: " + stepExecution.getReadSkipCount());
        System.out.println("RollbackCount: " + stepExecution.getRollbackCount());
        System.out.println("SkipCount: " + stepExecution.getSkipCount());
        System.out.println("WriteCount: " + stepExecution.getWriteCount());
        System.out.println("WriteSkipCount: " + stepExecution.getWriteSkipCount());
        if (stepExecution.getFailureExceptions().size() > 0) {
            System.out.println("exceptions:");
            System.out.println("-----------------------------------");
            for (Throwable t : stepExecution.getFailureExceptions()) {
                System.out.println(t.getMessage());
            }// ww w . j a  va  2 s .c om
        }
        System.out.println("-----------------------------------");
    }
}

From source file:org.trpr.platform.batch.impl.spring.admin.repository.MapStepExecutionDao.java

/**
 * Returns a copy of {@link StepExecution}, by adding new Objects for every field(no references are passed)
 * /*from   w w  w.ja v  a2  s . c  om*/
 * @param original StepExecution to be copied
 * @return StepExecution copy
 */
private static StepExecution copy(StepExecution original) {
    StepExecution copy = new StepExecution(original.getStepName(), original.getJobExecution());
    copy.setCommitCount(original.getCommitCount());
    if (original.getEndTime() != null) {
        copy.setEndTime((Date) original.getEndTime().clone());
    }
    //Warning: no deep copy
    if (original.getExitStatus() != null) {
        copy.setExitStatus(new ExitStatus(original.getExitStatus().getExitCode(),
                original.getExitStatus().getExitDescription()));
    }
    copy.setFilterCount(original.getFilterCount());
    copy.setId(original.getId());
    if (original.getLastUpdated() != null) {
        copy.setLastUpdated((Date) original.getLastUpdated().clone());
    }
    copy.setProcessSkipCount(original.getProcessSkipCount());
    copy.setReadCount(original.getReadCount());
    copy.setReadSkipCount(original.getReadSkipCount());
    copy.setRollbackCount(original.getRollbackCount());
    if (original.getStartTime() != null) {
        copy.setStartTime((Date) original.getStartTime().clone());
    }
    if (original.getStatus() != null) {
        copy.setStatus(BatchStatus.valueOf(original.getStatus().name()));
    }
    if (original.isTerminateOnly()) {
        copy.setTerminateOnly();
    }
    copy.setVersion(original.getVersion());
    copy.setWriteCount(original.getWriteCount());
    copy.setWriteSkipCount(original.getWriteSkipCount());
    return copy;
}

From source file:org.cloudfoundry.identity.uaa.scim.job.BackwardMigrationJobIntegrationTests.java

@Test
public void testJobRuns() throws Exception {
    TestUtils.deleteFrom(cloudControllerDataSource, "users");
    TestUtils.deleteFrom(uaaDataSource, "users");
    JdbcTemplate uaaTemplate = new JdbcTemplate(uaaDataSource);
    uaaTemplate.update(/*from w  w w . j av  a  2s.c  om*/
            "insert into users "
                    + "(id, active, userName, email, password, familyName, givenName, created, lastModified) "
                    + "values (?, ?, ?, ?, ?, ?, ?, ?, ?)",
            "FOO", true, "uniqua", "uniqua@test.org", "ENCRYPT_ME", "Una", "Uniqua", new Date(), new Date());
    JobExecution execution = jobLauncher.run(job,
            new JobParametersBuilder().addDate("start.date", new Date(0L)).toJobParameters());
    assertEquals(BatchStatus.COMPLETED, execution.getStatus());
    Iterator<StepExecution> iterator = execution.getStepExecutions().iterator();
    StepExecution step = iterator.next();
    assertEquals(1, step.getReadCount());
    assertEquals(1, step.getWriteCount());
    JdbcTemplate jdbcTemplate = new JdbcTemplate(cloudControllerDataSource);
    assertEquals(1, jdbcTemplate.queryForInt("select count(*) from users"));
}

From source file:org.cloudfoundry.identity.uaa.scim.job.ClearNamesJobIntegrationTests.java

@Test
public void testJobRuns() throws Exception {
    TestUtils.deleteFrom(cloudControllerDataSource, "users");
    TestUtils.deleteFrom(uaaDataSource, "users");
    JdbcTemplate uaaTemplate = new JdbcTemplate(uaaDataSource);
    uaaTemplate.update(/*from   ww  w .  j ava 2 s. c  om*/
            "insert into users "
                    + "(id, active, userName, email, password, familyName, givenName, created, lastModified) "
                    + "values (?, ?, ?, ?, ?, ?, ?, ?, ?)",
            "FOO", true, "uniqua", "uniqua@test.org", "ENCRYPT_ME", "Una", "Uniqua", new Date(), new Date());
    uaaTemplate.update(
            "insert into users "
                    + "(id, active, userName, email, password, familyName, givenName, created, lastModified) "
                    + "values (?, ?, ?, ?, ?, ?, ?, ?, ?)",
            "BAR", true, "username", "uniqua@test.org", "ENCRYPT_ME", "uniqua", "test.org", new Date(),
            new Date());
    uaaTemplate.update(
            "insert into users "
                    + "(id, active, userName, email, password, familyName, givenName, created, lastModified) "
                    + "values (?, ?, ?, ?, ?, ?, ?, ?, ?)",
            "SPAM", true, "another", "uniqua@test.org", "ENCRYPT_ME", "another", "another", new Date(),
            new Date());
    JobExecution execution = jobLauncher.run(job,
            new JobParametersBuilder().addDate("start.date", new Date(0L)).toJobParameters());
    assertEquals(BatchStatus.COMPLETED, execution.getStatus());
    Iterator<StepExecution> iterator = execution.getStepExecutions().iterator();
    StepExecution step = iterator.next();
    assertEquals(3, step.getReadCount());
    assertEquals(2, step.getWriteCount());
    assertEquals(2, uaaTemplate.queryForInt("select count(*) from users where givenName is null"));
}

From source file:org.cloudfoundry.identity.uaa.scim.job.UserSyncJobIntegrationTests.java

@Test
public void testJobRunsWithFilters() throws Exception {
    Date dateInTheFuture = new Date(System.currentTimeMillis() + 10000);
    setUpModifiedUaaData(dateInTheFuture);
    JobExecution execution = jobLauncher.run(job, new JobParametersBuilder()
            .addDate("start.date", new Date(System.currentTimeMillis() - 100000)).toJobParameters());
    assertEquals(BatchStatus.COMPLETED, execution.getStatus());
    StepExecution stepExecution = execution.getStepExecutions().iterator().next();
    assertEquals(3, stepExecution.getReadCount());
    assertEquals(3, stepExecution.getFilterCount());
    assertEquals(0, stepExecution.getWriteCount());
}

From source file:org.cloudfoundry.identity.uaa.scim.job.UserSyncJobIntegrationTests.java

@Test
public void testJobRunsWithNoFilters() throws Exception {
    Date dateInThePast = new Date(System.currentTimeMillis() - 10000);
    setUpModifiedUaaData(dateInThePast);
    JobExecution execution = jobLauncher.run(job, new JobParametersBuilder()
            .addDate("start.date", new Date(System.currentTimeMillis() - 100000)).toJobParameters());
    assertEquals(BatchStatus.COMPLETED, execution.getStatus());
    StepExecution stepExecution = execution.getStepExecutions().iterator().next();
    assertEquals(3, stepExecution.getReadCount());
    assertEquals(0, stepExecution.getFilterCount());
    // No records are updated, but the filter count is always write - read
    assertEquals(3, stepExecution.getWriteCount());
}

From source file:fr.acxio.tools.agia.common.NoReadStepExecutionListener.java

@Override
public ExitStatus afterStep(StepExecution sStepExecution) {
    if (!ExitStatus.FAILED.getExitCode().equals(sStepExecution.getExitStatus().getExitCode())
            && sStepExecution.getReadCount() == 0) {
        return new ExitStatus("NOREAD");
    }/*from w  ww.  j  ava 2 s  . com*/
    return null;
}

From source file:de.langmi.spring.batch.templates.importfile.generic.GenericJobConfigurationTest.java

/** Launch Test. */
@Test//from   w  ww .  j  a v  a 2 s. c om
public void launchJob() throws Exception {
    // Job parameters, commit.rate is set with properties file and Spring placeholder 
    Map<String, JobParameter> jobParametersMap = new HashMap<String, JobParameter>();
    jobParametersMap.put("time", new JobParameter(System.currentTimeMillis()));
    jobParametersMap.put("input.files", new JobParameter("file:src/test/resources/input/generic/*.txt"));

    // launch the job
    JobExecution jobExecution = jobLauncherTestUtils.launchJob(new JobParameters(jobParametersMap));

    // assert job run status
    assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());

    // assert read/written items
    for (StepExecution stepExecution : jobExecution.getStepExecutions()) {
        assertEquals(EXPECTED_COUNT, stepExecution.getReadCount());
        assertEquals(EXPECTED_COUNT, stepExecution.getWriteCount());
    }

    // assert items are written successfully to database
    assertEquals(EXPECTED_COUNT, jdbcTemplate.queryForInt(COUNT_SQL));
}

From source file:de.langmi.spring.batch.templates.importfile.multiplefiles.MultipleFilesJobConfigurationTest.java

/** Launch Test. */
@Test/* ww  w .  ja  v  a2s  .c om*/
public void launchJob() throws Exception {
    // Job parameters, commit.rate is set with properties file and Spring placeholder 
    Map<String, JobParameter> jobParametersMap = new HashMap<String, JobParameter>();
    jobParametersMap.put("time", new JobParameter(System.currentTimeMillis()));
    jobParametersMap.put("input.files", new JobParameter("file:src/test/resources/input/multiplefiles/*.txt"));

    // launch the job
    JobExecution jobExecution = jobLauncherTestUtils.launchJob(new JobParameters(jobParametersMap));

    // assert job run status
    assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());

    // assert read/written items
    for (StepExecution stepExecution : jobExecution.getStepExecutions()) {
        assertEquals(EXPECTED_COUNT, stepExecution.getReadCount());
        assertEquals(EXPECTED_COUNT, stepExecution.getWriteCount());
    }

    // assert items are written successfully to database
    assertEquals(EXPECTED_COUNT, jdbcTemplate.queryForInt(COUNT_SQL));
}

From source file:de.langmi.spring.batch.templates.importfile.onefile.OneFileJobConfigurationTest.java

/** Launch Test. */
@Test/*from  ww  w.j av  a2s. c o  m*/
public void launchJob() throws Exception {
    // Job parameters, commit.rate is set with properties file and Spring placeholder 
    Map<String, JobParameter> jobParametersMap = new HashMap<String, JobParameter>();
    jobParametersMap.put("time", new JobParameter(System.currentTimeMillis()));
    jobParametersMap.put("input.file", new JobParameter("file:src/test/resources/input/onefile/input.txt"));

    // launch the job
    JobExecution jobExecution = jobLauncherTestUtils.launchJob(new JobParameters(jobParametersMap));

    // assert job run status
    assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());

    // assert read/written items
    for (StepExecution stepExecution : jobExecution.getStepExecutions()) {
        assertEquals(EXPECTED_COUNT, stepExecution.getReadCount());
        assertEquals(EXPECTED_COUNT, stepExecution.getWriteCount());
    }

    // assert items are written successfully to database
    assertEquals(EXPECTED_COUNT, jdbcTemplate.queryForInt(COUNT_SQL));
}