proposed fix for TDT Engine (loading scheme files from JAR)

48 views
Skip to first unread message

Douglas Gray

unread,
Feb 23, 2017, 4:33:34 PM2/23/17
to fosstrak
Hi,

My name is Doug (or Douglas is also fine if you prefer) and I tried sending an email with some administrative questions to info [at] fosstrak.org, but it appears that delivery to that address is not working (I got a delivery-incomplete message back).
Should that email link be updated in the contact page? 
i.e. page http://fosstrak.github.io/contact.html

I have fixes to offer for two issues with the Fosstrak TDT Engine v1.0.0, one of which has been reported a few times (links below).
I am also wondering, however, whether it is likely that there will be any further releases from the TDT Engine project.
Does anyone know the likelihood of this (and whether new releases would become available on any particular maven repository)?  I'm a bit unclear on the status/ownership of the project.

The two issues that I'm trying to address are these:

1. If you try to simply use the TDT Engine JAR (as opposed to downloading the source and running in Eclipse or other IDE), then the TDTEngine is unable to do any translations, because the constructor fails to read the XML files from the "schemes" folder in the JAR.
   This is the problem that was reported in the four links at the end of this message.
   There is a workaround for this, which involves extracting the XML files out of the JAR into a "schemes" folder in your file system, and adding that folder to your classpath.
   However, it would be great if that workaround were not necessary, and the JAR could be used in a straightforward way.
   The fix that I have available allows the constructor to read the XML files directly out of the JAR, in the case where the TDTEngine is being loaded from a JAR.
   This fix is a code change in TDTEngine.java.
 
2. If you try to use Java 8 to run the TDTEngine, the engine is unable to unmarshal the XML files (scheme files) because an exception occurs:
   "org.xml.sax.SAXNotRecognizedException: Feature: http://javax.xml.XMLConstants/feature/secure-processing"
   The problem does not occur with Java 7.
   This problem can be resolved by updating the pom.xml to use a newer version of xercesImpl: use 2.11.0 instead of 2.2.1.
   No code change required.

I'm interested in using the TDT Engine library, and it would be great if an official release could incorporate these fixes.
Others would likely also find that this makes the library much easier and more attractive to use.
Are there any recommendations on how to proceed?  Submit the patch here (mailing list)? Or join the github project and submit it there?

Thank you for your help,
Doug Gray

Trouble reports related to the fixes:

Issue tracker: tdt 1.0.1 and 1.0.0 version does not work
https://github.com/Fosstrak/fosstrak-tdt/issues/1

Mailing list: Exception in thread "main" org.fosstrak.tdt.TDTException: No schemes or levels matched the input value
https://groups.google.com/forum/#!searchin/fosstrak/tdt%7Csort:date/fosstrak/UGBkvB4olGM/UzBnlI-6lBIJ

Mailing list: tdt 1.0.0 fails to convert tags
https://groups.google.com/forum/#!searchin/fosstrak/tdt%7Csort:date/fosstrak/XYKlweTuK_4/meAdAZxYqEIJ

Mailing list: TDT 1.0.0 issue
https://groups.google.com/forum/#!searchin/fosstrak/tdt%7Csort:date/fosstrak/qZteqMGOdL4/ESOjroRKbAoJ

Douglas Gray

unread,
Mar 1, 2017, 11:50:02 AM3/1/17
to fosstrak
In any case, attached here is a patch containing the changes that I'm currently working with.
Regards,
Doug
TDTEngine.java.1.patch
Reply all
Reply to author
Forward
0 new messages