Author: tchemit Date: 2011-12-05 23:55:34 +0100 (Mon, 05 Dec 2011) New Revision: 148 Url: http://forge.codelutin.com/repositories/revision/echobase/148 Log: open factory api Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContextImpl.java Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContextImpl.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContextImpl.java 2011-12-05 22:54:16 UTC (rev 147) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContextImpl.java 2011-12-05 22:55:34 UTC (rev 148) @@ -24,9 +24,11 @@ package fr.ifremer.echobase.services; import com.google.common.base.Preconditions; +import com.google.common.base.Supplier; import fr.ifremer.echobase.EchoBaseConfiguration; import fr.ifremer.echobase.entities.meta.DbMeta; import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.TopiaException; import java.util.Locale; @@ -48,7 +50,7 @@ protected DbMeta dbMeta; - public static EchoBaseServiceContextImpl newContext( + public static EchoBaseServiceContext newContext( EchoBaseServiceContext serviceContext, TopiaContext transaction) { return newContext(serviceContext.getLocale(), @@ -59,8 +61,21 @@ ); } - public static EchoBaseServiceContextImpl newContext( + public static EchoBaseServiceContext newContext( Locale locale, + Supplier<TopiaContext> topiaContextSupplier, + EchoBaseConfiguration configuration, + DbMeta dbMeta, + EchoBaseServiceFactory serviceFactory) throws TopiaException { + return newContext(locale, + topiaContextSupplier.get().beginTransaction(), + configuration, + dbMeta, + serviceFactory); + } + + public static EchoBaseServiceContext newContext( + Locale locale, TopiaContext transaction, EchoBaseConfiguration configuration, DbMeta dbMeta,