--- src/main/java/aQute/lib/filter/Filter.java.sav0 2007-07-31 16:39:46.000000000 +0200 +++ src/main/java/aQute/lib/filter/Filter.java 2007-12-21 17:50:24.000000000 +0100 @@ -190,17 +190,17 @@ } else if (numClass == Character.class) { return compareString(obj.toString(), op, s); } else if (numClass == Long.class) { - return compareSign(op, Long.valueOf(s).compareTo(obj)); + return compareSign(op, Long.valueOf(s).compareTo((Long)obj)); } else if (numClass == Integer.class) { - return compareSign(op, Integer.valueOf(s).compareTo(obj)); + return compareSign(op, Integer.valueOf(s).compareTo((Integer)obj)); } else if (numClass == Short.class) { - return compareSign(op, Short.valueOf(s).compareTo(obj)); + return compareSign(op, Short.valueOf(s).compareTo((Short)obj)); } else if (numClass == Byte.class) { - return compareSign(op, Byte.valueOf(s).compareTo(obj)); + return compareSign(op, Byte.valueOf(s).compareTo((Byte)obj)); } else if (numClass == Double.class) { - return compareSign(op, Double.valueOf(s).compareTo(obj)); + return compareSign(op, Double.valueOf(s).compareTo((Double)obj)); } else if (numClass == Float.class) { - return compareSign(op, Float.valueOf(s).compareTo(obj)); + return compareSign(op, Float.valueOf(s).compareTo((Float)obj)); } else if (numClass == Boolean.class) { if (op != EQ) return false; @@ -208,9 +208,9 @@ int b = ((Boolean) obj).booleanValue() ? 1 : 0; return compareSign(op, a - b); } else if (numClass == BigInteger.class) { - return compareSign(op, new BigInteger(s).compareTo(obj)); + return compareSign(op, new BigInteger(s).compareTo((BigInteger)obj)); } else if (numClass == BigDecimal.class) { - return compareSign(op, new BigDecimal(s).compareTo(obj)); + return compareSign(op, new BigDecimal(s).compareTo((BigDecimal)obj)); } else if (obj instanceof Vector) { for (Enumeration e = ((Vector) obj).elements(); e.hasMoreElements();