BMFO PDF reports
Brought to you by:
maher_karim,
sdteffen
Generating the BMFO bundle sources is not possible.
Using the command
msgfmt --java2 -d ..\..\..\servlet\WEB-INF\classes -l ar_AR -r bmfo bmfo.po
The following error is displayed:
Note: c:/tmp/msgEfICBc/bmfo_ar_AR.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Reason:
msgfmt is not able to generate the temporary folder which will have the JAVA file saved at.
Following settings are available:
* java version "1.5.0_08"
* msgfmt 0.14.4.1952
* gettext 0.14.1.1737
also
tmpdir=c:/ms4w/tmp
Any particular reason why you use these old versions?
I've just tried
msgfmt 0.17
java 1.6.0
without any problems (On Linux). Should I attach the binarries here? The PO file is unchanged in the SVN repository, though.
Dear Steffen,
Thanks for the comment.
I am using the older versions for two reasons:
1- I used the same versions which are in the BMFO CD.
2- I was not able to find any updated version of the software
If you have the Win32 compiled versions of gettext, and msgfmt It will be highly appreciated if you attach them, or send me the link to download them from.
Thanks again
Regards
Maher
Updated Java is available from
http://java.sun.com/javase/downloads/widget/jdk6.jsp
msgfmt 0.17 is included in poEdit 1.4.3:
http://poedit.sourceforge.net
I have succeded to get the latest 1.17 binaries.
after excuting the msgfmt command, I have to re-create the war file,and re-deploy it,but again I got the following error message when creating the well production report
javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Unknown Source)
root cause
java.lang.UnsupportedClassVersionError: Bad version number in .class file
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1812)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:866)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1319)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Unknown Source)
This sounds like you're using two different Java versions. Could you try the following:
* Remove all old Java installations (make sure that your Tomcat installation is also using the new Java)
* Do a complete rebuild of your war file
If this does not solve the problem: Can you reproduce your problem on a freshly installed system?
As Java, TOMCAT and iReport seem to cause the problems: Have you thought about a reimplementation of the reports in question using PHP? Generating PDFs with Arabic texts is possible now (it wasn't at the time the BMFO PDF reports were created)
E.g.
http://sdteffen.de/php/index_en.html
Implementing things in different programming languages always has drawbacks.