Refactored demo section to single app layout.
This commit is contained in:
parent
b3635cf64d
commit
4bd244f4e5
337 changed files with 1630 additions and 1883 deletions
|
|
@ -29,8 +29,8 @@ import java.io.OutputStream;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
|
||||
import org.x4o.xml.io.X4OConnectionException;
|
||||
import org.x4o.xml.io.X4OReader;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
import net.forwardfire.vasc.lib.jr4o.data.JRDynamicDataSource;
|
||||
|
|
@ -96,37 +96,42 @@ public class JR4ODesignManager {
|
|||
if (design==null) {
|
||||
throw new NullPointerException("Can add null design.");
|
||||
}
|
||||
if (design.getResourceBundle()==null) {
|
||||
design.setResourceBundle(resourceBundle);
|
||||
}
|
||||
reportDesigns.put(design.getName(), design);
|
||||
}
|
||||
|
||||
private JR4OParser createParser() {
|
||||
JR4OParser parser = new JR4OParser(dataSource,resourceBundle);
|
||||
private X4OReader<JR4ODesignRoot> createParser() {
|
||||
JR4ODriver driver = new JR4ODriver();
|
||||
X4OReader<JR4ODesignRoot> reader = driver.createReader();
|
||||
reader.addELBeanInstance(JR4ODriver.EL_DATASOURCE_NAME, dataSource);
|
||||
Map<String,Object> elBeans = dataSource.addDynamicELBean();
|
||||
for (String key:elBeans.keySet()) {
|
||||
Object value = elBeans.get(key);
|
||||
parser.addELBean(key, value);
|
||||
reader.addELBeanInstance(key, value);
|
||||
}
|
||||
return parser;
|
||||
return reader;
|
||||
}
|
||||
|
||||
public void parseFile(File file) throws FileNotFoundException, SecurityException, NullPointerException, ParserConfigurationException, SAXException, IOException {
|
||||
public void parseFile(File file) throws FileNotFoundException, X4OConnectionException, SAXException, IOException {
|
||||
if (file==null) {
|
||||
throw new NullPointerException("Can't parse null file.");
|
||||
}
|
||||
JR4OParser parser = createParser();
|
||||
parser.parseFile(file);
|
||||
for (JasperDesign design:parser.getJasperDesigns()) {
|
||||
X4OReader<JR4ODesignRoot> parser = createParser();
|
||||
JR4ODesignRoot root = parser.readFile(file);
|
||||
for (JasperDesign design:root.getDesigns()) {
|
||||
addJasperDesign(design);
|
||||
}
|
||||
}
|
||||
|
||||
public void parseResource(String resourceName) throws FileNotFoundException, SecurityException, NullPointerException, ParserConfigurationException, SAXException, IOException {
|
||||
public void parseResource(String resourceName) throws X4OConnectionException, SAXException, IOException {
|
||||
if (resourceName==null) {
|
||||
throw new NullPointerException("Can't parse null resouce.");
|
||||
}
|
||||
JR4OParser parser = createParser();
|
||||
parser.parseResource(resourceName);
|
||||
for (JasperDesign design:parser.getJasperDesigns()) {
|
||||
X4OReader<JR4ODesignRoot> parser = createParser();
|
||||
JR4ODesignRoot root = parser.readResource(resourceName);
|
||||
for (JasperDesign design:root.getDesigns()) {
|
||||
addJasperDesign(design);
|
||||
}
|
||||
}
|
||||
|
|
@ -154,7 +159,7 @@ public class JR4ODesignManager {
|
|||
return JasperCompileManager.compileReport(design);
|
||||
}
|
||||
|
||||
public JasperPrint printReport(JasperReport report) throws JRException {
|
||||
public JasperPrint printReport(JasperReport report) throws JRException {
|
||||
return JasperFillManager.fillReport(report, parameters, dataSource);
|
||||
}
|
||||
|
||||
|
|
@ -194,10 +199,23 @@ public class JR4ODesignManager {
|
|||
}
|
||||
|
||||
public enum JRExportType {
|
||||
PDF,
|
||||
RTF,
|
||||
CSV,
|
||||
XLS,
|
||||
XML;
|
||||
PDF("text/pdf","pdf"),
|
||||
RTF("text/rtf","rtf"),
|
||||
CSV("text/csv","csv"),
|
||||
XLS("text/xls","xls"),
|
||||
XML("text/xml","xml");
|
||||
|
||||
private String mineType = null;
|
||||
private String fileType = null;
|
||||
private JRExportType(String mineType,String fileType) {
|
||||
this.mineType=mineType;
|
||||
this.fileType=fileType;
|
||||
}
|
||||
public String getMineType() {
|
||||
return mineType;
|
||||
}
|
||||
public String getFileType() {
|
||||
return fileType;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
package net.forwardfire.vasc.lib.jr4o;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sf.jasperreports.engine.design.JasperDesign;
|
||||
|
||||
public class JR4ODesignRoot {
|
||||
|
||||
private List<JasperDesign> designs = null;
|
||||
|
||||
public JR4ODesignRoot() {
|
||||
designs = new ArrayList<JasperDesign>(10);
|
||||
}
|
||||
|
||||
public List<JasperDesign> getDesigns() {
|
||||
return designs;
|
||||
}
|
||||
|
||||
public void addDesign(JasperDesign design) {
|
||||
designs.add(design);
|
||||
}
|
||||
}
|
||||
|
|
@ -22,17 +22,14 @@
|
|||
|
||||
package net.forwardfire.vasc.lib.jr4o;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.el.ValueExpression;
|
||||
|
||||
import net.forwardfire.vasc.lib.jr4o.data.JRDynamicDataSource;
|
||||
import net.sf.jasperreports.engine.design.JasperDesign;
|
||||
|
||||
import org.x4o.xml.core.X4OParser;
|
||||
import org.x4o.xml.element.ElementLanguage;
|
||||
import org.x4o.xml.X4ODriver;
|
||||
import org.x4o.xml.element.ElementException;
|
||||
import org.x4o.xml.lang.X4OLanguageSession;
|
||||
|
||||
/**
|
||||
* JR4OParser parses xml layer for JasperReports
|
||||
|
|
@ -42,41 +39,27 @@ import org.x4o.xml.element.ElementException;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Aug 31, 2007
|
||||
*/
|
||||
public class JR4OParser extends X4OParser {
|
||||
public class JR4ODriver extends X4ODriver<JR4ODesignRoot> {
|
||||
|
||||
/** The jr40 language name */
|
||||
static public final String LANGUAGE = "jr4o";
|
||||
static public final String LANGUAGE_NAME = "jr4o";
|
||||
static public final String[] LANGUAGE_VERSIONS = new String[]{X4ODriver.DEFAULT_LANGUAGE_VERSION};
|
||||
static public final String EL_DATASOURCE_NAME = "dynamicDataSource";
|
||||
static public final String EL_DESIGN_LIST_NAME = "dynamicDesignList";
|
||||
private List<JasperDesign> dynamicDesignList = null;
|
||||
private String resourceBundle = null;
|
||||
|
||||
/**
|
||||
* creates an JR4OParser
|
||||
*/
|
||||
public JR4OParser(JRDynamicDataSource dataSource,String resourceBundle) {
|
||||
super(LANGUAGE);
|
||||
this.resourceBundle = resourceBundle;
|
||||
dynamicDesignList = new ArrayList<JasperDesign>(10);
|
||||
addELBeanInstance(EL_DATASOURCE_NAME, dataSource);
|
||||
addELBeanInstance(EL_DESIGN_LIST_NAME, dynamicDesignList);
|
||||
|
||||
public JR4ODriver() {
|
||||
}
|
||||
|
||||
public void addELBean(String name,Object bean) {
|
||||
addELBeanInstance(name, bean);
|
||||
@Override
|
||||
public String getLanguageName() {
|
||||
return LANGUAGE_NAME;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The list of JasperDesigns after parsing.
|
||||
*/
|
||||
public List<JasperDesign> getJasperDesigns() {
|
||||
for (JasperDesign d:dynamicDesignList) {
|
||||
if (d.getResourceBundle()==null) {
|
||||
d.setResourceBundle(resourceBundle);
|
||||
}
|
||||
}
|
||||
return dynamicDesignList;
|
||||
@Override
|
||||
public String[] getLanguageVersions() {
|
||||
return LANGUAGE_VERSIONS;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -84,27 +67,12 @@ public class JR4OParser extends X4OParser {
|
|||
* @param elementLanguage The ElementLanguage to get the datasource from.
|
||||
* @return The JRDynamicDataSource of this parser instance.
|
||||
*/
|
||||
static public JRDynamicDataSource getELDataSource(ElementLanguage elementLanguage) throws ElementException {
|
||||
ValueExpression ee = elementLanguage.getExpressionFactory().createValueExpression(elementLanguage.getELContext(),"${"+EL_DATASOURCE_NAME+"}",JRDynamicDataSource.class);
|
||||
JRDynamicDataSource dataSource = (JRDynamicDataSource)ee.getValue(elementLanguage.getELContext());
|
||||
static public JRDynamicDataSource getELDataSource(X4OLanguageSession elementLanguage) throws ElementException {
|
||||
ValueExpression ee = elementLanguage.getExpressionLanguageFactory().createValueExpression(elementLanguage.getExpressionLanguageContext(),"${"+EL_DATASOURCE_NAME+"}",JRDynamicDataSource.class);
|
||||
JRDynamicDataSource dataSource = (JRDynamicDataSource)ee.getValue(elementLanguage.getExpressionLanguageContext());
|
||||
if (dataSource==null) {
|
||||
throw new ElementException("Could not find dataSouce in context as: "+EL_DATASOURCE_NAME);
|
||||
}
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the List of designs for adding the design.
|
||||
* @param context The ElementLanguage to get the list from.
|
||||
* @return The list of designs.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
static public List<JasperDesign> getELDesignList(ElementLanguage context) throws ElementException {
|
||||
ValueExpression ee = context.getExpressionFactory().createValueExpression(context.getELContext(),"${"+EL_DESIGN_LIST_NAME+"}",List.class);
|
||||
List<JasperDesign> designList = (List<JasperDesign>)ee.getValue(context.getELContext());
|
||||
if (designList==null) {
|
||||
throw new ElementException("Could not find designList in context as: "+EL_DESIGN_LIST_NAME);
|
||||
}
|
||||
return designList;
|
||||
}
|
||||
}
|
||||
|
|
@ -36,7 +36,7 @@ import net.sf.jasperreports.engine.design.JRDesignElement;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Aug 31, 2007
|
||||
*/
|
||||
public class JR4OElementBindingHandler extends AbstractElementBindingHandler {
|
||||
public class JR4OElementBindingHandler extends AbstractElementBindingHandler<JRDesignElement> {
|
||||
|
||||
private final static Class<?>[] CLASSES_CHILD = new Class[] {
|
||||
JRElementGroup.class,
|
||||
|
|
@ -57,21 +57,24 @@ public class JR4OElementBindingHandler extends AbstractElementBindingHandler {
|
|||
public Class<?>[] getBindChildClasses() {
|
||||
return CLASSES_CHILD;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.x4o.xml.element.ElementBindingHandler#doBind(java.lang.Object, java.lang.Object, org.x4o.xml.element.Element)
|
||||
*/
|
||||
public void doBind(Object parentObject, Object childObject,Element childElement) throws ElementBindingHandlerException {
|
||||
if (parentObject instanceof JRDesignElement) {
|
||||
if (childObject instanceof JRElementGroup) {
|
||||
((JRDesignElement)parentObject).setElementGroup((JRElementGroup)childObject);
|
||||
}
|
||||
if (childObject instanceof JRGroup) {
|
||||
((JRDesignElement)parentObject).setPrintWhenGroupChanges((JRGroup)childObject);
|
||||
}
|
||||
if (childObject instanceof JRStyle) {
|
||||
((JRDesignElement)parentObject).setStyle((JRStyle)childObject);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindChild(Element childElement, JRDesignElement parentObject,Object childObject) throws ElementBindingHandlerException {
|
||||
if (childObject instanceof JRElementGroup) {
|
||||
parentObject.setElementGroup((JRElementGroup)childObject);
|
||||
}
|
||||
if (childObject instanceof JRGroup) {
|
||||
parentObject.setPrintWhenGroupChanges((JRGroup)childObject);
|
||||
}
|
||||
if (childObject instanceof JRStyle) {
|
||||
parentObject.setStyle((JRStyle)childObject);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createChilderen(Element parentElement, JRDesignElement parentObject) throws ElementBindingHandlerException {
|
||||
createChild(parentElement, parentObject.getElementGroup());
|
||||
createChild(parentElement, parentObject.getPrintWhenGroupChanges());
|
||||
createChild(parentElement, parentObject.getStyle());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import org.x4o.xml.element.AbstractElementBindingHandler;
|
|||
import org.x4o.xml.element.Element;
|
||||
import org.x4o.xml.element.ElementBindingHandlerException;
|
||||
|
||||
import net.sf.jasperreports.engine.JRChild;
|
||||
import net.sf.jasperreports.engine.design.JRDesignElement;
|
||||
import net.sf.jasperreports.engine.design.JRDesignElementGroup;
|
||||
|
||||
|
|
@ -35,7 +36,7 @@ import net.sf.jasperreports.engine.design.JRDesignElementGroup;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Aug 31, 2007
|
||||
*/
|
||||
public class JR4OElementGroupBindingHandler extends AbstractElementBindingHandler {
|
||||
public class JR4OElementGroupBindingHandler extends AbstractElementBindingHandler<JRDesignElementGroup> {
|
||||
|
||||
private final static Class<?>[] CLASSES_CHILD = new Class[] {
|
||||
JRDesignElement.class,
|
||||
|
|
@ -56,18 +57,25 @@ public class JR4OElementGroupBindingHandler extends AbstractElementBindingHandle
|
|||
return CLASSES_CHILD;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.x4o.xml.element.ElementBindingHandler#doBind(java.lang.Object, java.lang.Object, org.x4o.xml.element.Element)
|
||||
*/
|
||||
public void doBind(Object parentObject, Object childObject,Element childElement) throws ElementBindingHandlerException {
|
||||
if (parentObject instanceof JRDesignElementGroup) {
|
||||
if (childObject instanceof JRDesignElementGroup) {
|
||||
((JRDesignElementGroup)parentObject).addElementGroup((JRDesignElementGroup)childObject);
|
||||
@Override
|
||||
public void bindChild(Element childElement, JRDesignElementGroup parentObject,Object childObject) throws ElementBindingHandlerException {
|
||||
if (childObject instanceof JRDesignElementGroup) {
|
||||
parentObject.addElementGroup((JRDesignElementGroup)childObject);
|
||||
}
|
||||
if (childObject instanceof JRDesignElement) {
|
||||
parentObject.addElement((JRDesignElement)childObject);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createChilderen(Element parentElement, JRDesignElementGroup parentObject) throws ElementBindingHandlerException {
|
||||
for (JRChild child:parentObject.getChildren()) {
|
||||
if (child instanceof JRDesignElement) {
|
||||
createChild(parentElement, child);
|
||||
}
|
||||
if (childObject instanceof JRDesignElement) {
|
||||
((JRDesignElementGroup)parentObject).addElement((JRDesignElement)childObject);
|
||||
if (child instanceof JRDesignElementGroup) {
|
||||
createChild(parentElement, child);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ import net.sf.jasperreports.engine.design.JasperDesign;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Aug 31, 2007
|
||||
*/
|
||||
public class JR4OJasperDesignBindingHandler extends AbstractElementBindingHandler {
|
||||
public class JR4OJasperDesignBindingHandler extends AbstractElementBindingHandler<JasperDesign> {
|
||||
|
||||
private final static Class<?>[] CLASSES_CHILD = new Class[] {
|
||||
JRField.class,
|
||||
|
|
@ -59,24 +59,33 @@ public class JR4OJasperDesignBindingHandler extends AbstractElementBindingHandle
|
|||
return CLASSES_CHILD;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.x4o.xml.element.ElementBindingHandler#doBind(java.lang.Object, java.lang.Object, org.x4o.xml.element.Element)
|
||||
*/
|
||||
public void doBind(Object parentObject, Object childObject,Element childElement) throws ElementBindingHandlerException {
|
||||
if (parentObject instanceof JasperDesign) {
|
||||
try {
|
||||
if (childObject instanceof JRField) {
|
||||
((JasperDesign)parentObject).addField((JRField)childObject);
|
||||
}
|
||||
if (childObject instanceof JRParameter) {
|
||||
((JasperDesign)parentObject).addParameter((JRParameter)childObject);
|
||||
}
|
||||
if (childObject instanceof JRStyle) {
|
||||
((JasperDesign)parentObject).addStyle((JRStyle)childObject);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new ElementBindingHandlerException(e.getMessage(),e);
|
||||
@Override
|
||||
public void bindChild(Element childElement, JasperDesign parentObject,Object childObject) throws ElementBindingHandlerException {
|
||||
try {
|
||||
if (childObject instanceof JRField) {
|
||||
parentObject.addField((JRField)childObject);
|
||||
}
|
||||
if (childObject instanceof JRParameter) {
|
||||
parentObject.addParameter((JRParameter)childObject);
|
||||
}
|
||||
if (childObject instanceof JRStyle) {
|
||||
parentObject.addStyle((JRStyle)childObject);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new ElementBindingHandlerException(e.getMessage(),e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createChilderen(Element parentElement, JasperDesign parentObject) throws ElementBindingHandlerException {
|
||||
for (JRField field:parentObject.getFieldsList()) {
|
||||
createChild(parentElement, field);
|
||||
}
|
||||
for (JRParameter parameter:parentObject.getParametersList()) {
|
||||
createChild(parentElement, parameter);
|
||||
}
|
||||
for (JRStyle style:parentObject.getStylesList()) {
|
||||
createChild(parentElement, style);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import javax.el.ValueExpression;
|
|||
import org.x4o.xml.element.AbstractElement;
|
||||
import org.x4o.xml.element.ElementException;
|
||||
|
||||
import net.forwardfire.vasc.lib.jr4o.JR4OParser;
|
||||
import net.forwardfire.vasc.lib.jr4o.JR4ODriver;
|
||||
import net.forwardfire.vasc.lib.jr4o.data.JRDynamicDataSource;
|
||||
import net.sf.jasperreports.engine.JRStyle;
|
||||
import net.sf.jasperreports.engine.design.JRDesignElementGroup;
|
||||
|
|
@ -48,60 +48,46 @@ public class JRDynamicCardsElement extends AbstractElement {
|
|||
*/
|
||||
@Override
|
||||
public void doElementStart() throws ElementException {
|
||||
JRDynamicDataSource dataSource = JR4OParser.getELDataSource(getElementLanguage());
|
||||
JRDynamicDataSource dataSource = JR4ODriver.getELDataSource(getLanguageSession());
|
||||
|
||||
ValueExpression ee = getElementLanguage().getExpressionFactory().createValueExpression(getElementLanguage().getELContext(),"${Arial_Bold}",JRStyle.class);
|
||||
JRStyle style = (JRStyle)ee.getValue(getElementLanguage().getELContext());
|
||||
ValueExpression ee = getLanguageSession().getExpressionLanguageFactory().createValueExpression(getLanguageSession().getExpressionLanguageContext(),"${Arial_Bold}",JRStyle.class);
|
||||
JRStyle style = (JRStyle)ee.getValue(getLanguageSession().getExpressionLanguageContext());
|
||||
if (style==null) {
|
||||
throw new ElementException("Could not get the font.");
|
||||
}
|
||||
style.setBlankWhenNull(true);
|
||||
style.setMode(ModeEnum.OPAQUE);
|
||||
// //DEBUG STYLE
|
||||
//style.setForecolor(Color.BLACK);
|
||||
//style.setBackcolor(Color.BLUE);
|
||||
|
||||
Object parent = getParent().getElementObject();
|
||||
if (parent instanceof JRDesignElementGroup == false) {
|
||||
throw new ElementException("parent is not an JRDesignElementGroup.");
|
||||
}
|
||||
JRDesignElementGroup group = (JRDesignElementGroup)parent;
|
||||
|
||||
}
|
||||
JRDesignElementGroup group = (JRDesignElementGroup)parent;
|
||||
|
||||
int offsetInitial = 95;
|
||||
int defaultHeight = 12;
|
||||
int max = dataSource.getDynamicColumnCount();
|
||||
|
||||
for (int i=0;i<max;i++) {
|
||||
|
||||
JRDesignTextField header = new JRDesignTextField();
|
||||
|
||||
//header.setMode(JRElement.MODE_OPAQUE);
|
||||
header.setX(24);
|
||||
|
||||
int off = offsetInitial;
|
||||
|
||||
JRDesignTextField header = new JRDesignTextField();
|
||||
header.setX(24);
|
||||
header.setY(off+(i*defaultHeight));
|
||||
header.setWidth(100);
|
||||
header.setHeight(defaultHeight);
|
||||
//header.setForecolor(Color.BLACK);
|
||||
//header.setBackcolor(Color.BLUE);
|
||||
|
||||
header.setHorizontalAlignment(dataSource.getDynamicColumnHorizontalAlignment(i));
|
||||
header.setStyle(style);
|
||||
|
||||
JRDesignExpression ex = new JRDesignExpression();
|
||||
ex.setText("$F{HEADER_"+i+"}+':'");
|
||||
ex.setText("$F{HEADER_"+i+"}+':'");
|
||||
ex.setValueClass(String.class);
|
||||
header.setExpression(ex);
|
||||
|
||||
group.addElement(header);
|
||||
}
|
||||
|
||||
for (int i=0;i<max;i++) {
|
||||
|
||||
for (int i=0;i<max;i++) {
|
||||
int off = offsetInitial;
|
||||
|
||||
JRDesignTextField header = new JRDesignTextField();
|
||||
header.setX(110);
|
||||
header.setY(off+(i*defaultHeight));
|
||||
|
|
@ -112,19 +98,13 @@ public class JRDynamicCardsElement extends AbstractElement {
|
|||
header.setHorizontalAlignment(dataSource.getDynamicColumnHorizontalAlignment(i));
|
||||
header.setStyle(style);
|
||||
header.setStretchWithOverflow(false);
|
||||
|
||||
//header.setForecolor(Color.BLACK);
|
||||
//header.setBackcolor(Color.GREEN);
|
||||
|
||||
JRDesignExpression ex = new JRDesignExpression();
|
||||
ex.setText("$F{COLUMN_"+i+"}");
|
||||
|
||||
ex.setValueClass(String.class);
|
||||
|
||||
header.setExpression(ex);
|
||||
|
||||
group.addElement(header);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import javax.el.ValueExpression;
|
|||
import org.x4o.xml.element.AbstractElement;
|
||||
import org.x4o.xml.element.ElementException;
|
||||
|
||||
import net.forwardfire.vasc.lib.jr4o.JR4OParser;
|
||||
import net.forwardfire.vasc.lib.jr4o.JR4ODriver;
|
||||
import net.forwardfire.vasc.lib.jr4o.data.JRDynamicDataSource;
|
||||
import net.sf.jasperreports.engine.JRStyle;
|
||||
import net.sf.jasperreports.engine.design.JRDesignElementGroup;
|
||||
|
|
@ -36,7 +36,7 @@ import net.sf.jasperreports.engine.design.JRDesignTextField;
|
|||
import net.sf.jasperreports.engine.type.ModeEnum;
|
||||
|
||||
/**
|
||||
* DynaColumnElement
|
||||
* JRDynamicColumnElement
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Sep 24, 2007
|
||||
|
|
@ -45,26 +45,23 @@ public class JRDynamicColumnElement extends AbstractElement {
|
|||
|
||||
@Override
|
||||
public void doElementRun() throws ElementException {
|
||||
JRDynamicDataSource dataSource = JR4OParser.getELDataSource(getElementLanguage());
|
||||
JRDynamicDataSource dataSource = JR4ODriver.getELDataSource(getLanguageSession());
|
||||
|
||||
ValueExpression ee = getElementLanguage().getExpressionFactory().createValueExpression(getElementLanguage().getELContext(),"${Arial_Bold}",JRStyle.class);
|
||||
JRStyle style = (JRStyle)ee.getValue(getElementLanguage().getELContext());
|
||||
ValueExpression ee = getLanguageSession().getExpressionLanguageFactory().createValueExpression(getLanguageSession().getExpressionLanguageContext(),"${Arial_Bold}",JRStyle.class);
|
||||
JRStyle style = (JRStyle)ee.getValue(getLanguageSession().getExpressionLanguageContext());
|
||||
if (style==null) {
|
||||
throw new ElementException("Could not get the font.");
|
||||
}
|
||||
style.setMode(ModeEnum.OPAQUE);
|
||||
// // Debug Style
|
||||
//style.setBackcolor(Color.BLUE);
|
||||
|
||||
Object parent = getParent().getElementObject();
|
||||
if (parent instanceof JRDesignElementGroup == false) {
|
||||
throw new ElementException("parent is not an JRDesignElementGroup.");
|
||||
}
|
||||
JRDesignElementGroup group = (JRDesignElementGroup)parent;
|
||||
}
|
||||
JRDesignElementGroup group = (JRDesignElementGroup)parent;
|
||||
|
||||
int max = dataSource.getDynamicColumnCount();
|
||||
|
||||
for (int i=0;i<max;i++) {
|
||||
for (int i=0;i<max;i++) {
|
||||
JRDesignTextField column = new JRDesignTextField();
|
||||
column.setX(dataSource.getDynamicColumnX(i));
|
||||
column.setY(dataSource.getDynamicColumnY(i));
|
||||
|
|
@ -73,17 +70,14 @@ public class JRDynamicColumnElement extends AbstractElement {
|
|||
column.setStretchWithOverflow(dataSource.isDynamicColumnStretchWithOverflow(i));
|
||||
column.setBlankWhenNull(dataSource.isDynamicColumnBlankWhenNull(i));
|
||||
column.setHorizontalAlignment(dataSource.getDynamicColumnHorizontalAlignment(i));
|
||||
|
||||
column.setStyle(style);
|
||||
|
||||
JRDesignExpression ex = new JRDesignExpression();
|
||||
ex.setText("$F{COLUMN_"+i+"}");
|
||||
|
||||
ex.setValueClass(String.class);
|
||||
column.setExpression(ex);
|
||||
|
||||
group.addElement(column);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ import javax.el.ValueExpression;
|
|||
import org.x4o.xml.element.AbstractElement;
|
||||
import org.x4o.xml.element.ElementException;
|
||||
|
||||
import net.forwardfire.vasc.lib.jr4o.JR4OParser;
|
||||
import net.forwardfire.vasc.lib.jr4o.JR4ODriver;
|
||||
import net.forwardfire.vasc.lib.jr4o.data.JRDynamicDataSource;
|
||||
import net.sf.jasperreports.engine.JRStyle;
|
||||
import net.sf.jasperreports.engine.design.JRDesignElementGroup;
|
||||
|
|
@ -39,7 +39,7 @@ import net.sf.jasperreports.engine.type.HorizontalAlignEnum;
|
|||
import net.sf.jasperreports.engine.type.ModeEnum;
|
||||
|
||||
/**
|
||||
*
|
||||
* JRDynamicColumnHeaderElement
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Sep 24, 2007
|
||||
|
|
@ -51,10 +51,10 @@ public class JRDynamicColumnHeaderElement extends AbstractElement {
|
|||
*/
|
||||
@Override
|
||||
public void doElementRun() throws ElementException {
|
||||
JRDynamicDataSource dataSource = JR4OParser.getELDataSource(getElementLanguage());
|
||||
JRDynamicDataSource dataSource = JR4ODriver.getELDataSource(getLanguageSession());
|
||||
|
||||
ValueExpression ee = getElementLanguage().getExpressionFactory().createValueExpression(getElementLanguage().getELContext(),"${Arial_Bold}",JRStyle.class);
|
||||
JRStyle style = (JRStyle)ee.getValue(getElementLanguage().getELContext());
|
||||
ValueExpression ee = getLanguageSession().getExpressionLanguageFactory().createValueExpression(getLanguageSession().getExpressionLanguageContext(),"${Arial_Bold}",JRStyle.class);
|
||||
JRStyle style = (JRStyle)ee.getValue(getLanguageSession().getExpressionLanguageContext());
|
||||
if (style==null) {
|
||||
throw new ElementException("Could not get the font.");
|
||||
}
|
||||
|
|
@ -62,14 +62,12 @@ public class JRDynamicColumnHeaderElement extends AbstractElement {
|
|||
Object parent = getParent().getElementObject();
|
||||
if (parent instanceof JRDesignElementGroup == false) {
|
||||
throw new ElementException("parent is not an JRDesignElementGroup.");
|
||||
}
|
||||
JRDesignElementGroup group = (JRDesignElementGroup)parent;
|
||||
}
|
||||
JRDesignElementGroup group = (JRDesignElementGroup)parent;
|
||||
|
||||
int max = dataSource.getDynamicColumnCount();
|
||||
for (int i=0;i<max;i++) {
|
||||
|
||||
JRDesignTextField header = new JRDesignTextField();
|
||||
|
||||
header.setMode(ModeEnum.OPAQUE);
|
||||
header.setX(dataSource.getDynamicColumnX(i));
|
||||
header.setY(dataSource.getDynamicColumnY(i));
|
||||
|
|
@ -81,11 +79,11 @@ public class JRDynamicColumnHeaderElement extends AbstractElement {
|
|||
header.setStyle(style);
|
||||
|
||||
JRDesignExpression ex = new JRDesignExpression();
|
||||
ex.setText("$F{HEADER_"+i+"}");
|
||||
ex.setText("$F{HEADER_"+i+"}");
|
||||
ex.setValueClass(String.class);
|
||||
header.setExpression(ex);
|
||||
|
||||
group.addElement(header);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,53 +0,0 @@
|
|||
/*
|
||||
* Copyright 2007-2012 forwardfire.net All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
|
||||
* the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package net.forwardfire.vasc.lib.jr4o.x4o;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.x4o.xml.element.AbstractElement;
|
||||
import org.x4o.xml.element.ElementException;
|
||||
|
||||
import net.forwardfire.vasc.lib.jr4o.JR4OParser;
|
||||
import net.sf.jasperreports.engine.design.JasperDesign;
|
||||
|
||||
/**
|
||||
* JasperReportElement puts the report design in the parser design list.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 May 11, 2012
|
||||
*/
|
||||
public class JasperReportElement extends AbstractElement {
|
||||
|
||||
@Override
|
||||
public void doElementRun() throws ElementException {
|
||||
if (getElementObject()==null) {
|
||||
throw new ElementException("Can't work with null element object.");
|
||||
}
|
||||
if ((getElementObject() instanceof JasperDesign)==false) {
|
||||
throw new ElementException("Element object is not JasperDesign class.");
|
||||
}
|
||||
JasperDesign design = (JasperDesign)getElementObject();
|
||||
List<JasperDesign> designs = JR4OParser.getELDesignList(getElementLanguage());
|
||||
designs.add(design);
|
||||
}
|
||||
}
|
||||
|
|
@ -5,9 +5,8 @@
|
|||
xmlns:root="http://eld.x4o.org/xml/ns/eld-root"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://eld.x4o.org/xml/ns/eld-root http://eld.x4o.org/xml/ns/eld-root-1.0.xsd"
|
||||
moduleName="Xpql query loading"
|
||||
moduleVersion="1.0"
|
||||
moduleProviderName="vasc.forwardfire.net"
|
||||
providerHost="vasc.forwardfire.net"
|
||||
providerName="Xpql query loading"
|
||||
id="jr4o"
|
||||
>
|
||||
|
||||
|
|
@ -16,185 +15,193 @@
|
|||
<eld:bindingHandler id="JR4OElementBindingHandler" bean.class="net.forwardfire.vasc.lib.jr4o.x4o.JR4OElementBindingHandler"/>
|
||||
<eld:bindingHandler id="JR4OElementGroupBindingHandler" bean.class="net.forwardfire.vasc.lib.jr4o.x4o.JR4OElementGroupBindingHandler"/>
|
||||
<eld:bindingHandler id="JR4OJasperDesignBindingHandler" bean.class="net.forwardfire.vasc.lib.jr4o.x4o.JR4OJasperDesignBindingHandler"/>
|
||||
<eld:classBindingHandler id="JR4ODesignRoot-JasperDesign"
|
||||
parentClass="net.forwardfire.vasc.lib.jr4o.JR4ODesignRoot" childClass="net.sf.jasperreports.engine.design.JasperDesign"
|
||||
addMethod="addDesign" getMethod="getDesigns"
|
||||
/>
|
||||
|
||||
<eld:namespace uri="http://jr4o.vasc.forwardfire.net/xml/ns/jr4o-lang" description="JR4O XML Language" id="jr4o-lang">
|
||||
|
||||
<eld:element tag="report" objectClass="java.lang.Object"/>
|
||||
<eld:element tag="jasperReport" objectClass="net.sf.jasperreports.engine.design.JasperDesign" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperReportElement">
|
||||
<eld:attribute name="orientation">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.OrientationEnum"/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="field" objectClass="net.sf.jasperreports.engine.design.JRDesignField">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:classConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="parameter" objectClass="net.sf.jasperreports.engine.design.JRDesignParameter">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:classConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="title" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
<eld:element tag="pageHeader" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
<eld:element tag="columnHeader" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
<eld:element tag="detail" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
<eld:element tag="pageFooter" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
<eld:element tag="summary" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
<eld:namespace uri="http://jr4o.vasc.forwardfire.net/xml/ns/jr4o-lang"
|
||||
description="JR4O XML Language"
|
||||
id="jr4o-lang"
|
||||
>
|
||||
|
||||
<eld:element tag="report" objectClass="net.forwardfire.vasc.lib.jr4o.JR4ODesignRoot"/>
|
||||
|
||||
<eld:element tag="jasperReport" objectClass="net.sf.jasperreports.engine.design.JasperDesign">
|
||||
<eld:attribute name="orientation">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.OrientationEnum"/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="field" objectClass="net.sf.jasperreports.engine.design.JRDesignField">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:classConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="parameter" objectClass="net.sf.jasperreports.engine.design.JRDesignParameter">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:classConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="title" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
<eld:element tag="pageHeader" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
<eld:element tag="columnHeader" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
<eld:element tag="detail" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
<eld:element tag="pageFooter" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
<eld:element tag="summary" objectClass="net.sf.jasperreports.engine.design.JRDesignBand" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperDesignPageBinderElement"/>
|
||||
|
||||
<eld:element tag="band" objectClass="net.sf.jasperreports.engine.design.JRDesignBand"/>
|
||||
<eld:element tag="textField" objectClass="net.sf.jasperreports.engine.design.JRDesignTextField">
|
||||
<eld:attribute name="evaluationTime">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.EvaluationTimeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="horizontalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.HorizontalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="verticalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.VerticalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="mode">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.ModeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="staticText" objectClass="net.sf.jasperreports.engine.design.JRDesignStaticText">
|
||||
<eld:attribute name="evaluationTime">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.EvaluationTimeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="horizontalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.HorizontalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="verticalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.VerticalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="mode">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.ModeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="textElement" objectClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperParentElement">
|
||||
<eld:attribute name="horizontalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.HorizontalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="verticalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.VerticalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
|
||||
<eld:element tag="textFieldExpression" objectClass="net.sf.jasperreports.engine.design.JRDesignExpression" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.ValueBodyTextExpressionElement">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:classConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<!--
|
||||
<eld:element tag="text" objectClass="net.sf.jasperreports.engine.design.JRDesignExpression" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.ValueBodyTextExpressionElement">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:ClassConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
-->
|
||||
|
||||
<eld:element tag="printWhenExpression" objectClass="net.sf.jasperreports.engine.design.JRDesignExpression" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.ValueBodyPrintExpressionElement">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:classConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
|
||||
<eld:element tag="font" objectClass="net.sf.jasperreports.engine.design.JRDesignFont"/>
|
||||
<!--
|
||||
<eld:element tag="reportFont" objectClass="net.sf.jasperreports.engine.design.JRDesignReportFont"/>
|
||||
-->
|
||||
<eld:element tag="style" objectClass="net.sf.jasperreports.engine.design.JRDesignStyle"/>
|
||||
|
||||
<eld:element tag="reportElement" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperParentElement">
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="mode">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.ModeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
|
||||
<eld:element tag="line" objectClass="net.sf.jasperreports.engine.design.JRDesignLine">
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="rectangle" objectClass="net.sf.jasperreports.engine.design.JRDesignRectangle">
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
|
||||
<eld:element tag="image" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.ImageElement">
|
||||
<eld:attribute name="evaluationTime">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.EvaluationTimeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="horizontalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.HorizontalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="verticalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.VerticalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="mode">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.ModeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="imageExpression" objectClass="net.sf.jasperreports.engine.design.JRDesignExpression" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.ValueBodyImageExpressionElement">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:classConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
|
||||
|
||||
<eld:element tag="dynamicColumnHeader" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JRDynamicColumnHeaderElement"/>
|
||||
<eld:element tag="dynamicColumn" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JRDynamicColumnElement"/>
|
||||
<eld:element tag="dynamicCards" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JRDynamicCardsElement"/>
|
||||
|
||||
</eld:namespace>
|
||||
|
||||
<eld:element tag="band" objectClass="net.sf.jasperreports.engine.design.JRDesignBand"/>
|
||||
<eld:element tag="textField" objectClass="net.sf.jasperreports.engine.design.JRDesignTextField">
|
||||
<eld:attribute name="evaluationTime">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.EvaluationTimeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="horizontalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.HorizontalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="verticalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.VerticalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="mode">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.ModeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="staticText" objectClass="net.sf.jasperreports.engine.design.JRDesignStaticText">
|
||||
<eld:attribute name="evaluationTime">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.EvaluationTimeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="horizontalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.HorizontalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="verticalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.VerticalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="mode">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.ModeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="textElement" objectClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperParentElement">
|
||||
<eld:attribute name="horizontalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.HorizontalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="verticalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.VerticalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
|
||||
<eld:element tag="textFieldExpression" objectClass="net.sf.jasperreports.engine.design.JRDesignExpression" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.ValueBodyTextExpressionElement">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:classConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<!--
|
||||
<eld:element tag="text" objectClass="net.sf.jasperreports.engine.design.JRDesignExpression" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.ValueBodyTextExpressionElement">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:ClassConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
-->
|
||||
|
||||
<eld:element tag="printWhenExpression" objectClass="net.sf.jasperreports.engine.design.JRDesignExpression" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.ValueBodyPrintExpressionElement">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:classConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
|
||||
<eld:element tag="font" objectClass="net.sf.jasperreports.engine.design.JRDesignFont"/>
|
||||
<!--
|
||||
<eld:element tag="reportFont" objectClass="net.sf.jasperreports.engine.design.JRDesignReportFont"/>
|
||||
-->
|
||||
<eld:element tag="style" objectClass="net.sf.jasperreports.engine.design.JRDesignStyle"/>
|
||||
|
||||
<eld:element tag="reportElement" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JasperParentElement">
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="mode">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.ModeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
|
||||
<eld:element tag="line" objectClass="net.sf.jasperreports.engine.design.JRDesignLine">
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="rectangle" objectClass="net.sf.jasperreports.engine.design.JRDesignRectangle">
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
|
||||
<eld:element tag="image" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.ImageElement">
|
||||
<eld:attribute name="evaluationTime">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.EvaluationTimeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="horizontalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.HorizontalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="verticalAlignment">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.VerticalAlignEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="positionType">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.PositionTypeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="mode">
|
||||
<conv:enumConverter enumClass="net.sf.jasperreports.engine.type.ModeEnum"/>
|
||||
</eld:attribute>
|
||||
<eld:attribute name="forecolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
<eld:attribute name="backcolor">
|
||||
<conv:beanConverter bean.class="net.forwardfire.vasc.lib.jr4o.x4o.ColorConverter" />
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
<eld:element tag="imageExpression" objectClass="net.sf.jasperreports.engine.design.JRDesignExpression" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.ValueBodyImageExpressionElement">
|
||||
<eld:attribute name="valueClass">
|
||||
<conv:classConverter/>
|
||||
</eld:attribute>
|
||||
</eld:element>
|
||||
|
||||
|
||||
<eld:element tag="dynamicColumnHeader" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JRDynamicColumnHeaderElement"/>
|
||||
<eld:element tag="dynamicColumn" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JRDynamicColumnElement"/>
|
||||
<eld:element tag="dynamicCards" elementClass="net.forwardfire.vasc.lib.jr4o.x4o.JRDynamicCardsElement"/>
|
||||
|
||||
</eld:namespace>
|
||||
</root:module>
|
||||
|
|
@ -6,6 +6,6 @@
|
|||
>
|
||||
<language version="1.0">
|
||||
<eld-resource>jr4o-lang.eld</eld-resource>
|
||||
<sibling-loader>org.x4o.xml.meta.MetaLanguageSiblingLoader</sibling-loader>
|
||||
<sibling-loader>org.x4o.xml.lang.meta.MetaLanguageSiblingLoader</sibling-loader>
|
||||
</language>
|
||||
</modules>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
Copyright (c) 2004-2012, Willem Cazander
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
||||
that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
|
||||
the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
-->
|
||||
<drivers version="1.0"
|
||||
xmlns="http://language.x4o.org/xml/ns/drivers"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://language.x4o.org/xml/ns/drivers http://language.x4o.org/xml/ns/drivers-1.0.xsd"
|
||||
>
|
||||
<driver language="jr4o" className="net.forwardfire.vasc.lib.jr4o.JR4ODriver"/>
|
||||
</drivers>
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
package net.forwardfire.vasc.lib.jr4o;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.swing.table.AbstractTableModel;
|
||||
|
||||
import net.forwardfire.vasc.lib.jr4o.JR4ODesignManager.JRExportType;
|
||||
import net.forwardfire.vasc.lib.jr4o.data.JRDynamicDataSourceTableModel;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class JR4ODesignManagerTest extends TestCase {
|
||||
|
||||
public void testExport() throws Exception {
|
||||
String testResourceBundle = TestResourceBundle.class.getName();
|
||||
TestTableModel testData = new TestTableModel();
|
||||
JRDynamicDataSourceTableModel dataModel = new JRDynamicDataSourceTableModel(testData,new int[]{50,100,150});
|
||||
Map<String,Object> parameters = new HashMap<String,Object>(5);
|
||||
parameters.put("title", "TEST-TITLE");
|
||||
parameters.put("description", "TEST-DESCRITION");
|
||||
parameters.put("titleSubject", "TEST-SUBJECT");
|
||||
|
||||
JR4ODesignManager manager = new JR4ODesignManager(dataModel,testResourceBundle,parameters);
|
||||
manager.parseResource("net/forwardfire/vasc/lib/jr4o/reports/dynamic-reports.xml");
|
||||
manager.saveReportFile("generic-landscape", JRExportType.PDF, "target/junit-test.pdf");
|
||||
|
||||
File output = new File("target/junit-test.pdf");
|
||||
assertTrue(output.exists());
|
||||
output.delete();
|
||||
}
|
||||
|
||||
class TestTableModel extends AbstractTableModel {
|
||||
private static final long serialVersionUID = 1L;
|
||||
String[][] data = new String[][] {
|
||||
{"1","test","data"},
|
||||
{"2","foo","bar"},
|
||||
{"3","bar","foo"},
|
||||
{"4","data","test"},
|
||||
};
|
||||
|
||||
@Override
|
||||
public int getColumnCount() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRowCount() {
|
||||
return data.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getValueAt(int row, int col) {
|
||||
return data[row][col];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package net.forwardfire.vasc.lib.jr4o;
|
||||
|
||||
import java.util.Enumeration;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
public class TestResourceBundle extends ResourceBundle {
|
||||
@Override
|
||||
public Enumeration<String> getKeys() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object handleGetObject(String key) {
|
||||
return "I18N:"+key;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue