merging in revision 5523, changing object property sort method to account for nulls
This commit is contained in:
parent
b9ac586c20
commit
dcd7f10b58
1 changed files with 35 additions and 26 deletions
|
@ -498,9 +498,20 @@ public class ObjectProperty extends Property implements Comparable<ObjectPropert
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
try {
|
try {
|
||||||
if( val1 instanceof String ) {
|
if( val1 instanceof String ) {
|
||||||
|
|
||||||
|
if (val1 == null && val2 == null) {
|
||||||
|
rv = 0;
|
||||||
|
} else if (val1 == null) {
|
||||||
|
rv = 1;
|
||||||
|
} else if (val2 == null) {
|
||||||
|
rv = -1;
|
||||||
|
} else {
|
||||||
|
|
||||||
Collator collator = Collator.getInstance();
|
Collator collator = Collator.getInstance();
|
||||||
rv = collator.compare( ((String)val1) , ((String)val2) );
|
rv = collator.compare( ((String)val1) , ((String)val2) );
|
||||||
//rv = ((String)val1).compareTo((String)val2);
|
//rv = ((String)val1).compareTo((String)val2);
|
||||||
|
}
|
||||||
|
|
||||||
} else if( val1 instanceof Date ) {
|
} else if( val1 instanceof Date ) {
|
||||||
DateTime dt1 = new DateTime((Date)val1);
|
DateTime dt1 = new DateTime((Date)val1);
|
||||||
DateTime dt2 = new DateTime((Date)val2);
|
DateTime dt2 = new DateTime((Date)val2);
|
||||||
|
@ -581,12 +592,13 @@ public class ObjectProperty extends Property implements Comparable<ObjectPropert
|
||||||
}
|
}
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
try {
|
try {
|
||||||
if (val1==null) {
|
if (val1 == null && val2 == null) {
|
||||||
|
rv = 0;
|
||||||
|
} else if (val1==null) {
|
||||||
rv = 1;
|
rv = 1;
|
||||||
}
|
} else if (val2==null) {
|
||||||
if (val2==null) {
|
|
||||||
rv = -1;
|
rv = -1;
|
||||||
}
|
} else {
|
||||||
if( val1 instanceof String ) {
|
if( val1 instanceof String ) {
|
||||||
Collator collator = Collator.getInstance();
|
Collator collator = Collator.getInstance();
|
||||||
rv = collator.compare( ((String)val1) , ((String)val2) ); //was rv = ((String)val1).compareTo((String)val2);
|
rv = collator.compare( ((String)val1) , ((String)val2) ); //was rv = ((String)val1).compareTo((String)val2);
|
||||||
|
@ -596,17 +608,14 @@ public class ObjectProperty extends Property implements Comparable<ObjectPropert
|
||||||
rv = dt1.compareTo(dt2);
|
rv = dt1.compareTo(dt2);
|
||||||
} else if( val1 instanceof Integer) {
|
} else if( val1 instanceof Integer) {
|
||||||
rv = ((Integer) val1) - ((Integer) val2);
|
rv = ((Integer) val1) - ((Integer) val2);
|
||||||
}
|
} else{
|
||||||
else
|
|
||||||
rv = 0;
|
rv = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch (NullPointerException e) {
|
} catch (NullPointerException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
//if( cAscending )
|
|
||||||
// return rv;
|
|
||||||
//else
|
|
||||||
// return rv * -1;
|
|
||||||
|
|
||||||
if ( !cAscending ) {
|
if ( !cAscending ) {
|
||||||
rv = rv * -1;
|
rv = rv * -1;
|
||||||
|
|
Loading…
Add table
Reference in a new issue