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(+)
----------------------------------------------------------------------