Jump to content
We've recently updated our Privacy Statement, available here ×

loge

Members
  • Posts

    58
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Posts posted by loge

  1. HI,

    i am migrating from ant to gradle and having some weird stacktrace when trying to run the compile task:

    task jaspercompile << {
        description 'Compiling JasperReports Source Files'
        def jasperSourceDir = file('src/main/reports/jasper')
        def runtimeClassPathAndWebappFiles = sourceSets.main.runtimeClasspath.asPath
        println runtimeClassPathAndWebappFiles
        ant {
            taskdef(name: 'jrc', classname: 'net.sf.jasperreports.ant.JRAntCompileTask',
                    classpath: configurations.jasperreports.asPath)
            sourceSets.main.output.classesDir.mkdirs()
            jrc(srcdir: jasperSourceDir, destdir: sourceSets.main.output.classesDir) {
                classpath(path: runtimeClassPathAndWebappFiles)
                include(name: '**/*.jrxml')
            }
        }
    }
     
     

    The code above is just the gradle task. The classpath contains all spring jars needed, even the core jars with the Resource.class from Spring. The stack below shows that Jasper wants to load the Spring Extension Factory class (which i could disable - which would be a possible workaround) which in turn seems trying to load the Resource.class from Spring. Of course the same ANT task works in ANT w/o problems. Dont know whats the problem here. Perhaps someone has a pointer. I dont even know why jasper wants to load the Resource.class. I never used a Spring object within my jasper resports.

     

    * Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':jaspercompile'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:43)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:30)
    at org.gradle.tooling.internal.provider.ConfiguringBuildAction.run(ConfiguringBuildAction.java:119)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:46)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
    Caused by: : java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:116)
    at org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:77)
    at org.gradle.api.internal.project.ant.BasicAntBuilder.doInvokeMethod(BasicAntBuilder.java:92)
    at build_enyfkb1wy5p82fd0soomf45jp$_run_closure7_closure28.doCall(/Users/ml/Development/java/projects/Netversys3/build.gradle:238)
    at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:63)
    at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:130)
    at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:91)
    at org.gradle.api.internal.project.AbstractProject.ant(AbstractProject.java:808)
    at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:225)
    at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:129)
    at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
    at org.gradle.groovy.scripts.BasicScript.methodMissing(BasicScript.java:79)
    at build_enyfkb1wy5p82fd0soomf45jp$_run_closure7.doCall(/Users/ml/Development/java/projects/Netversys3/build.gradle:234)
    at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:548)
    at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:529)
    at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:77)
    at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:73)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 55 more
    Caused by: java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:115)
    at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:53)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.instantiateRegistry(DefaultExtensionsRegistry.java:237)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:214)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:162)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getRegistries(DefaultExtensionsRegistry.java:133)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:105)
    at net.sf.jasperreports.engine.DefaultJasperReportsContext.getExtensions(DefaultJasperReportsContext.java:246)
    at net.sf.jasperreports.engine.component.ComponentsEnvironment.findBundles(ComponentsEnvironment.java:119)
    at net.sf.jasperreports.engine.component.ComponentsEnvironment.getCachedBundles(ComponentsEnvironment.java:109)
    at net.sf.jasperreports.engine.component.ComponentsEnvironment.getBundles(ComponentsEnvironment.java:97)
    at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.getSchemaLocations(JRReportSaxParserFactory.java:87)
    at net.sf.jasperreports.engine.xml.BaseSaxParserFactory.configureParser(BaseSaxParserFactory.java:131)
    at net.sf.jasperreports.engine.xml.BaseSaxParserFactory.createParser(BaseSaxParserFactory.java:94)
    at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createParser(JRXmlDigesterFactory.java:1504)
    at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:1480)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:262)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:218)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:193)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:184)
    at net.sf.jasperreports.engine.JasperCompileManager.compileToFile(JasperCompileManager.java:250)
    at net.sf.jasperreports.ant.JRAntCompileTask.compile(JRAntCompileTask.java:402)
    at net.sf.jasperreports.ant.JRAntCompileTask.execute(JRAntCompileTask.java:249)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    ... 73 more
    Caused by: java.lang.ClassNotFoundException: org.springframework.core.io.Resource
    at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1366)
    at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1315)
    at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1068)
    ... 99 more
     
  2. i just upgraded from iReport 4.0.2 to 4.1.1 on my Snow Leopard Mac OS X. But the latest version is totally unusable. Some panes have redraw problems, other things wont be displayed at all. The whole GUI is partly destroyed.

    There is something wrong....

     

    Marc



    Post Edited by loge at 08/19/2011 12:04
  3. another entry for all those having the same questions. You definitely can add a externally created Jasper Font Extension JAR to the classpath. After restart the Fonts appear as read only in the fonts GUI.

     

    It would be nice if the section of the Ultimate Guide would cover some more details about fonts. Its not of much help IMO.

  4. Hi,

     

    we are using the font extension mechanism in JasperReports. Thus we created a jar with the TTF fonts embedded and some XML descriptor. So far so good.

    Is it possible to use this JAR also in iReport so that iReport recognizes the new font? Or do i need to place the TTF font in the iReport classpath as documented in the iReport Ultimate Guide?

    Would be nice if one could work with the font jar.....

     

    Marc

  5. I followed your suggestion but custom properties at report level dont support expressions as it seems. Its easy to get back a static value which you defined at properties on report level but i need to get a evaluated expression.

     

    You can see this also when using iREport. On field properties level, you can check a "expressions" checkbox while on report level, you dont have that.

    Marc

  6. Hi,

     

    is it possible that the caller of a report generation block (where the fillReport and export stuff happens) gets back an evaluated variable inside the report?

     

    I need to get back a value which i computed inside a report for further processing inside my application. I hoped i can do something with JasperPrint but have not found a way yet.

     

    Thanks

     

    Marc

  7. can it be that "exportFonts" attribute is no longer available in SimpleFontFamily in 3.6.2? If not, the example (fonts.xml) should be modified to not include that.

     

    Furthermore i have a severe problem with the font jar extension mechanism when trying to load OTF fonts. 

    To my knowledge this should work from java perspective.

     

    System: Java6 on Mac OS X.



    Post Edited by loge at 12/15/2009 22:10
  8. Sync to M2 Repo still not available. Would be really nice if this would work. BTW, the POM of the recently released 3.7.0 is broken. When resolving 3.7.0, i am only getting a Groovy jar, nothing more. 3.6.2 works as expected. Maven and JasperReports is a long story of misunderstandings :-) Every now and then there are some major issues ;-)
  9. Hi,

     

    i am getting this:

     

    Error with Report Creation: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean :

     

    Normally you would expect a property name right after the ":" but nothing. My report is quite simple, perhaps someone can point me to something. I am supplying a JRBeanCollectionDataSource to the report.

     

    <?xml version="1.0" encoding="UTF-8"?>
    <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="AswoDecInvoice" language="groovy" pageWidth="595" pageHeight="842" columnWidth="595" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
        <parameter name="printheader" class="java.lang.Boolean" isForPrompting="false"/>
        <queryString>
            <![CDATA[]]>
        </queryString>
        <field name="i040040" class="java.lang.Integer">
            <fieldDescription><![CDATA[]]></fieldDescription>
        </field>
        <field name="i040120" class="java.lang.String">
            <fieldDescription><![CDATA[]]></fieldDescription>
        </field>
        <field name="i040060n" class="java.lang.Integer">
            <fieldDescription><![CDATA[]]></fieldDescription>
        </field>
        <field name="i040070n" class="java.lang.Float">
            <fieldDescription><![CDATA[]]></fieldDescription>
        </field>
        <field name="i040170" class="java.lang.Float">
            <fieldDescription><![CDATA[]]></fieldDescription>
        </field>
        <field name="i040140" class="java.lang.Integer">
            <fieldDescription><![CDATA[]]></fieldDescription>
        </field>
        <field name="i040100" class="java.lang.String">
            <fieldDescription><![CDATA[]]></fieldDescription>
        </field>
        <field name="i040080" class="java.lang.String"/>
        <field name="i040090" class="java.lang.Float"/>
        <field name="i040110n" class="java.lang.String"/>
        <variable name="TOTAL_PAGES" class="java.lang.Integer">
            <variableExpression><![CDATA[$V{PAGE_NUMBER}]]></variableExpression>
        </variable>
        <variable name="SUM_I040060N" class="java.lang.Integer" resetType="Group" resetGroup="orderId" calculation="Sum">
            <variableExpression><![CDATA[$F{i040060n}]]></variableExpression>
        </variable>
        <variable name="QU_7060N" class="java.lang.Float" resetType="Group" resetGroup="articleId" calculation="Sum">
            <variableExpression><![CDATA[$F{i040070n} / $F{i040060n}]]></variableExpression>
        </variable>
        <variable name="SUM_I040070N" class="java.lang.Float" resetType="Group" resetGroup="articleId" calculation="Sum">
            <variableExpression><![CDATA[$F{i040070n}]]></variableExpression>
        </variable>
        <group name="orderId">
            <groupExpression><![CDATA[$F{i040140}]]></groupExpression>
        </group>
        <group name="articleId">
            <groupExpression><![CDATA[$F{i040040}]]></groupExpression>
            <groupFooter>
                <band height="14">
                    <textField>
                        <reportElement x="3" y="0" width="48" height="12"/>
                        <textElement>
                            <font fontName="Helvetica" size="9"/>
                        </textElement>
                        <textFieldExpression class="java.lang.String"><![CDATA[$F{i040040}]]></textFieldExpression>
                    </textField>
                    <textField>
                        <reportElement x="154" y="0" width="40" height="12"/>
                        <textElement textAlignment="Left">
                            <font fontName="Helvetica" size="9"/>
                        </textElement>
                        <textFieldExpression class="java.lang.Integer"><![CDATA[$V{QU_7060N}]]></textFieldExpression>
                    </textField>
                    <textField pattern="#,##0.00">
                        <reportElement x="106" y="0" width="43" height="12"/>
                        <textElement textAlignment="Left">
                            <font fontName="Helvetica" size="9"/>
                        </textElement>
                        <textFieldExpression class="java.lang.Float"><![CDATA[$V{SUM_I040060N}]]></textFieldExpression>
                    </textField>
                    <textField pattern="">
                        <reportElement x="248" y="0" width="40" height="12"/>
                        <textElement textAlignment="Left">
                            <font fontName="Helvetica" size="9"/>
                        </textElement>
                        <textFieldExpression class="java.lang.Double"><![CDATA[$F{i040170}]]></textFieldExpression>
                    </textField>
                    <textField pattern="#,##0.00">
                        <reportElement x="199" y="0" width="41" height="12"/>
                        <textElement textAlignment="Left">
                            <font fontName="Helvetica" size="9"/>
                        </textElement>
                        <textFieldExpression class="java.lang.Float"><![CDATA[]]></textFieldExpression>
                    </textField>
                    <textField>
                        <reportElement x="63" y="0" width="39" height="12"/>
                        <textElement>
                            <font fontName="Helvetica" size="9"/>
                        </textElement>
                        <textFieldExpression class="java.lang.String"><![CDATA[$F{i040120}]]></textFieldExpression>
                    </textField>
                    <textField pattern="#,##0.000">
                        <reportElement x="297" y="0" width="40" height="12"/>
                        <textElement textAlignment="Left">
                            <font fontName="Helvetica" size="9"/>
                        </textElement>
                        <textFieldExpression class="java.lang.Double"><![CDATA[$F{i040140}]]></textFieldExpression>
                    </textField>
                    <textField pattern="#,##0.000">
                        <reportElement x="344" y="0" width="40" height="12"/>
                        <textElement textAlignment="Left">
                            <font fontName="Helvetica" size="9"/>
                        </textElement>
                        <textFieldExpression class="java.lang.Double"><![CDATA[$F{i040100}]]></textFieldExpression>
                    </textField>
                    <textField pattern="#,##0.000">
                        <reportElement x="391" y="0" width="40" height="12"/>
                        <textElement textAlignment="Left">
                            <font fontName="Helvetica" size="9"/>
                        </textElement>
                        <textFieldExpression class="java.lang.Double"><![CDATA[$F{i040080}]]></textFieldExpression>
                    </textField>
                    <textField pattern="#,##0.000">
                        <reportElement x="436" y="0" width="40" height="12"/>
                        <textElement textAlignment="Left">
                            <font fontName="Helvetica" size="9"/>
                        </textElement>
                        <textFieldExpression class="java.lang.Double"><![CDATA[$F{i040090}]]></textFieldExpression>
                    </textField>
                    <textField pattern="#,##0.000">
                        <reportElement x="481" y="0" width="40" height="12"/>
                        <textElement textAlignment="Left">
                            <font fontName="Helvetica" size="9"/>
                        </textElement>
                        <textFieldExpression class="java.lang.Double"><![CDATA[$F{i040110n}]]></textFieldExpression>
                    </textField>
                </band>
            </groupFooter>
        </group>
        <columnHeader>
            <band height="17">
                <printWhenExpression><![CDATA[$P{printheader}]]></printWhenExpression>
                <staticText>
                    <reportElement x="3" y="3" width="45" height="12"/>
                    <textElement>
                        <font fontName="Helvetica" size="9" isBold="true"/>
                    </textElement>
                    <text><![CDATA[ZUB0010]]></text>
                </staticText>
                <staticText>
                    <reportElement x="196" y="3" width="41" height="12"/>
                    <textElement>
                        <font fontName="Helvetica" size="9" isBold="true"/>
                    </textElement>
                    <text><![CDATA[ZUB0030]]></text>
                </staticText>
                <staticText>
                    <reportElement x="245" y="3" width="40" height="12"/>
                    <textElement>
                        <font fontName="Helvetica" size="9" isBold="true"/>
                    </textElement>
                    <text><![CDATA[ZUB0035]]></text>
                </staticText>
                <staticText>
                    <reportElement x="289" y="3" width="48" height="12"/>
                    <textElement>
                        <font fontName="Helvetica" size="9" isBold="true"/>
                    </textElement>
                    <text><![CDATA[ZUB0040]]></text>
                </staticText>
                <staticText>
                    <reportElement x="341" y="3" width="43" height="12"/>
                    <textElement>
                        <font fontName="Helvetica" size="9" isBold="true"/>
                    </textElement>
                    <text><![CDATA[ZUB0045]]></text>
                </staticText>
                <staticText>
                    <reportElement x="55" y="3" width="44" height="12"/>
                    <textElement>
                        <font fontName="Helvetica" size="9" isBold="true"/>
                    </textElement>
                    <text><![CDATA[ZUB0015]]></text>
                </staticText>
                <staticText>
                    <reportElement x="103" y="3" width="43" height="12"/>
                    <textElement>
                        <font fontName="Helvetica" size="9" isBold="true"/>
                    </textElement>
                    <text><![CDATA[ZUB0020]]></text>
                </staticText>
                <staticText>
                    <reportElement x="151" y="3" width="40" height="12"/>
                    <textElement>
                        <font fontName="Helvetica" size="9" isBold="true"/>
                    </textElement>
                    <text><![CDATA[ZUB0025]]></text>
                </staticText>
                <staticText>
                    <reportElement x="388" y="3" width="42" height="12"/>
                    <textElement>
                        <font fontName="Helvetica" size="9" isBold="true"/>
                    </textElement>
                    <text><![CDATA[ZUB0050]]></text>
                </staticText>
                <staticText>
                    <reportElement x="433" y="3" width="42" height="12"/>
                    <textElement>
                        <font fontName="Helvetica" size="9" isBold="true"/>
                    </textElement>
                    <text><![CDATA[ZUB0060]]></text>
                </staticText>
                <staticText>
                    <reportElement x="478" y="3" width="42" height="12"/>
                    <textElement>
                        <font fontName="Helvetica" size="9" isBold="true"/>
                    </textElement>
                    <text><![CDATA[ZUB0070]]></text>
                </staticText>
            </band>
        </columnHeader>
    </jasperReport>
     



    Post Edited by loge at 06/16/2009 17:45
  10. I dont load JRXML from jars but JASPER files. It should be easy enough to do like that:

     

    JasperReport report = (JasperReport) JRLoader.loadObject(this.getClass().getResource(filename));

     

    Where "this" is a class inside a JAR boostrapping the report and filename is something like "com/foo/bar/bla.jasper" This makes the same classloader loading the resource which also loaded the "this" class inside the JAR. Then you can be sure that the classloader can actually handle JARs.



    Post Edited by loge at 06/15/2009 09:10
  11. Hi,

     

    i have the same problem as http://jasperforge.org/plugins/espforum/view.php?group_id=83&forumid=101&topicid=21806, now i wonder if this "common" task is really that hard to achieve. Other reporting frameworks simply provide a property where i can define if i want the column footer to display on every page or just at the end.

     

    With Jasper it seems you need to be a Jasper reports core developer to achieve that. THis shouldnt be right? Is there an EASY solution?

     

    Marc

  12. Ok, 10 hours later .... and nearly getting a heartattack, we finally found out some things:

     

    1) I will never ever compile the report with the "preview" feature of iReport and put it in production. Will always use the JasperReports Ant task now.

     

    2) I dont know who invented "When no data type" property but it seems that the default of this property changed to "Blank Page" or i never got into this trap. In any case ... the default should be something else than that!!! . If i try hard i can imagine some usecases for this property but i really CANT BELIEVE that there is a value "BLANK PAGE". In hell, if someone misses this property like us, one searches for hours and hours to find it. And i cant imagine a single use case where someone wants a blank page. So this was a 2 step problem. First the issue with compiling with a newer iREport version and second this god damn report property.

     

    This forum software is still extremely annoying on a mac. Sometimes the HTML Editor doesnt pop up thus one cant edit an entry and the quick reply products no paragraphs. No matter what i do....



    Post Edited by loge at 06/09/2009 11:44
  13. I double checked all this. Its true. When i compile the same report with iReport NB 3.5.1 (or 3.5.0), the resulting .jasper file works as expected. If using NB 3.5.2, my details section is empty.

     

    When looking at the serialized .jasper file, there are in fact differences. I post both jasper files so that people can check.

     

    Its definitely not an environment issue. I tested both with Java5 and Java6. Its not relevant which JDK i use. Its only the iReport version which makes the difference. Funny enough, my report doesnt work in preview with 3.5.1 (just compiles it) but it works in my app. With 3.5.2, it works in the preview, but not in my app with JasperReports 3.5.1.

     

    We spent about 4 hours today on this. This is so annoying.

     



    Post Edited by loge at 06/08/2009 18:22



    Post Edited by loge at 06/08/2009 20:04
  14. Hi,

    today my employee and me used iReport NB 3.5.2 and very strange things happen. Reports that worked before, now display nothing or partially nothing.

    Scenario: We opened a jrxml with 3.5.2 and made a minor change (very minor, something in the TITLE band). Now we run that report with JasperReports 3.5.1 in our app and the complete detail section is empty. Funny enough, the TOTALs which are based on the Details are there.

    We tried it with various exporters. Everytime the same issue. My collegue created a simple HelloWorld report and he got a totally empty PDF back.

    When using our old (versioned) .jasper file, everything is fine again. But upon compiling a new one with NB 3.5.2, strange things happen.

    Please advice.

    Marc



    Post Edited by loge at 06/08/2009 20:04
  15. I can understand your intention but its flawed on second thought. If Framework-B wants to have Commons-Digester 2.0 and it also supplies a POM, then we definitely get Digester 2.0 but only because "B" really needs it. You have the same problem then but the difference is that 2.0 is explicitely requestet by "B" and not because it always wants the newest for no reason. So the chance is much lower that anything breaks if every projects expose their "minimum" requirements.

     

    And BTW, as is said, you really cant know if Digester 2.1 doesnt break Jasper itself because i am quite sure that you dont know when and if the Digester guys change their public API right? :-) We all know that java really su**s when it comes to library management. Its kind of DLL hell only for Java, but normally you dont run into probems. Our product has about 60 megs of 3rd party libs. So i think we are one of the larger projects around and so far everything worked... except for the original Jasper POM.

    Thanks for integrating my suggestion.

     

    BTW: why does Quick-Reply forgets my newlines and paragraphs? Is this a Mac issue? I must edit my posts every time to make it readable...




    Post Edited by loge at 05/05/2009 16:13
  16. I dont think this works too well because the start of the rectangle depends on what page is printed. On second page, i have different headers and this way the rectangle wouldnt be in the right position.

     

    I am wondering why the vertical lines dont strech in the detail band. I assume that the detail band will be stretched to the footer elements in case of "not enough" data.

  17. Hi,

     

    i have a tricky framing issue ongoing. See attachment 1 (idescreen.png) where you can see my iReport workbench. Attachment 2 (result.pdf) is the preview of the resulting PDF. I think i dont need to explain more here. I really need to have the vertical lines expand to the page footer (i dont have a column footer). The vertical lines are inside the "detail" band and i modified the "stretch" attribute of the line object in every possible way without luck.

     

    Thanks for hints.

     

    Marc

  18. on second thought i am quite sure that you really should change ALL deps to fixed versions. And i am really curious how you can support customers this way.

     

    Lets say a customer says "hey, support, i am using jasper reports 3.5.0 and i am getting this stack". Where do you know what dependency libraries this customer currently has? You simply cant know except you check all your deps in the M2 repository. And how do you manage QA within Jasper? I think you test your software with defined versions of 3rd party libs but at your customers it could be totally different because of your "newest" wildcards in the POM.

     

    We also develop software products but this looks really crazy to me with regard to Quality Management. I am really looking forward to a statement on this. You simply cant do POM wildcards when you depend on libraries which you dont control. Its simple as that. Marc



    Post Edited by loge at 04/27/2009 10:15
  19. At least i found out what this expression means. Or better, now i am sure that it means what i thought it means:

     

    Example: [1.0,) matches all versions greater or equal to 1.0

     

    So jasper crew, would you be so kind and change the dependency of digester to <version>1.7</version> ?? And can you tell me why you use so much "newest" wildcards in the POM ? How can you know that new version of your deps wont break Jasper itself? Please keep in mind that 3rd party libs can change anytime and then Maven or ivy user like me could left behind with a broken Jasper version. Or do i miss something?

     

    Thanks. Marc

     

    BTW: This editor completely su**** on Firefox/Mac.



    Post Edited by loge at 04/26/2009 23:38
×
×
  • Create New...