+1

On Sun, Jul 17, 2016 at 2:50 AM, Will Glass-Husain <[email protected]>
wrote:

> I'm fine with cloning it. Why bring in all the other stuff when we just
> need a simple feature.
>
> On Jul 17, 2016 11:27 AM, "Claude Brisson" <[email protected]> wrote:
>
> > Another reenginering point I'd like to share with you:
> >
> > We're currently quite extensively using
> > org.apache.commons.collections.ExtendedProperties. The main extra feature
> > vs. java.util.Properties is the handling of multi-values keys.
> >
> > We removed the runtime-dependency towards commons-collections by using
> > shading (aka integrating ExtendedProperties class file in our jar).
> >
> > So far, so good.
> >
> > But commons-collections 4.0 removed ExtendedProperties, replaced by
> > org.apache.commons.configuration.PropertiesConfiguration.
> >
> > Either way, I think we can keep the compile-time dependancy towards
> > commons-collections-3 for B.C. The class collections.ExtendedProperties
> > will still be there, shaded, but only used by deprecated methods/classes.
> >
> > We shouldn't keep non-deprecated dependencies towards
> > commons-collections-3, and the dilemma is about the replacement of
> > ExtendedProperties in the new methods and classes. Two options here:
> >
> > 1) use a shaded dependency towards
> > commons.configuration.PropertiesConfiguration
> > 2) host a clone of ExtendedProperties, as
> > org.apache.velocity.utils.ExtProperties
> >
> > Seen from a place far off, option 1 looks like the most natural, but:
> >  - PropertiesConfiguration adds a whole bunch of features we don't really
> > care about
> >  - PropertiesConfiguration belongs to a whole class hierarchy, whereas
> > ExtendedProperties is completely standalone
> >  - integrating PropertiesConfiguration will need more reenginering
> > (constructors aren't the same) and will potentially raise more
> > backward-compatibility problems
> >  - ExtendedProperties is stable and unlikely to need any future change
> >
> > So I'm strongly inclined to implement option 2.
> >
> > For reference, PropertiesConfiguration javadoc:
> >
> >
> https://commons.apache.org/proper/commons-configuration/apidocs/org/apache/commons/configuration2/PropertiesConfiguration.html
> >
> >
> >    Claude
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
>

Reply via email to