bobcarroll / jira-client

A simple JIRA REST client for Java
Other
473 stars 379 forks source link

DoNotApprove: Gradle, Parameters, and Paging #237

Open kazetsukaimiko opened 6 years ago

kazetsukaimiko commented 6 years ago

I'd like to get your thoughts on the following modifications and perhaps get them merged at some point. This PR has a few features of note:

This currently is done using Stream.concat() and recursion, and preserves the order from paging. Ideally the method signature should change to Stream so that the paging can be invoked lazily as it is being requested (upon collection), but that's a JDK version question.

Problems I'm currently solving: Dates seem to be several hours off with the JDK version switch, investigating.

Other ideas: I think switching from JodaTime to the java.time.* would be wise. You may be considering older JDKs, which is fine. Maven/Gradle no longer support 1.5 and the codebase could be cleaned up quite dramatically with things like Streams and Optionals. I wouldn't want to invest in a refactor effort without knowing how receptive upstream would be... as that would determine in large part how and what I'd choose to refactor.