1 23 package org.hammurapi.results.persistent.jdbc; 24 25 import java.sql.SQLException ; 26 27 import org.hammurapi.HammurapiException; 28 import org.hammurapi.Violation; 29 import org.hammurapi.ViolationFilter; 30 import org.hammurapi.results.persistent.jdbc.sql.BaselineViolationImpl; 31 import org.hammurapi.results.persistent.jdbc.sql.ResultsEngine; 32 33 import com.pavelvlasov.config.Component; 34 import com.pavelvlasov.config.ConfigurationException; 35 import com.pavelvlasov.review.Signed; 36 37 41 public class BaselineSetupViolationFilter implements ViolationFilter, Component { 42 43 private String reportName; 44 private ResultsEngine resultsEngine; 45 46 public boolean accept(Violation violation) throws HammurapiException { 47 if (violation.getDescriptor()!=null && violation.getSource() instanceof Signed) 48 try { 49 BaselineViolationImpl bv=new BaselineViolationImpl(true); 50 bv.setInspector(violation.getDescriptor().getName()); 51 String signature = ((Signed) violation.getSource()).getSignature(); 52 if (signature!=null) { 53 bv.setSignature(signature); 54 bv.setReportName(reportName); 55 resultsEngine.insertBaselineViolation(bv); 56 return false; 57 } 58 } catch (SQLException e) { 59 throw new HammurapiException("Cannot store baseline violation", e); 60 } 61 return true; 62 } 63 64 public void start() throws ConfigurationException { 65 ResultsFactory resultsFactory = ((ResultsFactory) org.hammurapi.results.ResultsFactory.getInstance()); 66 try { 67 reportName = resultsFactory.getName(); 68 resultsEngine = resultsFactory.getResultsEngine(); 69 resultsEngine.deleteBaseline(reportName); 70 } catch (SQLException e) { 71 throw new ConfigurationException("Cannot delete old baseline", e); 72 } 73 } 74 75 public void stop() throws ConfigurationException { 76 } 78 79 public void setOwner(Object owner) { 80 } 82 83 } 84 | Popular Tags |