You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jl...@apache.org on 2018/12/07 08:52:38 UTC
[1/2] tomee git commit: adds entity and CMD test
Repository: tomee
Updated Branches:
refs/heads/master 11f86ff12 -> df72ac720
adds entity and CMD test
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/63b68f55
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/63b68f55
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/63b68f55
Branch: refs/heads/master
Commit: 63b68f552e5467c14131284b375b411e23336a7b
Parents: 3e75a75
Author: Otavio Santana <ot...@gmail.com>
Authored: Mon Nov 19 12:43:21 2018 -0200
Committer: Otavio Santana <ot...@gmail.com>
Committed: Mon Nov 19 12:43:21 2018 -0200
----------------------------------------------------------------------
.../core/webservices/JPACMDIntegrationTest.java | 325 +++++++++++++++++++
1 file changed, 325 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/63b68f55/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/JPACMDIntegrationTest.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/JPACMDIntegrationTest.java b/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/JPACMDIntegrationTest.java
new file mode 100644
index 0000000..03262bf
--- /dev/null
+++ b/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/JPACMDIntegrationTest.java
@@ -0,0 +1,325 @@
+package org.apache.openejb.core.webservices;
+
+import org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory;
+import org.apache.openejb.config.AppModule;
+import org.apache.openejb.config.EjbModule;
+import org.apache.openejb.jee.CmpField;
+import org.apache.openejb.jee.ContainerTransaction;
+import org.apache.openejb.jee.EjbJar;
+import org.apache.openejb.jee.EntityBean;
+import org.apache.openejb.jee.PersistenceType;
+import org.apache.openejb.jee.Query;
+import org.apache.openejb.jee.QueryMethod;
+import org.apache.openejb.jee.SingletonBean;
+import org.apache.openejb.jee.TransAttribute;
+import org.apache.openejb.jee.jpa.Attributes;
+import org.apache.openejb.jee.jpa.Basic;
+import org.apache.openejb.jee.jpa.Column;
+import org.apache.openejb.jee.jpa.EntityMappings;
+import org.apache.openejb.jee.jpa.NamedQuery;
+import org.apache.openejb.jee.jpa.unit.Persistence;
+import org.apache.openejb.jee.jpa.unit.PersistenceUnit;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.testing.Configuration;
+import org.apache.openejb.testing.Module;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.annotation.Resource;
+import javax.ejb.CreateException;
+import javax.ejb.EJBException;
+import javax.ejb.EntityContext;
+import javax.ejb.LocalHome;
+import javax.ejb.RemoteHome;
+import javax.ejb.RemoveException;
+import javax.ejb.SessionContext;
+import javax.naming.Context;
+import javax.persistence.Entity;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import java.io.File;
+import java.rmi.RemoteException;
+import java.util.List;
+import java.util.Properties;
+
+import static org.junit.Assert.assertEquals;
+
+@RunWith(ApplicationComposer.class)
+public class JPACMDIntegrationTest {
+
+ @javax.persistence.PersistenceUnit
+ private EntityManagerFactory emf;
+
+
+ @Module
+ public Persistence persistence() throws Exception {
+ final PersistenceUnit unit = new PersistenceUnit("foo-unit");
+ unit.addClass(User.class);
+ unit.setProperty("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
+ unit.getProperties().setProperty("openjpa.RuntimeUnenhancedClasses", "supported");
+ unit.getProperties().setProperty("openjpa.DatCache", "false");
+ unit.setExcludeUnlistedClasses(true);
+
+ final Persistence persistence = new org.apache.openejb.jee.jpa.unit.Persistence(unit);
+ persistence.setVersion("2.0");
+ return persistence;
+ }
+
+
+ @Module
+ public EjbModule ejbModule() throws Exception {
+ final EjbJar ejbJar = new EjbJar();
+ ejbJar.addEnterpriseBean(new SingletonBean(MySingletonBean.class));
+ ejbJar.addEnterpriseBean(new EntityBean(MyBmpBean.class, PersistenceType.BEAN));
+
+ final EntityBean cmp = ejbJar.addEnterpriseBean(new EntityBean(MyCmpBean.class, PersistenceType.CONTAINER));
+ cmp.setPrimKeyClass(Integer.class.getName());
+ cmp.setPrimkeyField("id");
+ cmp.getCmpField().add(new CmpField("id"));
+ cmp.getCmpField().add(new CmpField("name"));
+ final Query query = new Query();
+ query.setQueryMethod(new QueryMethod("findByPrimaryKey", Integer.class.getName()));
+ query.setEjbQl("SELECT OBJECT(DL) FROM License DL");
+ cmp.getQuery().add(query);
+ final List<ContainerTransaction> transactions = ejbJar.getAssemblyDescriptor().getContainerTransaction();
+
+ transactions.add(new ContainerTransaction(TransAttribute.SUPPORTS, null, "MyBmpBean", "*"));
+ transactions.add(new ContainerTransaction(TransAttribute.SUPPORTS, null, "MyCmpBean", "*"));
+ transactions.add(new ContainerTransaction(TransAttribute.SUPPORTS, null, "MySingletonBean", "*"));
+
+ final File f = new File("test").getAbsoluteFile();
+ if (!f.exists() && !f.mkdirs()) {
+ throw new Exception("Failed to create test directory: " + f);
+ }
+
+ final EntityMappings entityMappings = new EntityMappings();
+
+ final org.apache.openejb.jee.jpa.Entity entity = new org.apache.openejb.jee.jpa.Entity();
+ entity.setClazz("openejb.org.apache.openejb.core.MyCmpBean");
+ entity.setName("MyCmpBean");
+ entity.setDescription("MyCmpBean");
+ entity.setAttributes(new Attributes());
+
+ final NamedQuery namedQuery = new NamedQuery();
+ namedQuery.setQuery("SELECT OBJECT(DL) FROM License DL");
+ entity.getNamedQuery().add(namedQuery);
+
+ final org.apache.openejb.jee.jpa.Id id = new org.apache.openejb.jee.jpa.Id();
+ id.setName("id");
+ entity.getAttributes().getId().add(id);
+
+ final Basic basic = new Basic();
+ basic.setName("name");
+ final Column column = new Column();
+ column.setName("wNAME");
+ column.setLength(300);
+ basic.setColumn(column);
+ entity.getAttributes().getBasic().add(basic);
+
+ entityMappings.getEntity().add(entity);
+
+ return new EjbModule(ejbJar);
+ }
+
+
+ @Test
+ public void shouldCreateEntityMapper() {
+ EntityManager entityManager = emf.createEntityManager();
+
+ User user = new User();
+ user.id = "id";
+ user.name = "ada";
+ entityManager.merge(user);
+
+ User user1 = entityManager.find(User.class, "id");
+ Assert.assertNotNull(user1);
+ System.out.println(user1);
+
+ }
+
+ @javax.persistence.Entity
+ public static class User {
+
+ @javax.persistence.Id
+ private String id;
+
+ @javax.persistence.Column
+ private String name;
+ }
+
+
+ @LocalHome(MyLocalHome.class)
+ @RemoteHome(MyRemoteHome.class)
+ public static abstract class MyCmpBean implements javax.ejb.EntityBean {
+
+ // CMP
+ public abstract Integer getId();
+
+ public abstract void setId(Integer id);
+
+ public abstract String getName();
+
+ public abstract void setName(String number);
+
+ public void doit() {
+ }
+
+ public Integer ejbCreateObject(final String id) throws CreateException {
+ return null;
+ }
+
+ public void ejbPostCreateObject(final String id) {
+ }
+
+ public void setEntityContext(final EntityContext ctx) {
+ }
+
+ public void unsetEntityContext() {
+ }
+
+ public void ejbActivate() {
+ }
+
+ public void ejbPassivate() {
+ }
+
+ public void ejbLoad() {
+ }
+
+ public void ejbStore() {
+ }
+
+ public void ejbRemove() throws RemoveException {
+ }
+ }
+
+ @LocalHome(MyLocalHome.class)
+ @RemoteHome(MyRemoteHome.class)
+ public class MyBmpBean implements javax.ejb.EntityBean {
+
+ public void doit() {
+ }
+
+ public java.util.Collection ejbFindEmptyCollection() throws javax.ejb.FinderException, java.rmi.RemoteException {
+ return new java.util.Vector();
+ }
+
+ public Integer ejbFindByPrimaryKey(final Integer primaryKey) throws javax.ejb.FinderException {
+ return new Integer(-1);
+ }
+
+ public Integer ejbCreateObject(final String name) throws javax.ejb.CreateException {
+ return new Integer(-1);
+ }
+
+ public void ejbPostCreateObject(final String name) throws javax.ejb.CreateException {
+ }
+
+
+ public void ejbLoad() throws EJBException, RemoteException {
+ }
+
+ public void setEntityContext(final EntityContext entityContext) throws EJBException, RemoteException {
+ }
+
+ public void unsetEntityContext() throws EJBException, RemoteException {
+ }
+
+ public void ejbStore() throws EJBException, RemoteException {
+ }
+
+ public void ejbRemove() throws RemoveException, EJBException, RemoteException {
+ }
+
+ public void ejbActivate() throws EJBException, RemoteException {
+ }
+
+ public void ejbPassivate() throws EJBException, RemoteException {
+ }
+ }
+
+ public interface MyRemoteHome extends javax.ejb.EJBHome {
+
+ MyRemoteObject createObject(String name)
+ throws javax.ejb.CreateException, java.rmi.RemoteException;
+
+ MyRemoteObject findByPrimaryKey(Integer primarykey)
+ throws javax.ejb.FinderException, java.rmi.RemoteException;
+
+ java.util.Collection findEmptyCollection()
+ throws javax.ejb.FinderException, java.rmi.RemoteException;
+
+ }
+
+ public interface MyRemoteObject extends javax.ejb.EJBObject {
+
+ public void doit() throws RemoteException;
+
+ }
+
+ public interface MyLocalHome extends javax.ejb.EJBLocalHome {
+
+ public MyLocalObject createObject(String name)
+ throws javax.ejb.CreateException;
+
+ public MyLocalObject findByPrimaryKey(Integer primarykey)
+ throws javax.ejb.FinderException;
+
+ public java.util.Collection findEmptyCollection()
+ throws javax.ejb.FinderException;
+
+ }
+
+ public interface MyLocalObject extends javax.ejb.EJBLocalObject {
+
+ public void doit();
+
+ }
+
+ @LocalHome(MySessionLocalHome.class)
+ @RemoteHome(MySessionRemoteHome.class)
+ public static class MySingletonBean implements javax.ejb.SessionBean {
+
+ public void doit() {
+ }
+
+ public void ejbCreateObject() throws javax.ejb.CreateException {
+ }
+
+ public void ejbActivate() throws EJBException, RemoteException {
+ }
+
+ public void ejbPassivate() throws EJBException, RemoteException {
+ }
+
+ public void ejbRemove() throws EJBException, RemoteException {
+ }
+
+ public void setSessionContext(final SessionContext sessionContext) throws EJBException, RemoteException {
+ }
+ }
+
+ public interface MySessionRemoteHome extends javax.ejb.EJBHome {
+ MySessionRemoteObject createObject()
+ throws javax.ejb.CreateException, java.rmi.RemoteException;
+ }
+
+ public interface MySessionRemoteObject extends javax.ejb.EJBObject {
+ void doit();
+ }
+
+ public interface MySessionLocalHome extends javax.ejb.EJBLocalHome {
+ MySessionLocalObject createObject()
+ throws javax.ejb.CreateException;
+ }
+
+ public interface MySessionLocalObject extends javax.ejb.EJBLocalObject {
+ public void doit();
+ }
+
+
+
+}
[2/2] tomee git commit: This closes apache/tomee#200
Posted by jl...@apache.org.
This closes apache/tomee#200
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/df72ac72
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/df72ac72
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/df72ac72
Branch: refs/heads/master
Commit: df72ac7209b4ddc685d1c5961bd966cf183d7040
Parents: 11f86ff 63b68f5
Author: Jean-Louis Monteiro <je...@gmail.com>
Authored: Fri Dec 7 09:52:26 2018 +0100
Committer: Jean-Louis Monteiro <je...@gmail.com>
Committed: Fri Dec 7 09:52:26 2018 +0100
----------------------------------------------------------------------
.../core/webservices/JPACMDIntegrationTest.java | 325 +++++++++++++++++++
1 file changed, 325 insertions(+)
----------------------------------------------------------------------