Author: tchemit Date: 2014-04-02 09:03:59 +0200 (Wed, 02 Apr 2014) New Revision: 1000 Url: http://forge.codelutin.com/projects/echobase/repository/revisions/1000 Log: fixes #4806: recherche sur addOffset dans table datametadata ne fonctionne pas Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java 2014-03-26 11:35:38 UTC (rev 999) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java 2014-04-02 07:03:59 UTC (rev 1000) @@ -58,6 +58,8 @@ import org.nuiton.util.beans.PropertyDiff; import javax.inject.Inject; +import java.math.BigDecimal; +import java.math.BigInteger; import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -419,12 +421,34 @@ // real number operation - if (columnMeta.getType() == int.class || - columnMeta.getType() == Integer.class) { + if (columnMeta.getType() == byte.class || + columnMeta.getType() == Byte.class) { + realData = Byte.valueOf(data); + } else if (columnMeta.getType() == char.class || + columnMeta.getType() == Character.class) { + realData = StringUtils.isEmpty(data) ? ' ' : data.charAt(0); + } else if (columnMeta.getType() == short.class || + columnMeta.getType() == Short.class) { + realData = Short.valueOf(data); + } else if (columnMeta.getType() == int.class || + columnMeta.getType() == Integer.class) { realData = Integer.valueOf(data); + } else if (columnMeta.getType() == long.class || + columnMeta.getType() == Long.class) { + realData = Integer.valueOf(data); + } else if (columnMeta.getType() == float.class || + columnMeta.getType() == Float.class) { + realData = Float.valueOf(data); + } else if (columnMeta.getType() == double.class || + columnMeta.getType() == Double.class) { + realData = Double.valueOf(data); + } else if (columnMeta.getType() == BigInteger.class) { + realData = new BigInteger(data); + } else if (columnMeta.getType() == BigDecimal.class) { + realData = new BigDecimal(data); } else { - - realData = Double.valueOf(data); + throw new IllegalStateException( + "Can't convert column (" + columnMeta.getName() + ") of type: " + columnMeta.getType()); } } } else if (columnMeta.isDate()) {
participants (1)
-
tchemit@users.forge.codelutin.com