User: dsundstrom
  Date: 01/12/10 18:17:58

  Added:       src/main/org/jboss/test/cmp2/relationship/oneToManyUnidirectional
                        A.java ABTest.java ABean.java AHome.java B.java
                        BBean.java BHome.java
  Log:
  Initial revision of the CMP 2.0 relation test.  These test are based on the
  EJB 2.0 specification.
  
  Revision  Changes    Path
  1.1                  
jbosstest/src/main/org/jboss/test/cmp2/relationship/oneToManyUnidirectional/A.java
  
  Index: A.java
  ===================================================================
  package org.jboss.test.cmp2.relationship.oneToManyUnidirectional;
  
  import java.util.Collection;
  import javax.ejb.EJBLocalObject;
  
  public interface A extends EJBLocalObject {
        public Collection getB();
        public void setB(Collection b);
  }
  
  
  
  1.1                  
jbosstest/src/main/org/jboss/test/cmp2/relationship/oneToManyUnidirectional/ABTest.java
  
  Index: ABTest.java
  ===================================================================
  package org.jboss.test.cmp2.relationship.oneToManyUnidirectional;
  
  import java.util.Collection;
  import java.util.Iterator;
  import javax.naming.InitialContext;
  import junit.framework.TestCase;
  import net.sourceforge.junitejb.EJBTestCase;
  
  public class ABTest extends EJBTestCase {
  
        public ABTest(String name) {
                super(name);
        }
  
        private AHome getTableAHome() {
                try {
                        InitialContext jndiContext = new InitialContext();
  
                        return (AHome) 
jndiContext.lookup("relation/oneToMany/unidirectional/table/A");
                } catch(Exception e) {
                        e.printStackTrace();
                        fail("Exception in getTableAHome: " + e.getMessage());
                }
                return null;
        }
  
        private BHome getTableBHome() {
                try {
                        InitialContext jndiContext = new InitialContext();
  
                        return (BHome) 
jndiContext.lookup("relation/oneToMany/unidirectional/table/B");
                } catch(Exception e) {
                        e.printStackTrace();
                        fail("Exception in getTableBHome: " + e.getMessage());
                }
                return null;
        }
  
        private AHome getFKAHome() {
                try {
                        InitialContext jndiContext = new InitialContext();
  
                        return (AHome) 
jndiContext.lookup("relation/oneToMany/unidirectional/fk/A");
                } catch(Exception e) {
                        e.printStackTrace();
                        fail("Exception in getFKAHome: " + e.getMessage());
                }
                return null;
        }
  
        private BHome getFKBHome() {
                try {
                        InitialContext jndiContext = new InitialContext();
  
                        return (BHome) 
jndiContext.lookup("relation/oneToMany/unidirectional/fk/B");
                } catch(Exception e) {
                        e.printStackTrace();
                        fail("Exception in getFKBHome: " + e.getMessage());
                }
                return null;
        }
  
        // a1.setB(a2.getB());
        public void test_a1SetB_a2GetB_Table() {
                AHome aHome = getTableAHome();
                BHome bHome = getTableBHome();
                a1SetB_a2GetB(aHome, bHome);
        }
  
        // a1.setB(a2.getB());
        public void test_a1SetB_a2GetB_FK() {
                AHome aHome = getFKAHome();
                BHome bHome = getFKBHome();
                a1SetB_a2GetB(aHome, bHome);
        }
  
        // a1.setB(a2.getB());
        protected void a1SetB_a2GetB(AHome aHome, BHome bHome) {
                try {
                        // Before change:
                        A a1 = aHome.create(new Integer(1));
                        A a2 = aHome.create(new Integer(2));
                        
                        Collection b1 = a1.getB();
                        Collection b2 = a2.getB();
                        
                        B[] b1x = new B[20];
                        B[] b2x = new B[30];
                        
                        for(int i=0; i<b1x.length; i++) {
                                b1x[i] = bHome.create(new Integer(10000 + i));
                                b1.add(b1x[i]);
                        }
                        
                        for(int i=0; i<b2x.length; i++) {
                                b2x[i] = bHome.create(new Integer(20000 + i));
                                b2.add(b2x[i]);
                        }
                        
                        // B b11, b12, ... , b1n; members of b1
                        for(int i=0; i<b1x.length; i++) {
                                assertTrue(b1.contains(b1x[i]));
                        }
                        
                        // B b21, b22, ... , b2m; members of b2
                        for(int i=0; i<b2x.length; i++) {
                                assertTrue(b2.contains(b2x[i]));
                        }
                        
                        // Change:
                        a1.setB(a2.getB());
                        
                        // Expected result:
                        
                        // a2.getB().isEmpty()
                        assertTrue(a2.getB().isEmpty());
                        
                        // b2.isEmpty()
                        assertTrue(b2.isEmpty());
                        
                        // b1 == a1.getB()
                        assertTrue(b1 == a1.getB());
                        
                        // b2 == a2.getB()
                        assertTrue(b2 == a2.getB());
                        
                        // a1.getB().contains(b21)
                        // a1.getB().contains(b22)
                        // a1.getB().contains(...)                      
                        // a1.getB().contains(b2m)
                        for(int i=0; i<b2x.length; i++) {
                                assertTrue(a1.getB().contains(b2x[i]));
                        }
                        
                } catch(Exception e) {
                        e.printStackTrace();
                        fail("Error in big old method: ");
                }
        }
        
        // a1.getB().add(b2m);
        public void test_a1GetB_addB2m_Table() {
                AHome aHome = getTableAHome();
                BHome bHome = getTableBHome();
                a1GetB_addB2m(aHome, bHome);
        }
  
        // a1.getB().add(b2m);
        public void test_a1GetB_addB2m_FK() {
                AHome aHome = getFKAHome();
                BHome bHome = getFKBHome();
                a1GetB_addB2m(aHome, bHome);
        }
  
        // a1.getB().add(b2m);
        protected void a1GetB_addB2m(AHome aHome, BHome bHome) {
                try {
                        // Before change:
                        A a1 = aHome.create(new Integer(1));
                        A a2 = aHome.create(new Integer(2));
                        
                        Collection b1 = a1.getB();
                        Collection b2 = a2.getB();
                        
                        B[] b1x = new B[20];
                        B[] b2x = new B[30];
                        
                        for(int i=0; i<b1x.length; i++) {
                                b1x[i] = bHome.create(new Integer(10000 + i));
                                b1.add(b1x[i]);
                        }
                        
                        for(int i=0; i<b2x.length; i++) {
                                b2x[i] = bHome.create(new Integer(20000 + i));
                                b2.add(b2x[i]);
                        }
                        
                        // B b11, b12, ... , b1n; members of b1
                        for(int i=0; i<b1x.length; i++) {
                                assertTrue(b1.contains(b1x[i]));
                        }
                        
                        // B b21, b22, ... , b2m; members of b2
                        for(int i=0; i<b2x.length; i++) {
                                assertTrue(b2.contains(b2x[i]));
                        }
                        
                        // Change:
                        
                        // a1.getB().add(b2m);
                        a1.getB().add(b2x[b2x.length-1]);
                        
                        // Expected result:
                        
                        // b1.contains(b11)
                        // b1.contains(b12)
                        // b1.contains(...)
                        // b1.contains(b1n)
                        for(int i=0; i<b1x.length; i++) {
                                assertTrue(b1.contains(b1x[i]));
                        }
  
                        // b1.contains(b2m)
                        assertTrue(b1.contains(b2x[b2x.length-1]));
  
                        // b2.contains(b21)
                        // b2.contains(b22)
                        // b2.contains(...)
                        // b2.contains(b2m_1)
                        for(int i=0; i<b2x.length-1; i++) {
                                assertTrue(b2.contains(b2x[i]));
                        }
                } catch(Exception e) {
                        e.printStackTrace();
                        fail("Error in test_b2mSetA_b1nGetA: ");
                }
        }
        
        // a1.getB().remove(b1n);
        public void test_a1GetB_removeB1n_Table() {
                AHome aHome = getTableAHome();
                BHome bHome = getTableBHome();
                a1GetB_removeB1n(aHome, bHome);
        }
  
        // a1.getB().remove(b1n);
        public void test_a1GetB_removeB1n_FK() {
                AHome aHome = getFKAHome();
                BHome bHome = getFKBHome();
                a1GetB_removeB1n(aHome, bHome);
        }
  
        // a1.getB().remove(b1n);
        protected void a1GetB_removeB1n(AHome aHome, BHome bHome) {
                try {
                        // Before change:
                        A a1 = aHome.create(new Integer(1));
                        A a2 = aHome.create(new Integer(2));
                        
                        Collection b1 = a1.getB();
                        Collection b2 = a2.getB();
                        
                        B[] b1x = new B[20];
                        B[] b2x = new B[30];
                        
                        for(int i=0; i<b1x.length; i++) {
                                b1x[i] = bHome.create(new Integer(10000 + i));
                                b1.add(b1x[i]);
                        }
                        
                        for(int i=0; i<b2x.length; i++) {
                                b2x[i] = bHome.create(new Integer(20000 + i));
                                b2.add(b2x[i]);
                        }
                        
                        // B b11, b12, ... , b1n; members of b1
                        for(int i=0; i<b1x.length; i++) {
                                assertTrue(b1.contains(b1x[i]));
                        }
                        
                        // B b21, b22, ... , b2m; members of b2
                        for(int i=0; i<b2x.length; i++) {
                                assertTrue(b2.contains(b2x[i]));
                        }
                        
                        // Change:
                        
                        // a1.getB().remove(b1n);
                        a1.getB().remove(b1x[b1x.length-1]);
                        
                        // Expected result:
                        
                        // b1 == a1.getB()
                        assertTrue(b1 == a1.getB());
                        
                        // b1.contains(b11)
                        // b1.contains(b12)
                        // b1.contains(...)
                        // b1.contains(b1n_1)
                        for(int i=0; i<b1x.length-1; i++) {
                                assertTrue(b1.contains(b1x[i]));
                        }
  
                        // !(b1.contains(b1n))
                        assertTrue(!(b1.contains(b1x[b1x.length-1])));
                } catch(Exception e) {
                        e.printStackTrace();
                        fail("Error in test_b2mSetA_b1nGetA: ");
                }
        }
  
        public void setUpEJB() throws Exception {
                AHome aHome;
                BHome bHome;
  
                aHome = getTableAHome();
                bHome = getTableBHome();
                deleteAllAsAndBs(aHome, bHome);
  
                aHome = getFKAHome();
                bHome = getFKBHome();
                deleteAllAsAndBs(aHome, bHome);
        }
        
        public void tearDownEJB() throws Exception {
        }
        
        public void deleteAllAsAndBs(AHome aHome, BHome bHome) throws Exception {
                // delete all As
                Iterator currentAs = aHome.findAll().iterator();
                while(currentAs.hasNext()) {
                        A a = (A)currentAs.next();
                        a.remove();
                }       
  
                // delete all Bs
                Iterator currentBs = bHome.findAll().iterator();
                while(currentBs.hasNext()) {
                        B b = (B)currentBs.next();
                        b.remove();
                }               
        }
  }
  
  
  
  
  
  
  1.1                  
jbosstest/src/main/org/jboss/test/cmp2/relationship/oneToManyUnidirectional/ABean.java
  
  Index: ABean.java
  ===================================================================
  package org.jboss.test.cmp2.relationship.oneToManyUnidirectional;
  
  import java.util.Collection;
  import javax.ejb.EntityBean;
  import javax.ejb.EntityContext;
  
  public abstract class ABean implements EntityBean {
        transient private EntityContext ctx;
  
        public Integer ejbCreate(Integer id) {
                setId(id);
                return null;
        }
  
        public void ejbPostCreate(Integer id) {
        }
  
        public abstract Integer getId();
        public abstract void setId(Integer id);
  
        public abstract Collection getB();
        public abstract void setB(Collection b);
  
        public void setEntityContext(EntityContext ctx) {
                this.ctx = ctx;
        }
  
        public void unsetEntityContext() {
                this.ctx = null;
        }
  
        public void ejbActivate() {
        }
  
        public void ejbPassivate() {
        }
  
        public void ejbLoad() {
        }
  
        public void ejbStore() {
        }
  
        public void ejbRemove() {
        }
  }
  
  
  
  1.1                  
jbosstest/src/main/org/jboss/test/cmp2/relationship/oneToManyUnidirectional/AHome.java
  
  Index: AHome.java
  ===================================================================
  package org.jboss.test.cmp2.relationship.oneToManyUnidirectional;
  
  import java.util.Collection;
  import javax.ejb.CreateException;
  import javax.ejb.EJBLocalHome;
  import javax.ejb.FinderException;
  
  public interface AHome extends EJBLocalHome {
        public A create(Integer id) throws CreateException;
        public A findByPrimaryKey(Integer id) throws FinderException;
        public Collection findAll() throws FinderException;
  }
  
  
  
  1.1                  
jbosstest/src/main/org/jboss/test/cmp2/relationship/oneToManyUnidirectional/B.java
  
  Index: B.java
  ===================================================================
  package org.jboss.test.cmp2.relationship.oneToManyUnidirectional;
  
  import javax.ejb.EJBLocalObject;
  
  public interface B extends EJBLocalObject {
  }
  
  
  
  1.1                  
jbosstest/src/main/org/jboss/test/cmp2/relationship/oneToManyUnidirectional/BBean.java
  
  Index: BBean.java
  ===================================================================
  package org.jboss.test.cmp2.relationship.oneToManyUnidirectional;
  
  import javax.ejb.EntityBean;
  import javax.ejb.EntityContext;
  
  public abstract class BBean implements EntityBean {
        transient private EntityContext ctx;
  
        public Integer ejbCreate(Integer id) {
                setId(id);
                return null;
        }
  
        public void ejbPostCreate(Integer id) {
        }
  
        public abstract Integer getId();
        public abstract void setId(Integer id);
  
        public void setEntityContext(EntityContext ctx) {
                this.ctx = ctx;
        }
  
        public void unsetEntityContext() {
                this.ctx = null;
        }
  
        public void ejbActivate() {
        }
  
        public void ejbPassivate() {
        }
  
        public void ejbLoad() {
        }
  
        public void ejbStore() {
        }
  
        public void ejbRemove() {
        }
  }
  
  
  
  1.1                  
jbosstest/src/main/org/jboss/test/cmp2/relationship/oneToManyUnidirectional/BHome.java
  
  Index: BHome.java
  ===================================================================
  package org.jboss.test.cmp2.relationship.oneToManyUnidirectional;
  
  import java.util.Collection;
  import javax.ejb.CreateException;
  import javax.ejb.EJBLocalHome;
  import javax.ejb.FinderException;
  
  public interface BHome extends EJBLocalHome {
        public B create(Integer id) throws CreateException;
        public B findByPrimaryKey(Integer id) throws FinderException;
        public Collection findAll() throws FinderException;
  }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to