1 23 package org.hammurapi.inspectors; 24 25 import org.hammurapi.InspectorBase; 26 27 import com.pavelvlasov.jsel.JselException; 28 import com.pavelvlasov.jsel.Parameter; 29 import com.pavelvlasov.jsel.VariableDefinition; 30 import com.pavelvlasov.jsel.expressions.Ident; 31 import com.pavelvlasov.review.SourceMarker; 32 33 34 40 public class ResultSetMetaData extends InspectorBase { 41 42 45 private static final String VIOLATION_CLASS = "java.sql.ResultSetMetaData"; 46 47 52 public void visit(Parameter element) { 53 try { 54 String fcn = 55 element.getTypeSpecification().getType().getName(); 56 if (fcn!=null && VIOLATION_CLASS.equals(fcn)) { 57 context.reportViolation((SourceMarker) element); 58 } 59 } catch (JselException e) { 60 context.warn((SourceMarker) element, e); 61 } 62 } 63 64 69 public void visit(VariableDefinition element) { 70 try { 71 String fcn = element.getTypeSpecification().getType().getName(); 72 if (fcn!=null && VIOLATION_CLASS.equals(fcn)) { 73 context.reportViolation((SourceMarker) element); 74 } 75 } catch (JselException e) { 76 context.warn((SourceMarker) element, e); 77 } 78 } 79 80 85 public void visit(Ident element) { 86 try { 87 Object obj = element.getProvider(); 88 String fcn = null; 89 if (obj instanceof VariableDefinition) { 90 fcn = 91 ((VariableDefinition)obj).getTypeSpecification().getType().getName(); 92 } else if (obj instanceof Parameter) { 93 fcn = 94 ((Parameter)obj).getTypeSpecification().getType().getName(); 95 } 96 if (fcn!=null && VIOLATION_CLASS.compareTo(fcn)==0) { 97 context.reportViolation((SourceMarker) element); 98 } 99 } catch (JselException e) { 100 context.warn((SourceMarker) element, e); 101 } 102 } 103 104 } 105 | Popular Tags |