You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by pa...@apache.org on 2017/09/08 16:26:50 UTC

[1/2] [lang] LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug (closes #282)

Repository: commons-lang
Updated Branches:
  refs/heads/master d6ad3f015 -> a2dce32cd


LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug (closes #282)

SwappedPair constructed as Pair.of(rhs,lhs)


Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/3e08af57
Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/3e08af57
Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/3e08af57

Branch: refs/heads/master
Commit: 3e08af573f8b50da5202f55df62c925f88a47f3d
Parents: d6ad3f0
Author: namannigam <na...@gmail.com>
Authored: Thu Aug 10 08:45:27 2017 +0530
Committer: pascalschumacher <pa...@gmx.net>
Committed: Fri Sep 8 18:19:04 2017 +0200

----------------------------------------------------------------------
 src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-lang/blob/3e08af57/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java b/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
index 4e24bc5..d2cf7c7 100644
--- a/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
+++ b/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
@@ -157,7 +157,7 @@ public class EqualsBuilder implements Builder<Boolean> {
     static boolean isRegistered(final Object lhs, final Object rhs) {
         final Set<Pair<IDKey, IDKey>> registry = getRegistry();
         final Pair<IDKey, IDKey> pair = getRegisterPair(lhs, rhs);
-        final Pair<IDKey, IDKey> swappedPair = Pair.of(pair.getLeft(), pair.getRight());
+        final Pair<IDKey, IDKey> swappedPair = Pair.of(pair.getRight(), pair.getLeft());
 
         return registry != null
                 && (registry.contains(pair) || registry.contains(swappedPair));


Re: [1/2] [lang] LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug (closes #282)

Posted by Pascal Schumacher <pa...@gmx.net>.
already there:

https://github.com/apache/commons-lang/commit/a2dce32cdab108e7e281dfc27dd0a394e1419ce1
https://github.com/apache/commons-lang/commit/fdf05fa29babe21e64f9a5b268dc8406d449d4f1

Am 08.09.2017 um 19:01 schrieb Gary Gregory:
> Unit test SVP! ; -)
>
> Gary
>
> On Sep 8, 2017 10:26, <pa...@apache.org> wrote:
>
>> Repository: commons-lang
>> Updated Branches:
>>    refs/heads/master d6ad3f015 -> a2dce32cd
>>
>>
>> LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug
>> (closes #282)
>>
>> SwappedPair constructed as Pair.of(rhs,lhs)
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/
>> 3e08af57
>> Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/3e08af57
>> Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/3e08af57
>>
>> Branch: refs/heads/master
>> Commit: 3e08af573f8b50da5202f55df62c925f88a47f3d
>> Parents: d6ad3f0
>> Author: namannigam <na...@gmail.com>
>> Authored: Thu Aug 10 08:45:27 2017 +0530
>> Committer: pascalschumacher <pa...@gmx.net>
>> Committed: Fri Sep 8 18:19:04 2017 +0200
>>
>> ----------------------------------------------------------------------
>>   src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>> ----------------------------------------------------------------------
>>
>>
>> http://git-wip-us.apache.org/repos/asf/commons-lang/blob/
>> 3e08af57/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
>> ----------------------------------------------------------------------
>> diff --git a/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
>> b/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
>> index 4e24bc5..d2cf7c7 100644
>> --- a/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
>> +++ b/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
>> @@ -157,7 +157,7 @@ public class EqualsBuilder implements Builder<Boolean>
>> {
>>       static boolean isRegistered(final Object lhs, final Object rhs) {
>>           final Set<Pair<IDKey, IDKey>> registry = getRegistry();
>>           final Pair<IDKey, IDKey> pair = getRegisterPair(lhs, rhs);
>> -        final Pair<IDKey, IDKey> swappedPair = Pair.of(pair.getLeft(),
>> pair.getRight());
>> +        final Pair<IDKey, IDKey> swappedPair = Pair.of(pair.getRight(),
>> pair.getLeft());
>>
>>           return registry != null
>>                   && (registry.contains(pair) ||
>> registry.contains(swappedPair));
>>
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [1/2] [lang] LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug (closes #282)

Posted by Gary Gregory <ga...@gmail.com>.
Unit test SVP! ; -)

Gary

On Sep 8, 2017 10:26, <pa...@apache.org> wrote:

> Repository: commons-lang
> Updated Branches:
>   refs/heads/master d6ad3f015 -> a2dce32cd
>
>
> LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug
> (closes #282)
>
> SwappedPair constructed as Pair.of(rhs,lhs)
>
>
> Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
> Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/
> 3e08af57
> Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/3e08af57
> Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/3e08af57
>
> Branch: refs/heads/master
> Commit: 3e08af573f8b50da5202f55df62c925f88a47f3d
> Parents: d6ad3f0
> Author: namannigam <na...@gmail.com>
> Authored: Thu Aug 10 08:45:27 2017 +0530
> Committer: pascalschumacher <pa...@gmx.net>
> Committed: Fri Sep 8 18:19:04 2017 +0200
>
> ----------------------------------------------------------------------
>  src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/commons-lang/blob/
> 3e08af57/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
> ----------------------------------------------------------------------
> diff --git a/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
> b/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
> index 4e24bc5..d2cf7c7 100644
> --- a/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
> +++ b/src/main/java/org/apache/commons/lang3/builder/EqualsBuilder.java
> @@ -157,7 +157,7 @@ public class EqualsBuilder implements Builder<Boolean>
> {
>      static boolean isRegistered(final Object lhs, final Object rhs) {
>          final Set<Pair<IDKey, IDKey>> registry = getRegistry();
>          final Pair<IDKey, IDKey> pair = getRegisterPair(lhs, rhs);
> -        final Pair<IDKey, IDKey> swappedPair = Pair.of(pair.getLeft(),
> pair.getRight());
> +        final Pair<IDKey, IDKey> swappedPair = Pair.of(pair.getRight(),
> pair.getLeft());
>
>          return registry != null
>                  && (registry.contains(pair) ||
> registry.contains(swappedPair));
>
>

[2/2] [lang] LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug

Posted by pa...@apache.org.
LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug

Add a test and a changes.xml entry.


Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/a2dce32c
Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/a2dce32c
Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/a2dce32c

Branch: refs/heads/master
Commit: a2dce32cdab108e7e281dfc27dd0a394e1419ce1
Parents: 3e08af5
Author: pascalschumacher <pa...@gmx.net>
Authored: Fri Sep 8 18:18:45 2017 +0200
Committer: pascalschumacher <pa...@gmx.net>
Committed: Fri Sep 8 18:23:03 2017 +0200

----------------------------------------------------------------------
 src/changes/changes.xml                               |  3 ++-
 .../commons/lang3/builder/EqualsBuilderTest.java      | 14 ++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-lang/blob/a2dce32c/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 5846472..ec74e49 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -47,7 +47,8 @@ The <action> type attribute can be add,update,fix,remove.
 
   <release version="3.7" date="tba" description="tba">
     <action issue="LANG-1346" type="update" dev="pschumacher">Remove deprecation from RandomStringUtils</action>
-    <action issue="LANG-1350" type="update" dev="ggregory" due-to="Brett Kail">ConstructorUtils.invokeConstructor(Class, Object...) regression</action>
+    <action issue="LANG-1350" type="fix" dev="ggregory" due-to="Brett Kail">ConstructorUtils.invokeConstructor(Class, Object...) regression</action>
+    <action issue="LANG-1349" type="fix" dev="pschumacher" due-to="Naman Nigam">EqualsBuilder#isRegistered: swappedPair construction bug</action>
   </release>
 
   <release version="3.6" date="2017-06-08" description="New features and bug fixes. Requires Java 7.">

http://git-wip-us.apache.org/repos/asf/commons-lang/blob/a2dce32c/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java
index 3e47b3a..8dad5e8 100644
--- a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java
+++ b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java
@@ -21,8 +21,10 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
+import java.lang.reflect.Method;
 import java.util.Arrays;
 
+import org.apache.commons.lang3.reflect.MethodUtils;
 import org.junit.Test;
 
 /**
@@ -1339,5 +1341,17 @@ public class EqualsBuilderTest {
         assertFalse(new EqualsBuilder().reflectionAppend(null, o2).build());
     }
 
+    @Test
+    public void testIsRegistered() throws Exception {
+        Object firstObject = new Object();
+        Object secondObject = new Object();
+
+        Method registerMethod = MethodUtils.getMatchingMethod(EqualsBuilder.class, "register", Object.class, Object.class);
+        registerMethod.setAccessible(true);
+        registerMethod.invoke(null, firstObject, secondObject);
+
+        assertTrue(EqualsBuilder.isRegistered(firstObject, secondObject));
+        assertTrue(EqualsBuilder.isRegistered(secondObject, firstObject)); // LANG-1349
+    }
 }