commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Sicker <boa...@gmail.com>
Subject Re: [LANG] Fix date related test failures on IBM JDKs (Was: Re: [CANCEL][VOTE] Release Apache Commons Lang 3.6 based on RC2)
Date Mon, 05 Jun 2017 14:52:34 GMT
>From what I recall, the IBM JDK is only for Linux and Windows.

On 5 June 2017 at 05:54, Benedikt Ritter <britter@apache.org> wrote:

> Hi,
>
> > Am 25.05.2017 um 13:16 schrieb sebb <sebbaz@gmail.com>:
> >
> > On 25 May 2017 at 01:02, Gary Gregory <garydgregory@gmail.com <mailto:
> garydgregory@gmail.com>> wrote:
> >> On Wed, May 24, 2017 at 4:46 PM, Gary Gregory <garydgregory@gmail.com>
> >> wrote:
> >>
> >>> On Wed, May 24, 2017 at 2:12 PM, Rob Tompkins <chtompki@gmail.com>
> wrote:
> >>>
> >>>>
> >>>>> On May 24, 2017, at 2:49 AM, Gary Gregory <garydgregory@gmail.com>
> >>>> wrote:
> >>>>>
> >>>>> When I build with the IBM JDK 8 that IBM includes with some Eclipse
> >>>> version
> >>>>> I have laying around, I indeed get:
> >>>>>
> >>>>> java (2)
> >>>>> org.apache.commons.lang3.time.FastDateParser_TimeZoneStrategyTest
> >>>>> testLang1219(org.apache.commons.lang3.time.FastDateParser_Ti
> >>>> meZoneStrategyTest)
> >>>>> java.text.ParseException: Unparseable date: 26.10.2014 02:00:00
MESZ
> >>>>
> >>>
> >>> As I mentioned, the above test passes with the current IBM SDK 8:
> >>>
> >>> Java(TM) SE Runtime Environment (build pwi3280sr4fp5-20170421_01(SR4
> FP5))
> >>> IBM J9 VM (build 2.8, JRE 1.8.0 Windows 10 x86-32 20170419_344392 (JIT
> >>> enabled, AOT enabled)
> >>> J9VM - R28_20170419_1004_B344392
> >>> JIT  - tr.r14.java_20170419_344392
> >>> GC   - R28_20170419_1004_B344392
> >>> J9CL - 20170419_344392)
> >>> JCL - 20170420_01 based on Oracle jdk8u131-b11
> >>>
> >>> So IMO the only test we should look at is:
> >>>
> >>>> org.apache.commons.lang3.builder.ToStringBuilderTest
> >>>> testReflectionHierarchyArrayList(org.apache.commons.lang3.bu
> >>> ilder.ToStringBuilderTest)
> >>>> org.junit.ComparisonFailure:
> >>>> expected:<...700dfa[elementData={[<null>,<null>,<null>,<
> >>> null>,<null>,<null>,<null>,<null>,<null>,<null>]},size=0,modCount=0]>
> >>>> but was:<...700dfa[elementData={[]},size=0,modCount=0]>
> >>>
> >>
> >> Looking at this a little more, I would say that IBM Java changed how it
> >> implemented ArrayList between it's 1.6 and 1.8 releases. I only have the
> >> current 1.8 IBM release. I cannot verify that this test makes sense on
> IBM
> >> 1.6. I propose we update the test to reflect IBM Java 8 and document the
> >> test as such.
> >
> > If the test makes assumptions about how ArrayList is implemented, then
> > I would say the test is wrong.
> >
> > If possible it should be fixed so as to work regardless of the
> > implementation details.
> > Rather than changing the test to work with a different version of the
> > implementation.
>
> I don’t even have an IBM JDK and I don’t want to subscribe on their
> homepage just to get one. Does somebody know where to get an IBM JDK that
> works on Mac OS?
>
> Does anybody have an IBM JDK and has the time to fix this?
>
> Thank you,
> Benedikt
>
> >
> >> Gary
> >>
> >>>
> >>>
> >>> Gary
> >>>
> >>>
> >>>
> >>>> Wondering if this change (https://github.com/apache/com
> >>>> mons-lang/commit/eb2b89efbe15ab0b70fd94f0ecd0aa03866fb4d2#
> >>>> diff-27e0ef6d1e59c634d3ba4d9cb05629a4R362 <
> https://github.com/apache/com
> >>>> mons-lang/commit/eb2b89efbe15ab0b70fd94f0ecd0aa03866fb4d2#
> >>>> diff-27e0ef6d1e59c634d3ba4d9cb05629a4R362>) caused this one. It
> doesn’t
> >>>> make sense to me that it would, but it’s the only change to the code
> in
> >>>> that area. Does the released version have the same issue?
> >>>>
> >>>> Still investigating the second test failure. I’ll keep you guys posted
> >>>> with anything I can come up with.
> >>>>
> >>>> -Rob
> >>>>
> >>>>>
> >>>>> at
> >>>>> org.apache.commons.lang3.time.FastDateParser.parse(FastDateP
> >>>> arser.java:369)
> >>>>>
> >>>>> at
> >>>>> org.apache.commons.lang3.time.FastDateParser_TimeZoneStrateg
> >>>> yTest.testLang1219(FastDateParser_TimeZoneStrategyTest.java:62)
> >>>>>
> >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>>>
> >>>>> at
> >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
> >>>> ssorImpl.java:95)
> >>>>>
> >>>>> at
> >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
> >>>> thodAccessorImpl.java:55)
> >>>>>
> >>>>> at java.lang.reflect.Method.invoke(Method.java:508)
> >>>>>
> >>>>> at
> >>>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(
> >>>> FrameworkMethod.java:50)
> >>>>>
> >>>>> at
> >>>>> org.junit.internal.runners.model.ReflectiveCallable.run(Refl
> >>>> ectiveCallable.java:12)
> >>>>>
> >>>>> at
> >>>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(Fr
> >>>> ameworkMethod.java:47)
> >>>>>
> >>>>> at
> >>>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(
> >>>> InvokeMethod.java:17)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> >>>>>
> >>>>> at
> >>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit
> >>>> 4ClassRunner.java:78)
> >>>>>
> >>>>> at
> >>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit
> >>>> 4ClassRunner.java:57)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.
> >>>> run(JUnit4TestReference.java:86)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(
> >>>> TestExecution.java:38)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe
> >>>> sts(RemoteTestRunner.java:459)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe
> >>>> sts(RemoteTestRunner.java:678)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> >>>> RemoteTestRunner.java:382)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
> >>>> RemoteTestRunner.java:192)
> >>>>>
> >>>>>
> >>>>>
> >>>>> org.apache.commons.lang3.builder.ToStringBuilderTest
> >>>>> testReflectionHierarchyArrayList(org.apache.commons.lang3.bu
> >>>> ilder.ToStringBuilderTest)
> >>>>> org.junit.ComparisonFailure:
> >>>>> expected:<...700dfa[elementData={[<null>,<null>,<null>,<
> >>>> null>,<null>,<null>,<null>,<null>,<null>,<null>]},size=0,modCount=0]>
> >>>>> but was:<...700dfa[elementData={[]},size=0,modCount=0]>
> >>>>>
> >>>>> at org.junit.Assert.assertEquals(Assert.java:115)
> >>>>>
> >>>>> at org.junit.Assert.assertEquals(Assert.java:144)
> >>>>>
> >>>>> at
> >>>>> org.apache.commons.lang3.builder.ToStringBuilderTest.testRef
> >>>> lectionHierarchyArrayList(ToStringBuilderTest.java:324)
> >>>>>
> >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>>>
> >>>>> at
> >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
> >>>> ssorImpl.java:95)
> >>>>>
> >>>>> at
> >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
> >>>> thodAccessorImpl.java:55)
> >>>>>
> >>>>> at java.lang.reflect.Method.invoke(Method.java:508)
> >>>>>
> >>>>> at
> >>>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(
> >>>> FrameworkMethod.java:50)
> >>>>>
> >>>>> at
> >>>>> org.junit.internal.runners.model.ReflectiveCallable.run(Refl
> >>>> ectiveCallable.java:12)
> >>>>>
> >>>>> at
> >>>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(Fr
> >>>> ameworkMethod.java:47)
> >>>>>
> >>>>> at
> >>>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(
> >>>> InvokeMethod.java:17)
> >>>>>
> >>>>> at
> >>>>> org.junit.internal.runners.statements.RunAfters.evaluate(Run
> >>>> Afters.java:27)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> >>>>>
> >>>>> at
> >>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit
> >>>> 4ClassRunner.java:78)
> >>>>>
> >>>>> at
> >>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit
> >>>> 4ClassRunner.java:57)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> >>>>>
> >>>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.
> >>>> run(JUnit4TestReference.java:86)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(
> >>>> TestExecution.java:38)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe
> >>>> sts(RemoteTestRunner.java:459)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe
> >>>> sts(RemoteTestRunner.java:678)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> >>>> RemoteTestRunner.java:382)
> >>>>>
> >>>>> at
> >>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
> >>>> RemoteTestRunner.java:192)
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Tue, May 23, 2017 at 4:25 PM, Benedikt Ritter <britter@apache.org
> >
> >>>> wrote:
> >>>>>
> >>>>>> Hello,
> >>>>>>
> >>>>>> I’m canceling this vote because:
> >>>>>>
> >>>>>> - mvn site does not work from the src distribution
> >>>>>> - test failures on IBM JDK (where else…)
> >>>>>>
> >>>>>> I don’t know when I have the time to work an this. Any help
is
> highly
> >>>>>> appreciated.
> >>>>>>
> >>>>>> Regards,
> >>>>>> Benedikt
> >>>>>>
> >>>>>>> Am 19.05.2017 um 16:52 schrieb Benedikt Ritter <britter@apache.org
> >:
> >>>>>>>
> >>>>>>> Hello,
> >>>>>>>
> >>>>>>>> Am 17.05.2017 um 12:02 schrieb Benedikt Ritter <
> britter@apache.org>:
> >>>>>>>>
> >>>>>>>> Hello,
> >>>>>>>>
> >>>>>>>> we have fixed quite a few bugs and added some nice new
features
> since
> >>>>>> Commons Lang 3.5 was released, so I would like to release Commons
> Lang
> >>>> 3.6
> >>>>>> based on RC2.
> >>>>>>>> The reason we had to cut a second release is, that there
were some
> >>>>>> discussions around the annotations for documenting concurrency
> >>>> properties
> >>>>>> in the o.a.c.l.concurrent.annotation package. I’ve removed
those
> >>>>>> annotations, so that we can fix them after the release.
> >>>>>>>>
> >>>>>>>> Commons Lang 3.6 R2 is available for review here:
> >>>>>>>> https://dist.apache.org/repos/dist/dev/commons/lang
(svn revision
> >>>>>> 19714)
> >>>>>>>>
> >>>>>>>> The tag is here:
> >>>>>>>> https://git-wip-us.apache.org/repos/asf?p=commons-lang.git;
> a=tag;h=
> >>>>>> 75c28fc4678774c1d2c21b839b048db6b563b9ae
> >>>>>>>>
> >>>>>>>> Commit ID the tag points at:
> >>>>>>>> 3a64cf6aff408a9cbdcb4d7456360a97d1a880f0
> >>>>>>>>
> >>>>>>>> Maven Artifacts:
> >>>>>>>> https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247
> >>>>>>>>
> >>>>>>>> These are the Maven artifacts and their hashes:
> >>>>>>>>
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-
> javadoc.jar
> >>>> <
> >>>>>> https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6-javadoc.jar>
> >>>>>>>> (SHA1: eb05c235b85ffb6f70ea72082eb904a9fe1969d7)
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-sour
> >>>> ces.jar.asc
> >>>>>> <https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6-sources.jar.asc>
> >>>>>>>> (SHA1: 7b98c8ab56e16e974c85963b2497840405a3375e)
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.pom.asc
<
> >>>>>> https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6.pom.asc>
> >>>>>>>> (SHA1: 7524211600afb0deb3a5cab8ad9236299e3434a4)
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.pom
<
> >>>>>> https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6.pom>
> >>>>>>>> (SHA1: b38df078df7623b708cd439b1cb750619bd659cc)
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.jar.asc
<
> >>>>>> https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6.jar.asc>
> >>>>>>>> (SHA1: 4bf4d61116adcf699f1d7a866bcabcb50fc7b47f)
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-java
> >>>> doc.jar.asc
> >>>>>> <https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6-javadoc.jar.asc>
> >>>>>>>> (SHA1: d547ce41d41f38b143f5e5377d6bc990f0abbff6)
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-
> sources.jar
> >>>> <
> >>>>>> https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6-sources.jar>
> >>>>>>>> (SHA1: d9c5bbfb0b97c1f87e3f75cedd7eedbc5ec81182)
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.jar
<
> >>>>>> https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6.jar>
> >>>>>>>> (SHA1: e6e1ca5e4574da2af0f8d2891410857e36ce5969)
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-
> tests.jar.asc
> >>>> <
> >>>>>> https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6-tests.jar.asc>
> >>>>>>>> (SHA1: b8d25f4a01a5f50ab450044dd2a7688e37554bed)
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-test
> >>>> -sources.jar.asc
> >>>>>> <https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6-test-sources.jar.asc>
> >>>>>>>> (SHA1: ccca81cd4539437f3def2644119a6f187168963c)
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-test
> >>>> -sources.jar
> >>>>>> <https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6-test-sources.jar>
> >>>>>>>> (SHA1: 8daf4979fb38811bd4a5bf39e38bc7a3a6582104)
> >>>>>>>> /org/apache/commons/commons-lang3/3.6/commons-lang3-3.6-tests.jar
> <
> >>>>>> https://repository.apache.org/content/repositories/
> >>>>>> orgapachecommons-1247/org/apache/commons/commons-lang3/
> >>>>>> 3.6/commons-lang3-3.6-tests.jar>
> >>>>>>>> (SHA1: 1f158e950250efab7cbca635e8393ab2ef666bca)
> >>>>>>>>
> >>>>>>>> I have tested this with JDK 7, JDK 8 and JDK 9 EA b165
using Maven
> >>>>>> 3.5.0.
> >>>>>>>>
> >>>>>>>> Details of changes since 3.5 are in the release notes:
> >>>>>>>> https://dist.apache.org/repos/dist/dev/commons/lang/RELEASE-
> >>>> NOTES.txt
> >>>>>>>> http://home.apache.org/~britter/commons/lang/LANG_3_6_
> >>>>>> RC2/changes-report.html
> >>>>>>>>
> >>>>>>>> Site:
> >>>>>>>>   http://home.apache.org/~britter/commons/lang/LANG_3_6_RC2/
> >>>>>>>> (note some *relative* links are broken and the 3.6 directories
are
> >>>>>>>> not yet created - these will be OK once the site is
deployed)
> >>>>>>>>
> >>>>>>>> Clirr Report (compared to 3.5):
> >>>>>>>> http://home.apache.org/~britter/commons/lang/LANG_3_6_
> >>>>>> RC2/clirr-report.html
> >>>>>>>>
> >>>>>>>> RAT Report:
> >>>>>>>>     http://home.apache.org/~britter/commons/lang/LANG_3_6_
> >>>>>> RC2/rat-report.html
> >>>>>>>>
> >>>>>>>> KEYS:
> >>>>>>>> https://www.apache.org/dist/commons/KEYS
> >>>>>>>>
> >>>>>>>> Please review the release candidate and vote.
> >>>>>>>> This vote will close no sooner that 72 hours from now,
> >>>>>>>> i.e. sometime after 12:00 EDT (UTC-4) 20-May 2017
> >>>>>>>>
> >>>>>>>> [ ] +1 Release these artifacts
> >>>>>>>> [ ] +0 OK, but...
> >>>>>>>> [ ] -0 OK, but really should fix...
> >>>>>>>> [ ] -1 I oppose this release because…
> >>>>>>>
> >>>>>>> This vote is still pending. Please review the RC and cast
your
> vote.
> >>>> The
> >>>>>> following issues have been found:
> >>>>>>>
> >>>>>>> - mvn site does not work from the source archive
> >>>>>>> - Jigsaw meta data is missing
> >>>>>>>
> >>>>>>> I consider neither as a blocker for releasing 3.6 and would
rather
> >>>> like
> >>>>>> to fix those in 3.6.1 (which I can prepare after my vacation).
So
> >>>> unless
> >>>>>> nobody finds something else, I’d like to release this code.
> >>>>>>>
> >>>>>>> Thank you,
> >>>>>>> Benedikt
> >>>>>>>
> >>>>>>>>
> >>>>>>>> Thanks!
> >>>>>>>> Benedikt
> >>>>>>>
> >>>>>>>
> >>>>>>> ------------------------------------------------------------
> ---------
> >>>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >>>>>>> For additional commands, e-mail: dev-help@commons.apache.org
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> ------------------------------------------------------------
> ---------
> >>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >>>>>> For additional commands, e-mail: dev-help@commons.apache.org
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> >>>>> Java Persistence with Hibernate, Second Edition
> >>>>> <https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?
> >>>> ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&link
> >>>> Code=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >>>>>
> >>>>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=
> >>>> am2&o=1&a=1617290459>
> >>>>> JUnit in Action, Second Edition
> >>>>> <https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?
> >>>> ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&link
> >>>> Code=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de4
> 18%22>
> >>>>>
> >>>>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=
> >>>> am2&o=1&a=1935182021>
> >>>>> Spring Batch in Action
> >>>>> <https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?
> >>>> ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&link
> >>>> Code=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Bli
> >>>> nk_id%7D%7D%22%3ESpring+Batch+in+Action>
> >>>>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=
> >>>> am2&o=1&a=1935182951>
> >>>>> Blog: http://garygregory.wordpress.com
> >>>>> Home: http://garygregory.com/
> >>>>> Tweet! http://twitter.com/GaryGregory
> >>>>
> >>>>
> >>>
> >>>
> >>> --
> >>> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> >>> Java Persistence with Hibernate, Second Edition
> >>> <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >>>
> >>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1617290459>
> >>> JUnit in Action, Second Edition
> >>> <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> >
> >>>
> >>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182021>
> >>> Spring Batch in Action
> >>> <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> >>> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182951>
> >>> Blog: http://garygregory.wordpress.com
> >>> Home: http://garygregory.com/
> >>> Tweet! http://twitter.com/GaryGregory
> >>>
> >>
> >>
> >>
> >> --
> >> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> >> Java Persistence with Hibernate, Second Edition
> >> <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1617290459>
> >> JUnit in Action, Second Edition
> >> <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> >
> >>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182021>
> >> Spring Batch in Action
> >> <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182951>
> >> Blog: http://garygregory.wordpress.com
> >> Home: http://garygregory.com/
> >> Tweet! http://twitter.com/GaryGregory
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org <mailto:
> dev-unsubscribe@commons.apache.org>
> > For additional commands, e-mail: dev-help@commons.apache.org <mailto:
> dev-help@commons.apache.org>
>



-- 
Matt Sicker <boards@gmail.com>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message