Author: jcouteau Date: 2012-01-12 18:24:58 +0100 (Thu, 12 Jan 2012) New Revision: 1319 Url: http://nuiton.org/repositories/revision/wikitty/1319 Log: Fix castTo Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyClient.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyClient.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyClient.java 2012-01-12 15:16:49 UTC (rev 1318) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyClient.java 2012-01-12 17:24:58 UTC (rev 1319) @@ -980,7 +980,6 @@ static private class IdToObjectConverter<T> implements ConvertTreeVisitor.Converter<String, T> { protected Map<String, T> objects = new HashMap<String, T>(); protected String securityToken; - protected WikittyService wikittyService; public IdToObjectConverter(List<String> ids, List<T> objectList) { for (int i = 0; i < ids.size(); i++) { @@ -1368,7 +1367,7 @@ } else if (objects.size() == 0) { // on ne fait rien on met juste une nouvelle liste vide result = new ArrayList<E>(); - } else if (target.isAssignableFrom(Wikitty.class)) { + } else if (Wikitty.class.isAssignableFrom(target)) { // On veut des Wikitties en sortie Object first = objects.get(0); @@ -1440,7 +1439,7 @@ // le queryResult courant contient des Ids // Si ce n'est pas le cas, ca veut dire que le developpeur utilisant // ce queryResult ne sait pas ce qu'il fait :) - List<String> ids = (List<String>) objects.get(0); + List<String> ids = (List<String>) objects; result = (List<E>)restore(ids); } else { throw new ClassCastException("WikittyQueryResult don't contains" @@ -1448,35 +1447,35 @@ + " (accepted Wikitty, BusinessEntityImpl, String id) but not " + first.getClass()); } - } else if (target.isAssignableFrom(BusinessEntity.class)) { + } else if (BusinessEntity.class.isAssignableFrom(target)) { // on commence par tout mettre en Wikitty, en utilisant le if du dessus List<Wikitty> resultTmp = castTo(Wikitty.class, objects); result = (List<E>)WikittyUtil.newInstance((Class<BusinessEntity>)target, resultTmp); - } else if (target.isAssignableFrom(Number.class)) { + } else if (Number.class.isAssignableFrom(target)) { result = new ArrayList<E>(objects.size()); for (Object o : objects) { BigDecimal v = WikittyUtil.toBigDecimal(o); result.add((E)v); } - } else if (target.isAssignableFrom(Date.class)) { + } else if (Date.class.isAssignableFrom(target)) { result = new ArrayList<E>(objects.size()); for (Object o : objects) { Date v = WikittyUtil.toDate(o); result.add((E)v); } - } else if (target.isAssignableFrom(Boolean.class)) { + } else if (Boolean.class.isAssignableFrom(target)) { result = new ArrayList<E>(objects.size()); for (Object o : objects) { Boolean v = WikittyUtil.toBoolean(o); result.add((E)v); } - } else if (target.isAssignableFrom(byte[].class)) { + } else if (byte[].class.isAssignableFrom(target)) { result = new ArrayList<E>(objects.size()); for (Object o : objects) { byte[] v = WikittyUtil.toBinary(o); result.add((E)v); } - } else if (target.isAssignableFrom(String.class)) { + } else if (String.class.isAssignableFrom(target)) { result = new ArrayList<E>(objects.size()); for (Object o : objects) { String v = WikittyUtil.toString(o);