in odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataExpressionParser.java [577:623]
private static String evaluateExpressionForNumbers(String uriLiteral, EdmSimpleType edmSimpleType,
Class<?> edmMappedType, Map<Integer, Object> positionalParameters, int index) {
Class<? extends Object> type = edmMappedType==null? edmSimpleType.getDefaultType():
edmMappedType;
int size = positionalParameters.size();
if (Long.class.equals(type) || long.class.equals(type)) {
if (!positionalParameters.containsKey(index)) {
positionalParameters.put(index, Long.valueOf(uriLiteral));
}
} else if (Double.class.equals(type) || double.class.equals(type)) {
if (!positionalParameters.containsKey(index)) {
positionalParameters.put(index, Double.valueOf(uriLiteral));
}
} else if (Integer.class.equals(type) || int.class.equals(type)) {
if (!positionalParameters.containsKey(index)) {
positionalParameters.put(index, Integer.valueOf(uriLiteral));
}
} else if (Byte.class.equals(type) || byte.class.equals(type)) {
if (!positionalParameters.containsKey(index)) {
positionalParameters.put(index, Byte.valueOf(uriLiteral));
}
} else if (Byte[].class.equals(type) || byte[].class.equals(type)) {
if (!positionalParameters.containsKey(index)) {
positionalParameters.put(index, toByteArray(uriLiteral));
}
} else if (Short.class.equals(type) || short.class.equals(type)) {
if (!positionalParameters.containsKey(index)) {
positionalParameters.put(index, Short.valueOf(uriLiteral));
}
} else if (BigDecimal.class.equals(type)) {
if (!positionalParameters.containsKey(index)) {
positionalParameters.put(index, new BigDecimal(uriLiteral));
}
} else if (BigInteger.class.equals(type)) {
if (!positionalParameters.containsKey(index)) {
positionalParameters.put(index, new BigInteger(uriLiteral));
}
} else if (Float.class.equals(type) || float.class.equals(type)) {
if (!positionalParameters.containsKey(index)) {
positionalParameters.put(index, Float.valueOf(uriLiteral));
}
}
if(size+1 == positionalParameters.size()){
uriLiteral = "?" + index;
}
return uriLiteral;
}