Bug 47277 - Avoid java.awt.HeadlessException when using WMF transcoder functionality
Summary: Avoid java.awt.HeadlessException when using WMF transcoder functionality
Status: RESOLVED DUPLICATE of bug 42408
Alias: None
Product: Batik - Now in Jira
Classification: Unclassified
Component: (RFE) Request For Extension (show other bugs)
Version: 1.7
Hardware: All Linux
: P2 normal
Target Milestone: ---
Assignee: Batik Developer's Mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-28 01:43 UTC by Gabriel Gajdos
Modified: 2009-11-29 03:31 UTC (History)
0 users



Attachments
Small changes for classes AbstractWMFReader and AbstractWMFPainter (13.00 KB, application/octet-stream)
2009-05-28 01:46 UTC, Gabriel Gajdos
Details
Propose fix (3.42 KB, patch)
2009-11-29 03:27 UTC, Helder Magalhães
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gabriel Gajdos 2009-05-28 01:43:57 UTC
I was using Batik with Jasper with some WMF images.

Everything was working perfectly in my Windows GUI environmenet.
But after deploying to server without available display GUI I got java.awt.HeadlessException.
Setting -Djava.awt.headless=true was not sufficient.

I started small investigation and I identified the problem:
Toolkit.getDefaultToolkit().getScreenResolution().

I modified two classes (attached AbstractWMFReader and AbstractWMFPainter) which use this call with a simple workaround.
1. only one call to this method is needed (subsequent calls can use final static variable already declared).
2. If a HeadlessException is thrown, we assume (hardcoded) resolution 96 (current value from my GUI environment).
I think it is better to have this hardcoded output than thrown exception.

I tested this new classes and result was OK without thrown Exception.

I past my minor changes fot the case that someone else would appreciate server-side functionality for reading WMF files.
Comment 1 Gabriel Gajdos 2009-05-28 01:46:53 UTC
Created attachment 23722 [details]
Small changes for classes AbstractWMFReader and AbstractWMFPainter
Comment 2 Helder Magalhães 2009-11-29 03:27:40 UTC
Created attachment 24628 [details]
Propose fix

Hi Gabriel,

First of all, thanks for the fix. The suggested form for contributions is through a patch, though. I've turned your raw file attachment into that. ;-)
Comment 3 Helder Magalhães 2009-11-29 03:31:53 UTC
(In reply to comment #0)
> Everything was working perfectly in my Windows GUI environmenet.
> But after deploying to server without available display GUI I got
> java.awt.HeadlessException.
> Setting -Djava.awt.headless=true was not sufficient.

I've also confirmed that this is already addressed in issue 42408. The other patch is more complete in the sense that it allow configuring resolution through transcoding hints.

I'm marking this issue as a duplicate of that bug, and invite you to help testing that patch (currently the bug is marked "need info" as it wasn't yet sufficiently tested).

(The patch I just attached was provided in the sense of easing the comparison between this and the other bug.)

*** This bug has been marked as a duplicate of bug 42408 ***