ExecuteScriptHistoryInserter.java
package org.ferris.riviera.console.execute;
import java.sql.PreparedStatement;
import java.sql.Timestamp;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.apache.log4j.Logger;
import org.ferris.riviera.console.connection.ConnectionHandler;
import org.ferris.riviera.console.jar.JarEntry;
/**
*
* @author Michael Remijan mjremijan@yahoo.com @mjremijan
*/
@Singleton
public class ExecuteScriptHistoryInserter {
@Inject
protected Logger log;
@Inject
protected ConnectionHandler handler;
protected PreparedStatement stmt;
@PostConstruct
protected void postConstruct() {
log.info("ENTER ExecuteScriptHistoryInserter#postConstruct");
try {
StringBuilder sp = new StringBuilder();
sp.append(" INSERT INTO SCRIPT_HISTORY ");
sp.append(" ( ");
sp.append(" RELEASE_VERSION ");
sp.append(" , RELEASE_TITLE ");
sp.append(" , MAJOR ");
sp.append(" , FEATURE ");
sp.append(" , BUG ");
sp.append(" , BUILD ");
sp.append(" , FILE_NAME ");
sp.append(" , FILE_DESCRIPTION ");
sp.append(" , APPLIED_ON ");
sp.append(" ) ");
sp.append(" VALUES ");
sp.append(" ( ");
sp.append(" ? ");
sp.append(" , ? ");
sp.append(" , ? ");
sp.append(" , ? ");
sp.append(" , ? ");
sp.append(" , ? ");
sp.append(" , ? ");
sp.append(" , ? ");
sp.append(" , ? ");
sp.append(" ) ");
stmt = handler.getConnection().prepareStatement(sp.toString());
} catch (Exception e) {
throw new RuntimeException(
String.format("Exception preparing PreparedStatement object"),
e
);
}
}
@ExecuteSkip
protected void insert(JarEntry jarEntry) {
log.info("ENTER");
try {
log.info(String.format("Saving history for %s", jarEntry.getVersion()));
log.info(String.format("getReleaseVersion %s", jarEntry.getReleaseVersion()));
stmt.setString(1, jarEntry.getReleaseVersion());
log.info(String.format("getReleaseTitle %s", jarEntry.getReleaseTitle()));
stmt.setString(2, jarEntry.getReleaseTitle());
log.info(String.format("getMajor %d", jarEntry.getMajor()));
stmt.setInt(3, jarEntry.getMajor());
log.info(String.format("getFeature %d", jarEntry.getFeature()));
stmt.setInt(4, jarEntry.getFeature());
log.info(String.format("getBug %d", jarEntry.getBug()));
stmt.setInt(5, jarEntry.getBug());
log.info(String.format("getBuild %d", jarEntry.getBuild()));
stmt.setInt(6, jarEntry.getBuild());
log.info(String.format("getFileName %s", jarEntry.getFileName()));
stmt.setString(7, jarEntry.getFileName());
log.info(String.format("getFileDescription %s", jarEntry.getFileDescription()));
stmt.setString(8, jarEntry.getFileDescription());
Timestamp ts = new Timestamp(System.currentTimeMillis());
log.info(String.format("appliedOn %s", String.valueOf(ts)));
stmt.setTimestamp(9, ts);
stmt.executeUpdate();
} catch (Exception e) {
throw new RuntimeException(
String.format("Exception inserting into script history table %s", jarEntry.getVersion()),
e
);
}
}
}