List of usage examples for org.apache.commons.beanutils RowSetDynaClass RowSetDynaClass
public RowSetDynaClass(ResultSet resultSet) throws SQLException
Construct a new RowSetDynaClass for the specified ResultSet.
From source file:DynaBeansExampleV3.java
public static void main(String args[]) throws Exception { Connection conn = getConnection(); PreparedStatement ps = conn/*w w w .jav a 2 s . c o m*/ .prepareStatement("SELECT * from movie, person " + "WHERE movie.director = person.Id"); ResultSet rs = ps.executeQuery(); RowSetDynaClass rsdc = new RowSetDynaClass(rs); conn.close(); Iterator itr = rsdc.getRows().iterator(); while (itr.hasNext()) { DynaBean bean = (DynaBean) itr.next(); System.err.println(bean.get("title")); } }
From source file:com.manning.junitbook.ch14.ejb.AdministratorBean.java
/** * This mehtod extracts information from the database and constructs a * java.util.Collection from the rows./* w w w . j av a 2s . co m*/ */ public Collection execute(String sql) throws Exception { Connection connection = getConnection(); ResultSet resultSet = connection.createStatement().executeQuery(sql); RowSetDynaClass rsdc = new RowSetDynaClass(resultSet); resultSet.close(); connection.close(); return rsdc.getRows(); }
From source file:me.camerongray.teamlocker.server.Database.java
private List<DynaBean> listFromRS(ResultSet rs) throws SQLException { return new RowSetDynaClass(rs).getRows(); }
From source file:org.efs.openreports.engine.JasperReportEngine.java
private JasperPrint fillQueryReport(Report report, Map map, int exportType) throws Exception { Connection conn = null;/* w ww . j a v a 2s. c o m*/ PreparedStatement pStmt = null; ResultSet rs = null; // create new HashMap to send to JasperReports in order to // fix serialization problems Map parameters = new HashMap(map); List results = null; DynaProperty[] properties = null; try { ReportDataSource dataSource = report.getDataSource(); conn = dataSourceProvider.getConnection(dataSource.getId()); if (parameters == null || parameters.isEmpty()) { pStmt = conn.prepareStatement(report.getQuery()); } else { // Use JasperReports Query logic to parse parameters in chart // queries JRDesignQuery query = new JRDesignQuery(); query.setText(report.getQuery()); // convert parameters to JRDesignParameters so they can be // parsed Map jrParameters = ORUtil.buildJRDesignParameters(parameters); pStmt = JRQueryExecuter.getStatement(query, jrParameters, parameters, conn); } rs = pStmt.executeQuery(); RowSetDynaClass rowSetDynaClass = new RowSetDynaClass(rs); results = rowSetDynaClass.getRows(); properties = rowSetDynaClass.getDynaProperties(); rs.close(); } catch (Exception e) { throw new ProviderException("Error executing report query: " + e.getMessage()); } finally { try { if (pStmt != null) pStmt.close(); if (conn != null) conn.close(); } catch (Exception c) { log.error("Error closing"); } } JasperDesign jasperDesign = new JasperDesign(); jasperDesign.setName(report.getName().replaceAll(" ", "_")); int width = jasperDesign.getPageWidth(); int height = jasperDesign.getPageHeight(); jasperDesign.setOrientation(JasperDesign.ORIENTATION_LANDSCAPE); jasperDesign.setPageHeight(width); jasperDesign.setPageWidth(height); for (int i = 0; i < properties.length; i++) { JRDesignField field = new JRDesignField(); field.setName((String) properties[i].getName()); field.setValueClass((Class) properties[i].getType()); try { jasperDesign.addField(field); } catch (Exception e) { log.warn(e); } } if (exportType == ReportEngine.EXPORT_PDF) { // add title JRDesignStaticText sText = new JRDesignStaticText(); sText.setX(0); sText.setY(0); sText.setWidth(jasperDesign.getPageHeight()); sText.setHeight(50); sText.setText(jasperDesign.getName()); sText.setFontSize(16); sText.setBold(true); JRDesignBand band = new JRDesignBand(); band.setHeight(50); band.addElement(sText); jasperDesign.setTitle(band); // add page footer for page numbers band = new JRDesignBand(); band.setHeight(15); sText = new JRDesignStaticText(); sText.setX(0); sText.setY(0); sText.setHeight(15); sText.setWidth(40); sText.setText("Page:"); band.addElement(sText); JRDesignExpression exp = new JRDesignExpression(); exp.addVariableChunk("PAGE_NUMBER"); exp.setValueClass(Integer.class); JRDesignTextField txt = new JRDesignTextField(); txt.setExpression(exp); txt.setX(40); txt.setY(0); txt.setHeight(15); txt.setWidth(100); band.addElement(txt); jasperDesign.setPageFooter(band); } JRDesignBand emptyBand = new JRDesignBand(); emptyBand.setHeight(0); jasperDesign.setPageHeader(emptyBand); jasperDesign.setColumnFooter(emptyBand); jasperDesign.setSummary(emptyBand); JRField[] fields = jasperDesign.getFields(); // add column header and detail bands JRDesignBand bandDetail = new JRDesignBand(); bandDetail.setHeight(20); JRDesignBand bandHeader = new JRDesignBand(); bandHeader.setHeight(20); int fieldWidth = (jasperDesign.getPageWidth() - jasperDesign.getLeftMargin() - jasperDesign.getRightMargin() - (fields.length - 1) * jasperDesign.getColumnSpacing()) / fields.length; for (int i = 0; i < fields.length; i++) { try { JRField field = fields[i]; JRDesignExpression exp = new JRDesignExpression(); exp.addFieldChunk(field.getName()); if (field.getValueClassName().equals("java.sql.Date")) { // JasperReports does not support java.sql.Date in text field expression exp.setValueClass(java.util.Date.class); } else { exp.setValueClass(field.getValueClass()); } JRDesignTextField txt = new JRDesignTextField(); txt.setExpression(exp); txt.setX(i * fieldWidth); txt.setY(0); txt.setHeight(20); txt.setWidth(fieldWidth); if (field.getValueClass().equals(Double.class)) { txt.setPattern("0.00"); } bandDetail.addElement(txt); JRDesignStaticText sText = new JRDesignStaticText(); sText.setX(i * fieldWidth); sText.setY(0); sText.setHeight(20); sText.setWidth(fieldWidth); sText.setText(field.getName()); sText.setUnderline(true); bandHeader.addElement(sText); } catch (Exception e) { log.warn(e); } } if (exportType == ReportEngine.EXPORT_PDF) jasperDesign.setColumnHeader(bandHeader); jasperDesign.setDetail(bandDetail); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, new JRBeanCollectionDataSource(results)); return jasperPrint; }
From source file:org.efs.openreports.engine.QueryReportEngine.java
public ReportEngineOutput generateReport(ReportEngineInput input) throws ProviderException { Connection conn = null;/*ww w .j av a2s .c o m*/ PreparedStatement pStmt = null; ResultSet rs = null; try { Report report = input.getReport(); Map parameters = input.getParameters(); ReportDataSource dataSource = report.getDataSource(); conn = dataSourceProvider.getConnection(dataSource.getId()); if (parameters == null || parameters.isEmpty()) { pStmt = conn.prepareStatement(report.getQuery()); } else { // Use JasperReports Query logic to parse parameters in chart // queries JRDesignQuery query = new JRDesignQuery(); query.setText(report.getQuery()); // convert parameters to JRDesignParameters so they can be // parsed Map jrParameters = ORUtil.buildJRDesignParameters(parameters); pStmt = JRQueryExecuter.getStatement(query, jrParameters, parameters, conn); } ORProperty maxRows = propertiesProvider.getProperty(ORProperty.QUERYREPORT_MAXROWS); if (maxRows != null && maxRows.getValue() != null) { pStmt.setMaxRows(Integer.parseInt(maxRows.getValue())); } rs = pStmt.executeQuery(); RowSetDynaClass rowSetDynaClass = new RowSetDynaClass(rs); List results = rowSetDynaClass.getRows(); DynaProperty[] dynaProperties = rowSetDynaClass.getDynaProperties(); DisplayProperty[] properties = new DisplayProperty[dynaProperties.length]; for (int i = 0; i < dynaProperties.length; i++) { properties[i] = new DisplayProperty(dynaProperties[i].getName(), dynaProperties[i].getType().getName()); } rs.close(); QueryEngineOutput output = new QueryEngineOutput(); output.setResults(results); output.setProperties(properties); return output; } catch (Exception e) { throw new ProviderException("Error executing report query: " + e.getMessage()); } finally { try { if (pStmt != null) pStmt.close(); if (conn != null) conn.close(); } catch (Exception c) { log.error("Error closing"); } } }