Invoice Report problem when using QR barcode

Description

When I use the QRCode component in my report on the production environment, it fails when princing an Invoice with

loader constraint violation in interface itable initialization: when resolving method "org.apache.batik.dom.AbstractDocument.createEvent(Ljava/lang/StringLorg/w3c/dom/events/Event;" the class loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) of the current class, org/apache/batik/anim/dom/SVGOMDocument, and the class loader (instance of <bootloader>) for interface org/w3c/dom/events/DocumentEvent have different Class objects for the type org/w3c/dom/events/Event used in the signature

When I remove the QRCode component, the report works OK. On the latest source code it works correctly, also in Jaspersoft Studio.

I attach both jasper files.

Tested on demo.globalqss.com/webui (the difference to my production environment is, that on demo.globalqss.com/webui the error is not shown to the end user, it is probably in the log only) using GardenAdmin and Invoice # 200003.

Also probably after updating my local version to the latest version even the working report is displayed twice. Please see also the screenshots.

Environment

None

Attachments

10

Activity

Show:

Hiep Lq August 29, 2018 at 6:19 PM

hi
i test with a jasper report have only one field show static value of QR and it work.
now i test with

it show NPE by QR code expression too complicate to get suitable data, so i modify it to get data from document_no

and it can work.

after apply patch, need to refresh target platform (it's hard work because i don't make new repository, just update to old one, still not figure out standard method).
1. close eclipse and reopen
2. open targetplatform click to line of "https://sourceforge.net/projects/idempiere/files/binary.file/jarfile/jp-p2/jp-6.3.1/"
3. at dialog change to other link, maybe ok to close dialog
4. reopen it and set back to https://sourceforge.net/projects/idempiere/files/binary.file/jarfile/jp-p2/jp-6.3.1/
5. expand "Maven org bundle" to make sure it now have new plugin name "Fragment for W3C DOM SVG Bundle"


6. choose "Maven org bundle" and close dialog
7. click "reload" button after that click "reload target platform" link

in case at step 5 you don't see new fragment, you can setup eclipse again by delete folder [Idempiere_src]/.metadata

Carlos Ruiz August 29, 2018 at 4:34 PM

Hi ,

I tried installing just your patch within eclipse, but the Invoice.jasper attached here still throws error.

Tried also installing first my patch and then your patch within eclipse - same error.

Also, when installed your patch and executed "mvn verify" - then opening eclipse shows 491 errors like "* cannot be resolved to a type" - f.e. Barcode, CategoryItemEntity, ChartEntity ... etc

Hiep Lq August 29, 2018 at 8:04 AM

add fragment org.w3c.dom.svg.patch_1.1.0 from jasper studio to resolve issue

Hiep Lq February 14, 2018 at 3:54 AM

hi

I test my propose, but jasper engine from jasper studio isn't separate well, it ever depend on bundle of jasper studio, so it isn't good solution

from IDEMPIERE-3531, i will like to use maven task to make p2 repository for bundle from maven, include jasperreport.
on this task will update manifest of current jasper engine to depend on correct org.w3c.* bundle

Carlos Ruiz January 19, 2018 at 8:21 AM

Agree , is there a patch to test the approach?

Fixed

Details

Assignee

Reporter

Labels

Components

Fix versions

Affects versions

Priority

Created January 8, 2018 at 3:52 PM
Updated October 22, 2020 at 8:11 AM
Resolved August 29, 2018 at 9:34 PM
Loading...