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/11/30 22:26:53 UTC
[09/34] tomee-site-generator git commit: Remove out-dated examples
They are now pulled in dynamically
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/struts.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/struts.adoc b/src/main/jbake/content/examples/struts.adoc
deleted file mode 100755
index 4de6de7..0000000
--- a/src/main/jbake/content/examples/struts.adoc
+++ /dev/null
@@ -1,439 +0,0 @@
-= Struts
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example struts can be browsed at https://github.com/apache/tomee/tree/master/examples/struts
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-== AddUser
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
-
-
-public class AddUser {
-
- private int id;
- private String firstName;
- private String lastName;
- private String errorMessage;
-
-
- public String getFirstName() {
- return firstName;
- }
-
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
-
- public String getLastName() {
- return lastName;
- }
-
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
-
- public String getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String execute() {
-
- try {
- UserService service = null;
- Properties props = new Properties();
- props.put(Context.INITIAL_CONTEXT_FACTORY,
- "org.apache.openejb.core.LocalInitialContextFactory");
- Context ctx = new InitialContext(props);
- service = (UserService) ctx.lookup("UserServiceImplLocal");
- service.add(new User(id, firstName, lastName));
- } catch (Exception e) {
- this.errorMessage = e.getMessage();
- return "failure";
- }
-
- return "success";
- }
-}
-----
-
-
-== AddUserForm
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import com.opensymphony.xwork2.ActionSupport;
-
-
-public class AddUserForm extends ActionSupport {
-}
-----
-
-
-== FindUser
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
-
-public class FindUser {
-
- private int id;
- private String errorMessage;
- private User user;
-
- public User getUser() {
- return user;
- }
-
- public void setUser(User user) {
- this.user = user;
- }
-
- public String getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String execute() {
-
- try {
- UserService service = null;
- Properties props = new Properties();
- props.put(Context.INITIAL_CONTEXT_FACTORY,
- "org.apache.openejb.core.LocalInitialContextFactory");
- Context ctx = new InitialContext(props);
- service = (UserService) ctx.lookup("UserServiceImplLocal");
- this.user = service.find(id);
- } catch (Exception e) {
- this.errorMessage = e.getMessage();
- return "failure";
- }
-
- return "success";
- }
-}
-----
-
-
-== FindUserForm
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import com.opensymphony.xwork2.ActionSupport;
-
-
-public class FindUserForm extends ActionSupport {
-}
-----
-
-
-== ListAllUsers
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.List;
-import java.util.Properties;
-
-public class ListAllUsers {
-
- private int id;
- private String errorMessage;
- private List<User> users;
-
- public List<User> getUsers() {
- return users;
- }
-
- public void setUsers(List<User> users) {
- this.users = users;
- }
-
- public String getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String execute() {
-
- try {
- UserService service = null;
- Properties props = new Properties();
- props.put(Context.INITIAL_CONTEXT_FACTORY,
- "org.apache.openejb.core.LocalInitialContextFactory");
- Context ctx = new InitialContext(props);
- service = (UserService) ctx.lookup("UserServiceImplLocal");
- this.users = service.findAll();
- } catch (Exception e) {
- this.errorMessage = e.getMessage();
- return "failure";
- }
-
- return "success";
- }
-}
-----
-
-
-== User
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import java.io.Serializable;
-
-@Entity
-@Table(name = "USER")
-public class User implements Serializable {
- private long id;
- private String firstName;
- private String lastName;
-
- public User(long id, String firstName, String lastName) {
- super();
- this.id = id;
- this.firstName = firstName;
- this.lastName = lastName;
- }
-
- public User() {
- }
-
- @Id
- public long getId() {
- return id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public String getFirstName() {
- return firstName;
- }
-
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
-
- public String getLastName() {
- return lastName;
- }
-
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
-}
-----
-
-
-== UserService
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import java.util.List;
-
-public interface UserService {
- public void add(User user);
-
- public User find(int id);
-
- public List<User> findAll();
-}
-----
-
-
-== UserServiceImpl
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import javax.ejb.Stateless;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import java.util.List;
-
-@Stateless
-public class UserServiceImpl implements UserService {
-
- @PersistenceContext(unitName = "user")
- private EntityManager manager;
-
- public void add(User user) {
- manager.persist(user);
- }
-
- public User find(int id) {
- return manager.find(User.class, id);
- }
-
- public List<User> findAll() {
- return manager.createQuery("select u from User u").getResultList();
- }
-}
-----
-
-
-== persistence.xml
-
-
-[source,xml]
-----
-</persistence-unit>
-
- -->
-</persistence>
-
-## struts.xml
-
-<struts>
- <constant name="struts.devMode" value="true"></constant>
- <package name="default" namespace="/" extends="struts-default">
- <action name="addUserForm" class="org.superbiz.struts.AddUserForm">
- <result>/addUserForm.jsp</result>
- </action>
- <action name="addUser" class="org.superbiz.struts.AddUser">
- <result name="success">/addedUser.jsp</result>
- <result name='failure'>/addUserForm.jsp</result>
- </action>
- <action name="findUserForm" class="org.superbiz.struts.FindUserForm">
- <result>/findUserForm.jsp</result>
- </action>
- <action name="findUser" class="org.superbiz.struts.FindUser">
- <result name='success'>/displayUser.jsp</result>
- <result name='failure'>/findUserForm.jsp</result>
- </action>
- <action name="listAllUsers" class="org.superbiz.struts.ListAllUsers">
- <result>/displayUsers.jsp</result>
- </action>
-
- </package>
-</struts>
-
-## decorators.xml
-
-<decorators defaultdir="/decorators">
- <decorator name="main" page="layout.jsp">
- <pattern>/*</pattern>
- </decorator>
-</decorators>
-
-## web.xml
-
-<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
- <display-name>Learn EJB3 and Struts2</display-name>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
- <init-param>
- <param-name>actionPackages</param-name>
- <param-value>com.lq</param-value>
- </init-param>
- </filter>
- <filter>
- <filter-name>struts-cleanup</filter-name>
- <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
- </filter>
- <filter>
- <filter-name>sitemesh</filter-name>
- <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts-cleanup</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>sitemesh</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- <jsp-config>
- <jsp-property-group>
- <description>JSP configuration of all the JSP's</description>
- <url-pattern>*.jsp</url-pattern>
- <include-prelude>/prelude.jspf</include-prelude>
- </jsp-property-group>
- </jsp-config>
-</web-app>
-
-
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/telephone-stateful.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/telephone-stateful.adoc b/src/main/jbake/content/examples/telephone-stateful.adoc
deleted file mode 100755
index ac38237..0000000
--- a/src/main/jbake/content/examples/telephone-stateful.adoc
+++ /dev/null
@@ -1,248 +0,0 @@
-= Telephone Stateful
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example telephone-stateful can be browsed at https://github.com/apache/tomee/tree/master/examples/telephone-stateful
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-This example shows how to use OpenEJB's remoting capabilities in an embedded scenario.
-
-The basic recipe is the same for a standard embedded scenario but with these added
-ingreditents:
-
- * `openejb.embedded.remotable` property
- * `openejb-ejbd` jar
-
-While creating the InitialContext, pass in the openejb.embedded.remotable property with
-the value of "true". When this is seen by the LocalInitialContextFactory, it will boot up
-the Server ServiceManager in the VM which will in turn look for ServerServices in the
-classpath.
-
-Provided you have the openejb-ejbd jar in your classpath along with it's dependencies
-(openejb-server, openejb-client, openejb-core), then those services will be brought online
-and remote clients will be able to connect into your vm and invoke beans.
-
-If you want to add more ServerServices such as the http version of the ejbd protocol you'd
-simply add the openejb-httpejbd jar to your classpath. A number of ServerServices are
-available currently:
-
- * openejb-ejbd
- * openejb-http
- * openejb-telnet
- * openejb-derbynet
- * openejb-hsql
- * openejb-activemq
-
-
-== Telephone
-
-
-[source,java]
-----
-package org.superbiz.telephone;
-
-public interface Telephone {
-
- void speak(String words);
-
- String listen();
-}
-----
-
-
-== TelephoneBean
-
-
-[source,java]
-----
-package org.superbiz.telephone;
-
-import javax.ejb.Remote;
-import javax.ejb.Stateful;
-import java.util.ArrayList;
-import java.util.List;
-
-@Remote
-@Stateful
-public class TelephoneBean implements Telephone {
-
- private static final String[] answers = {
- "How nice.",
- "Oh, of course.",
- "Interesting.",
- "Really?",
- "No.",
- "Definitely.",
- "I wondered about that.",
- "Good idea.",
- "You don't say!",
- };
-
- private List<String> conversation = new ArrayList<String>();
-
- public void speak(String words) {
- conversation.add(words);
- }
-
- public String listen() {
- if (conversation.size() == 0) {
- return "Nothing has been said";
- }
-
- String lastThingSaid = conversation.get(conversation.size() - 1);
- return answers[Math.abs(lastThingSaid.hashCode()) % answers.length];
- }
-}
-----
-
-
-== TelephoneTest
-
-
-[source,java]
-----
-package org.superbiz.telephone;
-
-import junit.framework.TestCase;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
-
-/**
- * @version $Rev: 1090810 $ $Date: 2011-04-10 07:49:26 -0700 (Sun, 10 Apr 2011) $
- */
-public class TelephoneTest extends TestCase {
-
- protected void setUp() throws Exception {
- Properties properties = new Properties();
- properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
- properties.setProperty("openejb.embedded.remotable", "true");
- // Uncomment these properties to change the defaults
- //properties.setProperty("ejbd.port", "4202");
- //properties.setProperty("ejbd.bind", "localhost");
- //properties.setProperty("ejbd.threads", "200");
- //properties.setProperty("ejbd.disabled", "false");
- //properties.setProperty("ejbd.only_from", "127.0.0.1,192.168.1.1");
-
- new InitialContext(properties);
- }
-
- /**
- * Lookup the Telephone bean via its remote interface but using the LocalInitialContextFactory
- *
- * @throws Exception
- */
- public void testTalkOverLocalNetwork() throws Exception {
-
- Properties properties = new Properties();
- properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
- InitialContext localContext = new InitialContext(properties);
-
- Telephone telephone = (Telephone) localContext.lookup("TelephoneBeanRemote");
-
- telephone.speak("Did you know I am talking directly through the embedded container?");
-
- assertEquals("Interesting.", telephone.listen());
-
-
- telephone.speak("Yep, I'm using the bean's remote interface but since the ejb container is embedded " +
- "in the same vm I'm just using the LocalInitialContextFactory.");
-
- assertEquals("Really?", telephone.listen());
-
-
- telephone.speak("Right, you really only have to use the RemoteInitialContextFactory if you're in a different vm.");
-
- assertEquals("Oh, of course.", telephone.listen());
- }
-
- /**
- * Lookup the Telephone bean via its remote interface using the RemoteInitialContextFactory
- *
- * @throws Exception
- */
- public void testTalkOverRemoteNetwork() throws Exception {
- Properties properties = new Properties();
- properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
- properties.setProperty(Context.PROVIDER_URL, "ejbd://localhost:4201");
- InitialContext remoteContext = new InitialContext(properties);
-
- Telephone telephone = (Telephone) remoteContext.lookup("TelephoneBeanRemote");
-
- telephone.speak("Is this a local call?");
-
- assertEquals("No.", telephone.listen());
-
-
- telephone.speak("This would be a lot cooler if I was connecting from another VM then, huh?");
-
- assertEquals("I wondered about that.", telephone.listen());
-
-
- telephone.speak("I suppose I should hangup and call back over the LocalInitialContextFactory.");
-
- assertEquals("Good idea.", telephone.listen());
-
-
- telephone.speak("I'll remember this though in case I ever have to call you accross a network.");
-
- assertEquals("Definitely.", telephone.listen());
- }
-}
-----
-
-
-= Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.telephone.TelephoneTest
-Apache OpenEJB 4.0.0-beta-1 build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/telephone-stateful
-INFO - openejb.base = /Users/dblevins/examples/telephone-stateful
-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/telephone-stateful/target/classes
-INFO - Beginning load: /Users/dblevins/examples/telephone-stateful/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/telephone-stateful/classpath.ear
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean TelephoneBean: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Enterprise application "/Users/dblevins/examples/telephone-stateful/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/telephone-stateful/classpath.ear
-INFO - Jndi(name=TelephoneBeanRemote) --> Ejb(deployment-id=TelephoneBean)
-INFO - Jndi(name=global/classpath.ear/telephone-stateful/TelephoneBean!org.superbiz.telephone.Telephone) --> Ejb(deployment-id=TelephoneBean)
-INFO - Jndi(name=global/classpath.ear/telephone-stateful/TelephoneBean) --> Ejb(deployment-id=TelephoneBean)
-INFO - Created Ejb(deployment-id=TelephoneBean, ejb-name=TelephoneBean, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=TelephoneBean, ejb-name=TelephoneBean, container=Default Stateful Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/telephone-stateful/classpath.ear)
-INFO - Initializing network services
-INFO - Creating ServerService(id=admin)
-INFO - Creating ServerService(id=ejbd)
-INFO - Creating ServerService(id=ejbds)
-INFO - Initializing network services
- ** Starting Services **
- NAME IP PORT
- admin thread 127.0.0.1 4200
- ejbd 127.0.0.1 4201
- ejbd 127.0.0.1 4203
--------
-Ready!
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.448 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testcase-injection.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testcase-injection.adoc b/src/main/jbake/content/examples/testcase-injection.adoc
deleted file mode 100755
index bc6e704..0000000
--- a/src/main/jbake/content/examples/testcase-injection.adoc
+++ /dev/null
@@ -1,240 +0,0 @@
-= Testcase Injection
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testcase-injection can be browsed at https://github.com/apache/tomee/tree/master/examples/testcase-injection
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-== Movie
-
-
-[source,java]
-----
-package org.superbiz.testinjection;
-
-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.testinjection;
-
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-import static javax.ejb.TransactionAttributeType.MANDATORY;
-
-//START SNIPPET: code
-@Stateful
-@TransactionAttribute(MANDATORY)
-public class Movies {
-
- @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.TRANSACTION)
- private EntityManager entityManager;
-
- public void addMovie(Movie movie) throws Exception {
- entityManager.persist(movie);
- }
-
- public void deleteMovie(Movie movie) throws Exception {
- entityManager.remove(movie);
- }
-
- public List<Movie> getMovies() throws Exception {
- Query query = entityManager.createQuery("SELECT m from Movie as m");
- return query.getResultList();
- }
-}
-----
-
-
-== 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.testinjection.Movie</class>
-
- <properties>
- <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
- </properties>
- </persistence-unit>
-</persistence>
-----
-
-
-== MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.testinjection;
-
-import junit.framework.TestCase;
-
-import javax.annotation.Resource;
-import javax.ejb.EJB;
-import javax.ejb.embeddable.EJBContainer;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.transaction.UserTransaction;
-import java.util.List;
-import java.util.Properties;
-
-//START SNIPPET: code
-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");
-
- 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 {
- userTransaction.commit();
- }
-
- }
-}
-----
-
-
-= Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.testinjection.MoviesTest
-Apache OpenEJB 4.0.0-beta-1 build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/testcase-injection
-INFO - openejb.base = /Users/dblevins/examples/testcase-injection
-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/testcase-injection/target/classes
-INFO - Beginning load: /Users/dblevins/examples/testcase-injection/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/testcase-injection
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-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 Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.testinjection.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/testcase-injection" loaded.
-INFO - Assembling app: /Users/dblevins/examples/testcase-injection
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 408ms
-INFO - Jndi(name="java:global/testcase-injection/Movies!org.superbiz.testinjection.Movies")
-INFO - Jndi(name="java:global/testcase-injection/Movies")
-INFO - Jndi(name="java:global/EjbModule1583515396/org.superbiz.testinjection.MoviesTest!org.superbiz.testinjection.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule1583515396/org.superbiz.testinjection.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.testinjection.MoviesTest, ejb-name=org.superbiz.testinjection.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.testinjection.MoviesTest, ejb-name=org.superbiz.testinjection.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/testcase-injection)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.24 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-security-2.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-security-2.adoc b/src/main/jbake/content/examples/testing-security-2.adoc
deleted file mode 100755
index c8a2491..0000000
--- a/src/main/jbake/content/examples/testing-security-2.adoc
+++ /dev/null
@@ -1,306 +0,0 @@
-= Testing Security 2
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-security-2 can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-security-2
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-== Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-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.secure;
-
-//START SNIPPET: code
-
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
- @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
- private EntityManager entityManager;
-
- @RolesAllowed({"Employee", "Manager"})
- public void addMovie(Movie movie) throws Exception {
- entityManager.persist(movie);
- }
-
- @RolesAllowed({"Manager"})
- 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();
- }
-}
-----
-
-
-== 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.secure.Movie</class>
-
- <properties>
- <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
- </properties>
- </persistence-unit>
-</persistence>
-----
-
-
-== MovieTest
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import junit.framework.TestCase;
-
-import javax.ejb.EJB;
-import javax.ejb.EJBAccessException;
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.List;
-import java.util.Properties;
-
-//START SNIPPET: code
-public class MovieTest extends TestCase {
-
- @EJB
- private Movies movies;
-
- protected void setUp() throws Exception {
-
- // Uncomment this line to set the login/logout functionality on Debug
- //System.setProperty("log4j.category.OpenEJB.security", "debug");
-
- 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);
- }
-
- public void testAsManager() throws Exception {
- Properties p = new Properties();
- p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
- p.put(Context.SECURITY_PRINCIPAL, "jane");
- p.put(Context.SECURITY_CREDENTIALS, "waterfall");
-
- InitialContext context = new InitialContext(p);
-
- try {
- 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());
- } finally {
- context.close();
- }
- }
-
- public void testAsEmployee() throws Exception {
- Properties p = new Properties();
- p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
- p.put(Context.SECURITY_PRINCIPAL, "joe");
- p.put(Context.SECURITY_CREDENTIALS, "cool");
-
- InitialContext context = new InitialContext(p);
-
- try {
- 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) {
- try {
- movies.deleteMovie(movie);
- fail("Employees should not be allowed to delete");
- } catch (EJBAccessException e) {
- // Good, Employees cannot delete things
- }
- }
-
- // The list should still be three movies long
- assertEquals("Movies.getMovies()", 3, movies.getMovies().size());
- } finally {
- context.close();
- }
- }
-
- public void testUnauthenticated() throws Exception {
- try {
- movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
- fail("Unauthenticated users should not be able to add movies");
- } catch (EJBAccessException e) {
- // Good, guests cannot add things
- }
-
- try {
- movies.deleteMovie(null);
- fail("Unauthenticated users should not be allowed to delete");
- } catch (EJBAccessException e) {
- // Good, Unauthenticated users cannot delete things
- }
-
- try {
- // Read access should be allowed
-
- List<Movie> list = movies.getMovies();
- } catch (EJBAccessException e) {
- fail("Read access should be allowed");
- }
- }
-}
-----
-
-
-= Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.secure.MovieTest
-Apache OpenEJB 4.0.0-beta-1 build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/testing-security-2
-INFO - openejb.base = /Users/dblevins/examples/testing-security-2
-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/testing-security-2/target/classes
-INFO - Beginning load: /Users/dblevins/examples/testing-security-2/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/testing-security-2
-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 Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.secure.MovieTest: 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/testing-security-2" loaded.
-INFO - Assembling app: /Users/dblevins/examples/testing-security-2
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 413ms
-INFO - Jndi(name="java:global/testing-security-2/Movies!org.superbiz.injection.secure.Movies")
-INFO - Jndi(name="java:global/testing-security-2/Movies")
-INFO - Jndi(name="java:global/EjbModule1634151355/org.superbiz.injection.secure.MovieTest!org.superbiz.injection.secure.MovieTest")
-INFO - Jndi(name="java:global/EjbModule1634151355/org.superbiz.injection.secure.MovieTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/testing-security-2)
-INFO - Logging in
-INFO - Logging out
-INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
-INFO - Logging in
-INFO - Logging out
-INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.546 sec
-
-Results :
-
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-security-3.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-security-3.adoc b/src/main/jbake/content/examples/testing-security-3.adoc
deleted file mode 100755
index 7a1fdbe..0000000
--- a/src/main/jbake/content/examples/testing-security-3.adoc
+++ /dev/null
@@ -1,381 +0,0 @@
-= Testing Security 3
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-security-3 can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-security-3
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-== Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-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.secure;
-
-//START SNIPPET: code
-
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
- @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
- private EntityManager entityManager;
-
- @RolesAllowed({"Employee", "Manager"})
- public void addMovie(Movie movie) throws Exception {
- entityManager.persist(movie);
- }
-
- @RolesAllowed({"Manager"})
- 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();
- }
-}
-----
-
-
-== MyLoginProvider
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import org.apache.openejb.core.security.jaas.LoginProvider;
-
-import javax.security.auth.login.FailedLoginException;
-import java.util.Arrays;
-import java.util.List;
-
-public class MyLoginProvider implements LoginProvider {
-
-
- @Override
- public List<String> authenticate(String user, String password) throws FailedLoginException {
- if ("paul".equals(user) && "michelle".equals(password)) {
- return Arrays.asList("Manager", "rockstar", "beatle");
- }
-
- if ("eddie".equals(user) && "jump".equals(password)) {
- return Arrays.asList("Employee", "rockstar", "vanhalen");
- }
-
- throw new FailedLoginException("Bad user or password!");
- }
-}
-----
-
-
-== org.apache.openejb.core.security.jaas.LoginProvider
-
- org.superbiz.injection.secure.MyLoginProvider
-
-== 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.secure.Movie</class>
-
- <properties>
- <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
- </properties>
- </persistence-unit>
-</persistence>
-----
-
-
-== MovieTest
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import junit.framework.TestCase;
-
-import javax.ejb.EJB;
-import javax.ejb.EJBAccessException;
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import java.util.List;
-import java.util.Properties;
-
-public class MovieTest extends TestCase {
-
- @EJB
- private Movies movies;
-
- private Context getContext(String user, String pass) throws NamingException {
- Properties p = new Properties();
- p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
- p.setProperty("openejb.authentication.realmName", "ServiceProviderLogin");
- p.put(Context.SECURITY_PRINCIPAL, user);
- p.put(Context.SECURITY_CREDENTIALS, pass);
-
- return new InitialContext(p);
- }
-
- protected 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");
-
- EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
- }
-
- public void testAsManager() throws Exception {
- final Context context = getContext("paul", "michelle");
-
- try {
- 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());
- } finally {
- context.close();
- }
- }
-
- public void testAsEmployee() throws Exception {
- final Context context = getContext("eddie", "jump");
-
- try {
- 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) {
- try {
- movies.deleteMovie(movie);
- fail("Employees should not be allowed to delete");
- } catch (EJBAccessException e) {
- // Good, Employees cannot delete things
- }
- }
-
- // The list should still be three movies long
- assertEquals("Movies.getMovies()", 3, movies.getMovies().size());
- } finally {
- context.close();
- }
- }
-
- public void testUnauthenticated() throws Exception {
- try {
- movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
- fail("Unauthenticated users should not be able to add movies");
- } catch (EJBAccessException e) {
- // Good, guests cannot add things
- }
-
- try {
- movies.deleteMovie(null);
- fail("Unauthenticated users should not be allowed to delete");
- } catch (EJBAccessException e) {
- // Good, Unauthenticated users cannot delete things
- }
-
- try {
- // Read access should be allowed
-
- List<Movie> list = movies.getMovies();
-
- } catch (EJBAccessException e) {
- fail("Read access should be allowed");
- }
-
- }
-
- public void testLoginFailure() throws NamingException {
- try {
- getContext("eddie", "panama");
- fail("supposed to have a login failure here");
- } catch (javax.naming.AuthenticationException e) {
- //expected
- }
-
- try {
- getContext("jimmy", "foxylady");
- fail("supposed to have a login failure here");
- } catch (javax.naming.AuthenticationException e) {
- //expected
- }
- }
-}
-----
-
-
-= Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.secure.MovieTest
-INFO - ********************************************************************************
-INFO - OpenEJB http://tomee.apache.org/
-INFO - Startup: Fri Jul 20 08:42:53 EDT 2012
-INFO - Copyright 1999-2012 (C) Apache OpenEJB Project, All Rights Reserved.
-INFO - Version: 4.1.0
-INFO - Build date: 20120720
-INFO - Build time: 08:33
-INFO - ********************************************************************************
-INFO - openejb.home = /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3
-INFO - openejb.base = /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@38ee6681
-INFO - Succeeded in installing singleton service
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Cannot find the configuration file [conf/openejb.xml]. Will attempt to create one for the beans deployed.
-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 - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Creating Resource(id=movieDatabase)
-INFO - Beginning load: /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3/target/classes
-INFO - Configuring enterprise application: /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3
-INFO - Auto-deploying ejb Movies: EjbDeployment(deployment-id=Movies)
-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 - Creating Container(id=Default Stateful Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.secure.MovieTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /tmp for stateful session passivation
-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 - Creating Resource(id=movieDatabaseNonJta)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3" loaded.
-INFO - Assembling app: /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3
-SEVERE - JAVA AGENT NOT INSTALLED. The JPA Persistence Provider requested installation of a ClassFileTransformer which requires a JavaAgent. See http://tomee.apache.org/3.0/javaagent.html
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 268ms
-INFO - Jndi(name="java:global/testing-security-3/Movies!org.superbiz.injection.secure.Movies")
-INFO - Jndi(name="java:global/testing-security-3/Movies")
-INFO - Existing thread singleton service in SystemInstance() org.apache.openejb.cdi.ThreadSingletonServiceImpl@38ee6681
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 170 ms.
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Deployed Application(path=/home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3)
-20-Jul-2012 8:42:55 AM null openjpa.Runtime
-INFO: Starting OpenJPA 2.2.0
-20-Jul-2012 8:42:56 AM null openjpa.jdbc.JDBC
-INFO: Using dictionary class "org.apache.openjpa.jdbc.sql.HSQLDictionary" (HSQL Database Engine 2.2.8 ,HSQL Database Engine Driver 2.2.8).
-20-Jul-2012 8:42:57 AM null openjpa.Enhance
-INFO: Creating subclass and redefining methods for "[class org.superbiz.injection.secure.Movie]". This means that your application will be less efficient than it would if you ran the OpenJPA enhancer.
-INFO - Logging in
-INFO - Logging out
-INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
-INFO - Logging in
-INFO - Logging out
-INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.069 sec
-
-Results :
-
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-security-4.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-security-4.adoc b/src/main/jbake/content/examples/testing-security-4.adoc
deleted file mode 100755
index 69af878..0000000
--- a/src/main/jbake/content/examples/testing-security-4.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= testing-security-4
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-security-4 can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-security-4
-
-No README.md yet, be the first to contribute one!
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-security-meta.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-security-meta.adoc b/src/main/jbake/content/examples/testing-security-meta.adoc
deleted file mode 100755
index 5f234d6..0000000
--- a/src/main/jbake/content/examples/testing-security-meta.adoc
+++ /dev/null
@@ -1,517 +0,0 @@
-= Testing Security Meta
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-security-meta can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-security-meta
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-== AddPermission
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.annotation.security.RolesAllowed;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AddPermission {
- public static interface $ {
-
- @AddPermission
- @RolesAllowed({"Employee", "Manager"})
- public void method();
- }
-}
-----
-
-
-== DeletePermission
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.annotation.security.RolesAllowed;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface DeletePermission {
- public static interface $ {
-
- @DeletePermission
- @RolesAllowed("Manager")
- public void method();
- }
-}
-----
-
-
-== Metatype
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Target(ElementType.ANNOTATION_TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Metatype {
-}
-----
-
-
-== MovieUnit
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target({ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-
-@PersistenceContext(name = "movie-unit", unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
-public @interface MovieUnit {
-}
-----
-
-
-== ReadPermission
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.annotation.security.PermitAll;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface ReadPermission {
- public static interface $ {
-
- @ReadPermission
- @PermitAll
- @TransactionAttribute(TransactionAttributeType.SUPPORTS)
- public void method();
- }
-}
-----
-
-
-== RunAsEmployee
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.annotation.security.RunAs;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target({ElementType.TYPE, ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-
-@RunAs("Employee")
-public @interface RunAsEmployee {
-}
-----
-
-
-== RunAsManager
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.annotation.security.RunAs;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target({ElementType.TYPE, ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-
-@RunAs("Manager")
-public @interface RunAsManager {
-}
-----
-
-
-== Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-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.secure;
-
-//START SNIPPET: code
-
-import org.superbiz.injection.secure.api.AddPermission;
-import org.superbiz.injection.secure.api.DeletePermission;
-import org.superbiz.injection.secure.api.MovieUnit;
-import org.superbiz.injection.secure.api.ReadPermission;
-
-import javax.ejb.Stateful;
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
- @MovieUnit
- private EntityManager entityManager;
-
- @AddPermission
- public void addMovie(Movie movie) throws Exception {
- entityManager.persist(movie);
- }
-
- @DeletePermission
- public void deleteMovie(Movie movie) throws Exception {
- entityManager.remove(movie);
- }
-
- @ReadPermission
- public List<Movie> getMovies() throws Exception {
- Query query = entityManager.createQuery("SELECT m from Movie as m");
- return query.getResultList();
- }
-}
-----
-
-
-== 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.secure.Movie</class>
-
- <properties>
- <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
- </properties>
- </persistence-unit>
-</persistence>
-----
-
-
-== MovieTest
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import junit.framework.TestCase;
-import org.superbiz.injection.secure.api.RunAsEmployee;
-import org.superbiz.injection.secure.api.RunAsManager;
-
-import javax.ejb.EJB;
-import javax.ejb.EJBAccessException;
-import javax.ejb.Stateless;
-import javax.ejb.embeddable.EJBContainer;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.Callable;
-
-//START SNIPPET: code
-
-public class MovieTest extends TestCase {
-
- @EJB
- private Movies movies;
-
- @EJB(beanName = "ManagerBean")
- private Caller manager;
-
- @EJB(beanName = "EmployeeBean")
- private Caller employee;
-
- protected 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");
-
- EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
- }
-
- public void testAsManager() throws Exception {
- manager.call(new Callable() {
- public Object call() 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());
- return null;
- }
- });
- }
-
- public void testAsEmployee() throws Exception {
- employee.call(new Callable() {
- public Object call() 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) {
- try {
- movies.deleteMovie(movie);
- fail("Employees should not be allowed to delete");
- } catch (EJBAccessException e) {
- // Good, Employees cannot delete things
- }
- }
-
- // The list should still be three movies long
- assertEquals("Movies.getMovies()", 3, movies.getMovies().size());
- return null;
- }
- });
- }
-
- public void testUnauthenticated() throws Exception {
- try {
- movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
- fail("Unauthenticated users should not be able to add movies");
- } catch (EJBAccessException e) {
- // Good, guests cannot add things
- }
-
- try {
- movies.deleteMovie(null);
- fail("Unauthenticated users should not be allowed to delete");
- } catch (EJBAccessException e) {
- // Good, Unauthenticated users cannot delete things
- }
-
- try {
- // Read access should be allowed
-
- List<Movie> list = movies.getMovies();
- } catch (EJBAccessException e) {
- fail("Read access should be allowed");
- }
- }
-
- public interface Caller {
- public <V> V call(Callable<V> callable) throws Exception;
- }
-
- /**
- * This little bit of magic allows our test code to execute in
- * the desired security scope.
- */
-
- @Stateless
- @RunAsManager
- public static class ManagerBean implements Caller {
-
- public <V> V call(Callable<V> callable) throws Exception {
- return callable.call();
- }
- }
-
- @Stateless
- @RunAsEmployee
- public static class EmployeeBean implements Caller {
-
- public <V> V call(Callable<V> callable) throws Exception {
- return callable.call();
- }
- }
-}
-----
-
-
-= Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.secure.MovieTest
-Apache OpenEJB 4.0.0-beta-1 build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/testing-security-meta
-INFO - openejb.base = /Users/dblevins/examples/testing-security-meta
-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/testing-security-meta/target/classes
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/testing-security-meta/target/test-classes
-INFO - Beginning load: /Users/dblevins/examples/testing-security-meta/target/classes
-INFO - Beginning load: /Users/dblevins/examples/testing-security-meta/target/test-classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/testing-security-meta
-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 ManagerBean: 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.secure.MovieTest: 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/testing-security-meta" loaded.
-INFO - Assembling app: /Users/dblevins/examples/testing-security-meta
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 419ms
-INFO - Jndi(name="java:global/testing-security-meta/Movies!org.superbiz.injection.secure.Movies")
-INFO - Jndi(name="java:global/testing-security-meta/Movies")
-INFO - Jndi(name="java:global/testing-security-meta/ManagerBean!org.superbiz.injection.secure.MovieTest$Caller")
-INFO - Jndi(name="java:global/testing-security-meta/ManagerBean")
-INFO - Jndi(name="java:global/testing-security-meta/EmployeeBean!org.superbiz.injection.secure.MovieTest$Caller")
-INFO - Jndi(name="java:global/testing-security-meta/EmployeeBean")
-INFO - Jndi(name="java:global/EjbModule53489605/org.superbiz.injection.secure.MovieTest!org.superbiz.injection.secure.MovieTest")
-INFO - Jndi(name="java:global/EjbModule53489605/org.superbiz.injection.secure.MovieTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=EmployeeBean, ejb-name=EmployeeBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=EmployeeBean, ejb-name=EmployeeBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/testing-security-meta)
-INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
-INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.754 sec
-
-Results :
-
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-security.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-security.adoc b/src/main/jbake/content/examples/testing-security.adoc
deleted file mode 100755
index 657ea8b..0000000
--- a/src/main/jbake/content/examples/testing-security.adoc
+++ /dev/null
@@ -1,336 +0,0 @@
-= Testing Security
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-security can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-security
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-== Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-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.secure;
-
-//START SNIPPET: code
-
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
- @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
- private EntityManager entityManager;
-
- @RolesAllowed({"Employee", "Manager"})
- public void addMovie(Movie movie) throws Exception {
- entityManager.persist(movie);
- }
-
- @RolesAllowed({"Manager"})
- 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();
- }
-}
-----
-
-
-== 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.secure.Movie</class>
-
- <properties>
- <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
- </properties>
- </persistence-unit>
-</persistence>
-----
-
-
-== MovieTest
-
-
-[source,java]
-----
-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.ejb.embeddable.EJBContainer;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.Callable;
-
-//START SNIPPET: code
-
-public class MovieTest extends TestCase {
-
- @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("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);
- }
-
- public void testAsManager() throws Exception {
- manager.call(new Callable() {
- public Object call() 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());
- return null;
- }
- });
- }
-
- public void testAsEmployee() throws Exception {
- employee.call(new Callable() {
- public Object call() 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) {
- try {
- movies.deleteMovie(movie);
- fail("Employees should not be allowed to delete");
- } catch (EJBAccessException e) {
- // Good, Employees cannot delete things
- }
- }
-
- // The list should still be three movies long
- assertEquals("Movies.getMovies()", 3, movies.getMovies().size());
- return null;
- }
- });
- }
-
- public void testUnauthenticated() throws Exception {
- try {
- movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
- fail("Unauthenticated users should not be able to add movies");
- } catch (EJBAccessException e) {
- // Good, guests cannot add things
- }
-
- try {
- movies.deleteMovie(null);
- fail("Unauthenticated users should not be allowed to delete");
- } catch (EJBAccessException e) {
- // Good, Unauthenticated users cannot delete things
- }
-
- try {
- // Read access should be allowed
-
- List<Movie> list = movies.getMovies();
- } catch (EJBAccessException e) {
- fail("Read access should be allowed");
- }
- }
-
-
- 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 desired security scope.
- */
-
- @Stateless
- @RunAs("Manager")
- public static class ManagerBean implements Caller {
-
- public <V> V call(Callable<V> callable) throws Exception {
- return callable.call();
- }
- }
-
- @Stateless
- @RunAs("Employee")
- public static class EmployeeBean implements Caller {
-
- public <V> V call(Callable<V> callable) throws Exception {
- return callable.call();
- }
- }
-}
-----
-
-
-= Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.secure.MovieTest
-Apache OpenEJB 4.0.0-beta-1 build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/testing-security
-INFO - openejb.base = /Users/dblevins/examples/testing-security
-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/testing-security/target/classes
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/testing-security/target/test-classes
-INFO - Beginning load: /Users/dblevins/examples/testing-security/target/classes
-INFO - Beginning load: /Users/dblevins/examples/testing-security/target/test-classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/testing-security
-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 ManagerBean: 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.secure.MovieTest: 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/testing-security" loaded.
-INFO - Assembling app: /Users/dblevins/examples/testing-security
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 405ms
-INFO - Jndi(name="java:global/testing-security/Movies!org.superbiz.injection.secure.Movies")
-INFO - Jndi(name="java:global/testing-security/Movies")
-INFO - Jndi(name="java:global/testing-security/ManagerBean!org.superbiz.injection.secure.MovieTest$Caller")
-INFO - Jndi(name="java:global/testing-security/ManagerBean")
-INFO - Jndi(name="java:global/testing-security/EmployeeBean!org.superbiz.injection.secure.MovieTest$Caller")
-INFO - Jndi(name="java:global/testing-security/EmployeeBean")
-INFO - Jndi(name="java:global/EjbModule26174809/org.superbiz.injection.secure.MovieTest!org.superbiz.injection.secure.MovieTest")
-INFO - Jndi(name="java:global/EjbModule26174809/org.superbiz.injection.secure.MovieTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=EmployeeBean, ejb-name=EmployeeBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=EmployeeBean, ejb-name=EmployeeBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/testing-security)
-INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
-INFO - EJBContainer already initialized. Call ejbContainer.close() to allow reinitialization
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.574 sec
-
-Results :
-
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
-----
-
-