Author: sletellier Date: 2011-04-11 15:20:16 +0200 (Mon, 11 Apr 2011) New Revision: 2239 Url: http://nuiton.org/repositories/revision/topia/2239 Log: Use set implementation to prevent double persistance class registration (http://www.nuiton.org/issues/show/1454) Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java 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 2011-04-11 08:46:33 UTC (rev 2238) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java 2011-04-11 13:20:16 UTC (rev 2239) @@ -83,6 +83,7 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -612,14 +613,17 @@ } // ajout des classes dites persistentes + Set<Class<?>> hibernatePersistanceClasses = new HashSet<Class<?>>(); for (TopiaService service : getServices().values()) { Class<?>[] classes = service.getPersistenceClasses(); // certains service n'ont pas de classe persistantes if (classes != null) { - for (Class<?> clazz : classes) { - hibernateConfiguration.addClass(clazz); - } + // sletellier 20110411 : http://www.nuiton.org/issues/show/1454 + hibernatePersistanceClasses.addAll(Arrays.asList(classes)); +// for (Class<?> clazz : classes) { +// hibernateConfiguration.addClass(clazz); +// } } } @@ -645,10 +649,19 @@ classname)); } persistenceClasses.add(clazz); - hibernateConfiguration.addClass(clazz); + + // sletellier 20110411 : http://www.nuiton.org/issues/show/1454 +// hibernateConfiguration.addClass(clazz); + hibernatePersistanceClasses.add(clazz); } } + // sletellier 20110411 : http://www.nuiton.org/issues/show/1454 + // Add persistance classes in hibernate config + for (Class<?> persistanceClass : hibernatePersistanceClasses) { + hibernateConfiguration.addClass(persistanceClass); + } + Properties prop = new Properties(); prop.putAll(hibernateConfiguration.getProperties()); prop.putAll(getConfig());