You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2017/07/25 10:15:24 UTC
empire-db git commit: EMPIREDB-262 special enum handling in
compareEqual
Repository: empire-db
Updated Branches:
refs/heads/master a5cb2785e -> f56a2dc5c
EMPIREDB-262
special enum handling in compareEqual
Project: http://git-wip-us.apache.org/repos/asf/empire-db/repo
Commit: http://git-wip-us.apache.org/repos/asf/empire-db/commit/f56a2dc5
Tree: http://git-wip-us.apache.org/repos/asf/empire-db/tree/f56a2dc5
Diff: http://git-wip-us.apache.org/repos/asf/empire-db/diff/f56a2dc5
Branch: refs/heads/master
Commit: f56a2dc5c2d2e3c6ef33491600a21f91ba06e654
Parents: a5cb278
Author: Rainer Döbele <do...@apache.org>
Authored: Tue Jul 25 12:15:19 2017 +0200
Committer: Rainer Döbele <do...@apache.org>
Committed: Tue Jul 25 12:15:19 2017 +0200
----------------------------------------------------------------------
.../java/org/apache/empire/commons/ObjectUtils.java | 15 +++++++++++++++
1 file changed, 15 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/empire-db/blob/f56a2dc5/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java
----------------------------------------------------------------------
diff --git a/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java b/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java
index 3707f45..b10066e 100644
--- a/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java
+++ b/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java
@@ -127,6 +127,21 @@ public final class ObjectUtils
double d2 = ((Number)o2).doubleValue();
return (d1==d2);
}
+ // Enum
+ if (o1.getClass().isEnum())
+ { // Special enum handling
+ if (o2 instanceof Number)
+ return ((Enum<?>)o1).ordinal()==((Number)o2).intValue();
+ else
+ return ((Enum<?>)o1).name().equals(o2);
+ }
+ else if (o2.getClass().isEnum())
+ { // Special enum handling
+ if (o1 instanceof Number)
+ return ((Enum<?>)o2).ordinal()==((Number)o1).intValue();
+ else
+ return ((Enum<?>)o2).name().equals(o1);
+ }
// Compare Strings
return o1.toString().equals(o2.toString());
}