[jasperreports] Initial import (#820548)

gil gil at fedoraproject.org
Wed Jul 11 10:06:01 UTC 2012


commit 4b2f7c4d9786226f1585d28e85427e7ef23afd3e
Author: gil <puntogil at 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/JasperReports%204.0.2/jasperreports-4.0.2-project.tar.gz
+# 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 at libero.it> 4.0.2-2
+- fix license tag
+- repackaged source0
+
+* Wed May 09 2012 gil cattaneo <puntogil at 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


More information about the scm-commits mailing list