commit 4b2f7c4d9786226f1585d28e85427e7ef23afd3e
Author: gil <puntogil(a)libero.it>
Date: Wed Jul 11 12:05:41 2012 +0200
Initial import (#820548)
.gitignore | 1 +
jasperreports-4.0.2-configure_javaflow.patch | 30 +++
jasperreports-4.0.2-disable_fonts.patch | 11 +
jasperreports-4.0.2-disable_sampleref.patch | 10 +
...orts-4.0.2-exclude_barcode4j_and_barbecue.patch | 275 ++++++++++++++++++++
jasperreports-4.0.2-no_maxmemory_for_javadoc.patch | 10 +
jasperreports-4.0.2-pom.patch | 101 +++++++
jasperreports-4.0.2-use_commons-codec.patch | 114 ++++++++
jasperreports-4.0.2-use_system_asm.patch | 20 ++
jasperreports.spec | 232 +++++++++++++++++
sources | 1 +
11 files changed, 805 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..b275618 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/jasperreports-4.0.2-clean.tar.gz
diff --git a/jasperreports-4.0.2-configure_javaflow.patch
b/jasperreports-4.0.2-configure_javaflow.patch
new file mode 100644
index 0000000..bb6c9e0
--- /dev/null
+++ b/jasperreports-4.0.2-configure_javaflow.patch
@@ -0,0 +1,30 @@
+--- build.xml 2011-04-18 19:25:21.000000000 +0200
++++ build.xml-gil 2012-05-10 09:48:10.103747350 +0200
+@@ -70,13 +70,26 @@
+
value="net.sf.jasperreports.engine.fill.JRContinuationSubreportRunnerFactory">
+ </replace>
+
+- <javaflow srcdir="./build/javaflow" dstdir="./build/javaflow"
mode="bcel">
++ <javaflow srcdir="./build/javaflow" mode="bcel">
++ <include name="net/sf/jasperreports/engine/JRStyle.class"/>
++ <include
name="net/sf/jasperreports/engine/JRTemplateReference.class"/>
++ <include name="net/sf/jasperreports/engine/JRStyleSetter.class"/>
++ <include name="net/sf/jasperreports/engine/JRVirtualizer.class"/>
++ <include
name="net/sf/jasperreports/engine/base/JRBasePrintPage.class"/>
++ <include
name="net/sf/jasperreports/engine/base/JRVirtualPrintPage.class"/>
++ <include
name="net/sf/jasperreports/engine/util/FormatFactory.class"/>
+ <include
name="net/sf/jasperreports/engine/fill/JRBaseFiller.class"/>
+ <include
name="net/sf/jasperreports/engine/fill/JRVerticalFiller.class"/>
+ <include
name="net/sf/jasperreports/engine/fill/JRHorizontalFiller.class"/>
+ <include
name="net/sf/jasperreports/engine/fill/JRFillSubreport.class"/>
+ <include
name="net/sf/jasperreports/engine/fill/JRSubreportRunnable.class"/>
+ <include
name="net/sf/jasperreports/engine/fill/JRContinuationSubreportRunner.class"/>
++ <include name="net/sf/jasperreports/engine/fill/JRFillBand.class"/>
++ <include name="net/sf/jasperreports/engine/fill/JRFillGroup.class"/>
++ <include
name="net/sf/jasperreports/engine/fill/JRBaseFiller.class"/>
++ <include
name="net/sf/jasperreports/engine/fill/JRFillReportTemplate.class"/>
++ <include
name="net/sf/jasperreports/engine/fill/JREvaluationTime.class"/>
++ <include
name="net/sf/jasperreports/engine/fill/DatasetExpressionEvaluator.class"/>
+ </javaflow>
+
+ <mkdir dir="./dist"/>
diff --git a/jasperreports-4.0.2-disable_fonts.patch
b/jasperreports-4.0.2-disable_fonts.patch
new file mode 100644
index 0000000..40c50ff
--- /dev/null
+++ b/jasperreports-4.0.2-disable_fonts.patch
@@ -0,0 +1,11 @@
+--- build.xml 2012-05-10 10:24:23.082704396 +0200
++++ build.xml-gil 2012-05-10 10:24:44.440703974 +0200
+@@ -41,7 +41,7 @@
+ </antlr>
+ </target>
+
+- <target name="jar" depends="compile, javaflow, applet, fonts"
description="Builds the JasperReports JAR files.">
++ <target name="jar" depends="compile, javaflow, applet"
description="Builds the JasperReports JAR files.">
+ <mkdir dir="./dist"/>
+ <jar jarfile="./dist/jasperreports-${version}.jar"
manifest="src/META-INF/MANIFEST.MF">
+ <fileset dir="./build/classes"/>
diff --git a/jasperreports-4.0.2-disable_sampleref.patch
b/jasperreports-4.0.2-disable_sampleref.patch
new file mode 100644
index 0000000..a9980c7
--- /dev/null
+++ b/jasperreports-4.0.2-disable_sampleref.patch
@@ -0,0 +1,10 @@
+--- build.xml 2012-05-10 10:26:30.841701871 +0200
++++ build.xml-gil 2012-05-10 10:28:33.751699440 +0200
+@@ -448,6 +448,6 @@
+ </copy>
+ </target>
+
+- <target name="docs" depends="javadoc, schemaref, configref,
sampleref" description="Generates all documentation."/>
++ <target name="docs" depends="javadoc, schemaref, configref"
description="Generates all documentation."/>
+
+ </project>
diff --git a/jasperreports-4.0.2-exclude_barcode4j_and_barbecue.patch
b/jasperreports-4.0.2-exclude_barcode4j_and_barbecue.patch
new file mode 100644
index 0000000..0247852
--- /dev/null
+++ b/jasperreports-4.0.2-exclude_barcode4j_and_barbecue.patch
@@ -0,0 +1,275 @@
+diff -Nru jasperreports-4.0.2/build.xml jasperreports-4.0.2-gil/build.xml
+--- jasperreports-4.0.2/build.xml 2012-05-10 09:52:32.322742166 +0200
++++ jasperreports-4.0.2-gil/build.xml 2012-05-10 09:51:13.961743715 +0200
+@@ -7,6 +7,8 @@
+ <target name="compile" description="Compiles the java source files of
the library.">
+ <mkdir dir="./build/classes"/>
+ <javac destdir="./build/classes" debug="true"
optimize="false" deprecation="true" target="1.5"
source="1.5" encoding="ISO-8859-1">
++ <exclude name="**/barcode4j/*.java"/>
++ <exclude name="**/barbecue/*.java"/>
+ <classpath>
+ <pathelement location="./build/classes"/>
+ <fileset dir="./lib">
+diff -Nru
jasperreports-4.0.2/src/net/sf/jasperreports/components/ComponentsExtensionsRegistryFactory.java
jasperreports-4.0.2-gil/src/net/sf/jasperreports/components/ComponentsExtensionsRegistryFactory.java
+---
jasperreports-4.0.2/src/net/sf/jasperreports/components/ComponentsExtensionsRegistryFactory.java 2011-01-22
19:29:51.000000000 +0100
++++
jasperreports-4.0.2-gil/src/net/sf/jasperreports/components/ComponentsExtensionsRegistryFactory.java 2012-05-10
09:51:13.635743721 +0200
+@@ -27,12 +27,6 @@
+ import java.util.HashMap;
+ import java.util.List;
+
+-import net.sf.jasperreports.components.barbecue.BarbecueCompiler;
+-import net.sf.jasperreports.components.barbecue.BarbecueDesignConverter;
+-import net.sf.jasperreports.components.barbecue.BarbecueFillFactory;
+-import net.sf.jasperreports.components.barcode4j.BarcodeCompiler;
+-import net.sf.jasperreports.components.barcode4j.BarcodeDesignConverter;
+-import net.sf.jasperreports.components.barcode4j.BarcodeFillFactory;
+ import net.sf.jasperreports.components.list.FillListFactory;
+ import net.sf.jasperreports.components.list.ListComponent;
+ import net.sf.jasperreports.components.list.ListComponentCompiler;
+@@ -113,23 +107,6 @@
+ tableManager.setComponentFillFactory(new FillTableFactory());
+ componentManagers.put(TABLE_COMPONENT_NAME, tableManager);
+
+- DefaultComponentManager barbecueManager = new DefaultComponentManager();
+- barbecueManager.setDesignConverter(new BarbecueDesignConverter());
+- barbecueManager.setComponentCompiler(new BarbecueCompiler());
+- barbecueManager.setComponentXmlWriter(xmlHandler);
+- barbecueManager.setComponentFillFactory(new BarbecueFillFactory());
+- componentManagers.put(BARBECUE_COMPONENT_NAME, barbecueManager);
+-
+- DefaultComponentManager barcode4jManager = new DefaultComponentManager();
+- barcode4jManager.setDesignConverter(new BarcodeDesignConverter());
+- barcode4jManager.setComponentCompiler(new BarcodeCompiler());
+- barcode4jManager.setComponentXmlWriter(xmlHandler);
+- barcode4jManager.setComponentFillFactory(new BarcodeFillFactory());
+- for (int i = 0; i < BARCODE4J_COMPONENT_NAMES.length; i++)
+- {
+- componentManagers.put(BARCODE4J_COMPONENT_NAMES[i], barcode4jManager);
+- }
+-
+ DefaultComponentManager spiderChartManager = new DefaultComponentManager();
+ spiderChartManager.setDesignConverter(new SpiderChartDesignConverter());
+ spiderChartManager.setComponentCompiler(new SpiderChartCompiler());
+diff -Nru
jasperreports-4.0.2/src/net/sf/jasperreports/components/ComponentsXmlHandler.java
jasperreports-4.0.2-gil/src/net/sf/jasperreports/components/ComponentsXmlHandler.java
+---
jasperreports-4.0.2/src/net/sf/jasperreports/components/ComponentsXmlHandler.java 2011-01-22
19:29:51.000000000 +0100
++++
jasperreports-4.0.2-gil/src/net/sf/jasperreports/components/ComponentsXmlHandler.java 2012-05-10
09:51:13.961743715 +0200
+@@ -28,24 +28,24 @@
+
+ import net.sf.jasperreports.charts.design.JRDesignCategorySeries;
+ import net.sf.jasperreports.charts.xml.JRCategorySeriesFactory;
+-import net.sf.jasperreports.components.barbecue.BarbecueComponent;
+-import net.sf.jasperreports.components.barbecue.StandardBarbecueComponent;
+-import net.sf.jasperreports.components.barcode4j.BarcodeComponent;
+-import net.sf.jasperreports.components.barcode4j.BarcodeXmlWriter;
+-import net.sf.jasperreports.components.barcode4j.CodabarComponent;
+-import net.sf.jasperreports.components.barcode4j.Code128Component;
+-import net.sf.jasperreports.components.barcode4j.Code39Component;
+-import net.sf.jasperreports.components.barcode4j.DataMatrixComponent;
+-import net.sf.jasperreports.components.barcode4j.EAN128Component;
+-import net.sf.jasperreports.components.barcode4j.EAN13Component;
+-import net.sf.jasperreports.components.barcode4j.EAN8Component;
+-import net.sf.jasperreports.components.barcode4j.Interleaved2Of5Component;
+-import net.sf.jasperreports.components.barcode4j.PDF417Component;
+-import net.sf.jasperreports.components.barcode4j.POSTNETComponent;
+-import net.sf.jasperreports.components.barcode4j.RoyalMailCustomerComponent;
+-import net.sf.jasperreports.components.barcode4j.UPCAComponent;
+-import net.sf.jasperreports.components.barcode4j.UPCEComponent;
+-import net.sf.jasperreports.components.barcode4j.USPSIntelligentMailComponent;
++//import net.sf.jasperreports.components.barbecue.BarbecueComponent;
++//import net.sf.jasperreports.components.barbecue.StandardBarbecueComponent;
++//import net.sf.jasperreports.components.barcode4j.BarcodeComponent;
++//import net.sf.jasperreports.components.barcode4j.BarcodeXmlWriter;
++//import net.sf.jasperreports.components.barcode4j.CodabarComponent;
++//import net.sf.jasperreports.components.barcode4j.Code128Component;
++//import net.sf.jasperreports.components.barcode4j.Code39Component;
++//import net.sf.jasperreports.components.barcode4j.DataMatrixComponent;
++//import net.sf.jasperreports.components.barcode4j.EAN128Component;
++//import net.sf.jasperreports.components.barcode4j.EAN13Component;
++//import net.sf.jasperreports.components.barcode4j.EAN8Component;
++//import net.sf.jasperreports.components.barcode4j.Interleaved2Of5Component;
++//import net.sf.jasperreports.components.barcode4j.PDF417Component;
++//import net.sf.jasperreports.components.barcode4j.POSTNETComponent;
++//import net.sf.jasperreports.components.barcode4j.RoyalMailCustomerComponent;
++//import net.sf.jasperreports.components.barcode4j.UPCAComponent;
++//import net.sf.jasperreports.components.barcode4j.UPCEComponent;
++//import net.sf.jasperreports.components.barcode4j.USPSIntelligentMailComponent;
+ import net.sf.jasperreports.components.charts.ChartSettings;
+ import net.sf.jasperreports.components.charts.ChartSettingsXmlFactory;
+ import net.sf.jasperreports.components.list.DesignListContents;
+@@ -108,8 +108,6 @@
+ public void configureDigester(Digester digester)
+ {
+ addListRules(digester);
+- addBarbecueRules(digester);
+- addBarcode4jRules(digester);
+ addTableRules(digester);
+ addSpiderChartRules(digester);
+ }
+@@ -131,107 +129,6 @@
+ digester.addSetNext(listContentsPattern, "setContents");
+ }
+
+- protected void addBarbecueRules(Digester digester)
+- {
+- String barcodePattern = "*/componentElement/barbecue";
+- digester.addObjectCreate(barcodePattern, StandardBarbecueComponent.class);
+- digester.addSetProperties(barcodePattern,
+- //properties to be ignored by this rule
+- new String[]{JRXmlConstants.ATTRIBUTE_evaluationTime,
StandardBarbecueComponent.PROPERTY_ROTATION},
+- new String[0]);
+- digester.addRule(barcodePattern,
+- new XmlConstantPropertyRule(
+- JRXmlConstants.ATTRIBUTE_evaluationTime, "evaluationTimeValue",
+- EvaluationTimeEnum.values()));
+- digester.addRule(barcodePattern,
+- new XmlConstantPropertyRule(
+- StandardBarbecueComponent.PROPERTY_ROTATION,
+- RotationEnum.values()));
+-
+- String barcodeExpressionPattern = barcodePattern + "/codeExpression";
+- digester.addFactoryCreate(barcodeExpressionPattern,
+- JRExpressionFactory.StringExpressionFactory.class.getName());
+- digester.addCallMethod(barcodeExpressionPattern, "setText", 0);
+- digester.addSetNext(barcodeExpressionPattern, "setCodeExpression",
+- JRExpression.class.getName());
+-
+- String applicationIdentifierExpressionPattern = barcodePattern
+- + "/applicationIdentifierExpression";
+- digester.addFactoryCreate(applicationIdentifierExpressionPattern,
+- JRExpressionFactory.StringExpressionFactory.class.getName());
+- digester.addCallMethod(applicationIdentifierExpressionPattern, "setText",
0);
+- digester.addSetNext(applicationIdentifierExpressionPattern,
+- "setApplicationIdentifierExpression",
+- JRExpression.class.getName());
+- }
+-
+- protected void addBarcode4jRules(Digester digester)
+- {
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/Codabar",
+- CodabarComponent.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/Code128",
+- Code128Component.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/EAN128",
+- EAN128Component.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/DataMatrix",
+- DataMatrixComponent.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/RoyalMailCustomer",
+- RoyalMailCustomerComponent.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/USPSIntelligentMail",
+- USPSIntelligentMailComponent.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/Code39", Code39Component.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/Interleaved2Of5", Interleaved2Of5Component.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/UPCA", UPCAComponent.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/UPCE", UPCEComponent.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/EAN13", EAN13Component.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/EAN8", EAN8Component.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/POSTNET", POSTNETComponent.class);
+- addBaseBarcode4jRules(digester,
+- "*/componentElement/PDF417", PDF417Component.class);
+- }
+-
+- protected void addBaseBarcode4jRules(Digester digester,
+- String barcodePattern, Class barcodeComponentClass)
+- {
+- digester.addObjectCreate(barcodePattern, barcodeComponentClass);
+- digester.addSetProperties(barcodePattern,
+- //properties to be ignored by this rule
+- new String[]{JRXmlConstants.ATTRIBUTE_evaluationTime},
+- new String[0]);
+- //rule to set evaluation time
+- digester.addRule(barcodePattern,
+- new XmlConstantPropertyRule(
+- JRXmlConstants.ATTRIBUTE_evaluationTime, "evaluationTimeValue",
+- EvaluationTimeEnum.values()));
+-
+- String codeExpressionPattern = barcodePattern + "/codeExpression";
+- digester.addFactoryCreate(codeExpressionPattern,
+- JRExpressionFactory.StringExpressionFactory.class.getName());
+- digester.addCallMethod(codeExpressionPattern, "setText", 0);
+- digester.addSetNext(codeExpressionPattern, "setCodeExpression",
+- JRExpression.class.getName());
+-
+- String patternExpressionPattern = barcodePattern + "/patternExpression";
+- digester.addFactoryCreate(patternExpressionPattern,
+- JRExpressionFactory.StringExpressionFactory.class.getName());
+- digester.addCallMethod(patternExpressionPattern, "setText", 0);
+- digester.addSetNext(patternExpressionPattern, "setPatternExpression",
+- JRExpression.class.getName());
+- }
+-
+ protected void addTableRules(Digester digester)
+ {
+ String tablePattern = "*/componentElement/table";
+@@ -323,18 +220,6 @@
+ TableComponent table = (TableComponent) component;
+ writeTable(table, componentKey, reportWriter);
+ }
+- else if (component instanceof BarbecueComponent)
+- {
+- BarbecueComponent barcode = (BarbecueComponent) component;
+- writeBarbecue(barcode, componentKey, reportWriter);
+- }
+- else if (component instanceof BarcodeComponent)
+- {
+- BarcodeComponent barcode = (BarcodeComponent) component;
+- BarcodeXmlWriter barcodeWriter = new BarcodeXmlWriter(
+- reportWriter, barcode, componentKey);
+- barcodeWriter.writeBarcode();
+- }
+ else if (component instanceof SpiderChartComponent)
+ {
+ SpiderChartComponent spiderChart = (SpiderChartComponent) component;
+@@ -367,40 +252,6 @@
+
+ writer.closeElement();
+ }
+-
+- protected void writeBarbecue(BarbecueComponent barcode, ComponentKey componentKey,
+- JRXmlWriter reportWriter) throws IOException
+- {
+- JRXmlWriteHelper writer = reportWriter.getXmlWriteHelper();
+-
+- XmlNamespace namespace = new XmlNamespace(
+- ComponentsExtensionsRegistryFactory.NAMESPACE,
+- componentKey.getNamespacePrefix(),
+- ComponentsExtensionsRegistryFactory.XSD_LOCATION);
+-
+- writer.startElement("barbecue", namespace);
+-
+- writer.addAttribute("type", barcode.getType());
+- writer.addAttribute("drawText", barcode.isDrawText());
+- writer.addAttribute("checksumRequired", barcode.isChecksumRequired());
+- writer.addAttribute("barWidth", barcode.getBarWidth());
+- writer.addAttribute("barHeight", barcode.getBarHeight());
+- writer.addAttribute("rotation", barcode.getOwnRotation());
+- if (barcode.getEvaluationTimeValue() != EvaluationTimeEnum.NOW)
+- {
+- writer.addAttribute(JRXmlConstants.ATTRIBUTE_evaluationTime,
+- barcode.getEvaluationTimeValue());
+- }
+- writer.addAttribute(JRXmlConstants.ATTRIBUTE_evaluationGroup,
+- barcode.getEvaluationGroup());
+-
+- writer.writeExpression("codeExpression",
+- barcode.getCodeExpression(), false);
+- writer.writeExpression("applicationIdentifierExpression",
+- barcode.getApplicationIdentifierExpression(), false);
+-
+- writer.closeElement();
+- }
+
+ protected void writeTable(TableComponent table, ComponentKey componentKey,
+ final JRXmlWriter reportWriter) throws IOException
diff --git a/jasperreports-4.0.2-no_maxmemory_for_javadoc.patch
b/jasperreports-4.0.2-no_maxmemory_for_javadoc.patch
new file mode 100644
index 0000000..9ed5577
--- /dev/null
+++ b/jasperreports-4.0.2-no_maxmemory_for_javadoc.patch
@@ -0,0 +1,10 @@
+--- build.xml 2012-05-10 10:03:15.496729451 +0200
++++ build.xml-gil 2012-05-10 10:03:47.410728822 +0200
+@@ -340,7 +340,6 @@
+ use="true"
+ windowtitle="JasperReports ${version} API"
+ excludepackagenames="org.w3c.tools.codec"
+- maxmemory="128m"
+ encoding="ISO-8859-1">
+ <doctitle>
+ <![CDATA[
diff --git a/jasperreports-4.0.2-pom.patch b/jasperreports-4.0.2-pom.patch
new file mode 100644
index 0000000..643f3cf
--- /dev/null
+++ b/jasperreports-4.0.2-pom.patch
@@ -0,0 +1,101 @@
+--- pom.xml 2011-04-12 18:50:43.000000000 +0200
++++ pom.xml-gil 2012-05-10 09:08:41.274794173 +0200
+@@ -164,6 +164,18 @@
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
++ <groupId>org.apache.commons</groupId>
++ <artifactId>commons-codec</artifactId>
++ <version>1.4</version>
++ <scope>compile</scope>
++ </dependency>
++ <dependency>
++ <groupId>asm</groupId>
++ <artifactId>asm</artifactId>
++ <version>3.3.1</version>
++ <scope>compile</scope>
++ </dependency>
++ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <version>3.0.5</version>
+@@ -234,14 +246,14 @@
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+- <groupId>eclipse</groupId>
+- <artifactId>jdtcore</artifactId>
++ <groupId>org.eclipse.jdt</groupId>
++ <artifactId>core</artifactId>
+ <version>3.1.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+- <artifactId>groovy-all</artifactId>
++ <artifactId>groovy</artifactId>
+ <version>1.7.5</version>
+ <scope>compile</scope>
+ <optional>true</optional>
+@@ -267,27 +279,27 @@
+ <scope>compile</scope>
+ <optional>true</optional>
+ </dependency>
+- <dependency>
++ <!--dependency>
+ <groupId>com.keypoint</groupId>
+ <artifactId>png-encoder</artifactId>
+ <version>1.5</version>
+ <scope>compile</scope>
+ <optional>true</optional>
+- </dependency>
++ </dependency-->
+ <dependency>
+ <groupId>commons-javaflow</groupId>
+ <artifactId>commons-javaflow</artifactId>
+- <version>20060411</version>
++ <version>1.0</version>
+ <scope>compile</scope>
+ <optional>true</optional>
+ </dependency>
+- <dependency>
++ <!--dependency>
+ <groupId>mondrian</groupId>
+ <artifactId>mondrian</artifactId>
+ <version>3.1.1.12687</version>
+ <scope>compile</scope>
+ <optional>true</optional>
+- </dependency>
++ </dependency-->
+ <dependency>
+ <groupId>javax.persistence</groupId>
+ <artifactId>persistence-api</artifactId>
+@@ -321,9 +333,9 @@
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+- <groupId>org.beanshell</groupId>
++ <groupId>bsh</groupId>
+ <artifactId>bsh</artifactId>
+- <version>2.0b4</version>
++ <version>1.3.0</version>
+ <scope>compile</scope>
+ <optional>true</optional>
+ </dependency>
+@@ -404,7 +416,7 @@
+ <scope>compile</scope>
+ <optional>true</optional>
+ </dependency>
+- <dependency>
++ <!--dependency>
+ <groupId>net.sf.barcode4j</groupId>
+ <artifactId>barcode4j</artifactId>
+ <version>2.0</version>
+@@ -417,6 +429,6 @@
+ <version>1.5-beta1</version>
+ <scope>compile</scope>
+ <optional>true</optional>
+- </dependency>
++ </dependency-->
+ </dependencies>
+ </project>
diff --git a/jasperreports-4.0.2-use_commons-codec.patch
b/jasperreports-4.0.2-use_commons-codec.patch
new file mode 100644
index 0000000..09ebf54
--- /dev/null
+++ b/jasperreports-4.0.2-use_commons-codec.patch
@@ -0,0 +1,114 @@
+diff -Nru jasperreports-4.0.2/src/net/sf/jasperreports/engine/export/JRXmlExporter.java
jasperreports-4.0.2-gil/src/net/sf/jasperreports/engine/export/JRXmlExporter.java
+---
jasperreports-4.0.2/src/net/sf/jasperreports/engine/export/JRXmlExporter.java 2011-04-18
12:10:53.000000000 +0200
++++
jasperreports-4.0.2-gil/src/net/sf/jasperreports/engine/export/JRXmlExporter.java 2012-05-10
10:14:47.175715780 +0200
+@@ -90,7 +90,7 @@
+ import net.sf.jasperreports.engine.util.JRXmlWriteHelper;
+ import net.sf.jasperreports.engine.xml.JRXmlConstants;
+
+-import org.w3c.tools.codec.Base64Encoder;
++import org.apache.commons.codec.binary.Base64;
+
+
+ /**
+@@ -843,13 +843,8 @@
+ {
+ try
+ {
+- ByteArrayInputStream bais = new ByteArrayInputStream(renderer.getImageData());
+- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+-
+- Base64Encoder encoder = new Base64Encoder(bais, baos);
+- encoder.process();
+-
+- imageSource = new String(baos.toByteArray(), DEFAULT_XML_ENCODING);
++ byte[] byteOut = Base64.decodeBase64(renderer.getImageData());
++ imageSource = new String(byteOut, DEFAULT_XML_ENCODING);
+ }
+ catch (IOException e)
+ {
+diff -Nru
jasperreports-4.0.2/src/net/sf/jasperreports/engine/util/JRValueStringUtils.java
jasperreports-4.0.2-gil/src/net/sf/jasperreports/engine/util/JRValueStringUtils.java
+---
jasperreports-4.0.2/src/net/sf/jasperreports/engine/util/JRValueStringUtils.java 2011-01-22
19:30:02.000000000 +0100
++++
jasperreports-4.0.2-gil/src/net/sf/jasperreports/engine/util/JRValueStringUtils.java 2012-05-10
10:14:47.176715779 +0200
+@@ -34,9 +34,7 @@
+
+ import net.sf.jasperreports.engine.JRRuntimeException;
+
+-import org.w3c.tools.codec.Base64Decoder;
+-import org.w3c.tools.codec.Base64Encoder;
+-import org.w3c.tools.codec.Base64FormatException;
++import org.apache.commons.codec.binary.Base64;
+
+
+ /**
+@@ -459,12 +457,8 @@
+ {
+ try
+ {
+- ByteArrayInputStream dataIn = new ByteArrayInputStream(data.getBytes());
+- ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
+- Base64Decoder dec = new Base64Decoder(dataIn, bytesOut);
+- dec.process();
+-
+- ByteArrayInputStream bytesIn = new ByteArrayInputStream(bytesOut.toByteArray());
++ byte[] bytesOut = Base64.decodeBase64(data.getBytes());
++ ByteArrayInputStream bytesIn = new ByteArrayInputStream(bytesOut);
+ ObjectInputStream objectIn = new ObjectInputStream(bytesIn);
+ return objectIn.readObject();
+ }
+@@ -476,10 +470,6 @@
+ {
+ throw new JRRuntimeException(e);
+ }
+- catch (Base64FormatException e)
+- {
+- throw new JRRuntimeException(e);
+- }
+ }
+
+ public String serialize(Object value)
+@@ -490,14 +480,9 @@
+ ObjectOutputStream objectOut = new ObjectOutputStream(bytesOut);
+ objectOut.writeObject(value);
+ objectOut.close();
+-
+- ByteArrayInputStream bytesIn = new ByteArrayInputStream(bytesOut.toByteArray());
+- ByteArrayOutputStream dataOut = new ByteArrayOutputStream();
+-
+- Base64Encoder enc = new Base64Encoder(bytesIn, dataOut);
+- enc.process();
+-
+- return new String(dataOut.toByteArray(), "UTF-8");
++
++ byte[] dataOut = Base64.decodeBase64(bytesOut.toByteArray());
++ return new String(dataOut, "UTF-8");
+ }
+ catch (NotSerializableException e)
+ {
+diff -Nru
jasperreports-4.0.2/src/net/sf/jasperreports/engine/xml/JRPrintImageSourceObject.java
jasperreports-4.0.2-gil/src/net/sf/jasperreports/engine/xml/JRPrintImageSourceObject.java
+---
jasperreports-4.0.2/src/net/sf/jasperreports/engine/xml/JRPrintImageSourceObject.java 2011-01-22
19:30:11.000000000 +0100
++++
jasperreports-4.0.2-gil/src/net/sf/jasperreports/engine/xml/JRPrintImageSourceObject.java 2012-05-10
10:14:47.177715778 +0200
+@@ -30,7 +30,7 @@
+ import net.sf.jasperreports.engine.JRImageRenderer;
+ import net.sf.jasperreports.engine.JRPrintImage;
+
+-import org.w3c.tools.codec.Base64Decoder;
++import org.apache.commons.codec.binary.Base64;
+
+
+ /**
+@@ -79,13 +79,8 @@
+ {
+ try
+ {
+- ByteArrayInputStream bais = new
ByteArrayInputStream(imageSource.getBytes("UTF-8"));//FIXMENOW other encodings
?
+- ByteArrayOutputStream baos = new ByteArrayOutputStream();
+-
+- Base64Decoder decoder = new Base64Decoder(bais, baos);
+- decoder.process();
+-
+- printImage.setRenderer(JRImageRenderer.getInstance(baos.toByteArray()));//,
JRImage.ON_ERROR_TYPE_ERROR));
++ byte[] decodedBytes =
Base64.decodeBase64(imageSource.getBytes("UTF-8"));//FIXMENOW other encodings ?
++ printImage.setRenderer(JRImageRenderer.getInstance(decodedBytes));//,
JRImage.ON_ERROR_TYPE_ERROR));
+ }
+ catch (Exception e)
+ {
diff --git a/jasperreports-4.0.2-use_system_asm.patch
b/jasperreports-4.0.2-use_system_asm.patch
new file mode 100644
index 0000000..c9f880d
--- /dev/null
+++ b/jasperreports-4.0.2-use_system_asm.patch
@@ -0,0 +1,20 @@
+--- src/net/sf/jasperreports/compilers/JRGroovyCompiler.java 2011-01-22
19:30:18.000000000 +0100
++++ src/net/sf/jasperreports/compilers/JRGroovyCompiler.java-gil 2012-05-10
09:41:11.617755621 +0200
+@@ -28,8 +28,8 @@
+ */
+ package net.sf.jasperreports.compilers;
+
+-import groovyjarjarasm.asm.ClassVisitor;
+-import groovyjarjarasm.asm.ClassWriter;
++import org.objectweb.asm.ClassVisitor;
++import org.objectweb.asm.ClassWriter;
+
+ import java.io.ByteArrayInputStream;
+ import java.io.File;
+@@ -181,4 +181,4 @@
+ }
+
+
+-}
+\ Manca newline alla fine del file
++}
diff --git a/jasperreports.spec b/jasperreports.spec
new file mode 100644
index 0000000..27f643d
--- /dev/null
+++ b/jasperreports.spec
@@ -0,0 +1,232 @@
+Name: jasperreports
+# the JR newest release requires
+# xmlbeans >= 2.5.0
+# castor-xml modules see also
https://bugzilla.redhat.com/show_bug.cgi?id=820676
+Version: 4.0.2
+Release: 2%{?dist}
+Summary: Report-generating tool
+Group: Development/Libraries
+License: LGPLv3+
+URL:
http://jasperforge.org/projects/jasperreports/
+# wget
http://sourceforge.net/projects/jasperreports/files/jasperreports/JasperR...
+# tar xf jasperreports-4.0.2-project.tar.gz
+# find jasperreports-4.0.2 -name '*.class' -delete
+# find jasperreports-4.0.2 -name '*.jar' -delete
+# rm -rf lib/*
+# tar czf jasperreports-4.0.2-clean.tar.gz jasperreports-4.0.2
+Source0: %{name}-%{version}-clean.tar.gz
+# remove groovy-all.jar references
+Patch0: %{name}-%{version}-use_system_asm.patch
+# configure javaflow ant task
+# build fix for commons-javaflow 1.0
+Patch1: %{name}-%{version}-configure_javaflow.patch
+# exclude Barcode4J and Barbecue modules
+Patch2: %{name}-%{version}-exclude_barcode4j_and_barbecue.patch
+# remove Xmx128m to javadoc task
+Patch3: %{name}-%{version}-no_maxmemory_for_javadoc.patch
+# use commons-codec instead of unavailable (non free) W3C Base64 decode/encode
+Patch4: %{name}-%{version}-use_commons-codec.patch
+# don't build -font.jar
+Patch5: %{name}-%{version}-disable_fonts.patch
+# disable build of sampleref
+Patch6: %{name}-%{version}-disable_sampleref.patch
+# add
+# asm
+# commons-codec
+# change
+# artifactId groovy-all in groovy
+# eclipse jdtcore in org.eclipse.jdt core
+# commons-javaflow version 20060411 >> 1.0
+# org.beanshell bsh 2.0b4 in bsh bsh 1.3.0
+# remove unavailable build deps
+# com.keypoint png-encoder 1.5
+# mondrian mondrian 3.1.1.12687
+# net.sf.barcode4j barcode4j 2.0
+# net.sourceforge.barbecue barbecue 1.5-beta1
+Patch7: %{name}-%{version}-pom.patch
+
+BuildRequires: java-devel
+BuildRequires: jpackage-utils
+
+BuildRequires: ant
+BuildRequires: antlr
+BuildRequires: apache-commons-beanutils
+BuildRequires: apache-commons-codec
+BuildRequires: apache-commons-collections
+BuildRequires: apache-commons-digester
+BuildRequires: apache-commons-javaflow
+BuildRequires: apache-commons-logging
+BuildRequires: apache-poi
+BuildRequires: batik
+BuildRequires: bcel
+BuildRequires: bsh
+BuildRequires: dom4j
+BuildRequires: ecj >= 1:3.4.2-13
+BuildRequires: geronimo-saaj
+BuildRequires: groovy
+BuildRequires: hibernate3
+BuildRequires: hibernate-jpa-2.0-api
+BuildRequires: hsqldb
+BuildRequires: iText
+BuildRequires: jaxen
+BuildRequires: jcommon
+BuildRequires: jexcelapi
+BuildRequires: jfreechart
+BuildRequires: log4j
+BuildRequires: objectweb-asm
+BuildRequires: rhino
+BuildRequires: springframework
+BuildRequires: springframework-beans
+BuildRequires: tomcat-servlet-3.0-api
+BuildRequires: xalan-j2
+BuildRequires: xerces-j2
+BuildRequires: xml-commons-apis
+
+Requires: apache-commons-beanutils
+Requires: apache-commons-codec
+Requires: apache-commons-collections
+Requires: apache-commons-digester
+Requires: apache-commons-javaflow
+Requires: apache-commons-logging
+Requires: batik
+Requires: bcel
+Requires: ecj >= 1:3.4.2-13
+Requires: geronimo-saaj
+Requires: hsqldb
+Requires: iText
+Requires: jcommon
+Requires: jfreechart
+Requires: springframework
+Requires: springframework-beans
+Requires: tomcat-servlet-3.0-api
+
+Requires: java
+Requires: jpackage-utils
+BuildArch: noarch
+
+%description
+JasperReports is a powerful open source
+report-generating tool that has the ability
+to deliver rich content onto the screen, to
+the printer or into PDF, HTML, XLS, CSV and
+XML files. It is entirely written in Java
+and can be used in a variety of Java enabled
+applications, including J2EE or Web
+Its main purpose is to help creating page
+oriented, ready to print documents in a
+simple and flexible manner.
+
+%package javadoc
+Group: Documentation
+Summary: Javadoc for %{name}
+Requires: jpackage-utils
+
+%description javadoc
+This package contains javadoc for %{name}.
+
+%package manual
+Group: Documentation
+Summary: Manual for %{name}
+
+%description manual
+Documentation for %{name}.
+
+%prep
+%setup -q
+find . -name 'PieChartReport.bak' -delete
+%patch0 -p0
+%patch1 -p0
+%patch2 -p1
+%patch3 -p0
+%patch4 -p1
+%patch5 -p0
+%patch6 -p0
+%patch7 -p0
+
+sed -i 's/\r//' changes.txt
+
+ln -sf $(build-classpath ant) lib/ant-1.7.1.jar
+ln -sf $(build-classpath antlr) lib/antlr-2.7.5.jar
+ln -sf $(build-classpath batik-all) lib/
+ln -sf $(build-classpath bcel) lib/bcel-5.2.jar
+ln -sf $(build-classpath bsh) lib/bsh-2.0b4.jar
+ln -sf $(build-classpath commons-beanutils) lib/commons-beanutils-1.8.0.jar
+ln -sf $(build-classpath commons-codec) lib/
+ln -sf $(build-classpath commons-collections) lib/commons-collections-2.1.1.jar
+ln -sf $(build-classpath commons-digester) lib/commons-digester-1.7.jar
+ln -sf $(build-classpath commons-javaflow) lib/commons-javaflow-20060411.jar
+ln -sf $(build-classpath commons-logging) lib/commons-logging-1.0.4.jar
+ln -sf $(build-classpath dom4j) lib/dom4j-1.6.1.jar
+ln -sf $(build-classpath ecj) lib/jdt-compiler-3.1.1.jar
+ln -sf $(build-classpath hibernate3/hibernate-core) lib/hibernate3.jar
+ln -sf $(build-classpath hibernate-jpa-2.0-api) lib/jpa.jar
+ln -sf $(build-classpath springframework/spring-beans) lib/spring-beans-2.5.5.jar
+ln -sf $(build-classpath springframework/spring-core) lib/spring-core-2.5.5.jar
+ln -sf $(build-classpath groovy) lib/groovy-all-1.7.5.jar
+ln -sf $(build-classpath hsqldb) lib/hsqldb-1.8.0-10.jar
+ln -sf $(build-classpath itext) lib/iText-2.1.7.jar
+ln -sf $(build-classpath jaxen) lib/jaxen-1.1.1.jar
+ln -sf $(build-classpath jcommon) lib/jcommon-1.0.15.jar
+ln -sf $(build-classpath jfreechart/jfreechart) lib/jfreechart-1.0.12.jar
+ln -sf $(build-classpath jxl) lib/jxl-2.6.10.jar
+ln -sf $(build-classpath log4j) lib/log4j-1.2.15.jar
+ln -sf $(build-classpath objectweb-asm/asm) lib/
+ln -sf $(build-classpath poi/apache-poi) lib/poi-3.6.jar
+ln -sf $(build-classpath rhino) lib/rhino-1.7R1.jar
+ln -sf $(build-classpath geronimo-saaj) lib/saaj-api-1.3.jar
+ln -sf $(build-classpath tomcat-servlet-3.0-api) lib/servlet.jar
+ln -sf $(build-classpath xalan-j2) lib/xalan-2.7.1.jar
+ln -sf $(build-classpath xalan-j2-serializer) lib/serializer.jar
+ln -sf $(build-classpath xerces-j2) lib/xercesImpl-2.7.0.jar
+ln -sf $(build-classpath xml-commons-apis) lib/xml-apis.jar
+ln -sf $(build-classpath xml-commons-apis-ext) lib/xml-apis-ext.jar
+
+# remove. cause: unwanted
+rm -rf src/org/w3c/tools/codec/Base64*
+
+# remove. cause: unavailable build deps
+rm -rf src/net/sf/jasperreports/data/mondrian/* \
+ src/net/sf/jasperreports/olap/*
+
+sed -i 's|deprecation="true"|deprecation="false"|' build.xml
+
+%build
+# DO NOT USE maven for build
+%ant jar docs
+
+%install
+
+mkdir -p %{buildroot}%{_javadir}/%{name}
+install -m 644 dist/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}.jar
+install -m 644 dist/%{name}-applet-%{version}.jar
%{buildroot}%{_javadir}/%{name}/%{name}-applet.jar
+install -m 644 dist/%{name}-javaflow-%{version}.jar
%{buildroot}%{_javadir}/%{name}/%{name}-javaflow.jar
+
+mkdir -p %{buildroot}%{_mavenpomdir}
+install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}.pom
+%add_maven_depmap JPP.%{name}-%{name}.pom %{name}/%{name}.jar -a
"%{name}:%{name}"
+
+mkdir -p %{buildroot}%{_javadocdir}/%{name}
+cp -rp dist/docs/api/* %{buildroot}%{_javadocdir}/%{name}
+rm -rf dist/docs/api
+
+%files
+%{_javadir}/%{name}
+%{_mavenpomdir}/JPP.%{name}-%{name}.pom
+%{_mavendepmapfragdir}/%{name}
+%doc *.txt
+
+%files javadoc
+%{_javadocdir}/%{name}
+%doc license.txt
+
+%files manual
+%doc dist/docs/*
+%doc license.txt
+
+%changelog
+* Mon Jul 09 2012 gil cattaneo <puntogil(a)libero.it> 4.0.2-2
+- fix license tag
+- repackaged source0
+
+* Wed May 09 2012 gil cattaneo <puntogil(a)libero.it> 4.0.2-1
+- initial rpm
\ No newline at end of file
diff --git a/sources b/sources
index e69de29..f004d08 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+5b63db9d7fdbd8304a7edce661604600 jasperreports-4.0.2-clean.tar.gz