cesarhernandezgt commented on a change in pull request #403: TOMEE-2470 alternate-descriptors/README_es.md URL: https://github.com/apache/tomee/pull/403#discussion_r258259409
########## File path: examples/alternate-descriptors/README_es.md ########## @@ -0,0 +1,162 @@ +indice-grupo=Técnicas de prueba +tipo=página +estado=publicado +título=Descriptores alternos +~~~~~~ + +Véase [Descriptores alternos](../../alternate-descriptors.html) la página para todos los detalles de como funciona esta característica. + +Para nuestro ejemplo usaremos el código estándar "moviefun" que tiene una entidad `Movie` y bean de session `Movies`. +Para variar el modo que probamos y demostrar los descriptores alternos , crearemos un interceptor que sólo será usado en nuestros casos de prueba. + +Para añadir esto a nuestra aplicación, únicamente necesitamos un `test.ejb-jar.xml` en la misma ubicación que `ejb-jar.xml`. + +Eso nos da los siguientes archivos en nuestro proyecto: + + - src/main/resources/META-INF/ejb-jar.xml + - src/main/resources/META-INF/persistence.xml + - src/main/resources/META-INF/test.ejb-jar.xml + +## El test.ejb-jar.xml + +El comúm `ejb-jar.xml` simplemente contiene `<ejb-jar/>`, sin embargo añadimos un interceptor extra a `test.ejb-jar.xml` : + + + <?xml version="1.0" encoding="UTF-8" standalone="yes"?> + <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"> + <assembly-descriptor> + <interceptor-binding> + <ejb-name>Movies</ejb-name> + <interceptor-class>org.superbiz.altdd.MoviesTest$Interceptor</interceptor-class> + </interceptor-binding> + </assembly-descriptor> + </ejb-jar> + +## Caso de Prueba + +Para habilitar nuestro `test.ejb-jar.xml` en el caso de prueba simplemente fijamos la propiedad `openejb.altdd.prefix` cuando creamos el `EJBContainer` embebido + + + public class MoviesTest extends TestCase { + + @EJB + private Movies movies; + + @Resource + private UserTransaction userTransaction; + + @PersistenceContext + private EntityManager entityManager; + + public void setUp() throws Exception { + Properties p = new Properties(); + p.put("movieDatabase", "new://Resource?type=DataSource"); + p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver"); + p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb"); + + p.put("openejb.altdd.prefix", "test"); + + EJBContainer.createEJBContainer(p).getContext().bind("inject", this); + } + + public void test() throws Exception { + + userTransaction.begin(); + + try { + entityManager.persist(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992)); + entityManager.persist(new Movie("Joel Coen", "Fargo", 1996)); + entityManager.persist(new Movie("Joel Coen", "The Big Lebowski", 1998)); + + List<Movie> list = movies.getMovies(); + assertEquals("List.size()", 3, list.size()); + + for (Movie movie : list) { + movies.deleteMovie(movie); + } + + assertEquals("Movies.getMovies()", 0, movies.getMovies().size()); + + } finally { + try { + userTransaction.commit(); + fail("Transaction should have been rolled back"); + } catch (RollbackException e) { + // Good, we don't want to clean up the db + } + } + } + + public static class Interceptor { + + @Resource + private SessionContext sessionContext; + + @AroundInvoke + public Object invoke(InvocationContext context) throws Exception { + + sessionContext.setRollbackOnly(); + + return context.proceed(); + } + } + } + +Como se puede notar en [la documentacion](../../alternate-descriptors.html), se pueden usar muchos prefijos al mismo tiempo. Review comment: Same observation as previous comment, this line works if it's replaced by: ``` Como se puede notar en [la documentacion](../.../../alternate-descriptors.html), se pueden usar muchos prefijos al mismo tiempo. ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services