alexferreiradev commented on a change in pull request #493: TOMEE-2545 - Translate to Portuguese alternate-descriptors URL: https://github.com/apache/tomee/pull/493#discussion_r296691956
########## File path: examples/alternate-descriptors/README_pt.adoc ########## @@ -0,0 +1,169 @@ += Descritores alternativos +:index-group: Testing Techniques +:jbake-type: page +:jbake-status: published + + +Ver link:../../../alternate-descriptors.html[Descritores alternativos] para todos os detalhes de como funciona esta característica. + + +Para nosso exemplo usaremos o código padrão "moviefun" que tem uma entidade `Movie` e um bean de sessão `Movies`. +Para variar o modo de como testar e demonstrar os descritores alternativos , criaremos um interceptor que só será usado em nossos casos de teste. + +Para adicionar isso a nossa aplicação, somente precisamos de um `test.ejb-jar.xml` na mesma localização que o `ejb-jar.xml`. + +Isso nós da os seguintes arquivos em nosso projeto: + + - `src/main/resources/META-INF/ejb-jar.xml` + - `src/main/resources/META-INF/persistence.xml` + - `src/main/resources/META-INF/test.ejb-jar.xml` + +== O test.ejb-jar.xml + +O comum `ejb-jar.xml` simplesmente contém `<ejb-jar/>`, no entanto, nós adicionamos um interceptor extra para `test.ejb-jar.xml` : + +[source,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 Teste + +Para habilitar nosso `test.ejb-jar.xml` no caso de teste, simplesmente consertamos a propriedade `openejb.altdd.prefix` quando criamos o `EJBContainer` embutido : + +[source,java,numbered] +---- +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 pode notar no link:../../../alternate-descriptors.html[Descritores alternativos], se podem usar muitos prefixos ao mesmo tempo. Review comment: acho que poderia remover o "se podem" e deixar "podem". ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to 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