r2755 - in trunk: src/site/rst topia-persistence/src/main/java/org/nuiton/topia topia-persistence/src/main/java/org/nuiton/topia/framework
Author: echatellier Date: 2013-07-12 10:12:26 +0200 (Fri, 12 Jul 2013) New Revision: 2755 Url: http://nuiton.org/projects/topia/repository/revisions/2755 Log: fixes #2752: Add generics support on TopiaContext#find*() methods Modified: trunk/src/site/rst/migrate_to_3.0.rst trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java Modified: trunk/src/site/rst/migrate_to_3.0.rst =================================================================== --- trunk/src/site/rst/migrate_to_3.0.rst 2013-07-12 07:09:32 UTC (rev 2754) +++ trunk/src/site/rst/migrate_to_3.0.rst 2013-07-12 08:12:26 UTC (rev 2755) @@ -47,4 +47,9 @@ Le classe TopiaID est dépréciée, elle sera déplacée dans topia-service-security. Utilisez plutôt une référence vers une instance de TopiaIdFactory (disponible dans le TopiaContextImplementor et donc dans les DAOs). +Généricité +---------- +Les methodes TopiaContext#find() et TopiaContext#findAll() sont devenu génériques. Si le code +précédente réalisait un cast, il faut le supprimer car cela cause maintenant une erreur de +compilation. Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java 2013-07-12 07:09:32 UTC (rev 2754) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java 2013-07-12 08:12:26 UTC (rev 2755) @@ -36,8 +36,6 @@ import java.beans.PropertyChangeListener; import java.io.File; -import java.io.Reader; -import java.io.Writer; import java.util.List; /** @@ -181,7 +179,7 @@ * @return La liste des resultats * @throws TopiaException si une erreur survient durant la requete */ - List findAll(String hql, Object... args) throws TopiaException; + <E> List<E> findAll(String hql, Object... args) throws TopiaException; /** * Permet de faire une requete HQL hibernate directement sur la base en @@ -195,7 +193,7 @@ * @return La liste des resultats * @throws TopiaException si une erreur survient durant la requete */ - List find(String hql, int startIndex, int endIndex, Object... args) + <E> List<E> find(String hql, int startIndex, int endIndex, Object... args) throws TopiaException; /** Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java 2013-07-12 07:09:32 UTC (rev 2754) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java 2013-07-12 08:12:26 UTC (rev 2755) @@ -917,8 +917,6 @@ /* -------------------- GLOBAL OPERATIONS ON SCHEMA ----------------------*/ - - @SuppressWarnings({"unchecked"}) @Override public TopiaEntity findByTopiaId(String id) throws TopiaException { checkClosed(_("topia.persistence.error.unsupported.operation.on.closed.context", @@ -931,7 +929,7 @@ } @Override - public List<?> findAll(String hql, Object... args) throws TopiaException { + public <E> List<E> findAll(String hql, Object... args) throws TopiaException { checkClosed(_("topia.persistence.error.unsupported.operation.on.closed.context", "findAll")); @@ -962,7 +960,7 @@ } @Override - public List<?> find(String hql, int startIndex, int endIndex, Object... args) + public <E> List<E> find(String hql, int startIndex, int endIndex, Object... args) throws TopiaException { checkClosed(_("topia.persistence.error.unsupported.operation.on.closed.context", "find"));
participants (1)
-
echatellier@users.nuiton.org