Hello again,

2015-11-16 20:22 GMT+01:00 Micha Pringle <michaprin...@yahoo.com>:

> Hi Benedikt,
>
> Thanks for the reply.
>
> I will update the current code and make the following changes, then notify
> the mail list when it is complete for further review.
> * Java 8 will be downgraded to Java 6. That's my own fault for unit
> testing with lambda's.
> * I would prefer to keep the annotations (especially the tiny
> net.jcip:jcip-annotations:1.0), but I will drop them and replace with
> javadoc.
> * I intended this to go into commons-lang3, I will look at BeanUtils2 and
> make the appropriate changes.
> * Since this idea looks like it will be included in Apache Commons (lang3)
> I will review Java String and Guava String API's, to make sure nothing is
> missed (and add unit tests). That seems unlikely though, StringUtils seems
> to cover all the bases.
>

I'm currently not convinced that this really belongs into Commons Lang.
Lang's description is "The standard Java libraries fail to provide enough
methods for manipulation of its core classes. Apache Commons Lang provides
these extra methods.". My opinion is, that we already have stuff in Lang
that isn't just auxiliary methods to the java.lang package. The change you
propose looks like a fluent wrapper to java.lang.String, which while
generally useful does not feel like it belongs into Commons Lang. That's
why I've proposed to publish this as an additional package for
commons-lang3.

If you would like to join development of Commons Lang, you can simply go to
the bug tracker [1] and look through the open issues. To start working on
open source projects, it's good to find small things to fix first. This
JavaDoc could be clearer, that test could be added, etc. This helps to get
a general feeling for the library at hands, before tossing a big change
over with no discussion. It is very important for ASF projects to find
consensus in the community before changing code. So if you have an idea
which sounds good at the beginning, it may not fit into the project you
want to contribute it to. This doesn't make the idea less good, but it may
lead to frustration if changes are not discussed at first.

Having said this, I hope your not discouraged because I don't feel like
your FluentWrapper belongs into commons. We need people like you who are
enthusiastic! And by the way, I'm not the one to decide whether is will be
added or not. I'm just sharing my thought. There may be other project
members you think this fits. It is still open for discussion.


>
> Without having yet looked at BeanUtils2 (so this might be a moot
> question), would it be useful to have a commons-lang3.fluent package or the
> like?
>

I don't feel like "implementing fluent wrappers" is something that belongs
into commons. There could be a commons-fluent component or something like
that, which provides fluent wrappers for classes of the JDK. Given the
popularity of fluent APIs, this may be something others could have a use of
as well.


>
> As for unit testing, do you want me to test all the delegating methods as
> well? It seems like a lot of work for nominal gain.
>

Changes should always be backed up by unit tests.


>
> Thanks again.
>

Thank you for your interest in Apache Commons.

Benedikt

[1] http://issues.apache.org/jira/browse/LANG


>
> Cheers,
> Micha
> ------------------------------
> *From:* Benedikt Ritter <brit...@apache.org>
> *To:* Commons Developers List <dev@commons.apache.org>; Micha Pringle <
> michaprin...@yahoo.com>
> *Sent:* Monday, November 16, 2015 11:00 AM
> *Subject:* Re: Proposed fluent string utils
>
> Hello Micha,
>
> 2015-11-15 1:47 GMT+01:00 Micha Pringle <michaprin...@yahoo.com.invalid>:
>
>
> I really apologize, it seems the link below still managed to include a
> period despite my best efforts. Please tryhttps://
> github.com/michapringle/fluentStringUtils
>
> Cheers,Micha      From: Micha Pringle <michaprin...@yahoo.com>
>  To: "dev@commons.apache.org" <dev@commons.apache.org>
>  Sent: Saturday, November 14, 2015 4:44 PM
>  Subject: Proposed fluent string utils
>
> Hi folks,
>
> Firstly, apologies if this results in a double post. I tried posting a
> couple of times, but the first time I sent to the user list (sorry), and
> the second time I do not see my email at all in the mail archive (
> http://mail-archives.apache.org/mod_mbox/commons-dev/201511.mbox/thread).
> Hopefully 3rd time is the charm, and again, sorry for my n00biness.
> I have written a fluent wrapper for the string utils class. Being new to
> commit anything to Apache Commons, and given the nature of the change, I
> wrote up a first draft that I was hoping the community could review, and
> then consider for addition to the commons library.
> A copy can be obtained from
> https://github.com/michapringle/fluentStringUtils.git. If there is a
> desire to add this to commons, I can complete any additional work required
> to meet the Commons standard.
> Cheers,Micha
>
>
> Thank you for your interest in Apache Commons Lang and my apologies for
> the late response. The pre-christmas time is always pretty busy for me :-)
> Your Fluent String Utils wrapper looks generally useful, however I'm not
> sure whether is fits into Commons Lang. Lang has a rather conservative API
> design (meaning, we don't have any fluent APIs yet).
>
> This would not be a blocker but the following definitely is:
> - Requires Java 8 - Lang is on Java 6
> - Has dependencies to net.jcip:jcip-annotations:1.0
> and org.jetbrains:annotations:15.0 - Lang should have little to no
> dependencies
>
> So maybe you can simply publish this as an additional library for
> commons-lang3. If you would like to work on fluent APIs, you should have a
> look at BeanUtils2 [1] which has a really nice one.
>
> Regards,
> Benedikt
>
> [1] commons.apache.org/sandbox/beanutils2
>
>
>
>
>
>
>
>
> --
> http://people.apache.org/~britter/
> http://www.systemoutprintln.de/
> http://twitter.com/BenediktRitter
> http://github.com/britter
>
>
>


-- 
http://people.apache.org/~britter/
http://www.systemoutprintln.de/
http://twitter.com/BenediktRitter
http://github.com/britter

Reply via email to