[GitHub] [tomee] marcoantoniobferreira commented on a change in pull request #521: TOMEE-2580 - Translation of the examples/simple-cdi-interceptor to Portuguese.

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[GitHub] [tomee] marcoantoniobferreira commented on a change in pull request #521: TOMEE-2580 - Translation of the examples/simple-cdi-interceptor to Portuguese.

GitBox
marcoantoniobferreira commented on a change in pull request #521: TOMEE-2580 - Translation of the examples/simple-cdi-interceptor to Portuguese.
URL: https://github.com/apache/tomee/pull/521#discussion_r305543477
 
 

 ##########
 File path: examples/simple-cdi-interceptor/README_pt.adoc
 ##########
 @@ -0,0 +1,117 @@
+:index-group: CDI
+:jbake-type: page
+:jbake-status: status=published
+= CDI Interceptor Simples
+
+Vamos escrever uma aplicação simples que nos permite comprar entradas para um
+filme. Como toda aplicação, log é uma das questões transversais que temos.
+
+(Trechos relevantes de código vão estar presentes neste tutorial, mas você pode
+ver o código completo em nosso repositório no https://github.com/apache/tomee/tree/master/examples/simple-cdi-interceptor[GitHub])
+
+Como nós podemos marcar quais métodos serão interceptados?
+Não seria interessante
+poder anotar o método desta forma?
+
+....
+@Log
+public void aMethod(){...}
+....
+
+Vamos criar uma anotação que "marca" nosso método para interceptação.
+
+....
+@InterceptorBinding
+@Target({ TYPE, METHOD })
+@Retention(RUNTIME)
+public @interface Log {
+}
+....
+
+Tenha certeza que você não esqueceu da anotação `@InterceptorBinding` acima!
+Agora que nossa anotação customizada foi criada, vamos anexa-la (ou "vincula-la")
+a um interceptador.
+
+Aqui esta nosso interceptador de log. Um método `@AroundInvoke` e estamos quase
+terminando.
+
+....
+@Interceptor
+@Log  //binding the interceptor here. now any method annotated with @Log would be intercepted by logMethodEntry
+public class LoggingInterceptor {
+    @AroundInvoke
+    public Object logMethodEntry(InvocationContext ctx) throws Exception {
+        System.out.println("Entering method: " + ctx.getMethod().getName());
+        //or logger.info statement
+        return ctx.proceed();
+    }
+}
+....
+
+Agora a anotação `@Log` que criamos esta vinculada a este interceptador.
+
+Tudo pronto, vamos anotar em nível de classe ou método e nos divertir interceptando !
+
+....
+@Log
+@Stateful
+public class BookShow implements Serializable {
+    private static final long serialVersionUID = 6350400892234496909L;
+    public List<String> getMoviesList() {
+        List<String> moviesAvailable = new ArrayList<String>();
+        moviesAvailable.add("12 Angry Men");
+        moviesAvailable.add("Kings speech");
+        return moviesAvailable;
+    }
+    public Integer getDiscountedPrice(int ticketPrice) {
+        return ticketPrice - 50;
+    }
+    // assume more methods are present
+}
+....
+
+A anotação `@Log` aplicada em nível de classe diz que todos os métodos desta
+classe devem ser interceptados pelo `LoggingInterceptor`.
+
+Antes de dizer-mos "tudo pronto" temos que fazer uma ultima coisa! Habilitar
 
 Review comment:
   "dizer-mos" the correct is "dizermos".
   "ultima" the correct is "última"

----------------------------------------------------------------
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:
[hidden email]


With regards,
Apache Git Services