Moneydance needs to leverage JDK 11.0.3+12 LTS to remove issue with non-US Locale Date parsing (dates using text values for months)

rapscallion's Avatar

rapscallion

20 Jun, 2019 05:09 PM

I have written an extension that needs to parse (transaction) dates in the form dd MMM yyyy (i.e. contains a textual name for the month) for multiple Locales. Although this works just fine in Eclipse and also in Moneydance with English short month names, i18N Moneydance integration fails because Moneydance packages JDK 11.0.1+13 which will not process non-English Locales properly. Example of month names using this JDK:
-- List of short months: [Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, ]
-- List of german short months: [Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, ]

You can test this using the following code:

// DateFormatSymbols in default Locale
final DateFormatSymbols dfs = new DateFormatSymbols();

// DateFormatSymbols in pre defined Locale
final DateFormatSymbols german_dfs = new DateFormatSymbols(Locale.GERMAN);

String[] shortMonths = dfs.getShortMonths();
System.out.print("List of short months: ");
System.out.println(Arrays.toString(shortMonths));

String[] germanShortMonths = german_dfs.getShortMonths();
System.out.print("List of german short months: ");
System.out.println(Arrays.toString(germanShortMonths));

I have replaced the packaged JDK in the Moneydance Application with 11.0.3+12-LTS (which I verified was running my code correctly in Eclipse) by using a symlink for the 'Home' directory. This now allows the extension to work as was designed and month names for alternate Locales now works as shown below:
-- List of short months: [Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, ]
-- List of german short months: [Jan., Feb., März, Apr., Mai, Juni, Juli, Aug., Sep., Okt., Nov., Dez., ]

Please, can you repackage Moneydance using JDK 11.0.3+12-LTS at a minimum (although I suspect that the bug was fixed in 11.0.2 actually). Thanks in advance.

  1. 1 Posted by dwg on 20 Jun, 2019 09:30 PM

    dwg's Avatar

    I'm a fellow user.

    If you believe the issue was resolved in Java 11.0.2, the latest release of Moneydance 2019.3 build 1880 uses Java 11.0.2+9

  2. 2 Posted by rapscallion on 20 Jun, 2019 09:39 PM

    rapscallion's Avatar

    Hi and thanks for your note. I didn't test Java 11.0.2, so I cannot be certain.

    However, I am already using 2019.3.build 1880 and when I look at the packaged JDK (at runtime) by peeking at System properties, java.version was set to Java 11.0.1+13. How did you derive the use of 11.0.2?

  3. 3 Posted by dwg on 20 Jun, 2019 09:43 PM

    dwg's Avatar

    I opened the directory that Moneydance installed Java into and issued a "java -version" command.

  4. 4 Posted by rapscallion on 20 Jun, 2019 09:59 PM

    rapscallion's Avatar

    i should say that I am running on Mac OS, you?

  5. 5 Posted by dwg on 20 Jun, 2019 10:05 PM

    dwg's Avatar

    Windows

  6. 6 Posted by rapscallion on 17 Sep, 2019 04:40 PM

    rapscallion's Avatar

    will there be any resolution to this for Mac OS?

  7. Support Staff 7 Posted by Sean Reilly on 17 Sep, 2019 09:43 PM

    Sean Reilly's Avatar

    Hi Mike,

    Yes, I've just updated the build system so that we'll be using openjdk 13 for the next preview build. I'm still working on some behind-the-scenes changes and then will push that new preview build soon.

    Thanks!
    Sean

    --
    Sean Reilly
    Developer, The Infinite Kind
    https://infinitekind.com

  8. 8 Posted by rapscallion on 17 Sep, 2019 11:56 PM

    rapscallion's Avatar

    Hi Sean, Thanks, much appreciated! Regards, Mike.

  9. 9 Posted by rapscallion on 26 Oct, 2019 08:03 AM

    rapscallion's Avatar

    Any update on the new version availability?

  10. 10 Posted by derekkent23 on 26 Oct, 2019 11:57 AM

    derekkent23's Avatar

    I am not support staff, just a user.

    Preview build 2019.4(1892) is running on Java: 13 (Oracle Corporation).
    Download from
    https://infinitekind.com/preview

    Hope this helps

  11. System closed this discussion on 25 Jan, 2020 12:00 PM.

  12. rapscallion re-opened this discussion on 06 Apr, 2020 03:27 PM

  13. 11 Posted by rapscallion on 06 Apr, 2020 03:34 PM

    rapscallion's Avatar

    Hi Sean,

    I upgraded to the latest preview Moneydance for Mac, but to my surprise the bundled JVM (console log shows 13.01...) does not appear to support the non-English locale date conversions as described earlier in this article.

    As a test, I downloaded JDK 13.01 directly from Oracle and installed this on my Mac. I then renamed the vm.jdk folder in the Moneydance directory to 'oldvm.jdk' and symlinked vm.jdk to the downloaded JDK 13.01 version I got from Oracle. Low and behold, it all worked.

    So I am unsure what exactly you are packaging as a JDK VM with Moneydance, but it is a problem as dates with non-English locales aren't being properly processed.

    Any ideas?

    Regards, Mike.

  14. Support Staff 12 Posted by Sean Reilly on 22 Apr, 2020 02:48 PM

    Sean Reilly's Avatar

    Hi Mike,

    We use the OpenJDK because Oracle's JDK isn't available for unlimited redistribution, at least not for prices we can afford.

    We use jlink to build the JVM bundled with Moneydance. I wonder if there is a certain module missing that could cause what you're seeing?

    java.base,java.compiler,java.prefs,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.security.sasl,java.naming,java.net.http,java.transaction.xa,java.se,java.security.jgss,java.scripting,java.sql,java.xml.crypto,java.sql.rowset,java.xml,jdk.crypto.ec,jdk.crypto.cryptoki,jdk.accessibility,jdk.unsupported,jdk.unsupported.desktop,jdk.jsobject,jdk.security.auth,jdk.security.jgss,jdk.xml.dom,jdk.zipfs,javafx.swing,javafx.controls,javafx.graphics,javafx.web,jdk.internal.jvmstat,jdk.charsets

    Thanks,
    Sean

  15. 13 Posted by rapscallion on 23 Apr, 2020 07:02 PM

    rapscallion's Avatar

    Hi Sean,

    I have not used jlink before, but perhaps it is missing something because according to Oracle…

    "From Java 11 forward, therefore, Oracle JDK builds and OpenJDK builds <http://jdk.java.net/> will be essentially identical…"

    So, I am not sure why the packaged Moneydance OpenJDK acts differently from what I downloaded, but there must be a difference somewhere.

    Regards,

    Mike.

  16. System closed this discussion on 23 Jul, 2020 07:10 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac