TOMEE-2295 WIP - fails with a NullPointerException which I'm trying to track down
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/f552c636 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/f552c636 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/f552c636 Branch: refs/heads/tomee-7.1.x Commit: f552c63602f985f1fcdd6ed6b0d4dee74ce69ebb Parents: 35140a2 Author: Jonathan Gallimore <[email protected]> Authored: Mon Dec 3 16:46:52 2018 +0000 Committer: Otavio Santana <[email protected]> Committed: Mon Dec 17 13:57:08 2018 -0200 ---------------------------------------------------------------------- .../arquillian/tests/cmp/sample/Actor.java | 35 ++++++++++ .../arquillian/tests/cmp/sample/ActorBean.java | 45 +++++++++++++ .../tests/cmp/sample/ActorLocalHome.java | 33 +++++++++ .../arquillian/tests/cmp/sample/ActorVO.java | 68 +++++++++++++++++++ .../tests/cmp/sample/CustomOrmXmlTest.java | 3 +- .../arquillian/tests/cmp/sample/Movie.java | 6 ++ .../arquillian/tests/cmp/sample/MovieBean.java | 41 ++++++++++++ .../tests/cmp/sample/MovieServlet.java | 4 +- .../arquillian/tests/cmp/sample/MovieVO.java | 10 +++ .../tests/cmp/sample/MoviesBusinessBean.java | 21 +++++- .../tests/cmp/sample/MoviesBusinessLocal.java | 3 +- .../src/test/resources/arquillian.xml | 2 + .../arquillian/tests/cmp/sample/custom-orm.xml | 43 ++++++++++-- .../arquillian/tests/cmp/sample/ejb-jar.xml | 70 ++++++++++++++++++-- .../arquillian/tests/cmp/sample/openejb-jar.xml | 6 ++ .../arquillian/tests/cmp/sample/persistence.xml | 42 ++++++++---- 16 files changed, 406 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/Actor.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/Actor.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/Actor.java new file mode 100644 index 0000000..562b075 --- /dev/null +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/Actor.java @@ -0,0 +1,35 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.openejb.arquillian.tests.cmp.sample; + +/** + * @version $Revision$ $Date$ + */ +public interface Actor extends javax.ejb.EJBLocalObject { + + Integer getId(); + + void setId(Integer id); + + String getFirstName(); + + void setFirstName(String director); + + String getLastName(); + + void setLastName(String title); +} http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorBean.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorBean.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorBean.java new file mode 100644 index 0000000..70f0d23 --- /dev/null +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorBean.java @@ -0,0 +1,45 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.openejb.arquillian.tests.cmp.sample; + +import javax.ejb.EntityBean; + +public abstract class ActorBean implements EntityBean { + + public ActorBean() { + } + + public Integer ejbCreate(final String firstName, final String lastName) { + this.setFirstName(firstName); + this.setLastName(lastName); + return null; + } + + public abstract Integer getId(); + + public abstract void setId(Integer id); + + public abstract String getFirstName(); + + public abstract void setFirstName(String firstName); + + public abstract String getLastName(); + + public abstract void setLastName(String lastName); + + +} http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorLocalHome.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorLocalHome.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorLocalHome.java new file mode 100644 index 0000000..a8f7dd0 --- /dev/null +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorLocalHome.java @@ -0,0 +1,33 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.openejb.arquillian.tests.cmp.sample; + +import javax.ejb.CreateException; +import javax.ejb.FinderException; +import java.util.Collection; + +/** + * @version $Revision$ $Date$ + */ +interface ActorLocalHome extends javax.ejb.EJBLocalHome { + + Actor create(String firstName, String lastName) throws CreateException; + + Actor findByPrimaryKey(Integer primarykey) throws FinderException; + + Collection findAll() throws FinderException; +} http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorVO.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorVO.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorVO.java new file mode 100644 index 0000000..a3c1a1d --- /dev/null +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/ActorVO.java @@ -0,0 +1,68 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.openejb.arquillian.tests.cmp.sample; + +import java.io.Serializable; + +public class ActorVO implements Serializable { + + private Integer id; + private String firstName; + private String lastName; + + public Integer getId() { + return id; + } + + public void setId(Integer 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; + } + + public static ActorVO from (final Actor actor) { + final ActorVO actorVO = new ActorVO(); + actorVO.setId(actor.getId()); + actorVO.setFirstName(actor.getFirstName()); + actorVO.setLastName(actor.getLastName()); + + return actorVO; + } + + @Override + public String toString() { + return "ActorVO{" + + "id=" + id + + ", firstName='" + firstName + '\'' + + ", lastName='" + lastName + '\'' + + '}'; + } +} http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/CustomOrmXmlTest.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/CustomOrmXmlTest.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/CustomOrmXmlTest.java index e069536..138ba53 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/CustomOrmXmlTest.java +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/CustomOrmXmlTest.java @@ -42,7 +42,8 @@ public class CustomOrmXmlTest { @Deployment(testable = false) public static WebArchive createDeployment() { WebArchive archive = ShrinkWrap.create(WebArchive.class, CustomOrmXmlTest.class.getSimpleName() + ".war") - .addClasses(MovieServlet.class, Movie.class, MovieBean.class, MovieException.class, MovieLocalHome.class, MoviesBusinessBean.class, MoviesBusinessLocal.class, MoviesBusinessLocalHome.class, MovieVO.class) + .addClasses(MovieServlet.class, Movie.class, MovieBean.class, MovieException.class, MovieLocalHome.class, MoviesBusinessBean.class, + MoviesBusinessLocal.class, MoviesBusinessLocalHome.class, MovieVO.class, ActorBean.class, ActorLocalHome.class, Actor.class) .addAsResource(new ClassLoaderAsset("org/apache/openejb/arquillian/tests/cmp/sample/custom-orm.xml"), "META-INF/custom-orm.xml") .addAsResource(new ClassLoaderAsset("org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml"), "META-INF/persistence.xml") .addAsWebInfResource(new ClassLoaderAsset("org/apache/openejb/arquillian/tests/cmp/sample/openejb-jar.xml"), "openejb-jar.xml") http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/Movie.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/Movie.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/Movie.java index 405280c..1ff9285 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/Movie.java +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/Movie.java @@ -16,6 +16,8 @@ */ package org.apache.openejb.arquillian.tests.cmp.sample; +import java.util.Collection; + /** * @version $Revision$ $Date$ */ @@ -36,4 +38,8 @@ public interface Movie extends javax.ejb.EJBLocalObject { int getYear(); void setYear(int year); + + void addActor(String firstName, String lastName); + + Collection getActorVO(); } http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieBean.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieBean.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieBean.java index 6f83ef8..edee309 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieBean.java +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieBean.java @@ -16,7 +16,15 @@ */ package org.apache.openejb.arquillian.tests.cmp.sample; +import javax.ejb.CreateException; +import javax.ejb.EJBException; import javax.ejb.EntityBean; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; public abstract class MovieBean implements EntityBean { @@ -46,4 +54,37 @@ public abstract class MovieBean implements EntityBean { public abstract void setYear(int year); + public abstract Collection getActors(); + + public abstract void setActors(Collection actors); + + public void addActor(String firstName, String lastName) { + try { + final InitialContext context = new InitialContext(); + + final ActorLocalHome actorBean = (ActorLocalHome) context.lookup("java:comp/env/ejb/ActorBean"); + final Actor actor = actorBean.create(firstName, lastName); + + final Collection actors = this.getActors(); + actors.add(actor); + + } catch (NamingException | CreateException e) { + throw new EJBException(e); + } + } + + public Collection getActorVO() { + List result = new ArrayList(); + + final Collection actors = this.getActors(); + final Iterator iterator = actors.iterator(); + + while (iterator.hasNext()) { + Actor actor = (Actor) iterator.next(); + result.add(ActorVO.from(actor)); + } + + return result; + } + } http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieServlet.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieServlet.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieServlet.java index 0670ee5..9610abf 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieServlet.java +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieServlet.java @@ -54,7 +54,9 @@ public class MovieServlet extends HttpServlet { final MoviesBusinessLocal bean = home.create(); - bean.addMovie("Bad Boys", "Michael Bay", 1995); + final int id = bean.addMovie("Bad Boys", "Michael Bay", 1995); + bean.addActor(id, "Will", "Smith"); + bean.addActor(id, "Martin", "Lawrence"); pw.println("Movie added successfully"); http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieVO.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieVO.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieVO.java index ee59bf6..d7618dc 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieVO.java +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MovieVO.java @@ -17,6 +17,9 @@ package org.apache.openejb.arquillian.tests.cmp.sample; import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; public class MovieVO implements Serializable { @@ -24,6 +27,7 @@ public class MovieVO implements Serializable { private String title; private String director; private int year; + private List actors = new ArrayList(); public Integer getId() { return id; @@ -57,12 +61,17 @@ public class MovieVO implements Serializable { this.year = year; } + public Collection getActors() { + return actors; + } + public static MovieVO from (final Movie movie) { final MovieVO movieVO = new MovieVO(); movieVO.setId(movie.getId()); movieVO.setTitle(movie.getTitle()); movieVO.setDirector(movie.getDirector()); movieVO.setYear(movie.getYear()); + movieVO.getActors().addAll(movie.getActorVO()); return movieVO; } @@ -74,6 +83,7 @@ public class MovieVO implements Serializable { ", title='" + title + '\'' + ", director='" + director + '\'' + ", year=" + year + + ", actors=" + actors + '}'; } } http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MoviesBusinessBean.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MoviesBusinessBean.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MoviesBusinessBean.java index b431826..6942d49 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MoviesBusinessBean.java +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MoviesBusinessBean.java @@ -53,20 +53,35 @@ public class MoviesBusinessBean implements SessionBean { } - public void addMovie(final String title, final String director, int year) throws MovieException { + public int addMovie(final String title, final String director, int year) throws MovieException { try { final InitialContext context = new InitialContext(); final MovieLocalHome home = (MovieLocalHome) PortableRemoteObject.narrow(context.lookup("java:comp/env/ejb/MovieBean"), MovieLocalHome.class); - - home.create(director, title, year); + final Movie movie = home.create(director, title, year); + return movie.getId(); } catch (NamingException | CreateException e) { throw new MovieException(e); } } + public void addActor(final int movieId, final String firstName, final String lastName) throws MovieException { + try { + final InitialContext context = new InitialContext(); + final MovieLocalHome home = (MovieLocalHome) + PortableRemoteObject.narrow(context.lookup("java:comp/env/ejb/MovieBean"), MovieLocalHome.class); + + final Movie movie = home.findByPrimaryKey(movieId); + movie.addActor(firstName, lastName); + } catch (NamingException | FinderException e) { + throw new MovieException(e); + } catch (Throwable t) { + t.printStackTrace(); + } + } + public MovieVO findByPrimaryKey(final int id) throws MovieException { try { final InitialContext context = new InitialContext(); http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MoviesBusinessLocal.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MoviesBusinessLocal.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MoviesBusinessLocal.java index f961fc3..40a75f5 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MoviesBusinessLocal.java +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/MoviesBusinessLocal.java @@ -21,7 +21,8 @@ import java.util.Collection; public interface MoviesBusinessLocal extends javax.ejb.EJBLocalObject { - void addMovie(final String title, final String director, int year) throws RemoteException, MovieException; + int addMovie(final String title, final String director, int year) throws RemoteException, MovieException; + int addActor(final int movieId, final String firstName, final String lastName) throws RemoteException, MovieException; Movie findByPrimaryKey(final int id) throws RemoteException, MovieException; Collection findAll() throws RemoteException, MovieException; void delete(Integer id) throws RemoteException, MovieException; http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/arquillian.xml ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/arquillian.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/arquillian.xml index b80f45d..fb0f5fd 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/arquillian.xml +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/arquillian.xml @@ -87,6 +87,7 @@ # scan types by configuring a JarScanner with a nested JarScanFilter. tomcat.util.scan.StandardJarScanFilter.jarsToScan=\ log4j-core*.jar,log4j-taglib*.jar,log4javascript*.jar,slf4j-taglib*.jar + openejb.descriptors.output = true </property> </configuration> </container> @@ -108,6 +109,7 @@ # try to save some permgen mem openejb.cdi.activated-on-ejb = false + openejb.descriptors.output = true </property> </configuration> </container> http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/custom-orm.xml ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/custom-orm.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/custom-orm.xml index 2e60735..49b5e27 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/custom-orm.xml +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/custom-orm.xml @@ -1,7 +1,24 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" version="1.0"> <entity class="openejb.org.apache.openejb.arquillian.tests.cmp.sample.MovieBean" name="MovieBean"> - <description>#MovieBean</description> + <description>CustomOrmXmlTest#MovieBean</description> <table/> <named-query name="MovieBean.findByDirector(java.lang.String)"> <query>SELECT m FROM MovieBean m WHERE m.director = ?1</query> @@ -15,9 +32,27 @@ </id> <basic name="director"/> <basic name="year"/> - <basic name="title"> - <column name="movie_title" length="250" /> - </basic> + <basic name="title"/> + <one-to-many mapped-by="MovieBean_actors" name="actors"/> + </attributes> + </entity> + <entity class="openejb.org.apache.openejb.arquillian.tests.cmp.sample.ActorBean" name="ActorBean"> + <description>CustomOrmXmlTest#ActorBean</description> + <table/> + <named-query name="ActorBean.findAll"> + <query>SELECT a FROM ActorBean as a</query> + </named-query> + <attributes> + <id name="id"> + <generated-value strategy="IDENTITY"/> + </id> + <basic name="firstName"/> + <basic name="lastName"/> + <many-to-one name="MovieBean_actors"> + <cascade> + <cascade-all/> + </cascade> + </many-to-one> </attributes> </entity> </entity-mappings> http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/ejb-jar.xml ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/ejb-jar.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/ejb-jar.xml index 3de83ad..0ca6a12 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/ejb-jar.xml +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/ejb-jar.xml @@ -24,7 +24,7 @@ <enterprise-beans> <session> <description> - A service that handles monetary payments. + A service that handles movie entities. </description> <ejb-name>MovieBusinessBean</ejb-name> <local-home>org.apache.openejb.arquillian.tests.cmp.sample.MoviesBusinessLocalHome</local-home> @@ -39,6 +39,13 @@ <local>org.apache.openejb.arquillian.tests.cmp.sample.Movie</local> <ejb-link>MovieBean</ejb-link> </ejb-local-ref> + <ejb-local-ref> + <ejb-ref-name>ejb/ActorBean</ejb-ref-name> + <ejb-ref-type>Entity</ejb-ref-type> + <local-home>org.apache.openejb.arquillian.tests.cmp.sample.ActorLocalHome</local-home> + <local>org.apache.openejb.arquillian.tests.cmp.sample.Actor</local> + <ejb-link>ActorBean</ejb-link> + </ejb-local-ref> </session> <entity> <ejb-name>MovieBean</ejb-name> @@ -80,9 +87,58 @@ <ejb-ql>SELECT m FROM MovieBean as m</ejb-ql> </query> </entity> + <entity> + <ejb-name>ActorBean</ejb-name> + <local-home>org.apache.openejb.arquillian.tests.cmp.sample.ActorLocalHome</local-home> + <local>org.apache.openejb.arquillian.tests.cmp.sample.Actor</local> + <ejb-class>org.apache.openejb.arquillian.tests.cmp.sample.ActorBean</ejb-class> + <persistence-type>Container</persistence-type> + <prim-key-class>java.lang.Integer</prim-key-class> + <reentrant>false</reentrant> + <cmp-version>2.x</cmp-version> + <abstract-schema-name>ActorBean</abstract-schema-name> + <cmp-field> + <field-name>id</field-name> + </cmp-field> + <cmp-field> + <field-name>firstName</field-name> + </cmp-field> + <cmp-field> + <field-name>lastName</field-name> + </cmp-field> + <primkey-field>id</primkey-field> + <query> + <query-method> + <method-name>findAll</method-name> + <method-params/> + </query-method> + <ejb-ql>SELECT a FROM ActorBean as a</ejb-ql> + </query> + </entity> </enterprise-beans> - - + <relationships> + <ejb-relation> + <ejb-relationship-role> + <ejb-relationship-role-name>Movie-has-many-actors</ejb-relationship-role-name> + <multiplicity>One</multiplicity> + <cascade-delete/> + <relationship-role-source> + <ejb-name>MovieBean</ejb-name> + </relationship-role-source> + <cmr-field> + <cmr-field-name>actors</cmr-field-name> + <cmr-field-type>java.util.Collection</cmr-field-type> + </cmr-field> + </ejb-relationship-role> + <ejb-relationship-role> + <ejb-relationship-role-name>Actor-acts-in-movie</ejb-relationship-role-name> + <multiplicity>Many</multiplicity> + <relationship-role-source> + <ejb-name>ActorBean</ejb-name> + </relationship-role-source> + </ejb-relationship-role> + </ejb-relation> + </relationships> <assembly-descriptor> <container-transaction> <method> @@ -91,7 +147,6 @@ </method> <trans-attribute>Required</trans-attribute> </container-transaction> - <container-transaction> <method> <ejb-name>MovieBean</ejb-name> @@ -99,5 +154,12 @@ </method> <trans-attribute>Supports</trans-attribute> </container-transaction> + <container-transaction> + <method> + <ejb-name>ActorBean</ejb-name> + <method-name>*</method-name> + </method> + <trans-attribute>Supports</trans-attribute> + </container-transaction> </assembly-descriptor> </ejb-jar> http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/openejb-jar.xml ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/openejb-jar.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/openejb-jar.xml index f86990c..e01a3de 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/openejb-jar.xml +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/openejb-jar.xml @@ -7,5 +7,11 @@ <uuid/> </key-generator> </entity> + <entity> + <ejb-name>ActorBean</ejb-name> + <key-generator xmlns="http://www.openejb.org/xml/ns/pkgen-2.1"> + <uuid/> + </key-generator> + </entity> </enterprise-beans> </openejb-jar> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tomee/blob/f552c636/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml index 97f2cc1..88e5765 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml @@ -1,14 +1,32 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0"> - <persistence-unit name="cmp" transaction-type="JTA"> - <jta-data-source>Default JDBC Database</jta-data-source> - <non-jta-data-source>Default Unmanaged JDBC Database</non-jta-data-source> - <mapping-file>META-INF/custom-orm.xml</mapping-file> - <class>openejb.org.apache.openejb.arquillian.tests.cmp.sample.MovieBean</class> - <properties> - <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true, Indexes=false, IgnoreErrors=true)"/> - <property name="openjpa.Log" value="DefaultLevel=INFO"/> - <property name="eclipselink.ddl-generation" value="create-tables"/> - </properties> - </persistence-unit> -</persistence> +<persistence-unit name="cmp" transaction-type="JTA"> + <jta-data-source>Default JDBC Database</jta-data-source> + <non-jta-data-source>Default Unmanaged JDBC Database</non-jta-data-source> + <mapping-file>META-INF/custom-orm.xml</mapping-file> + <class>openejb.org.apache.openejb.arquillian.tests.cmp.sample.MovieBean</class> + <class>openejb.org.apache.openejb.arquillian.tests.cmp.sample.ActorBean</class> + <properties> + <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true, Indexes=false, IgnoreErrors=true)"/> + <property name="openjpa.Log" value="DefaultLevel=INFO"/> + <property name="eclipselink.ddl-generation" value="create-tables"/> + </properties> +</persistence-unit> +</persistence> \ No newline at end of file
