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 39 import net.sf.jasperreports.engine.query.JRXPathQueryExecuterFactory; 40 import java.io.File ; 41 import org.w3c.dom.Document ; 42 import net.sf.jasperreports.engine.util.JRXmlUtils; 43 47 public class JRXMLDataSourceConnection extends it.businesslogic.ireport.IReportConnection { 48 49 private String name; 50 51 private String filename; 52 53 private String selectExpression; 54 55 private boolean useConnection = false; 56 57 58 public JRXMLDataSourceConnection() { 59 } 60 61 65 public java.sql.Connection getConnection() { 66 return null; 67 } 68 69 public boolean isJDBCConnection() { 70 return false; 71 } 72 73 public boolean isJRDataSource() { 74 return !isUseConnection(); 75 } 76 77 80 public java.util.HashMap getProperties() 81 { 82 java.util.HashMap map = new java.util.HashMap (); 83 map.put("Filename", Misc.nvl(this.getFilename() ,"") ); 84 map.put("SelectExpression", Misc.nvl(this.getSelectExpression() ,"") ); 85 map.put("UseConnection", Misc.nvl(""+this.isUseConnection() ,"false") ); 86 return map; 87 } 88 89 public void loadProperties(java.util.HashMap map) 90 { 91 this.setFilename( (String )map.get("Filename")); 92 this.setSelectExpression( (String )map.get("SelectExpression")); 93 this.setUseConnection( Boolean.valueOf( Misc.nvl(map.get("UseConnection"),"false") ).booleanValue() ); 94 } 95 96 public String getDescription(){ return "JasperReports XML Datasource"; } 97 98 102 public java.lang.String getFilename() { 103 return filename; 104 } 105 106 110 public void setFilename(java.lang.String filename) { 111 this.filename = filename; 112 } 113 114 118 public java.lang.String getName() { 119 return name; 120 } 121 122 126 public void setName(java.lang.String name) { 127 this.name = name; 128 } 129 130 134 public net.sf.jasperreports.engine.JRDataSource getJRDataSource() { 135 try { 136 return new net.sf.jasperreports.engine.data.JRXmlDataSource(filename, getSelectExpression() ); 137 } catch (Exception ex){} 138 return null; 139 } 140 141 public String getSelectExpression() { 142 return selectExpression; 143 } 144 145 public void setSelectExpression(String selectExpression) { 146 this.selectExpression = selectExpression; 147 } 148 149 public boolean isUseConnection() { 150 return useConnection; 151 } 152 153 public void setUseConnection(boolean useConnection) { 154 this.useConnection = useConnection; 155 } 156 157 158 162 public java.util.Map getSpecialParameters(java.util.Map map) throws net.sf.jasperreports.engine.JRException 163 { 164 if (isUseConnection()) 165 { 166 Document document = JRXmlUtils.parse(new File ( this.getFilename())); 167 map.put(JRXPathQueryExecuterFactory.PARAMETER_XML_DATA_DOCUMENT, document); 168 } 169 return map; 170 } 171 172 173 } 174 175 | Popular Tags |