1 32 33 package it.businesslogic.ireport.connection; 34 import it.businesslogic.ireport.*; 35 import it.businesslogic.ireport.util.*; 36 import java.sql.*; 37 import javax.swing.*; 38 42 public class JRCustomDataSourceConnection extends it.businesslogic.ireport.IReportConnection { 43 44 private String name; 45 46 private String factoryClass; 47 48 private String methodToCall; 49 50 51 52 53 public JRCustomDataSourceConnection() { 54 } 55 56 60 public java.sql.Connection getConnection() { 61 return null; 62 } 63 64 public boolean isJDBCConnection() { 65 return false; 66 } 67 68 71 public java.util.HashMap getProperties() 72 { 73 java.util.HashMap map = new java.util.HashMap (); 74 map.put("FactoryClass", Misc.nvl(this.getFactoryClass() ,"") ); 75 map.put("MethodToCall", Misc.nvl(this.getMethodToCall(),"")); 76 77 return map; 78 } 79 80 public void loadProperties(java.util.HashMap map) 81 { 82 this.setFactoryClass( (String )map.get("FactoryClass")); 83 this.setMethodToCall( (String )map.get("MethodToCall")); 84 } 85 86 public String getDescription(){ return "Custom datasource"; } 87 88 92 public java.lang.String getMethodToCall() { 93 return methodToCall; 94 } 95 96 100 public void setMethodToCall(java.lang.String methodToCall) { 101 this.methodToCall = methodToCall; 102 } 103 104 108 public java.lang.String getFactoryClass() { 109 return factoryClass; 110 } 111 112 116 public void setFactoryClass(java.lang.String factoryClass) { 117 this.factoryClass = factoryClass; 118 } 119 120 124 public net.sf.jasperreports.engine.JRDataSource getJRDataSource() 125 { 126 try { 127 Object obj = Class.forName( factoryClass ).newInstance(); 128 return (net.sf.jasperreports.engine.JRDataSource) obj.getClass().getMethod( methodToCall, new Class [0]).invoke(obj,new Object [0]); 129 } catch (Exception ex) 130 { 131 return super.getJRDataSource(); 132 } 133 } 134 } 135 | Popular Tags |