Author: dblevins
Date: Mon Apr 11 11:01:00 2011
New Revision: 1091022
URL: http://svn.apache.org/viewvc?rev=1091022&view=rev
Log:
OPENEJB-1519: Update existing examples to EJB 3.1
Added:
openejb/trunk/openejb3/examples/testing-security/src/main/java/org/superbiz/injection/secure/Movies.java
- copied, changed from r1090810,
openejb/trunk/openejb3/examples/testing-security/src/main/java/org/superbiz/injection/secure/MoviesImpl.java
Removed:
openejb/trunk/openejb3/examples/testing-security/src/main/java/org/superbiz/injection/secure/MoviesImpl.java
openejb/trunk/openejb3/examples/testing-security/src/main/resources/META-INF/ejb-jar.xml
openejb/trunk/openejb3/examples/testing-security/src/test/resources/
Modified:
openejb/trunk/openejb3/examples/testing-security/src/test/java/org/superbiz/injection/secure/MovieTest.java
Copied:
openejb/trunk/openejb3/examples/testing-security/src/main/java/org/superbiz/injection/secure/Movies.java
(from r1090810,
openejb/trunk/openejb3/examples/testing-security/src/main/java/org/superbiz/injection/secure/MoviesImpl.java)
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/testing-security/src/main/java/org/superbiz/injection/secure/Movies.java?p2=openejb/trunk/openejb3/examples/testing-security/src/main/java/org/superbiz/injection/secure/Movies.java&p1=openejb/trunk/openejb3/examples/testing-security/src/main/java/org/superbiz/injection/secure/MoviesImpl.java&r1=1090810&r2=1091022&rev=1091022&view=diff
==============================================================================
---
openejb/trunk/openejb3/examples/testing-security/src/main/java/org/superbiz/injection/secure/MoviesImpl.java
(original)
+++
openejb/trunk/openejb3/examples/testing-security/src/main/java/org/superbiz/injection/secure/Movies.java
Mon Apr 11 11:01:00 2011
@@ -29,8 +29,8 @@ import javax.persistence.PersistenceCont
import javax.persistence.Query;
import java.util.List;
-@Stateful(name = "Movies")
-public class MoviesImpl implements Movies {
+@Stateful
+public class Movies {
@PersistenceContext(unitName = "movie-unit", type =
PersistenceContextType.EXTENDED)
private EntityManager entityManager;
Modified:
openejb/trunk/openejb3/examples/testing-security/src/test/java/org/superbiz/injection/secure/MovieTest.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/testing-security/src/test/java/org/superbiz/injection/secure/MovieTest.java?rev=1091022&r1=1091021&r2=1091022&view=diff
==============================================================================
---
openejb/trunk/openejb3/examples/testing-security/src/test/java/org/superbiz/injection/secure/MovieTest.java
(original)
+++
openejb/trunk/openejb3/examples/testing-security/src/test/java/org/superbiz/injection/secure/MovieTest.java
Mon Apr 11 11:01:00 2011
@@ -19,10 +19,10 @@ package org.superbiz.injection.secure;
import junit.framework.TestCase;
import javax.annotation.security.RunAs;
+import javax.ejb.EJB;
import javax.ejb.EJBAccessException;
import javax.ejb.Stateless;
-import javax.naming.Context;
-import javax.naming.InitialContext;
+import javax.ejb.embeddable.EJBContainer;
import java.util.List;
import java.util.Properties;
import java.util.concurrent.Callable;
@@ -30,30 +30,29 @@ import java.util.concurrent.Callable;
//START SNIPPET: code
public class MovieTest extends TestCase {
- private Context context;
+
+ @EJB
+ private Movies movies;
+
+ @EJB(name = "ManagerBean")
+ private Caller manager;
+
+ @EJB(name = "EmployeeBean")
+ private Caller employee;
protected void setUp() throws Exception {
Properties p = new Properties();
- p.put(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.LocalInitialContextFactory");
p.put("movieDatabase", "new://Resource?type=DataSource");
p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
- p.put("movieDatabaseUnmanaged", "new://Resource?type=DataSource");
- p.put("movieDatabaseUnmanaged.JdbcDriver", "org.hsqldb.jdbcDriver");
- p.put("movieDatabaseUnmanaged.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
- p.put("movieDatabaseUnmanaged.JtaManaged", "false");
-
- context = new InitialContext(p);
+ EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
}
public void testAsManager() throws Exception {
- Caller managerBean = (Caller) context.lookup("ManagerBeanLocal");
- managerBean.call(new Callable() {
+ manager.call(new Callable() {
public Object call() throws Exception {
- Movies movies = (Movies) context.lookup("MoviesLocal");
-
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));
@@ -72,10 +71,8 @@ public class MovieTest extends TestCase
}
public void testAsEmployee() throws Exception {
- Caller employeeBean = (Caller) context.lookup("EmployeeBeanLocal");
- employeeBean.call(new Callable() {
+ employee.call(new Callable() {
public Object call() throws Exception {
- Movies movies = (Movies) context.lookup("MoviesLocal");
movies.addMovie(new Movie("Quentin Tarantino", "Reservoir
Dogs", 1992));
movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
@@ -101,8 +98,6 @@ public class MovieTest extends TestCase
}
public void testUnauthenticated() throws Exception {
- Movies movies = (Movies) context.lookup("MoviesLocal");
-
try {
movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs",
1992));
fail("Unauthenticated users should not be able to add movies");
@@ -136,10 +131,6 @@ public class MovieTest extends TestCase
/**
* This little bit of magic allows our test code to execute in
* the desired security scope.
- * <p/>
- * The src/test/resource/META-INF/ejb-jar.xml will cause this
- * EJB to be automatically discovered and deployed when
- * OpenEJB boots up.
*/
@Stateless