Author: tchemit Date: 2012-09-23 12:41:45 +0200 (Sun, 23 Sep 2012) New Revision: 699 Url: http://forge.codelutin.com/repositories/revision/echobase/699 Log: fix api Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/EchoBaseImportStrategy.java Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java =================================================================== --- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java 2012-09-23 10:34:51 UTC (rev 698) +++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java 2012-09-23 10:41:45 UTC (rev 699) @@ -23,11 +23,13 @@ * #L% */ +import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.entities.EchoBaseDAOHelper; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; import org.nuiton.topia.TopiaRuntimeException; +import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaPersistenceHelper; @@ -60,4 +62,12 @@ return (TopiaDAO<E>) getDAO(tx, type.getContract()); } + public final void flushTransaction(TopiaContext tx, String errorMessage) { + try { + ((TopiaContextImplementor) tx).getHibernate().flush(); + } catch (TopiaException e) { + throw new EchoBaseTechnicalException(errorMessage, e); + } + } + } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/EchoBaseImportStrategy.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/EchoBaseImportStrategy.java 2012-09-23 10:34:51 UTC (rev 698) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/EchoBaseImportStrategy.java 2012-09-23 10:41:45 UTC (rev 699) @@ -121,11 +121,11 @@ } } - public static <T extends TopiaEntityEnum, E extends TopiaEntity> void importAllEntitiesIfNotExisting(TopiaDAO<E> dao, - TableMeta<T> meta, - Import<E> importer, - CsvImportResult<T> csvResult, - int nbRowBuffer) throws TopiaException { + public <T extends TopiaEntityEnum, E extends TopiaEntity> void importAllEntitiesIfNotExisting(TopiaDAO<E> dao, + TableMeta<T> meta, + Import<E> importer, + CsvImportResult<T> csvResult, + int nbRowBuffer) throws TopiaException { TopiaContextImplementor context = dao.getContext(); @@ -145,7 +145,8 @@ compt++; if (compt % nbRowBuffer == 0) { // flush it - context.getHibernate().flush(); + persistenceHelper.flushTransaction( + context, "could not flush transaction"); } }