You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2018/12/30 21:32:31 UTC
[1/3] tomee git commit: Migrating from markdown to asciidoc
Repository: tomee
Updated Branches:
refs/heads/master 12c20b0f7 -> 01495dd66
Migrating from markdown to asciidoc
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/4d0c9b14
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/4d0c9b14
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/4d0c9b14
Branch: refs/heads/master
Commit: 4d0c9b14cc32e4ccf9ee75fdc1c00a8d480bd559
Parents: 3793f55
Author: yenerm <mu...@muratyener.com>
Authored: Sun Dec 30 11:17:58 2018 -0800
Committer: yenerm <mu...@muratyener.com>
Committed: Sun Dec 30 11:17:58 2018 -0800
----------------------------------------------------------------------
examples/connector-war/README.adoc | 362 ++++++++++++++++++++++++++++
examples/connector-war/README.md | 344 --------------------------
examples/decorators/README.adoc | 411 ++++++++++++++++++++++++++++++++
examples/decorators/README.md | 393 ------------------------------
4 files changed, 773 insertions(+), 737 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/4d0c9b14/examples/connector-war/README.adoc
----------------------------------------------------------------------
diff --git a/examples/connector-war/README.adoc b/examples/connector-war/README.adoc
new file mode 100644
index 0000000..b5d75e9
--- /dev/null
+++ b/examples/connector-war/README.adoc
@@ -0,0 +1,362 @@
+index-group=Unrevised
+type=page
+status=published
+
+= Movies Complete
+
+
+== AddInterceptor
+
+[source,java]
+----
+package org.superbiz.injection.tx;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+/**
+ * @version $Revision$ $Date$
+ */
+public class AddInterceptor {
+
+ @AroundInvoke
+ public Object invoke(InvocationContext context) throws Exception {
+ // Log Add
+ return context.proceed();
+ }
+}
+----
+
+== DeleteInterceptor
+
+[source,java]
+----
+package org.superbiz.injection.tx;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+/**
+ * @version $Revision$ $Date$
+ */
+public class DeleteInterceptor {
+
+ @AroundInvoke
+ public Object invoke(InvocationContext context) throws Exception {
+ // Log Delete
+ return context.proceed();
+ }
+}
+----
+
+== Movie
+
+[source,java]
+----
+package org.superbiz.injection.tx;
+
+import javax.persistence.Entity;
+
+@Entity
+public class Movie {
+
+ private String director;
+ private String title;
+ private int year;
+
+ public Movie() {
+ }
+
+ public Movie(String director, String title, int year) {
+ this.director = director;
+ this.title = title;
+ this.year = year;
+ }
+
+ public String getDirector() {
+ return director;
+ }
+
+ public void setDirector(String director) {
+ this.director = director;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public int getYear() {
+ return year;
+ }
+
+ public void setYear(int year) {
+ this.year = year;
+ }
+
+}
+----
+
+== Movies
+
+[source,java]
+----
+package org.superbiz.injection.tx;
+
+import javax.annotation.security.PermitAll;
+import javax.annotation.security.RolesAllowed;
+import javax.ejb.Stateful;
+import javax.ejb.TransactionAttribute;
+import javax.ejb.TransactionAttributeType;
+import javax.interceptor.Interceptors;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.PersistenceContextType;
+import javax.persistence.Query;
+import java.util.List;
+
+//START SNIPPET: code
+@Stateful
+public class Movies {
+
+ @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.TRANSACTION)
+ private EntityManager entityManager;
+
+ @RolesAllowed({"Employee", "Manager"})
+ @TransactionAttribute(TransactionAttributeType.REQUIRED)
+ @Interceptors(AddInterceptor.class)
+ public void addMovie(Movie movie) throws Exception {
+ entityManager.persist(movie);
+ }
+
+ @RolesAllowed({"Manager"})
+ @TransactionAttribute(TransactionAttributeType.MANDATORY)
+ @Interceptors(DeleteInterceptor.class)
+ public void deleteMovie(Movie movie) throws Exception {
+ entityManager.remove(movie);
+ }
+
+ @PermitAll
+ @TransactionAttribute(TransactionAttributeType.SUPPORTS)
+ public List<Movie> getMovies() throws Exception {
+ Query query = entityManager.createQuery("SELECT m from Movie as m");
+ return query.getResultList();
+ }
+}
+----
+
+== ReadInterceptor
+
+[source,java]
+----
+package org.superbiz.injection.tx;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+/**
+ * @version $Revision$ $Date$
+ */
+public class ReadInterceptor {
+
+ @AroundInvoke
+ public Object invoke(InvocationContext context) throws Exception {
+ // Log Delete
+ return context.proceed();
+ }
+}
+....
+
+== persistence.xml
+
+[source,xml]
+----
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
+
+ <persistence-unit name="movie-unit">
+ <jta-data-source>movieDatabase</jta-data-source>
+ <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
+ <class>org.superbiz.injection.tx.Movie</class>
+
+ <properties>
+ <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
+ </properties>
+ </persistence-unit>
+</persistence>
+----
+
+== MoviesTest
+
+[source,java]
+----
+package org.superbiz.injection.tx;
+
+import junit.framework.TestCase;
+
+import javax.annotation.security.RunAs;
+import javax.ejb.EJB;
+import javax.ejb.Stateless;
+import javax.ejb.TransactionAttribute;
+import javax.ejb.TransactionAttributeType;
+import javax.ejb.embeddable.EJBContainer;
+import java.util.List;
+import java.util.Properties;
+import java.util.concurrent.Callable;
+
+import static javax.ejb.TransactionAttributeType.REQUIRES_NEW;
+
+/**
+ * See the transaction-rollback example as it does the same thing
+ * via UserTransaction and shows more techniques for rollback
+ */
+//START SNIPPET: code
+public class MoviesTest extends TestCase {
+
+ @EJB
+ private Movies movies;
+
+ @EJB(beanName = "TransactionBean")
+ private Caller transactionalCaller;
+
+ @EJB(beanName = "NoTransactionBean")
+ private Caller nonTransactionalCaller;
+
+ protected void setUp() throws Exception {
+ final 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");
+
+ EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
+ }
+
+ private void doWork() throws Exception {
+
+ movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
+ movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
+ movies.addMovie(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());
+ }
+
+ public void testWithTransaction() throws Exception {
+ transactionalCaller.call(new Callable() {
+ public Object call() throws Exception {
+ doWork();
+ return null;
+ }
+ });
+ }
+
+ public void testWithoutTransaction() throws Exception {
+ try {
+ nonTransactionalCaller.call(new Callable() {
+ public Object call() throws Exception {
+ doWork();
+ return null;
+ }
+ });
+ fail("The Movies bean should be using TransactionAttributeType.MANDATORY");
+ } catch (javax.ejb.EJBException e) {
+ // good, our Movies bean is using TransactionAttributeType.MANDATORY as we want
+ }
+ }
+
+
+ public static interface Caller {
+ public <V> V call(Callable<V> callable) throws Exception;
+ }
+
+ /**
+ * This little bit of magic allows our test code to execute in
+ * the scope of a container controlled transaction.
+ */
+ @Stateless
+ @RunAs("Manager")
+ @TransactionAttribute(REQUIRES_NEW)
+ public static class TransactionBean implements Caller {
+
+ public <V> V call(Callable<V> callable) throws Exception {
+ return callable.call();
+ }
+ }
+
+ @Stateless
+ @RunAs("Manager")
+ @TransactionAttribute(TransactionAttributeType.NEVER)
+ public static class NoTransactionBean implements Caller {
+
+ public <V> V call(Callable<V> callable) throws Exception {
+ return callable.call();
+ }
+ }
+}
+----
+
+== Running
+
+----
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running org.superbiz.injection.tx.MoviesTest
+Apache OpenEJB 4.0.0-beta-1 build: 20111002-04:06
+http://tomee.apache.org/
+INFO - openejb.home = /Users/dblevins/examples/movies-complete
+INFO - openejb.base = /Users/dblevins/examples/movies-complete
+INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
+INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
+INFO - Found EjbModule in classpath: /Users/dblevins/examples/movies-complete/target/classes
+INFO - Found EjbModule in classpath: /Users/dblevins/examples/movies-complete/target/test-classes
+INFO - Beginning load: /Users/dblevins/examples/movies-complete/target/classes
+INFO - Beginning load: /Users/dblevins/examples/movies-complete/target/test-classes
+INFO - Configuring enterprise application: /Users/dblevins/examples/movies-complete
+INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
+INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
+INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
+INFO - Auto-creating a container for bean TransactionBean: Container(type=STATELESS, id=Default Stateless Container)
+INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+INFO - Auto-creating a container for bean org.superbiz.injection.tx.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
+INFO - Configuring PersistenceUnit(name=movie-unit)
+INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
+INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
+INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
+INFO - Enterprise application "/Users/dblevins/examples/movies-complete" loaded.
+INFO - Assembling app: /Users/dblevins/examples/movies-complete
+INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 402ms
+INFO - Jndi(name="java:global/movies-complete/Movies!org.superbiz.injection.tx.Movies")
+INFO - Jndi(name="java:global/movies-complete/Movies")
+INFO - Jndi(name="java:global/movies-complete/TransactionBean!org.superbiz.injection.tx.MoviesTest$Caller")
+INFO - Jndi(name="java:global/movies-complete/TransactionBean")
+INFO - Jndi(name="java:global/movies-complete/NoTransactionBean!org.superbiz.injection.tx.MoviesTest$Caller")
+INFO - Jndi(name="java:global/movies-complete/NoTransactionBean")
+INFO - Jndi(name="java:global/EjbModule1013462002/org.superbiz.injection.tx.MoviesTest!org.superbiz.injection.tx.MoviesTest")
+INFO - Jndi(name="java:global/EjbModule1013462002/org.superbiz.injection.tx.MoviesTest")
+INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
+INFO - Created Ejb(deployment-id=NoTransactionBean, ejb-name=NoTransactionBean, container=Default Stateless Container)
+INFO - Created Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
+INFO - Created Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
+INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
+INFO - Started Ejb(deployment-id=NoTransactionBean, ejb-name=NoTransactionBean, container=Default Stateless Container)
+INFO - Started Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
+INFO - Started Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
+INFO - Deployed Application(path=/Users/dblevins/examples/movies-complete)
+INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.418 sec
+
+Results :
+
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
+....
http://git-wip-us.apache.org/repos/asf/tomee/blob/4d0c9b14/examples/connector-war/README.md
----------------------------------------------------------------------
diff --git a/examples/connector-war/README.md b/examples/connector-war/README.md
deleted file mode 100644
index add4c7e..0000000
--- a/examples/connector-war/README.md
+++ /dev/null
@@ -1,344 +0,0 @@
-index-group=Unrevised
-type=page
-status=published
-title=Movies Complete
-~~~~~~
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-[![Try it out in Codenvy](https://tomitribe.github.io/codenvy/tryitout.svg)](https://codenvy.com/f?id=9er0fn1kh832sa35)
-
-## AddInterceptor
-
- package org.superbiz.injection.tx;
-
- import javax.interceptor.AroundInvoke;
- import javax.interceptor.InvocationContext;
-
- /**
- * @version $Revision$ $Date$
- */
- public class AddInterceptor {
-
- @AroundInvoke
- public Object invoke(InvocationContext context) throws Exception {
- // Log Add
- return context.proceed();
- }
- }
-
-## DeleteInterceptor
-
- package org.superbiz.injection.tx;
-
- import javax.interceptor.AroundInvoke;
- import javax.interceptor.InvocationContext;
-
- /**
- * @version $Revision$ $Date$
- */
- public class DeleteInterceptor {
-
- @AroundInvoke
- public Object invoke(InvocationContext context) throws Exception {
- // Log Delete
- return context.proceed();
- }
- }
-
-## Movie
-
- package org.superbiz.injection.tx;
-
- import javax.persistence.Entity;
-
- @Entity
- public class Movie {
-
- private String director;
- private String title;
- private int year;
-
- public Movie() {
- }
-
- public Movie(String director, String title, int year) {
- this.director = director;
- this.title = title;
- this.year = year;
- }
-
- public String getDirector() {
- return director;
- }
-
- public void setDirector(String director) {
- this.director = director;
- }
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- public int getYear() {
- return year;
- }
-
- public void setYear(int year) {
- this.year = year;
- }
-
- }
-
-## Movies
-
- package org.superbiz.injection.tx;
-
- import javax.annotation.security.PermitAll;
- import javax.annotation.security.RolesAllowed;
- import javax.ejb.Stateful;
- import javax.ejb.TransactionAttribute;
- import javax.ejb.TransactionAttributeType;
- import javax.interceptor.Interceptors;
- import javax.persistence.EntityManager;
- import javax.persistence.PersistenceContext;
- import javax.persistence.PersistenceContextType;
- import javax.persistence.Query;
- import java.util.List;
-
- //START SNIPPET: code
- @Stateful
- public class Movies {
-
- @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.TRANSACTION)
- private EntityManager entityManager;
-
- @RolesAllowed({"Employee", "Manager"})
- @TransactionAttribute(TransactionAttributeType.REQUIRED)
- @Interceptors(AddInterceptor.class)
- public void addMovie(Movie movie) throws Exception {
- entityManager.persist(movie);
- }
-
- @RolesAllowed({"Manager"})
- @TransactionAttribute(TransactionAttributeType.MANDATORY)
- @Interceptors(DeleteInterceptor.class)
- public void deleteMovie(Movie movie) throws Exception {
- entityManager.remove(movie);
- }
-
- @PermitAll
- @TransactionAttribute(TransactionAttributeType.SUPPORTS)
- public List<Movie> getMovies() throws Exception {
- Query query = entityManager.createQuery("SELECT m from Movie as m");
- return query.getResultList();
- }
- }
-
-## ReadInterceptor
-
- package org.superbiz.injection.tx;
-
- import javax.interceptor.AroundInvoke;
- import javax.interceptor.InvocationContext;
-
- /**
- * @version $Revision$ $Date$
- */
- public class ReadInterceptor {
-
- @AroundInvoke
- public Object invoke(InvocationContext context) throws Exception {
- // Log Delete
- return context.proceed();
- }
- }
-
-## persistence.xml
-
- <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
- <persistence-unit name="movie-unit">
- <jta-data-source>movieDatabase</jta-data-source>
- <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
- <class>org.superbiz.injection.tx.Movie</class>
-
- <properties>
- <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
- </properties>
- </persistence-unit>
- </persistence>
-
-## MoviesTest
-
- package org.superbiz.injection.tx;
-
- import junit.framework.TestCase;
-
- import javax.annotation.security.RunAs;
- import javax.ejb.EJB;
- import javax.ejb.Stateless;
- import javax.ejb.TransactionAttribute;
- import javax.ejb.TransactionAttributeType;
- import javax.ejb.embeddable.EJBContainer;
- import java.util.List;
- import java.util.Properties;
- import java.util.concurrent.Callable;
-
- import static javax.ejb.TransactionAttributeType.REQUIRES_NEW;
-
- /**
- * See the transaction-rollback example as it does the same thing
- * via UserTransaction and shows more techniques for rollback
- */
- //START SNIPPET: code
- public class MoviesTest extends TestCase {
-
- @EJB
- private Movies movies;
-
- @EJB(beanName = "TransactionBean")
- private Caller transactionalCaller;
-
- @EJB(beanName = "NoTransactionBean")
- private Caller nonTransactionalCaller;
-
- protected void setUp() throws Exception {
- final 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");
-
- EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
- }
-
- private void doWork() throws Exception {
-
- movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
- movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
- movies.addMovie(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());
- }
-
- public void testWithTransaction() throws Exception {
- transactionalCaller.call(new Callable() {
- public Object call() throws Exception {
- doWork();
- return null;
- }
- });
- }
-
- public void testWithoutTransaction() throws Exception {
- try {
- nonTransactionalCaller.call(new Callable() {
- public Object call() throws Exception {
- doWork();
- return null;
- }
- });
- fail("The Movies bean should be using TransactionAttributeType.MANDATORY");
- } catch (javax.ejb.EJBException e) {
- // good, our Movies bean is using TransactionAttributeType.MANDATORY as we want
- }
- }
-
-
- public static interface Caller {
- public <V> V call(Callable<V> callable) throws Exception;
- }
-
- /**
- * This little bit of magic allows our test code to execute in
- * the scope of a container controlled transaction.
- */
- @Stateless
- @RunAs("Manager")
- @TransactionAttribute(REQUIRES_NEW)
- public static class TransactionBean implements Caller {
-
- public <V> V call(Callable<V> callable) throws Exception {
- return callable.call();
- }
- }
-
- @Stateless
- @RunAs("Manager")
- @TransactionAttribute(TransactionAttributeType.NEVER)
- public static class NoTransactionBean implements Caller {
-
- public <V> V call(Callable<V> callable) throws Exception {
- return callable.call();
- }
- }
- }
-
-# Running
-
-
- -------------------------------------------------------
- T E S T S
- -------------------------------------------------------
- Running org.superbiz.injection.tx.MoviesTest
- Apache OpenEJB 4.0.0-beta-1 build: 20111002-04:06
- http://tomee.apache.org/
- INFO - openejb.home = /Users/dblevins/examples/movies-complete
- INFO - openejb.base = /Users/dblevins/examples/movies-complete
- INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
- INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
- INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
- INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
- INFO - Found EjbModule in classpath: /Users/dblevins/examples/movies-complete/target/classes
- INFO - Found EjbModule in classpath: /Users/dblevins/examples/movies-complete/target/test-classes
- INFO - Beginning load: /Users/dblevins/examples/movies-complete/target/classes
- INFO - Beginning load: /Users/dblevins/examples/movies-complete/target/test-classes
- INFO - Configuring enterprise application: /Users/dblevins/examples/movies-complete
- INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
- INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
- INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
- INFO - Auto-creating a container for bean TransactionBean: Container(type=STATELESS, id=Default Stateless Container)
- INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
- INFO - Auto-creating a container for bean org.superbiz.injection.tx.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
- INFO - Configuring PersistenceUnit(name=movie-unit)
- INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
- INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
- INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
- INFO - Enterprise application "/Users/dblevins/examples/movies-complete" loaded.
- INFO - Assembling app: /Users/dblevins/examples/movies-complete
- INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 402ms
- INFO - Jndi(name="java:global/movies-complete/Movies!org.superbiz.injection.tx.Movies")
- INFO - Jndi(name="java:global/movies-complete/Movies")
- INFO - Jndi(name="java:global/movies-complete/TransactionBean!org.superbiz.injection.tx.MoviesTest$Caller")
- INFO - Jndi(name="java:global/movies-complete/TransactionBean")
- INFO - Jndi(name="java:global/movies-complete/NoTransactionBean!org.superbiz.injection.tx.MoviesTest$Caller")
- INFO - Jndi(name="java:global/movies-complete/NoTransactionBean")
- INFO - Jndi(name="java:global/EjbModule1013462002/org.superbiz.injection.tx.MoviesTest!org.superbiz.injection.tx.MoviesTest")
- INFO - Jndi(name="java:global/EjbModule1013462002/org.superbiz.injection.tx.MoviesTest")
- INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
- INFO - Created Ejb(deployment-id=NoTransactionBean, ejb-name=NoTransactionBean, container=Default Stateless Container)
- INFO - Created Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
- INFO - Created Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
- INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
- INFO - Started Ejb(deployment-id=NoTransactionBean, ejb-name=NoTransactionBean, container=Default Stateless Container)
- INFO - Started Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
- INFO - Started Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
- INFO - Deployed Application(path=/Users/dblevins/examples/movies-complete)
- INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
- Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.418 sec
-
- Results :
-
- Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-
http://git-wip-us.apache.org/repos/asf/tomee/blob/4d0c9b14/examples/decorators/README.adoc
----------------------------------------------------------------------
diff --git a/examples/decorators/README.adoc b/examples/decorators/README.adoc
new file mode 100644
index 0000000..b2be25f
--- /dev/null
+++ b/examples/decorators/README.adoc
@@ -0,0 +1,411 @@
+index-group=CDI
+type=page
+status=published
+
+= Decorators
+
+== AccessDeniedException
+
+[source,java]
+----
+package org.superbiz.cdi.decorators;
+
+import javax.ejb.ApplicationException;
+
+/**
+ * @version $Revision$ $Date$
+ */
+@ApplicationException
+public class AccessDeniedException extends RuntimeException {
+ public AccessDeniedException(String s) {
+ super(s);
+ }
+}
+----
+
+== Calculator
+
+[source,java]
+----
+package org.superbiz.cdi.decorators;
+
+/**
+ * @version $Revision$ $Date$
+ */
+public interface Calculator {
+
+ public int add(int a, int b);
+
+ public int subtract(int a, int b);
+
+ public int multiply(int a, int b);
+
+ public int divide(int a, int b);
+
+ public int remainder(int a, int b);
+}
+----
+
+== CalculatorBean
+
+[source,java]
+----
+package org.superbiz.cdi.decorators;
+
+import javax.annotation.Resource;
+import javax.ejb.SessionContext;
+import javax.ejb.Stateless;
+import javax.enterprise.inject.Produces;
+
+@Stateless
+public class CalculatorBean implements Calculator {
+
+ @Produces
+ @Resource
+ private SessionContext sessionContext;
+
+ public int add(int a, int b) {
+ return a + b;
+ }
+
+ public int subtract(int a, int b) {
+ return a - b;
+ }
+
+ public int multiply(int a, int b) {
+ return a * b;
+ }
+
+ public int divide(int a, int b) {
+ return a / b;
+ }
+
+ public int remainder(int a, int b) {
+ return a % b;
+ }
+}
+----
+
+== CalculatorLogging
+
+[source,java]
+----
+package org.superbiz.cdi.decorators;
+
+import javax.decorator.Decorator;
+import javax.decorator.Delegate;
+import javax.inject.Inject;
+import java.util.logging.Logger;
+
+@Decorator
+public class CalculatorLogging implements Calculator {
+
+ private Logger logger = Logger.getLogger("Calculator");
+
+ @Inject
+ @Delegate
+ private Calculator calculator;
+
+ @Override
+ public int add(int a, int b) {
+ logger.fine(String.format("add(%s, %s)", a, b));
+ return calculator.add(a, b);
+ }
+
+ @Override
+ public int subtract(int a, int b) {
+ return calculator.subtract(a, b);
+ }
+
+ @Override
+ public int multiply(int a, int b) {
+ logger.finest(String.format("multiply(%s, %s)", a, b));
+ return calculator.multiply(a, b);
+ }
+
+ @Override
+ public int divide(int a, int b) {
+ return calculator.divide(a, b);
+ }
+
+ @Override
+ public int remainder(int a, int b) {
+ logger.info(String.format("remainder(%s, %s)", a, b));
+ return calculator.remainder(a, b);
+ }
+}
+----
+
+== CalculatorSecurity
+
+[source,java]
+----
+package org.superbiz.cdi.decorators;
+
+import javax.decorator.Decorator;
+import javax.decorator.Delegate;
+import javax.ejb.SessionContext;
+import javax.inject.Inject;
+
+@Decorator
+public class CalculatorSecurity implements Calculator {
+
+ @Inject
+ @Delegate
+ private Calculator calculator;
+
+ @Inject
+ private SessionContext sessionContext;
+
+ @Override
+ public int add(int a, int b) {
+ return calculator.add(a, b);
+ }
+
+ @Override
+ public int subtract(int a, int b) {
+ // Caller must pass a security check to call subtract
+ if (!sessionContext.isCallerInRole("Manager")) throw new AccessDeniedException(sessionContext.getCallerPrincipal().getName());
+
+ return calculator.subtract(a, b);
+ }
+
+ @Override
+ public int multiply(int a, int b) {
+ return calculator.multiply(a, b);
+ }
+
+ @Override
+ public int divide(int a, int b) {
+ return calculator.divide(a, b);
+ }
+
+ @Override
+ public int remainder(int a, int b) {
+ return calculator.remainder(a, b);
+ }
+}
+----
+
+== beans.xml
+
+[source,java]
+----
+<beans>
+ <!--
+ Explicitly declaring decorators is required by the CDI specification.
+ The order decorators are listed in the xml is the order in which they are invoked.
+ -->
+ <decorators>
+ <class>org.superbiz.cdi.decorators.CalculatorSecurity</class>
+ <class>org.superbiz.cdi.decorators.CalculatorLogging</class>
+ </decorators>
+</beans>
+----
+
+== CalculatorTest
+
+[source,java]
+----
+package org.superbiz.cdi.decorators;
+
+import junit.framework.TestCase;
+
+import javax.annotation.security.RunAs;
+import javax.ejb.EJB;
+import javax.ejb.Stateless;
+import javax.ejb.embeddable.EJBContainer;
+import java.util.concurrent.Callable;
+
+public class CalculatorTest extends TestCase {
+
+ @EJB
+ private Calculator calculator;
+
+ @EJB
+ private ManagerBean manager;
+
+ /**
+ * Bootstrap the Embedded EJB Container
+ *
+ * @throws Exception
+ */
+ protected void setUp() throws Exception {
+ EJBContainer.createEJBContainer().getContext().bind("inject", this);
+ }
+
+ /**
+ * Test Add method
+ */
+ public void testAdd() {
+
+ assertEquals(10, calculator.add(4, 6));
+ }
+
+ /**
+ * Test Subtract method
+ */
+ public void testSubtract() {
+
+ try {
+ calculator.subtract(4, 6);
+
+ fail("AccessDeniedException should have been thrown for unauthenticated access");
+ } catch (AccessDeniedException expected) {
+ // pass
+ }
+
+ final int result = manager.call(new Callable<Integer>() {
+ public Integer call() {
+ return calculator.subtract(4, 6);
+ }
+ });
+
+ assertEquals(-2, result);
+ }
+
+ /**
+ * Test Multiply method
+ */
+ public void testMultiply() {
+
+ assertEquals(24, calculator.multiply(4, 6));
+ }
+
+ /**
+ * Test Divide method
+ */
+ public void testDivide() {
+
+ assertEquals(2, calculator.divide(12, 6));
+ }
+
+ /**
+ * Test Remainder method
+ */
+ public void testRemainder() {
+
+ assertEquals(4, calculator.remainder(46, 6));
+ }
+
+ @Stateless
+ @RunAs("Manager")
+ public static class ManagerBean {
+
+ public <V> V call(Callable<V> callable) {
+ try {
+ return callable.call();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+}
+----
+
+== Running
+
+----
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running org.superbiz.cdi.decorators.CalculatorTest
+Apache OpenEJB 4.0.0-beta-1 build: 20111002-04:06
+http://tomee.apache.org/
+INFO - openejb.home = /Users/dblevins/examples/decorators
+INFO - openejb.base = /Users/dblevins/examples/decorators
+INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
+INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+INFO - Found EjbModule in classpath: /Users/dblevins/examples/decorators/target/classes
+INFO - Found EjbModule in classpath: /Users/dblevins/examples/decorators/target/test-classes
+INFO - Beginning load: /Users/dblevins/examples/decorators/target/classes
+INFO - Beginning load: /Users/dblevins/examples/decorators/target/test-classes
+INFO - Configuring enterprise application: /Users/dblevins/examples/decorators
+WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
+INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+INFO - Auto-creating a container for bean decorators.Comp: Container(type=MANAGED, id=Default Managed Container)
+INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
+INFO - Auto-creating a container for bean CalculatorBean: Container(type=STATELESS, id=Default Stateless Container)
+INFO - Enterprise application "/Users/dblevins/examples/decorators" loaded.
+INFO - Assembling app: /Users/dblevins/examples/decorators
+INFO - Jndi(name="java:global/decorators/decorators.Comp!org.apache.openejb.BeanContext$Comp")
+INFO - Jndi(name="java:global/decorators/decorators.Comp")
+INFO - Jndi(name="java:global/decorators/CalculatorBean!org.superbiz.cdi.decorators.Calculator")
+INFO - Jndi(name="java:global/decorators/CalculatorBean")
+INFO - Jndi(name="java:global/decorators/ManagerBean!org.superbiz.cdi.decorators.CalculatorTest$ManagerBean")
+INFO - Jndi(name="java:global/decorators/ManagerBean")
+INFO - Jndi(name="java:global/EjbModule628834558/org.superbiz.cdi.decorators.CalculatorTest!org.superbiz.cdi.decorators.CalculatorTest")
+INFO - Jndi(name="java:global/EjbModule628834558/org.superbiz.cdi.decorators.CalculatorTest")
+INFO - Created Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, container=Default Stateless Container)
+INFO - Created Ejb(deployment-id=decorators.Comp, ejb-name=decorators.Comp, container=Default Managed Container)
+INFO - Created Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
+INFO - Created Ejb(deployment-id=org.superbiz.cdi.decorators.CalculatorTest, ejb-name=org.superbiz.cdi.decorators.CalculatorTest, container=Default Managed Container)
+INFO - Started Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, container=Default Stateless Container)
+INFO - Started Ejb(deployment-id=decorators.Comp, ejb-name=decorators.Comp, container=Default Managed Container)
+INFO - Started Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
+INFO - Started Ejb(deployment-id=org.superbiz.cdi.decorators.CalculatorTest, ejb-name=org.superbiz.cdi.decorators.CalculatorTest, container=Default Managed Container)
+INFO - Deployed Application(path=/Users/dblevins/examples/decorators)
+INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
+Oct 29, 2011 11:41:04 AM org.apache.webbeans.decorator.DelegateHandler invoke
+SEVERE: Exception in calling method : [subtract] in decorator class : [org.superbiz.cdi.decorators.CalculatorSecurity]. Look in the log for target checked exception.
+org.superbiz.cdi.decorators.AccessDeniedException: guest
+ at org.superbiz.cdi.decorators.CalculatorSecurity.subtract(CalculatorSecurity.java:43)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:597)
+ at org.apache.webbeans.decorator.DelegateHandler.invoke(DelegateHandler.java:98)
+ at org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:127)
+ at org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:45)
+ at org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:66)
+ at org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:72)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:597)
+ at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
+ at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
+ at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:130)
+ at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:226)
+ at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:178)
+ at org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:255)
+ at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:235)
+ at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:92)
+ at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:284)
+ at $Proxy44.subtract(Unknown Source)
+ at org.superbiz.cdi.decorators.CalculatorTest.testSubtract(CalculatorTest.java:59)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:597)
+ at junit.framework.TestCase.runTest(TestCase.java:168)
+ at junit.framework.TestCase.runBare(TestCase.java:134)
+ at junit.framework.TestResult$1.protect(TestResult.java:110)
+ at junit.framework.TestResult.runProtected(TestResult.java:128)
+ at junit.framework.TestResult.run(TestResult.java:113)
+ at junit.framework.TestCase.run(TestCase.java:124)
+ at junit.framework.TestSuite.runTest(TestSuite.java:232)
+ at junit.framework.TestSuite.run(TestSuite.java:227)
+ at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
+ at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35)
+ at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115)
+ at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+ at java.lang.reflect.Method.invoke(Method.java:597)
+ at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
+ at $Proxy0.invoke(Unknown Source)
+ at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
+ at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
+ at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
+INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
+INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
+INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
+Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.338 sec
+
+Results :
+
+Tests run: 5, Failures: 0, Errors: 0, Skipped: 0
+....
http://git-wip-us.apache.org/repos/asf/tomee/blob/4d0c9b14/examples/decorators/README.md
----------------------------------------------------------------------
diff --git a/examples/decorators/README.md b/examples/decorators/README.md
deleted file mode 100644
index f548d80..0000000
--- a/examples/decorators/README.md
+++ /dev/null
@@ -1,393 +0,0 @@
-index-group=CDI
-type=page
-status=published
-title=Decorators
-~~~~~~
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-## AccessDeniedException
-
- package org.superbiz.cdi.decorators;
-
- import javax.ejb.ApplicationException;
-
- /**
- * @version $Revision$ $Date$
- */
- @ApplicationException
- public class AccessDeniedException extends RuntimeException {
- public AccessDeniedException(String s) {
- super(s);
- }
- }
-
-## Calculator
-
- package org.superbiz.cdi.decorators;
-
- /**
- * @version $Revision$ $Date$
- */
- public interface Calculator {
-
- public int add(int a, int b);
-
- public int subtract(int a, int b);
-
- public int multiply(int a, int b);
-
- public int divide(int a, int b);
-
- public int remainder(int a, int b);
- }
-
-## CalculatorBean
-
- package org.superbiz.cdi.decorators;
-
- import javax.annotation.Resource;
- import javax.ejb.SessionContext;
- import javax.ejb.Stateless;
- import javax.enterprise.inject.Produces;
-
- @Stateless
- public class CalculatorBean implements Calculator {
-
- @Produces
- @Resource
- private SessionContext sessionContext;
-
- public int add(int a, int b) {
- return a + b;
- }
-
- public int subtract(int a, int b) {
- return a - b;
- }
-
- public int multiply(int a, int b) {
- return a * b;
- }
-
- public int divide(int a, int b) {
- return a / b;
- }
-
- public int remainder(int a, int b) {
- return a % b;
- }
- }
-
-## CalculatorLogging
-
- package org.superbiz.cdi.decorators;
-
- import javax.decorator.Decorator;
- import javax.decorator.Delegate;
- import javax.inject.Inject;
- import java.util.logging.Logger;
-
- @Decorator
- public class CalculatorLogging implements Calculator {
-
- private Logger logger = Logger.getLogger("Calculator");
-
- @Inject
- @Delegate
- private Calculator calculator;
-
- @Override
- public int add(int a, int b) {
- logger.fine(String.format("add(%s, %s)", a, b));
- return calculator.add(a, b);
- }
-
- @Override
- public int subtract(int a, int b) {
- return calculator.subtract(a, b);
- }
-
- @Override
- public int multiply(int a, int b) {
- logger.finest(String.format("multiply(%s, %s)", a, b));
- return calculator.multiply(a, b);
- }
-
- @Override
- public int divide(int a, int b) {
- return calculator.divide(a, b);
- }
-
- @Override
- public int remainder(int a, int b) {
- logger.info(String.format("remainder(%s, %s)", a, b));
- return calculator.remainder(a, b);
- }
- }
-
-## CalculatorSecurity
-
- package org.superbiz.cdi.decorators;
-
- import javax.decorator.Decorator;
- import javax.decorator.Delegate;
- import javax.ejb.SessionContext;
- import javax.inject.Inject;
-
- @Decorator
- public class CalculatorSecurity implements Calculator {
-
- @Inject
- @Delegate
- private Calculator calculator;
-
- @Inject
- private SessionContext sessionContext;
-
- @Override
- public int add(int a, int b) {
- return calculator.add(a, b);
- }
-
- @Override
- public int subtract(int a, int b) {
- // Caller must pass a security check to call subtract
- if (!sessionContext.isCallerInRole("Manager")) throw new AccessDeniedException(sessionContext.getCallerPrincipal().getName());
-
- return calculator.subtract(a, b);
- }
-
- @Override
- public int multiply(int a, int b) {
- return calculator.multiply(a, b);
- }
-
- @Override
- public int divide(int a, int b) {
- return calculator.divide(a, b);
- }
-
- @Override
- public int remainder(int a, int b) {
- return calculator.remainder(a, b);
- }
- }
-
-## beans.xml
-
- <beans>
- <!--
- Explicitly declaring decorators is required by the CDI specification.
- The order decorators are listed in the xml is the order in which they are invoked.
- -->
- <decorators>
- <class>org.superbiz.cdi.decorators.CalculatorSecurity</class>
- <class>org.superbiz.cdi.decorators.CalculatorLogging</class>
- </decorators>
- </beans>
-
-
-## CalculatorTest
-
- package org.superbiz.cdi.decorators;
-
- import junit.framework.TestCase;
-
- import javax.annotation.security.RunAs;
- import javax.ejb.EJB;
- import javax.ejb.Stateless;
- import javax.ejb.embeddable.EJBContainer;
- import java.util.concurrent.Callable;
-
- public class CalculatorTest extends TestCase {
-
- @EJB
- private Calculator calculator;
-
- @EJB
- private ManagerBean manager;
-
- /**
- * Bootstrap the Embedded EJB Container
- *
- * @throws Exception
- */
- protected void setUp() throws Exception {
- EJBContainer.createEJBContainer().getContext().bind("inject", this);
- }
-
- /**
- * Test Add method
- */
- public void testAdd() {
-
- assertEquals(10, calculator.add(4, 6));
- }
-
- /**
- * Test Subtract method
- */
- public void testSubtract() {
-
- try {
- calculator.subtract(4, 6);
-
- fail("AccessDeniedException should have been thrown for unauthenticated access");
- } catch (AccessDeniedException expected) {
- // pass
- }
-
- final int result = manager.call(new Callable<Integer>() {
- public Integer call() {
- return calculator.subtract(4, 6);
- }
- });
-
- assertEquals(-2, result);
- }
-
- /**
- * Test Multiply method
- */
- public void testMultiply() {
-
- assertEquals(24, calculator.multiply(4, 6));
- }
-
- /**
- * Test Divide method
- */
- public void testDivide() {
-
- assertEquals(2, calculator.divide(12, 6));
- }
-
- /**
- * Test Remainder method
- */
- public void testRemainder() {
-
- assertEquals(4, calculator.remainder(46, 6));
- }
-
- @Stateless
- @RunAs("Manager")
- public static class ManagerBean {
-
- public <V> V call(Callable<V> callable) {
- try {
- return callable.call();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
- }
-
-# Running
-
-
- -------------------------------------------------------
- T E S T S
- -------------------------------------------------------
- Running org.superbiz.cdi.decorators.CalculatorTest
- Apache OpenEJB 4.0.0-beta-1 build: 20111002-04:06
- http://tomee.apache.org/
- INFO - openejb.home = /Users/dblevins/examples/decorators
- INFO - openejb.base = /Users/dblevins/examples/decorators
- INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
- INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
- INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
- INFO - Found EjbModule in classpath: /Users/dblevins/examples/decorators/target/classes
- INFO - Found EjbModule in classpath: /Users/dblevins/examples/decorators/target/test-classes
- INFO - Beginning load: /Users/dblevins/examples/decorators/target/classes
- INFO - Beginning load: /Users/dblevins/examples/decorators/target/test-classes
- INFO - Configuring enterprise application: /Users/dblevins/examples/decorators
- WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
- INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
- INFO - Auto-creating a container for bean decorators.Comp: Container(type=MANAGED, id=Default Managed Container)
- INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
- INFO - Auto-creating a container for bean CalculatorBean: Container(type=STATELESS, id=Default Stateless Container)
- INFO - Enterprise application "/Users/dblevins/examples/decorators" loaded.
- INFO - Assembling app: /Users/dblevins/examples/decorators
- INFO - Jndi(name="java:global/decorators/decorators.Comp!org.apache.openejb.BeanContext$Comp")
- INFO - Jndi(name="java:global/decorators/decorators.Comp")
- INFO - Jndi(name="java:global/decorators/CalculatorBean!org.superbiz.cdi.decorators.Calculator")
- INFO - Jndi(name="java:global/decorators/CalculatorBean")
- INFO - Jndi(name="java:global/decorators/ManagerBean!org.superbiz.cdi.decorators.CalculatorTest$ManagerBean")
- INFO - Jndi(name="java:global/decorators/ManagerBean")
- INFO - Jndi(name="java:global/EjbModule628834558/org.superbiz.cdi.decorators.CalculatorTest!org.superbiz.cdi.decorators.CalculatorTest")
- INFO - Jndi(name="java:global/EjbModule628834558/org.superbiz.cdi.decorators.CalculatorTest")
- INFO - Created Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, container=Default Stateless Container)
- INFO - Created Ejb(deployment-id=decorators.Comp, ejb-name=decorators.Comp, container=Default Managed Container)
- INFO - Created Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
- INFO - Created Ejb(deployment-id=org.superbiz.cdi.decorators.CalculatorTest, ejb-name=org.superbiz.cdi.decorators.CalculatorTest, container=Default Managed Container)
- INFO - Started Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, container=Default Stateless Container)
- INFO - Started Ejb(deployment-id=decorators.Comp, ejb-name=decorators.Comp, container=Default Managed Container)
- INFO - Started Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
- INFO - Started Ejb(deployment-id=org.superbiz.cdi.decorators.CalculatorTest, ejb-name=org.superbiz.cdi.decorators.CalculatorTest, container=Default Managed Container)
- INFO - Deployed Application(path=/Users/dblevins/examples/decorators)
- INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
- Oct 29, 2011 11:41:04 AM org.apache.webbeans.decorator.DelegateHandler invoke
- SEVERE: Exception in calling method : [subtract] in decorator class : [org.superbiz.cdi.decorators.CalculatorSecurity]. Look in the log for target checked exception.
- org.superbiz.cdi.decorators.AccessDeniedException: guest
- at org.superbiz.cdi.decorators.CalculatorSecurity.subtract(CalculatorSecurity.java:43)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:597)
- at org.apache.webbeans.decorator.DelegateHandler.invoke(DelegateHandler.java:98)
- at org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:127)
- at org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:45)
- at org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:66)
- at org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:72)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:597)
- at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
- at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
- at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:130)
- at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:226)
- at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:178)
- at org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:255)
- at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:235)
- at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:92)
- at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:284)
- at $Proxy44.subtract(Unknown Source)
- at org.superbiz.cdi.decorators.CalculatorTest.testSubtract(CalculatorTest.java:59)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:597)
- at junit.framework.TestCase.runTest(TestCase.java:168)
- at junit.framework.TestCase.runBare(TestCase.java:134)
- at junit.framework.TestResult$1.protect(TestResult.java:110)
- at junit.framework.TestResult.runProtected(TestResult.java:128)
- at junit.framework.TestResult.run(TestResult.java:113)
- at junit.framework.TestCase.run(TestCase.java:124)
- at junit.framework.TestSuite.runTest(TestSuite.java:232)
- at junit.framework.TestSuite.run(TestSuite.java:227)
- at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
- at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35)
- at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115)
- at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:597)
- at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
- at $Proxy0.invoke(Unknown Source)
- at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
- at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
- at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
- INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
- INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
- INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
- Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.338 sec
-
- Results :
-
- Tests run: 5, Failures: 0, Errors: 0, Skipped: 0
-
[3/3] tomee git commit: Put in the Java EE Connectors index-group
Posted by db...@apache.org.
Put in the Java EE Connectors index-group
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/01495dd6
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/01495dd6
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/01495dd6
Branch: refs/heads/master
Commit: 01495dd66d605718dbbada6541a2a5fbc1402ccf
Parents: cafa508
Author: David Blevins <da...@gmail.com>
Authored: Sun Dec 30 13:32:07 2018 -0800
Committer: David Blevins <da...@gmail.com>
Committed: Sun Dec 30 13:32:07 2018 -0800
----------------------------------------------------------------------
examples/connector-war/README.adoc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/01495dd6/examples/connector-war/README.adoc
----------------------------------------------------------------------
diff --git a/examples/connector-war/README.adoc b/examples/connector-war/README.adoc
index b5d75e9..18c654e 100644
--- a/examples/connector-war/README.adoc
+++ b/examples/connector-war/README.adoc
@@ -1,8 +1,8 @@
-index-group=Unrevised
+index-group=Java EE Connectors
type=page
status=published
-= Movies Complete
+= Connectors in WAR Files
== AddInterceptor
[2/3] tomee git commit: Merge branch
'TOMEE-2433-migrating-md-to-adoc' of github.com:yenerm/tomee
Posted by db...@apache.org.
Merge branch 'TOMEE-2433-migrating-md-to-adoc' of github.com:yenerm/tomee
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/cafa508b
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/cafa508b
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/cafa508b
Branch: refs/heads/master
Commit: cafa508b61a2efb4a4213d1735263ba193605cbf
Parents: 12c20b0 4d0c9b1
Author: David Blevins <da...@gmail.com>
Authored: Sun Dec 30 13:26:46 2018 -0800
Committer: David Blevins <da...@gmail.com>
Committed: Sun Dec 30 13:26:46 2018 -0800
----------------------------------------------------------------------
examples/connector-war/README.adoc | 362 ++++++++++++++++++++++++++++
examples/connector-war/README.md | 344 --------------------------
examples/decorators/README.adoc | 411 ++++++++++++++++++++++++++++++++
examples/decorators/README.md | 393 ------------------------------
4 files changed, 773 insertions(+), 737 deletions(-)
----------------------------------------------------------------------