|
From: <mic...@us...> - 2003-11-21 09:17:08
|
Update of /cvsroot/babeldoc/babeldoc/modules/jfreereports/src/com/babeldoc/jfreereports/pipeline/stage
In directory sc8-pr-cvs1:/tmp/cvs-serv16985/modules/jfreereports/src/com/babeldoc/jfreereports/pipeline/stage
Modified Files:
Tag: TEMP_MIKEA
JFRPipelineStage.java
Log Message:
New table model for XML files using XPath
Index: JFRPipelineStage.java
===================================================================
RCS file: /cvsroot/babeldoc/babeldoc/modules/jfreereports/src/com/babeldoc/jfreereports/pipeline/stage/Attic/JFRPipelineStage.java,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -C2 -d -r1.1.2.1 -r1.1.2.2
*** JFRPipelineStage.java 12 Nov 2003 22:18:05 -0000 1.1.2.1
--- JFRPipelineStage.java 21 Nov 2003 09:17:04 -0000 1.1.2.2
***************
*** 81,84 ****
--- 81,85 ----
import com.babeldoc.core.resource.ResourceException;
import com.babeldoc.core.resource.ResourceFactory;
+ import com.babeldoc.utils.XMLTableModel;
import java.io.IOException;
***************
*** 100,103 ****
--- 101,105 ----
import org.dom4j.Element;
import org.dom4j.Node;
+ import org.dom4j.dom.DOMDocument;
import org.jfree.report.JFreeReport;
***************
*** 110,113 ****
--- 112,117 ----
*/
public class JFRPipelineStage extends PipelineStage {
+ private static LogService log =
+ LogService.getInstance(JFRPipelineStage.class.getName());
/**
***************
*** 162,170 ****
writer.close();
} catch (java.io.IOException e) {
! e.printStackTrace();
}
// Set up the table model
! TableModel tm = getTableModel();
ReportGenerator gen = ReportGenerator.getInstance();
--- 166,179 ----
writer.close();
} catch (java.io.IOException e) {
! log.logError(e);
}
// Set up the table model
! TableModel tm = null;
! try {
! tm = getTableModel();
! } catch (DocumentException e) {
! log.logError(e);
! }
ReportGenerator gen = ReportGenerator.getInstance();
***************
*** 173,179 ****
report = gen.parseReport(f);
} catch (java.io.IOException e) {
! e.printStackTrace();
} catch (org.jfree.xml.ElementDefinitionException e2) {
! e2.printStackTrace();
}
report.setData(tm);
--- 182,188 ----
report = gen.parseReport(f);
} catch (java.io.IOException e) {
! log.logError(e);
} catch (org.jfree.xml.ElementDefinitionException e2) {
! log.logError(e2);
}
report.setData(tm);
***************
*** 240,247 ****
}
! private TableModel getTableModel() {
- DefaultTableModel tm = new DefaultTableModel();
Document doc;
try {
doc = DocumentHelper.parseText(new String(getDocument().getBytes()));
--- 249,256 ----
}
! private TableModel getTableModel() throws DocumentException {
Document doc;
+ XMLTableModel tm = new XMLTableModel();
try {
doc = DocumentHelper.parseText(new String(getDocument().getBytes()));
***************
*** 251,287 ****
}
! Element queryResults = (Element) doc.selectSingleNode( "/queryresults/query" );
!
! // iterate through child elements of root with element name "foo"
! ArrayList rowData = new ArrayList();
! boolean needHeaders = true;
! for ( Iterator i = queryResults.elementIterator( "row" ); i.hasNext(); ) {
! Element row = (Element) i.next();
! int pos = 0;
! for ( Iterator j = queryResults.elementIterator( "column" ); j.hasNext(); ) {
! Element cell = (Element) j.next();
! // Add the column to the table model, if this is the first row being constructed
! if (needHeaders) {
! String columnName = cell.attribute("column-name").toString();
! if (tm.findColumn(columnName) == -1) {
! tm.addColumn(columnName);
! }
! }
! // Add the cell value to the rowData array
! Object v;
! try {
! Class c = Class.forName(cell.attribute("column-class").toString()).getClass();
! Constructor cons = c.getConstructor(new Class[] {String.class});
! v = cons.newInstance(new Object[] {cell.getText()});
! } catch (Exception e) {
! LogService.getInstance().logWarn(e.getMessage());
! v = new String("[" + I18n.get("jfr.104", cell.attribute("column-class").toString()) + "]");
! }
! rowData.add(pos, v);
! pos++;
! }
! needHeaders = false;
! tm.addRow(rowData.toArray());
! }
return (tm);
}
--- 260,264 ----
}
! tm.setDocument(doc);
return (tm);
}
|