in jbatch/src/main/java/org/apache/batchee/container/services/persistence/JDBCPersistenceManagerService.java [715:777]
public StepExecution getStepExecutionByStepExecutionId(final long stepExecId) {
Connection conn = null;
PreparedStatement statement = null;
ResultSet rs = null;
try {
conn = getConnection();
statement = conn.prepareStatement(dictionary.getFindStepExecutionFromId());
statement.setLong(1, stepExecId);
rs = statement.executeQuery();
if (rs.next()) {
final long jobexecid = rs.getLong(dictionary.stepExecutionColumns(18));
final long stepExecutionId = rs.getLong(dictionary.stepExecutionColumns(0));
final String stepName = rs.getString(dictionary.stepExecutionColumns(15));
final String batchstatus = rs.getString(dictionary.stepExecutionColumns(1));
final String exitstatus = rs.getString(dictionary.stepExecutionColumns(4));
final long readCount = rs.getLong(dictionary.stepExecutionColumns(10));
final long writeCount = rs.getLong(dictionary.stepExecutionColumns(16));
final long commitCount = rs.getLong(dictionary.stepExecutionColumns(2));
final long rollbackCount = rs.getLong(dictionary.stepExecutionColumns(12));
final long readSkipCount = rs.getLong(dictionary.stepExecutionColumns(11));
final long processSkipCount = rs.getLong(dictionary.stepExecutionColumns(9));
final long filterCount = rs.getLong(dictionary.stepExecutionColumns(5));
final long writeSkipCount = rs.getLong(dictionary.stepExecutionColumns(17));
final Timestamp startTS = rs.getTimestamp(dictionary.stepExecutionColumns(14));
final Timestamp endTS = rs.getTimestamp(dictionary.stepExecutionColumns(3));
// get the object based data
Serializable persistentData = null;
final byte[] pDataBytes = rs.getBytes(dictionary.stepExecutionColumns(8));
if (pDataBytes != null) {
persistentData = Serializable.class.cast(new TCCLObjectInputStream(new ByteArrayInputStream(pDataBytes)).readObject());
}
final StepExecutionImpl stepEx = new StepExecutionImpl(jobexecid, stepExecutionId);
stepEx.setBatchStatus(BatchStatus.valueOf(batchstatus));
stepEx.setExitStatus(exitstatus);
stepEx.setStepName(stepName);
stepEx.setReadCount(readCount);
stepEx.setWriteCount(writeCount);
stepEx.setCommitCount(commitCount);
stepEx.setRollbackCount(rollbackCount);
stepEx.setReadSkipCount(readSkipCount);
stepEx.setProcessSkipCount(processSkipCount);
stepEx.setFilterCount(filterCount);
stepEx.setWriteSkipCount(writeSkipCount);
stepEx.setStartTime(startTS);
stepEx.setEndTime(endTS);
stepEx.setPersistentUserData(persistentData);
return stepEx;
}
return null;
} catch (SQLException e) {
throw new PersistenceException(e);
} catch (IOException e) {
throw new PersistenceException(e);
} catch (ClassNotFoundException e) {
throw new PersistenceException(e);
} finally {
cleanupConnection(conn, rs, statement);
}
}