Hello everyone, Okay, so it seems there is consensus on going ahead with Java 8. I tried testing this patch which I believe upgrades OFBiz to JDK 8.
Running "./ant clean-all build load-demo run-tests" delivers a failure in "testConvertOperatorSubstitutions" (base tests). The error message is shown below . So the line giving the error is exactly this one in org.ofbiz.base.util.test.StringUtilTests assertEquals("all converions", "one && two || three > four >= five < six <= seven", StringUtil.convertOperatorSubstitutions("one @and two @or three @gt four @gteq five @lt six @lteq seven")); This is weird. I checked JDK 7 and JDK 8 implementations and I think they are identical in the matcher API. Yet when switching to JDK 8 the matcher evaluates on "@gt" of the "@qteq " pattern and so you end up with ">eq" instead of ">= " . This is without even applying the above patch. I hope I am not running on a wild goose chase and ignoring something simple or silly? Any Ideas? ==== error log start ==== all converions expected:<...wo || three > four >[=] five < six <= seven> but was:<...wo || three > four >[eq] five < six <= seven> junit.framework.ComparisonFailure: all converions expected:<...wo || three > four >[=] five < six <= seven> but was:<...wo || three > four >[eq] five < six <= seven> at org.ofbiz.base.test.GenericTestCaseBase.assertEquals(GenericTestCaseBase.java:313) at org.ofbiz.base.util.test.StringUtilTests.testConvertOperatorSubstitutions(StringUtilTests.java:269) at org.ofbiz.testtools.TestRunContainer.start(TestRunContainer.java:146) at org.ofbiz.base.container.ContainerLoader.start(ContainerLoader.java:237) at org.ofbiz.base.start.Start.startStartLoaders(Start.java:408) at org.ofbiz.base.start.Start.start(Start.java:434) at org.ofbiz.base.start.Start.main(Start.java:135) ==== error log end ==== Taher Alkhateeb ----- Original Message ----- From: "Ron Wheeler" <rwhee...@artifact-software.com> To: dev@ofbiz.apache.org Sent: Thursday, 7 May, 2015 8:12:20 PM Subject: Re: Java 8 and functional programming in trunk On 07/05/2015 12:37 PM, Christian Geisert wrote: > Well call it "Standards Office" or whatever, the guys who decide which > platforms are allowed to use in the company. Java 7 will be coming off the list in most companies if it has not already been done. > > Java 8 is available since just about a year.. > Just the mentioned Ubuntu 12.04 LTS (= Longtime Support, which means > support for 5 years) has no Java 8 in the official repositories. > Is there a Java 8 for AS/400 ;-) http://tecadmin.net/install-oracle-java-8-jdk-8-ubuntu-via-ppa/ > Anyway, my point is that there should be good reasons to switch to Java > 8 only. > > Christian > > Am 07.05.2015 17:58, schrieb Ron Wheeler: >> On 07/05/2015 11:32 AM, Christian Geisert wrote: >>> Yes, we must support Java 8, but we absolutely have the choice to still >>> support Java 7 (i.e. no use of Java 8 only features yet) >>> >>> IMHO there should be good reasons to use these Java 8 features (not just >>> because it's cool..) >>> >>> It's not a big deal to update a developer machine to Java 8 (well, my >>> laptop still runs Kubuntu 12.04 ..) but it's another thing in (big) >>> companies (old operating systems, get approvals from security office >>> etc...) >> Security officer is going to be insisting on an upgrade to Java 8 >> since Java 7 is no longer going to get security fixes. >> >> Have we heard of any OS that supports Java 7 but not Java 8? >> >> Ron >> >>> Christian >>> >>> Am 07.05.2015 15:40, schrieb Adam Heath: >>>> Not a reply to Jacques, but if an absolutely java-8-only feature is >>>> used, be sure to update the regex in ${ofbiz.home}/macros.xml, then >>>> the source/target values in common.xml in the same folder. >>>> >>>> ps: I'm fine with moving towards 1.8. It's not a choice that we can >>>> make, actually. >>>> >>>> On 05/07/2015 01:46 AM, Jacques Le Roux wrote: >>>>> Yes (lazy) consensus over vote ;) >>>>> >>>>> Jacques >>>>> >> > -- Ron Wheeler President Artifact Software Inc email: rwhee...@artifact-software.com skype: ronaldmwheeler phone: 866-970-2435, ext 102