#325 Fix BigDecimal serialization

This commit is contained in:
Timo Westkämper 2013-01-12 22:23:34 +02:00
parent d3f1a51187
commit d1eb327ceb
3 changed files with 32 additions and 0 deletions

View File

@ -62,6 +62,11 @@ public final class CollQuerySerializer extends SerializerBase<CollQuerySerialize
OPERATOR_SYMBOLS.put(Ops.GOE, " >= ");
OPERATOR_SYMBOLS.put(Ops.LOE, " <= ");
OPERATOR_SYMBOLS.put(Ops.ADD, " + ");
OPERATOR_SYMBOLS.put(Ops.SUB, " - ");
OPERATOR_SYMBOLS.put(Ops.MULT, " * ");
OPERATOR_SYMBOLS.put(Ops.DIV, " / ");
CAST_SUFFIXES.put(Byte.class, ".byteValue()");
CAST_SUFFIXES.put(Character.class, ".charValue()");
CAST_SUFFIXES.put(Double.class, ".doubleValue()");

View File

@ -49,6 +49,11 @@ public class CollQueryTemplates extends JavaTemplates {
add(Ops.MathOps.LOG, functions + ".log({0},{1})");
add(Ops.MathOps.RAD, functions + ".radians({0})");
add(Ops.MathOps.SIGN, "{0} > 0 ? 1 : -1");
add(Ops.ADD, "{0}.add({1})");
add(Ops.SUB, "{0}.subtract({1})");
add(Ops.MULT, "{0}.multiply({1})");
add(Ops.DIV, "{0}.divide({1})");
// Date and Time
add(Ops.DateTimeOps.YEAR, functions + ".getYear({0})");

View File

@ -0,0 +1,22 @@
package com.mysema.query.collections;
import java.math.BigDecimal;
import java.util.Arrays;
import org.junit.Test;
import com.mysema.query.types.path.NumberPath;
public class BigDecimalTest {
@Test
public void Arithmetic() {
NumberPath<BigDecimal> num = new NumberPath<BigDecimal>(BigDecimal.class, "num");
CollQuery query = CollQueryFactory.from(num, Arrays.asList(BigDecimal.ONE, BigDecimal.ONE));
query.list(num.add(BigDecimal.ONE));
query.list(num.subtract(BigDecimal.ONE));
query.list(num.multiply(BigDecimal.ONE));
query.list(num.divide(BigDecimal.ONE));
}
}