[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jakarta-commons-user
Subject:    Re: Help with migrating one of OpenJPA classes to commons-collections4
From:       Maxim Solodovnik <solomax666 () gmail ! com>
Date:       2018-11-26 13:08:11
Message-ID: CAJmbs8gFVMXgSw+cg_hmNpPy091mVSetcZnUqB01c5ecD51hfQ () mail ! gmail ! com
[Download RAW message or body]


Hello Gary,

any news regarding release? :)))

On Tue, 13 Nov 2018 at 12:51, Maxim Solodovnik <solomax666@gmail.com> wrote:

> Many thanks :)
> 
> On Tue, 13 Nov 2018 at 12:50, Gary Gregory <garydgregory@gmail.com> wrote:
> 
> > I hope someone will take the time to do this over the US Thanksgiving
> > holidays perhaps.
> > 
> > Gary
> > 
> > On Mon, Nov 12, 2018, 22:37 Maxim Solodovnik <solomax666@gmail.com wrote:
> > 
> > > Hello Gary,
> > > 
> > > we all are volunteers :)
> > > Why I'm asking: it will be blocker for OpenJPA release
> > > 
> > > On Tue, 16 Oct 2018 at 19:39, Gary Gregory <garydgregory@gmail.com>
> > wrote:
> > > 
> > > > Hi,
> > > > 
> > > > There is no ETA, and since we are all volunteers,  it depends on who
> > > wants
> > > > to step up and take the time to do it.
> > > > 
> > > > Gary
> > > > 
> > > > On Mon, Oct 15, 2018, 22:23 Maxim Solodovnik <solomax666@gmail.com>
> > > wrote:
> > > > 
> > > > > Hello Gary,
> > > > > 
> > > > > SNAPSHOT works for us expected :)
> > > > > There is no rush, I just want to get some ETA :)
> > > > > 
> > > > > On Tue, 16 Oct 2018 at 00:07, Gary Gregory <garydgregory@gmail.com>
> > > > wrote:
> > > > > 
> > > > > > Are there any open issues we want to address for 4.3 is the
> > SNAPSHOT
> > > OK
> > > > > as
> > > > > > is?
> > > > > > 
> > > > > > Gary
> > > > > > 
> > > > > > On Mon, Oct 15, 2018 at 10:42 AM Maxim Solodovnik <
> > > > solomax666@gmail.com>
> > > > > > wrote:
> > > > > > 
> > > > > > > Hello Benedikt,
> > > > > > > 
> > > > > > > I would like to remind you about 4.3 release :)
> > > > > > > 
> > > > > > > On Tue, 25 Sep 2018 at 20:45, Maxim Solodovnik <
> > > solomax666@gmail.com
> > > > > 
> > > > > > > wrote:
> > > > > > > > 
> > > > > > > > Great,
> > > > > > > > 
> > > > > > > > Thanks a million!
> > > > > > > > 
> > > > > > > > On Tue, 25 Sep 2018 at 20:39, Benedikt Ritter <
> > > britter@apache.org>
> > > > > > > wrote:
> > > > > > > > > 
> > > > > > > > > Am Di., 25. Sep. 2018 um 15:36 Uhr schrieb Benedikt Ritter <
> > > > > > > > > britter@apache.org>:
> > > > > > > > > 
> > > > > > > > > > Hello Maxim,
> > > > > > > > > > Am Mo., 24. Sep. 2018 um 05:32 Uhr schrieb Maxim
> > Solodovnik <
> > > > > > > > > > solomax666@gmail.com>:
> > > > > > > > > > 
> > > > > > > > > > > Hello,
> > > > > > > > > > > 
> > > > > > > > > > > could you please create 4.3-SNAPSHOT build?
> > > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > I'll check whether I have permission to publish a SNAPSHOT
> > > build
> > > > > to
> > > > > > > the
> > > > > > > > > > SNAPSHOT repo.
> > > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > I've deployed the latest code to
> > > > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > 
> > > > 
> > > 
> > https://repository.apache.org/content/repositories/snapshots/org/apache/commons/commons-collections4/4.3-SNAPSHOT/
> > 
> > > > > > > > > 
> > > > > > > > > Regards,
> > > > > > > > > Benedikt
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > And if you have any estimates on 4.3 release, could you
> > > please
> > > > > > share
> > > > > > > it?
> > > > > > > > > > > > )
> > > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > We don't have estimates or a roadmap. But I've this on my
> > > list,
> > > > > > > because I
> > > > > > > > > > know you're depending on it. I have two days vacation next
> > > week.
> > > > > > That
> > > > > > > may
> > > > > > > > > > be an opportunity for me to work towards a 4.3 release.
> > > > > > > > > > 
> > > > > > > > > > Regards,
> > > > > > > > > > Benedikt
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > On Thu, 20 Sep 2018 at 17:58, Maxim Solodovnik <
> > > > > > solomax666@gmail.com
> > > > > > > > 
> > > > > > > > > > > wrote:
> > > > > > > > > > > 
> > > > > > > > > > > > One more question: it seems there is no 4.3-SNAPSHOT
> > build
> > > > > > > available
> > > > > > > > > > > > Could you please create it?
> > > > > > > > > > > > 
> > > > > > > > > > > > On Thu, 20 Sep 2018 at 12:47, Maxim Solodovnik <
> > > > > > > solomax666@gmail.com>
> > > > > > > > > > > > wrote:
> > > > > > > > > > > > > 
> > > > > > > > > > > > > Hello Gary,
> > > > > > > > > > > > > 
> > > > > > > > > > > > > I have tested changes, everything works as expected
> > > > > > > > > > > > > Thanks a lot!
> > > > > > > > > > > > > 
> > > > > > > > > > > > > I have closed PR, but have no rights to close JIRA :(
> > > > > > > > > > > > > 
> > > > > > > > > > > > > Do you have any plans for 4.3 release?
> > > > > > > > > > > > > On Wed, 19 Sep 2018 at 22:11, Gary Gregory <
> > > > > > > garydgregory@gmail.com>
> > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > Maxim,
> > > > > > > > > > > > > > Thank you for your patch.
> > > > > > > > > > > > > > I created
> > > > > > > https://issues.apache.org/jira/browse/COLLECTIONS-696 and
> > > > > > > > > > > > > > committed you patch to git master.
> > > > > > > > > > > > > > Please verify and close the Jira ticket and GitHub
> > PR.
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > Thank you,
> > > > > > > > > > > > > > Gary
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > On Wed, Sep 19, 2018 at 1:24 AM Maxim Solodovnik <
> > > > > > > > > > > solomax666@gmail.com
> > > > > > > > > > > > > 
> > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > Done:
> > > > > > https://github.com/apache/commons-collections/pull/51
> > > > > > > > > > > > > > > Could you please take a look at this PR?
> > > > > > > > > > > > > > > On Thu, 6 Sep 2018 at 03:17, Gary Gregory <
> > > > > > > garydgregory@gmail.com
> > > > > > > > > > > > 
> > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > Hi,
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > Your best shot would be to submit a PR on GitHub
> > > > which
> > > > > > > includes
> > > > > > > > > > > a
> > > > > > > > > > > > unit
> > > > > > > > > > > > > > > test
> > > > > > > > > > > > > > > > that exercises the new code.
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > https://github.com/apache/commons-collections
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > Thank you,
> > > > > > > > > > > > > > > > Gary
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > On Wed, Sep 5, 2018 at 10:12 AM Maxim
> > Solodovnik <
> > > > > > > > > > > > solomax666@gmail.com>
> > > > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > Would it be possible to modify the code of
> > > > > > > > > > > > AbstractReferenceMap.java as
> > > > > > > > > > > > > > > > > follows?
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > diff --git
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > 
> > > > 
> > > 
> > a/src/main/java/org/apache/commons/collections4/map/AbstractReferenceMap.java
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > 
> > > > 
> > > 
> > b/src/main/java/org/apache/commons/collections4/map/AbstractReferenceMap.java
> > > > > > > > > > > > > > > > > index 0eda632f..81f60b4b 100644
> > > > > > > > > > > > > > > > > ---
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > 
> > > > 
> > > 
> > a/src/main/java/org/apache/commons/collections4/map/AbstractReferenceMap.java
> > > > > > > > > > > > > > > > > +++
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > 
> > > > 
> > > 
> > b/src/main/java/org/apache/commons/collections4/map/AbstractReferenceMap.java
> > > > > > > > > > > > > > > > > @@ -400,13 +400,15 @@ public abstract class
> > > > > > > > > > > > AbstractReferenceMap<K, V>
> > > > > > > > > > > > > > > > > extends AbstractHashedMap<K, V>
> > > > > > > > > > > > > > > > > HashEntry<K, V> previous = null;
> > > > > > > > > > > > > > > > > HashEntry<K, V> entry = data[index];
> > > > > > > > > > > > > > > > > while (entry != null) {
> > > > > > > > > > > > > > > > > -            if (((ReferenceEntry<K, V>)
> > > > > > > entry).purge(ref)) {
> > > > > > > > > > > > > > > > > +            ReferenceEntry<K, V> refEntry =
> > > > > > > > > > > (ReferenceEntry<K,
> > > > > > > > > > > > V>)
> > > > > > > > > > > > > > > entry;
> > > > > > > > > > > > > > > > > +            if (refEntry.purge(ref)) {
> > > > > > > > > > > > > > > > > if (previous == null) {
> > > > > > > > > > > > > > > > > data[index] = entry.next;
> > > > > > > > > > > > > > > > > } else {
> > > > > > > > > > > > > > > > > previous.next =
> > entry.next;
> > > > > > > > > > > > > > > > > }
> > > > > > > > > > > > > > > > > this.size--;
> > > > > > > > > > > > > > > > > +                refEntry.onPurge();
> > > > > > > > > > > > > > > > > return;
> > > > > > > > > > > > > > > > > }
> > > > > > > > > > > > > > > > > previous = entry;
> > > > > > > > > > > > > > > > > @@ -721,12 +723,15 @@ public abstract class
> > > > > > > > > > > > AbstractReferenceMap<K, V>
> > > > > > > > > > > > > > > > > extends AbstractHashedMap<K, V>
> > > > > > > > > > > > > > > > > throw new Error();
> > > > > > > > > > > > > > > > > }
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > +        protected void onPurge() {
> > > > > > > > > > > > > > > > > +        }
> > > > > > > > > > > > > > > > > +
> > > > > > > > > > > > > > > > > /**
> > > > > > > > > > > > > > > > > * Purges the specified reference
> > > > > > > > > > > > > > > > > * @param ref  the reference to purge
> > > > > > > > > > > > > > > > > * @return true or false
> > > > > > > > > > > > > > > > > */
> > > > > > > > > > > > > > > > > -        boolean purge(final Reference<?>
> > ref) {
> > > > > > > > > > > > > > > > > +        protected boolean purge(final
> > > Reference<?>
> > > > > > ref)
> > > > > > > {
> > > > > > > > > > > > > > > > > boolean r = parent.keyType !=
> > > > > > > > > > > > ReferenceStrength.HARD &&
> > > > > > > > > > > > > > > key ==
> > > > > > > > > > > > > > > > > ref;
> > > > > > > > > > > > > > > > > r = r || parent.valueType !=
> > > > > > > > > > > ReferenceStrength.HARD
> > > > > > > > > > > > &&
> > > > > > > > > > > > > > > value
> > > > > > > > > > > > > > > > > == ref;
> > > > > > > > > > > > > > > > > if (r) {
> > > > > > > > > > > > > > > > > @@ -1073,4 +1078,17 @@ public abstract class
> > > > > > > > > > > > AbstractReferenceMap<K, V>
> > > > > > > > > > > > > > > > > extends AbstractHashedMap<K, V>
> > > > > > > > > > > > > > > > > protected boolean isKeyType(final
> > > > > > ReferenceStrength
> > > > > > > > > > > type) {
> > > > > > > > > > > > > > > > > return this.keyType == type;
> > > > > > > > > > > > > > > > > }
> > > > > > > > > > > > > > > > > +
> > > > > > > > > > > > > > > > > +    /**
> > > > > > > > > > > > > > > > > +     * Provided protected read-only access to
> > > the
> > > > > > value
> > > > > > > type.
> > > > > > > > > > > > > > > > > +     * @param type the type to check against.
> > > > > > > > > > > > > > > > > +     * @return true if valueType has the
> > > specified
> > > > > > type
> > > > > > > > > > > > > > > > > +     */
> > > > > > > > > > > > > > > > > +    protected boolean isValueType(final
> > > > > > > ReferenceStrength
> > > > > > > > > > > type)
> > > > > > > > > > > > {
> > > > > > > > > > > > > > > > > +        return this.valueType == type;
> > > > > > > > > > > > > > > > > +    }
> > > > > > > > > > > > > > > > > +
> > > > > > > > > > > > > > > > > +    public boolean isPurgeValues() {
> > > > > > > > > > > > > > > > > +        return purgeValues;
> > > > > > > > > > > > > > > > > +    }
> > > > > > > > > > > > > > > > > }
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > On Mon, 3 Sep 2018 at 20:08, Maxim Solodovnik
> > <
> > > > > > > > > > > > solomax666@gmail.com>
> > > > > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > Thanks a lot for the answer,
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > OpenJPA ReferenceHashMap overrides purge
> > method
> > > > to
> > > > > be
> > > > > > > able
> > > > > > > > > > > to
> > > > > > > > > > > > call
> > > > > > > > > > > > > > > > > > custom methods keyExpired/valueExpired [1]
> > > > > > > > > > > > > > > > > > I see no way to migrate this code without
> > > massive
> > > > > > > > > > > copy/paste or
> > > > > > > > > > > > > > > > > reflection
> > > > > > > > > > > > > > > > > > ...
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > Maybe you can suggest something?
> > > > > > > > > > > > > > > > > > Or maybe commons-collections API can be
> > > enhanced
> > > > so
> > > > > > > this
> > > > > > > > > > > task
> > > > > > > > > > > > will be
> > > > > > > > > > > > > > > > > > trivial :)
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > 
> > > > 
> > > 
> > https://github.com/apache/openjpa/blob/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/ReferenceHashMap.java#L138
> > 
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > On Mon, 3 Sep 2018 at 20:03, Julio Oliveira
> > > > > > > > > > > > > > > > > > <julio.juliooliveira@gmail.com> wrote:
> > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > What is realy your problem??..
> > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > On Sat, Sep 1, 2018, 5:46 AM Maxim
> > > Solodovnik <
> > > > > > > > > > > > > > > solomax666@gmail.com>
> > > > > > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > Hello,
> > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > I'm trying to migrate code of Apache
> > > OpenJPA
> > > > > from
> > > > > > > > > > > > > > > commons-collections
> > > > > > > > > > > > > > > > > > > > to commons-collections4
> > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > The only real issue so far with
> > migrating
> > > > this
> > > > > > > class
> > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > 
> > > > 
> > > 
> > https://github.com/apache/openjpa/blob/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/ReferenceHashMap.java#L112
> > 
> > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > code of commons-collections4 is more
> > > > > restrictive
> > > > > > > could
> > > > > > > > > > > you
> > > > > > > > > > > > please
> > > > > > > > > > > > > > > > > > > > suggest how custom purge can be
> > > implemented?
> > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > --
> > > > > > > > > > > > > > > > > > > > WBR
> > > > > > > > > > > > > > > > > > > > Maxim aka solomax
> > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > 
> > ---------------------------------------------------------------------
> > > > > > > > > > > > > > > > > > > > To unsubscribe, e-mail:
> > > > > > > > > > > > user-unsubscribe@commons.apache.org
> > > > > > > > > > > > > > > > > > > > For additional commands, e-mail:
> > > > > > > > > > > > user-help@commons.apache.org
> > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > --
> > > > > > > > > > > > > > > > > > WBR
> > > > > > > > > > > > > > > > > > Maxim aka solomax
> > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > --
> > > > > > > > > > > > > > > > > WBR
> > > > > > > > > > > > > > > > > Maxim aka solomax
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > --
> > > > > > > > > > > > > > > WBR
> > > > > > > > > > > > > > > Maxim aka solomax
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > 
> > ---------------------------------------------------------------------
> > > > > > > > > > > > > > > To unsubscribe, e-mail:
> > > > > > user-unsubscribe@commons.apache.org
> > > > > > > > > > > > > > > For additional commands, e-mail:
> > > > > > > user-help@commons.apache.org
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > 
> > > > > > > > > > > > > 
> > > > > > > > > > > > > 
> > > > > > > > > > > > > --
> > > > > > > > > > > > > WBR
> > > > > > > > > > > > > Maxim aka solomax
> > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > > --
> > > > > > > > > > > > WBR
> > > > > > > > > > > > Maxim aka solomax
> > > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > --
> > > > > > > > > > > WBR
> > > > > > > > > > > Maxim aka solomax
> > > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > --
> > > > > > > > WBR
> > > > > > > > Maxim aka solomax
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > --
> > > > > > > WBR
> > > > > > > Maxim aka solomax
> > > > > > > 
> > > > > > > 
> > > ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> > > > > > > For additional commands, e-mail: user-help@commons.apache.org
> > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > 
> > > > > 
> > > > > --
> > > > > WBR
> > > > > Maxim aka solomax
> > > > > 
> > > > 
> > > 
> > > 
> > > --
> > > WBR
> > > Maxim aka solomax
> > > 
> > 
> 
> 
> --
> WBR
> Maxim aka solomax
> 


-- 
WBR
Maxim aka solomax



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic