1 23 package org.hammurapi.results.persistent.jdbc; 24 25 import java.sql.PreparedStatement ; 26 import java.sql.ResultSet ; 27 import java.sql.SQLException ; 28 29 import org.hammurapi.HammurapiRuntimeException; 30 import org.hammurapi.WaiverSet; 31 32 import com.pavelvlasov.jsel.CompilationUnit; 33 import com.pavelvlasov.jsel.JselException; 34 import com.pavelvlasov.sql.Parameterizer; 35 import com.pavelvlasov.sql.RowProcessor; 36 37 41 public class ReviewResults extends DetailedResults implements org.hammurapi.results.ReviewResults { 42 public ReviewResults(int id, ResultsFactory factory) throws SQLException { 43 super(id, factory); 44 } 45 46 ReviewResults(CompilationUnit cu, WaiverSet waiverSet, ResultsFactory factory) throws SQLException { 47 super(cu.getName(), waiverSet, factory); 48 final int cuId = cu.getSourceId().intValue(); 49 factory.getSQLProcessor().processUpdate( 50 "UPDATE RESULT SET COMPILATION_UNIT=?, IS_NEW=1 WHERE ID=?", 51 new Parameterizer() { 52 public void parameterize(PreparedStatement ps) throws SQLException { 53 ps.setInt(1, cuId); 54 ps.setInt(2, getId()); 55 } 56 }); 57 } 58 59 public CompilationUnit getCompilationUnit() { 60 try { 61 final int[] ret={-1}; 62 factory.getSQLProcessor().processSelect( 63 "SELECT COMPILATION_UNIT FROM RESULT WHERE ID=?", 64 idParameterizer, 65 new RowProcessor() { 66 public boolean process(ResultSet rs) throws SQLException { 67 ret[0]=rs.getInt("COMPILATION_UNIT"); 68 return false; 69 } 70 }); 71 return ret[0]==-1 ? null : factory.getCompilationUnit(ret[0]); 72 } catch (JselException e) { 73 throw new HammurapiRuntimeException(e); 74 } catch (SQLException e) { 75 throw new HammurapiRuntimeException(e); 76 } 77 } 78 } 79 | Popular Tags |