You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2006/07/15 16:38:16 UTC

svn commit: r422236 [3/3] - in /db/ojb/trunk/src: schema/ test/org/apache/ojb/broker/ test/org/apache/ojb/broker/cache/ test/org/apache/ojb/broker/cloneable/ test/org/apache/ojb/broker/metadata/ test/org/apache/ojb/broker/metadata/torque/

Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java?rev=422236&r1=422235&r2=422236&view=diff
==============================================================================
--- db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java (original)
+++ db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java Sat Jul 15 07:38:14 2006
@@ -30,6 +30,7 @@
 import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDynaBeanImpl;
 import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImpl;
 import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImpl;
+import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldCGLibImpl;
 import org.apache.ojb.broker.util.ClassHelper;
 import org.apache.ojb.junit.OJBTestCase;
 
@@ -44,6 +45,7 @@
 {
     Class[] persistentFieldClasses = new Class[]{
         PersistentFieldDirectImpl.class
+        , PersistentFieldCGLibImpl.class
         , PersistentFieldIntrospectorImpl.class
         , PersistentFieldPrivilegedImpl.class
         , PersistentFieldAutoProxyImpl.class
@@ -241,6 +243,43 @@
         assertEquals("XXXX", result);
     }
 
+    public void testPersistentFieldAuto() throws Exception
+    {
+        PersistentField pf_id = new PersistentFieldAutoProxyImpl(TestObj.class, "id");
+        PersistentField pf_name = new PersistentFieldAutoProxyImpl(TestObj.class, "name");
+        PersistentField pf_int = new PersistentFieldAutoProxyImpl(TestObj.class, "aInt");
+        PersistentField pf_value = new PersistentFieldAutoProxyImpl(TestObj.class, "value");
+
+        TestObj obj = new TestObj(new Integer(17), "name", 33, "value");
+
+        assertEquals(new Integer(17), pf_id.get(obj));
+        assertEquals("name", pf_name.get(obj));
+        assertEquals(new Integer(33), pf_int.get(obj));
+        assertEquals("value", pf_value.get(obj));
+
+        pf_id.set(obj, new Integer(222));
+        pf_name.set(obj, "new");
+        pf_int.set(obj, new Integer(111));
+        pf_value.set(obj, "new_value");
+
+        assertEquals(new Integer(222), pf_id.get(obj));
+        assertEquals("new", pf_name.get(obj));
+        assertEquals(new Integer(111), pf_int.get(obj));
+        assertEquals("new_value", pf_value.get(obj));
+
+        // test for exception
+        try
+        {
+            PersistentField pf_NotExist = new PersistentFieldAutoProxyImpl(TestObj.class, "not_exist");
+            pf_NotExist.get(obj);
+            fail("Expect error for invalid field");
+        }
+        catch(Exception expected)
+        {
+            //expected.printStackTrace();
+            // is expected
+        }
+    }
 
     //************************************************************************
     // helper methods
@@ -523,6 +562,51 @@
         public void setName(String name)
         {
             this.name = name;
+        }
+    }
+
+    abstract static class Base
+    {
+        Integer id;
+        private String name;
+        int aInt;
+
+        protected Base(Integer id, String name, int aInt)
+        {
+            this.id = id;
+            this.name = name;
+            this.aInt = aInt;
+        }
+    }
+
+    public static class TestObj extends Base
+    {
+        private String value;
+
+        public TestObj(Integer id, String name, int aInt, String value)
+        {
+            super(id, name, aInt);
+            this.value = value;
+        }
+
+        public int getaInt()
+        {
+            return aInt;
+        }
+
+        public void setaInt(int aInt)
+        {
+            this.aInt = aInt;
+        }
+
+        public String getValue()
+        {
+            return value;
+        }
+
+        public void setValue(String value)
+        {
+            this.value = value;
         }
     }
 }

Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/ReadonlyTest.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/ReadonlyTest.java?rev=422236&r1=422235&r2=422236&view=diff
==============================================================================
--- db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/ReadonlyTest.java (original)
+++ db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/ReadonlyTest.java Sat Jul 15 07:38:14 2006
@@ -16,10 +16,45 @@
         junit.textui.TestRunner.main(arr);
     }
 
+    public void setUp() throws Exception
+    {
+        super.setUp();
+    }
+
+    public void tearDown() throws Exception
+    {
+        super.tearDown();
+    }
+
     public void testReadonly() throws Exception
     {
         long timestamp = System.currentTimeMillis();
-        TestObject obj = new TestObject(null, "readonly test_"+timestamp, "should not persisted", new Long(timestamp));
+        TestObject obj = new TestObject(null, "testReadonly_"+timestamp, "should not persisted", new Long(timestamp));
+
+        broker.beginTransaction();
+        broker.store(obj);
+        broker.commitTransaction();
+        broker.clearCache();
+
+        broker.beginTransaction();
+        Identity oid = broker.serviceIdentity().buildIdentity(obj);
+        TestObject ret_obj = (TestObject) broker.getObjectByIdentity(oid);
+        broker.commitTransaction();
+
+        assertNotNull(ret_obj);
+        assertNotNull(ret_obj.getName());
+        assertNull("Field should not be populated", ret_obj.getReadonlyLong());
+        assertNull("Field should not be populated", ret_obj.getReadonlyString());
+    }
+
+    public void testReadonlyAll() throws Exception
+    {
+        long timestamp = System.currentTimeMillis();
+        TestObject obj = new TestObject(null, "testReadonlyAll_"+timestamp, "should not persisted", new Long(timestamp));
+        ClassDescriptor cld = broker.getClassDescriptor(TestObject.class);
+        FieldDescriptor fld_id = cld.getFieldDescriptorByName("objId");
+        FieldDescriptor fld_name = cld.getFieldDescriptorByName("name");
+
         try
         {
             broker.beginTransaction();
@@ -28,21 +63,46 @@
             broker.clearCache();
 
             broker.beginTransaction();
-            Identity oid = new Identity(obj, broker);
+            Identity oid = broker.serviceIdentity().buildIdentity(obj);
             TestObject ret_obj = (TestObject) broker.getObjectByIdentity(oid);
             broker.commitTransaction();
 
+            fld_id.setAccess("readonly");
+            fld_name.setAccess("readonly");
+
             assertNotNull(ret_obj);
             assertNotNull(ret_obj.getName());
             assertNull("Field should not be populated", ret_obj.getReadonlyLong());
             assertNull("Field should not be populated", ret_obj.getReadonlyString());
+
+            broker.beginTransaction();
+            oid = broker.serviceIdentity().buildIdentity(obj);
+            ret_obj = (TestObject) broker.getObjectByIdentity(oid);
+            broker.store(ret_obj);
+            broker.commitTransaction();
+
+            assertNotNull(ret_obj);
+            assertNotNull(ret_obj.getName());
+            assertNull("Field should not be populated", ret_obj.getReadonlyLong());
+            assertNull("Field should not be populated", ret_obj.getReadonlyString());
+
+            broker.beginTransaction();
+            oid = broker.serviceIdentity().buildIdentity(obj);
+            ret_obj = (TestObject) broker.getObjectByIdentity(oid);
+            // nevertheless we can remove the whole object
+            broker.delete(ret_obj);
+            broker.commitTransaction();
+
+            oid = broker.serviceIdentity().buildIdentity(obj);
+            ret_obj = (TestObject) broker.getObjectByIdentity(oid);
+
+            assertNull(ret_obj);
         }
         finally
         {
-            if(broker != null) broker.close();
+            if(fld_id != null) fld_id.setAccess("readwrite");
+            if(fld_name != null) fld_name.setAccess("readwrite");
         }
-
-
     }
 
     public static class TestObject

Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/RepositoryPersistorTest.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/RepositoryPersistorTest.java?rev=422236&r1=422235&r2=422236&view=diff
==============================================================================
--- db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/RepositoryPersistorTest.java (original)
+++ db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/RepositoryPersistorTest.java Sat Jul 15 07:38:14 2006
@@ -51,7 +51,7 @@
             numClasses++;
         }
 
-        RepositoryPersistor persistor = ojb.getMetadataManager().getRepositoryPersistor();
+        RepositoryPersistor persistor = ojb.getMetadataManager().createRepositoryPersistor();
         FileOutputStream fos = new FileOutputStream(fileNew);
         persistor.writeToFile(repository, conRepository, fos);
 
@@ -79,7 +79,7 @@
         int connectionCount = conRepository.getAllDescriptor().size();
 
         FileOutputStream fos = new FileOutputStream(filename);
-        RepositoryPersistor persistor = ojb.getMetadataManager().getRepositoryPersistor();
+        RepositoryPersistor persistor = ojb.getMetadataManager().createRepositoryPersistor();
         persistor.writeToFile(repository, conRepository, fos);
 
         ConnectionRepository second = persistor.readConnectionRepository(filename);

Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueForeignKeyGeneratorTest.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueForeignKeyGeneratorTest.java?rev=422236&r1=422235&r2=422236&view=diff
==============================================================================
--- db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueForeignKeyGeneratorTest.java (original)
+++ db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueForeignKeyGeneratorTest.java Sat Jul 15 07:38:14 2006
@@ -49,7 +49,7 @@
     public void setUp() throws Exception
     {
         super.setUp();
-        RepositoryPersistor repositoryPersistor = ojb.getMetadataManager().getRepositoryPersistor();
+        RepositoryPersistor repositoryPersistor = ojb.getMetadataManager().createRepositoryPersistor();
         DescriptorRepository descriptorRepository = repositoryPersistor.readDescriptorRepository(EXAMPLE_FILE);
         this.foreignKeyGenerator = new TorqueForeignKeyGenerator(descriptorRepository);
     }

Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueRepositoryGeneratorTest.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueRepositoryGeneratorTest.java?rev=422236&r1=422235&r2=422236&view=diff
==============================================================================
--- db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueRepositoryGeneratorTest.java (original)
+++ db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueRepositoryGeneratorTest.java Sat Jul 15 07:38:14 2006
@@ -25,7 +25,7 @@
 
     public void setUp() throws Exception {
         super.setUp();
-        RepositoryPersistor repositoryPersistor = ojb.getMetadataManager().getRepositoryPersistor();
+        RepositoryPersistor repositoryPersistor = ojb.getMetadataManager().createRepositoryPersistor();
         this.repository = repositoryPersistor.readDescriptorRepository(INPUT_FILE);
         this.torqueRepositoryGenerator = new TorqueRepositoryGenerator(INPUT_FILE, false);
     }

Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueTableGeneratorTest.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueTableGeneratorTest.java?rev=422236&r1=422235&r2=422236&view=diff
==============================================================================
--- db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueTableGeneratorTest.java (original)
+++ db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueTableGeneratorTest.java Sat Jul 15 07:38:14 2006
@@ -49,7 +49,7 @@
 
     public void setUp() throws Exception {
         super.setUp();
-        RepositoryPersistor repositoryPersistor = ojb.getMetadataManager().getRepositoryPersistor();
+        RepositoryPersistor repositoryPersistor = ojb.getMetadataManager().createRepositoryPersistor();
         this.repository = repositoryPersistor.readDescriptorRepository(EXAMPLE_FILE);
         this.torqueTableGenerator = new TorqueTableGenerator(this.repository, false);
     }

Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueTablePreprocessorTest.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueTablePreprocessorTest.java?rev=422236&r1=422235&r2=422236&view=diff
==============================================================================
--- db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueTablePreprocessorTest.java (original)
+++ db/ojb/trunk/src/test/org/apache/ojb/broker/metadata/torque/TorqueTablePreprocessorTest.java Sat Jul 15 07:38:14 2006
@@ -23,7 +23,7 @@
 
     public void setUp() throws Exception {
         super.setUp();
-        RepositoryPersistor repositoryPersistor = ojb.getMetadataManager().getRepositoryPersistor();
+        RepositoryPersistor repositoryPersistor = ojb.getMetadataManager().createRepositoryPersistor();
         DescriptorRepository descriptorRepository = repositoryPersistor.readDescriptorRepository(EXAMPLE_FILE);
         this.torqueTablePreprocessor = new TorqueTablePreprocessor(descriptorRepository);
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org