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 2007/08/28 14:03:20 UTC

svn commit: r570394 - in /db/ojb/trunk/src/xdoclet: ./ java/src/META-INF/ java/src/xdoclet/modules/ojb/constraints/ java/src/xdoclet/modules/ojb/model/ java/src/xdoclet/modules/ojb/resources/ test/xdoclet/modules/ojb/tests/

Author: arminw
Date: Tue Aug 28 05:03:19 2007
New Revision: 570394

URL: http://svn.apache.org/viewvc?rev=570394&view=rev
Log:
add support/tests for new attributes:
'field-class' in class/field-descriptor
'state-detection'' in class/field-descriptor
add support for new 'auto-update' value 'create'

Added:
    db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagFieldClassAttributeTests.java
    db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagStateDetectionAttributeTests.java
    db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/FieldTagFieldClassAttributeTests.java
    db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/FieldTagStateDetectionAttributeTests.java
Modified:
    db/ojb/trunk/src/xdoclet/java/src/META-INF/xtags.xml
    db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/JdbcTypeHelper.java
    db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/model/PropertyHelper.java
    db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/resources/intermediate-representation.xdt
    db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/resources/ojb_xml.xdt
    db/ojb/trunk/src/xdoclet/ojb.xml
    db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagIsolationLevelAttributeTests.java
    db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/CollectionTagAutoUpdateAttributeTests.java
    db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ReferenceTagAutoUpdateAttributeTests.java
    db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/RunAllTests.java

Modified: db/ojb/trunk/src/xdoclet/java/src/META-INF/xtags.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/java/src/META-INF/xtags.xml?rev=570394&r1=570393&r2=570394&view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/java/src/META-INF/xtags.xml (original)
+++ db/ojb/trunk/src/xdoclet/java/src/META-INF/xtags.xml Tue Aug 28 05:03:19 2007
@@ -19,6 +19,30 @@
         <condition-description>OJB</condition-description>
         <condition type="class"/>
         <parameter type="text">
+            <name>field-class</name>
+            <usage-description>
+            Replace the default FieldDescriptor class with the specified one.
+            </usage-description>
+            <mandatory>false</mandatory>
+        </parameter>
+        <parameter type="text">
+            <name>state-detection</name>
+            <usage-description>
+            Specifies the state detection mode to be used for this class on ODMG-level.
+            </usage-description>
+            <mandatory>false</mandatory>
+            <default>inherit</default>
+			<option-sets>
+				<option-set>
+					<options>
+						<option>on</option>
+						<option>off</option>
+						<option>inherit</option>
+					</options>
+				</option-set>
+			</option-sets>
+        </parameter>
+        <parameter type="text">
             <name>accept-locks</name>
             <usage-description>
             Specifies whether implicit locking should propagate to this class. Currently relevant for the ODMG layer only.
@@ -132,6 +156,7 @@
 						<option>repeatable-read</option>
 						<option>serializable</option>
 						<option>optimistic</option>
+						<option>none</option>
 					</options>
 				</option-set>
 			</option-sets>
@@ -293,6 +318,9 @@
 			<option-sets>
 				<option-set>
 					<options>
+                        <option>none</option>
+						<option>link</option>
+						<option>object</option>
 						<option>true</option>
 						<option>false</option>
 					</options>
@@ -325,6 +353,10 @@
 			<option-sets>
 				<option-set>
 					<options>
+						<option>none</option>
+						<option>link</option>
+						<option>create</option>
+						<option>object</option>
 						<option>true</option>
 						<option>false</option>
 					</options>
@@ -450,6 +482,11 @@
 						<option>LONGVARBINARY</option>
 						<option>CLOB</option>
 						<option>BLOB</option>
+						<option>STRUCT</option>
+						<option>ARRAY</option>
+						<option>REF</option>
+						<option>DATALINK</option>
+						<option>JAVA_OBJECT</option>
 					</options>
 				</option-set>
 			</option-sets>
@@ -676,6 +713,30 @@
             <condition type="method"/>
         </condition>
         <parameter type="text">
+            <name>field-class</name>
+            <usage-description>
+            Replace the default FieldDescriptor class with the specified one.
+            </usage-description>
+            <mandatory>false</mandatory>
+        </parameter>
+        <parameter type="text">
+            <name>state-detection</name>
+            <usage-description>
+            Specifies the state detection mode to be used for this field on ODMG-level.
+            </usage-description>
+            <mandatory>false</mandatory>
+            <default>inherit</default>
+			<option-sets>
+				<option-set>
+					<options>
+						<option>on</option>
+						<option>off</option>
+						<option>inherit</option>
+					</options>
+				</option-set>
+			</option-sets>
+        </parameter>
+        <parameter type="text">
             <name>access</name>
             <usage-description>
             Specifies the accessibility of the field (readonly or modifiable).
@@ -804,6 +865,11 @@
 						<option>LONGVARBINARY</option>
 						<option>CLOB</option>
 						<option>BLOB</option>
+                        <option>STRUCT</option>
+						<option>ARRAY</option>
+						<option>REF</option>
+						<option>DATALINK</option>
+						<option>JAVA_OBJECT</option>
 					</options>
 				</option-set>
 			</option-sets>
@@ -946,6 +1012,9 @@
 			<option-sets>
 				<option-set>
 					<options>
+                        <option>none</option>
+						<option>link</option>
+						<option>object</option>
 						<option>true</option>
 						<option>false</option>
 					</options>
@@ -978,6 +1047,10 @@
 			<option-sets>
 				<option-set>
 					<options>
+                        <option>none</option>
+						<option>link</option>
+						<option>create</option>
+						<option>object</option>
 						<option>true</option>
 						<option>false</option>
 					</options>
@@ -1090,6 +1163,9 @@
 			<option-sets>
 				<option-set>
 					<options>
+                        <option>none</option>
+						<option>link</option>
+						<option>object</option>
 						<option>true</option>
 						<option>false</option>
 					</options>
@@ -1122,6 +1198,10 @@
 			<option-sets>
 				<option-set>
 					<options>
+						<option>none</option>
+						<option>link</option>
+						<option>create</option>
+						<option>object</option>
 						<option>true</option>
 						<option>false</option>
 					</options>

Modified: db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/JdbcTypeHelper.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/JdbcTypeHelper.java?rev=570394&r1=570393&r2=570394&view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/JdbcTypeHelper.java (original)
+++ db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/JdbcTypeHelper.java Tue Aug 28 05:03:19 2007
@@ -2,21 +2,26 @@
 
 import java.util.HashMap;
 
-/* Copyright 2004-2005 The Apache Software Foundation
+/*
+ * 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
  *
- * Licensed 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
  *
- *     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.
+ * 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.
  */
 
+
 /**
  * Helper class for jdbc-type related things.
  * 
@@ -76,6 +81,7 @@
         _jdbcMappings.put("java.sql.Time",                   "TIME");
         _jdbcMappings.put("java.sql.Timestamp",              "TIMESTAMP");
         _jdbcMappings.put("java.math.BigDecimal",            "DECIMAL");
+        _jdbcMappings.put("java.net.URL",                    "DATALINK");
         _jdbcMappings.put("org.apache.ojb.broker.util.GUID", "VARCHAR");
 
         // conversions

Modified: db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/model/PropertyHelper.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/model/PropertyHelper.java?rev=570394&r1=570393&r2=570394&view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/model/PropertyHelper.java (original)
+++ db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/model/PropertyHelper.java Tue Aug 28 05:03:19 2007
@@ -2,27 +2,37 @@
 
 import java.util.HashMap;
 
-/* Copyright 2004-2005 The Apache Software Foundation
+/*
+ * 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
  *
- * Licensed 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
  *
- *     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.
+ * 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.
  */
 
+
 /**
  * Helper class for dealing with properties of the descriptor defs.
  */
 public abstract class PropertyHelper
 {
     // ojb repository properties
+
+    public static final String OJB_PROPERTY_STATE_DETECTION                 = "state-detection";
+    public static final String OJB_PROPERTY_FIELD_CLASS                     = "field-class";
+    public static final String OJB_PROPERTY_TARGET_FIELD_REF                = "target-field-ref";
+
     public static final String OJB_PROPERTY_ACCEPT_LOCKS                = "accept-locks";
     public static final String OJB_PROPERTY_ACCESS                      = "access";
     public static final String OJB_PROPERTY_ARGUMENTS                   = "arguments";
@@ -120,6 +130,8 @@
     {
         HashMap classProperties = new HashMap();
 
+        classProperties.put(OJB_PROPERTY_FIELD_CLASS, null);
+        classProperties.put(OJB_PROPERTY_STATE_DETECTION, null);
         classProperties.put(OJB_PROPERTY_ACCEPT_LOCKS, null);
         classProperties.put(OJB_PROPERTY_ATTRIBUTES, null);
         classProperties.put(OJB_PROPERTY_DETERMINE_EXTENTS, null);
@@ -143,6 +155,8 @@
 
         HashMap fieldProperties = new HashMap();
 
+        fieldProperties.put(OJB_PROPERTY_FIELD_CLASS, null);
+        fieldProperties.put(OJB_PROPERTY_STATE_DETECTION, null);
         fieldProperties.put(OJB_PROPERTY_ACCESS, null);
         fieldProperties.put(OJB_PROPERTY_ATTRIBUTES, null);
         fieldProperties.put(OJB_PROPERTY_AUTOINCREMENT, null);

Modified: db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/resources/intermediate-representation.xdt
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/resources/intermediate-representation.xdt?rev=570394&r1=570393&r2=570394&view=diff
==============================================================================
Binary files - no diff available.

Modified: db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/resources/ojb_xml.xdt
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/java/src/xdoclet/modules/ojb/resources/ojb_xml.xdt?rev=570394&r1=570393&r2=570394&view=diff
==============================================================================
Binary files - no diff available.

Modified: db/ojb/trunk/src/xdoclet/ojb.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/ojb.xml?rev=570394&r1=570393&r2=570394&view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/ojb.xml (original)
+++ db/ojb/trunk/src/xdoclet/ojb.xml Tue Aug 28 05:03:19 2007
@@ -1,5 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
+
+<!--
+/*
+* 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.
+*/
+-->
+        
+
 <doclipse>
     <description>Tags for the OJB XDoclet module</description>
     <tag name="@ojb.class"

Added: db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagFieldClassAttributeTests.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagFieldClassAttributeTests.java?rev=570394&view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagFieldClassAttributeTests.java (added)
+++ db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagFieldClassAttributeTests.java Tue Aug 28 05:03:19 2007
@@ -0,0 +1,195 @@
+package xdoclet.modules.ojb.tests;
+
+/*
+ * 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.
+ */
+
+import java.lang.Object;
+
+/**
+ * Tests for the ojb.class tag with the field-class attribute.
+ */
+public class ClassTagFieldClassAttributeTests extends OjbTestBase
+{
+    public ClassTagFieldClassAttributeTests(String name)
+    {
+        super(name);
+    }
+
+    // Test of attribute: with empty value
+    public void testFieldClass1()
+    {
+        addClass(
+            "A",
+            "/** @ojb.class field-class=\"\" */\n"+
+            "public class A {}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"A\"\n"+
+            "    table=\"A\"\n"+
+            ">\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test of attribute: with 'my.TestClass' value
+    public void testFieldClass3()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class field-class=\"my.TestClass\" */\n"+
+            "public class A {}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            "    field-class=\"my.TestClass\"\n"+
+            ">\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test of attribute: with 'my.FieldA' value override field-class in sub-class
+    public void testFieldClass4()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class determine-extents=\"false\" field-class=\"my.FieldA\"\n"+
+            " * @ojb.extent-class class-ref=\"test.B\"\n"+
+            " * @ojb.extent-class class-ref=\"test.C\"\n"+
+            " */\n"+
+            "public class A {}\n");
+        addClass(
+            "test.B",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            " */\n"+
+            "public class B extends A {}\n");
+        addClass(
+            "test.C",
+            "package test;\n"+
+            "/** @ojb.class field-class=\"my.FieldC\"\n"+
+            " */\n"+
+            "public class C extends A {}\n");
+
+        assertEqualsOjbDescriptorFile(
+        "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            "    field-class=\"my.FieldA\"\n"+
+            ">\n"+
+            "    <extent-class class-ref=\"test.B\"/>\n"+
+            "    <extent-class class-ref=\"test.C\"/>\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.B\"\n"+
+            "    table=\"B\"\n"+
+            ">\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.C\"\n"+
+            "    table=\"C\"\n"+
+            "    field-class=\"my.FieldC\"\n"+
+            ">\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "    </table>\n"+
+            "    <table name=\"B\">\n"+
+            "    </table>\n"+
+            "    <table name=\"C\">\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test of attribute: with 'my.FieldA' value override field-class in sub-class
+    public void testFieldClass5()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class determine-extents=\"false\" field-class=\"my.FieldA\"\n"+
+            " * @ojb.extent-class class-ref=\"test.B\"\n"+
+            " */\n"+
+            "public class A {}\n");
+        addClass(
+            "test.B",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            " * @ojb.extent-class class-ref=\"test.C\"\n"+
+            " */\n"+
+            "public class B extends A {}\n");
+        addClass(
+            "test.C",
+            "package test;\n"+
+            "/** @ojb.class field-class=\"my.FieldC\"\n"+
+            " */\n"+
+            "public class C extends B {}\n");
+
+        assertEqualsOjbDescriptorFile(
+        "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            "    field-class=\"my.FieldA\"\n"+
+            ">\n"+
+            "    <extent-class class-ref=\"test.B\"/>\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.B\"\n"+
+            "    table=\"B\"\n"+
+            ">\n"+
+            "    <extent-class class-ref=\"test.C\"/>\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.C\"\n"+
+            "    table=\"C\"\n"+
+            "    field-class=\"my.FieldC\"\n"+
+            ">\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "    </table>\n"+
+            "    <table name=\"B\">\n"+
+            "    </table>\n"+
+            "    <table name=\"C\">\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+}

Modified: db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagIsolationLevelAttributeTests.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagIsolationLevelAttributeTests.java?rev=570394&r1=570393&r2=570394&view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagIsolationLevelAttributeTests.java (original)
+++ db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagIsolationLevelAttributeTests.java Tue Aug 28 05:03:19 2007
@@ -1,20 +1,25 @@
 package xdoclet.modules.ojb.tests;
 
-/* Copyright 2003-2005 The Apache Software Foundation
+/*
+ * 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
  *
- * Licensed 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
  *
- *     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.
+ * 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.
  */
 
+
 /**
  * Tests for the ojb.class tag with the isolation-level attribute.
  *
@@ -178,4 +183,28 @@
             runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
     }
 
+    // Test of isolation-level attribute: with 'none' value
+    public void testIsolationLevel8()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class isolation-level=\"none\" */\n"+
+            "public class A {}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    isolation-level=\"none\"\n"+
+            "    table=\"A\"\n"+
+            ">\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
 }

Added: db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagStateDetectionAttributeTests.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagStateDetectionAttributeTests.java?rev=570394&view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagStateDetectionAttributeTests.java (added)
+++ db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ClassTagStateDetectionAttributeTests.java Tue Aug 28 05:03:19 2007
@@ -0,0 +1,134 @@
+package xdoclet.modules.ojb.tests;
+
+/*
+ * 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.
+ */
+
+import java.lang.Object;
+
+/**
+ * Tests for the ojb.class tag with the state-detection attribute.
+ */
+public class ClassTagStateDetectionAttributeTests extends OjbTestBase
+{
+    public ClassTagStateDetectionAttributeTests(String name)
+    {
+        super(name);
+    }
+
+    // Test of attribute: with empty value
+    public void testStateDetection1()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class state-detection=\"\" */\n"+
+            "public class A {}\n");
+
+        assertNull(runOjbXDoclet(OJB_DEST_FILE));
+        assertNull(runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test of attribute: with invalid value
+    public void testStateDetection2()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class state-detection=\"some\" */\n"+
+            "public class A {}\n");
+
+        assertNull(runOjbXDoclet(OJB_DEST_FILE));
+        assertNull(runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test of attribute: with 'on' value
+    public void testStateDetection3()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class state-detection=\"on\" */\n"+
+            "public class A {}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            "    state-detection=\"on\"\n"+
+            ">\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test of attribute: with 'off' value
+    public void testStateDetection4()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class state-detection=\"off\" */\n"+
+            "public class A {}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            "    state-detection=\"off\"\n"+
+            ">\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test of attribute: with 'inherit' value
+    public void testStateDetection5()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class state-detection=\"inherit\" */\n"+
+            "public class A {}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            "    state-detection=\"inherit\"\n"+
+            ">\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+}

Modified: db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/CollectionTagAutoUpdateAttributeTests.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/CollectionTagAutoUpdateAttributeTests.java?rev=570394&r1=570393&r2=570394&view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/CollectionTagAutoUpdateAttributeTests.java (original)
+++ db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/CollectionTagAutoUpdateAttributeTests.java Tue Aug 28 05:03:19 2007
@@ -1,20 +1,25 @@
 package xdoclet.modules.ojb.tests;
 
-/* Copyright 2003-2005 The Apache Software Foundation
+/*
+ * 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
  *
- * Licensed 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
  *
- *     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.
+ * 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.
  */
 
+
 /**
  * Tests for the ojb.collection tag with the auto-delete attribute
  *
@@ -446,6 +451,86 @@
             "        name=\"objs\"\n"+
             "        element-class-ref=\"test.B\"\n"+
             "        auto-update=\"object\"\n"+
+            "    >\n"+
+            "        <inverse-foreignkey field-ref=\"aid\"/>\n"+
+            "    </collection-descriptor>\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.B\"\n"+
+            "    table=\"B\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"aid\"\n"+
+            "        column=\"aid\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "        <column name=\"id\"\n"+
+            "                javaName=\"id\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "                primaryKey=\"true\"\n"+
+            "                required=\"true\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "    <table name=\"B\">\n"+
+            "        <column name=\"aid\"\n"+
+            "                javaName=\"aid\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "        <foreign-key foreignTable=\"A\">\n"+
+            "            <reference local=\"aid\" foreign=\"id\"/>\n"+
+            "        </foreign-key>\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test: auto-update attribute has 'create' value
+    public void testAutoUpdate9()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class A {\n"+
+            "/** @ojb.field primarykey=\"true\" */\n"+
+            "  private int id;\n"+
+            "/** @ojb.collection element-class-ref=\"test.B\"\n"+
+            "  *                 foreignkey=\"aid\"\n"+
+            "  *                 auto-update=\"create\"\n"+
+            "  */\n"+
+            "  private java.util.List objs;\n"+
+            "}\n");
+        addClass(
+            "test.B",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class B {\n"+
+            "/** @ojb.field */\n"+
+            "  private int aid;\n"+
+            "}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"id\"\n"+
+            "        column=\"id\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        primarykey=\"true\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "    <collection-descriptor\n"+
+            "        name=\"objs\"\n"+
+            "        element-class-ref=\"test.B\"\n"+
+            "        auto-update=\"create\"\n"+
             "    >\n"+
             "        <inverse-foreignkey field-ref=\"aid\"/>\n"+
             "    </collection-descriptor>\n"+

Added: db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/FieldTagFieldClassAttributeTests.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/FieldTagFieldClassAttributeTests.java?rev=570394&view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/FieldTagFieldClassAttributeTests.java (added)
+++ db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/FieldTagFieldClassAttributeTests.java Tue Aug 28 05:03:19 2007
@@ -0,0 +1,241 @@
+package xdoclet.modules.ojb.tests;
+
+/*
+ * 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.
+ */
+
+import java.lang.Object;
+
+/**
+ * Tests for the ojb.field tag with the state-detection attribute.
+ */
+public class FieldTagFieldClassAttributeTests extends OjbTestBase
+{
+    public FieldTagFieldClassAttributeTests(String name)
+    {
+        super(name);
+    }
+
+    // Test: state-detection attribute with no value
+    public void testStateDetection1()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class A {\n"+
+            "/** @ojb.field field-class=\"\" */\n"+
+            "  private int attr;\n"+
+            "}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test: field-class attribute with 'on' value
+    public void testStateDetection2()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class A {\n"+
+            "/** @ojb.field column=\"ATTR_COLUMN\"\n"+
+            "  *            field-class=\"my.FieldA\"\n"+
+            "  */\n"+
+            "  private int attr;\n"+
+            "}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"ATTR_COLUMN\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        field-class=\"my.FieldA\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "        <column name=\"ATTR_COLUMN\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test: field-class attribute override setting
+    public void testStateDetection4()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class field-class=\"my.ClassA\" */\n"+
+            "public class A {\n"+
+            "/** @ojb.field field-class=\"my.FieldA\" */\n"+
+            "  private int attr;\n"+
+            "}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            "    field-class=\"my.ClassA\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        field-class=\"my.FieldA\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test: inherited field-class attribute with 'on' value
+    public void testStateDetection5()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            " * @ojb.extent-class class-ref=\"test.B\"\n"+
+            " */\n"+
+            "public class A {\n"+
+            "/** @ojb.field field-class=\"my.FieldA\" */\n"+
+            "  private int attr;\n"+
+            "}\n");
+        addClass(
+            "test.B",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            " * @ojb.extent-class class-ref=\"test.C\"\n"+
+            " */\n"+
+            "public class B extends A {}\n");
+        addClass(
+            "test.C",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            " * @ojb.modify-inherited name=\"attr\" field-class=\"my.FieldC\"\n"+
+            " */\n"+
+            "public class C extends B {}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            ">\n"+
+            "    <extent-class class-ref=\"test.B\"/>\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        field-class=\"my.FieldA\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.B\"\n"+
+            "    table=\"B\"\n"+
+            ">\n"+
+            "    <extent-class class-ref=\"test.C\"/>\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        field-class=\"my.FieldA\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.C\"\n"+
+            "    table=\"C\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        field-class=\"my.FieldC\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "    <table name=\"B\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "    <table name=\"C\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+}

Added: db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/FieldTagStateDetectionAttributeTests.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/FieldTagStateDetectionAttributeTests.java?rev=570394&view=auto
==============================================================================
--- db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/FieldTagStateDetectionAttributeTests.java (added)
+++ db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/FieldTagStateDetectionAttributeTests.java Tue Aug 28 05:03:19 2007
@@ -0,0 +1,390 @@
+package xdoclet.modules.ojb.tests;
+
+/*
+ * 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.
+ */
+
+import java.lang.Object;
+
+/**
+ * Tests for the ojb.field tag with the state-detection attribute.
+ */
+public class FieldTagStateDetectionAttributeTests extends OjbTestBase
+{
+    public FieldTagStateDetectionAttributeTests(String name)
+    {
+        super(name);
+    }
+
+    // Test: state-detection attribute with no value
+    public void testStateDetection1()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class A {\n"+
+            "/** @ojb.field state-detection=\"\" */\n"+
+            "  private int attr;\n"+
+            "}\n");
+
+//        assertEqualsOjbDescriptorFile(
+//            "<class-descriptor\n"+
+//            "    class=\"test.A\"\n"+
+//            "    table=\"A\"\n"+
+//            ">\n"+
+//            "    <field-descriptor\n"+
+//            "        name=\"attr\"\n"+
+//            "        column=\"attr\"\n"+
+//            "        jdbc-type=\"INTEGER\"\n"+
+//            "    >\n"+
+//            "    </field-descriptor>\n"+
+//            "</class-descriptor>",
+//            runOjbXDoclet(OJB_DEST_FILE));
+//        assertEqualsTorqueSchemaFile(
+//            "<database name=\"ojbtest\">\n"+
+//            "    <table name=\"A\">\n"+
+//            "        <column name=\"attr\"\n"+
+//            "                javaName=\"attr\"\n"+
+//            "                type=\"INTEGER\"\n"+
+//            "        />\n"+
+//            "    </table>\n"+
+//            "</database>",
+//            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+
+        assertNull(runOjbXDoclet(OJB_DEST_FILE));
+        assertNull(runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test: state-detection attribute with invalid value
+    public void testStateDetection2()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class A {\n"+
+            "/** @ojb.field state-detection=\"yes\" */\n"+
+            "  private int attr;\n"+
+            "}\n");
+
+        assertNull(runOjbXDoclet(OJB_DEST_FILE));
+        assertNull(runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test: state-detection attribute with 'on' value
+    public void testStateDetection3()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class A {\n"+
+            "/** @ojb.field column=\"ATTR_COLUMN\"\n"+
+            "  *            state-detection=\"on\"\n"+
+            "  */\n"+
+            "  private int attr;\n"+
+            "}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"ATTR_COLUMN\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        state-detection=\"on\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "        <column name=\"ATTR_COLUMN\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test: state-detection attribute with 'off' value
+    public void testStateDetection4()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class A {\n"+
+            "/** @ojb.field state-detection=\"off\" */\n"+
+            "  private int attr;\n"+
+            "}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        state-detection=\"off\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test: state-detection attribute with 'inherit' value
+    public void testStateDetection5()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class A {\n"+
+            "/** @ojb.field state-detection=\"inherit\" */\n"+
+            "  private int attr;\n"+
+            "}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        state-detection=\"inherit\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test: inherited state-detection attribute with 'on' value
+    public void testStateDetection6()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            " * @ojb.extent-class class-ref=\"test.B\"\n"+
+            " */\n"+
+            "public class A {\n"+
+            "/** @ojb.field state-detection=\"inherit\" */\n"+
+            "  private int attr;\n"+
+            "}\n");
+        addClass(
+            "test.B",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            " * @ojb.extent-class class-ref=\"test.C\"\n"+
+            " */\n"+
+            "public class B extends A {}\n");
+        addClass(
+            "test.C",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            " * @ojb.modify-inherited name=\"attr\" state-detection=\"off\"\n"+
+            " */\n"+
+            "public class C extends B {}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            ">\n"+
+            "    <extent-class class-ref=\"test.B\"/>\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        state-detection=\"inherit\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.B\"\n"+
+            "    table=\"B\"\n"+
+            ">\n"+
+            "    <extent-class class-ref=\"test.C\"/>\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        state-detection=\"inherit\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.C\"\n"+
+            "    table=\"C\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        state-detection=\"off\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "    <table name=\"B\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "    <table name=\"C\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test: override inherited state-detection attribute
+    public void testStateDetection7()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class state-detection=\"inherit\""+
+            " * @ojb.extent-class class-ref=\"test.B\"\n"+
+            " */\n"+
+            "public class A {\n"+
+            "/** @ojb.field state-detection=\"on\" */\n"+
+            "  private int attr;\n"+
+            "}\n");
+        addClass(
+            "test.B",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            " * @ojb.extent-class class-ref=\"test.C\"\n"+
+            " */\n"+
+            "public class B extends A {}\n");
+        addClass(
+            "test.C",
+            "package test;\n"+
+            "/** @ojb.class\n"+
+            " * @ojb.modify-inherited name=\"attr\" state-detection=\"off\"\n"+
+            " */\n"+
+            "public class C extends B {}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            "    state-detection=\"inherit\"\n"+
+            ">\n"+
+            "    <extent-class class-ref=\"test.B\"/>\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        state-detection=\"on\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.B\"\n"+
+            "    table=\"B\"\n"+
+            ">\n"+
+            "    <extent-class class-ref=\"test.C\"/>\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        state-detection=\"on\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.C\"\n"+
+            "    table=\"C\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        column=\"attr\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        state-detection=\"off\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "    <table name=\"B\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "    <table name=\"C\">\n"+
+            "        <column name=\"attr\"\n"+
+            "                javaName=\"attr\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+}

Modified: db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ReferenceTagAutoUpdateAttributeTests.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ReferenceTagAutoUpdateAttributeTests.java?rev=570394&r1=570393&r2=570394&view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ReferenceTagAutoUpdateAttributeTests.java (original)
+++ db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/ReferenceTagAutoUpdateAttributeTests.java Tue Aug 28 05:03:19 2007
@@ -1,20 +1,25 @@
 package xdoclet.modules.ojb.tests;
 
-/* Copyright 2003-2005 The Apache Software Foundation
+/*
+ * 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
  *
- * Licensed 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
  *
- *     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.
+ * 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.
  */
 
+
 /**
  * Tests for the ojb.reference tag with the auto-update attribute
  *
@@ -438,6 +443,85 @@
             "        name=\"attr\"\n"+
             "        class-ref=\"test.B\"\n"+
             "        auto-update=\"object\"\n"+
+            "    >\n"+
+            "        <foreignkey field-ref=\"attrKey\"/>\n"+
+            "    </reference-descriptor>\n"+
+            "</class-descriptor>\n"+
+            "<class-descriptor\n"+
+            "    class=\"test.B\"\n"+
+            "    table=\"B\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"id\"\n"+
+            "        column=\"id\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "        primarykey=\"true\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "</class-descriptor>",
+            runOjbXDoclet(OJB_DEST_FILE));
+        assertEqualsTorqueSchemaFile(
+            "<database name=\"ojbtest\">\n"+
+            "    <table name=\"A\">\n"+
+            "        <column name=\"attrKey\"\n"+
+            "                javaName=\"attrKey\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "        />\n"+
+            "        <foreign-key foreignTable=\"B\">\n"+
+            "            <reference local=\"attrKey\" foreign=\"id\"/>\n"+
+            "        </foreign-key>\n"+
+            "    </table>\n"+
+            "    <table name=\"B\">\n"+
+            "        <column name=\"id\"\n"+
+            "                javaName=\"id\"\n"+
+            "                type=\"INTEGER\"\n"+
+            "                primaryKey=\"true\"\n"+
+            "                required=\"true\"\n"+
+            "        />\n"+
+            "    </table>\n"+
+            "</database>",
+            runTorqueXDoclet(TORQUE_DEST_FILE, "ojbtest"));
+    }
+
+    // Test: auto-update attribute has 'create' value
+    public void testAutoDelete9()
+    {
+        addClass(
+            "test.A",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class A {\n"+
+            "/** @ojb.field */\n"+
+            "  private int attrKey;\n"+
+            "/** @ojb.reference foreignkey=\"attrKey\"\n"+
+            "  *                auto-update=\"create\"\n"+
+            "  */\n"+
+            "  private test.B attr;\n"+
+            "}\n");
+        addClass(
+            "test.B",
+            "package test;\n"+
+            "/** @ojb.class */\n"+
+            "public class B {\n"+
+            "/** @ojb.field primarykey=\"true\" */\n"+
+            "  private int id;\n"+
+            "}\n");
+
+        assertEqualsOjbDescriptorFile(
+            "<class-descriptor\n"+
+            "    class=\"test.A\"\n"+
+            "    table=\"A\"\n"+
+            ">\n"+
+            "    <field-descriptor\n"+
+            "        name=\"attrKey\"\n"+
+            "        column=\"attrKey\"\n"+
+            "        jdbc-type=\"INTEGER\"\n"+
+            "    >\n"+
+            "    </field-descriptor>\n"+
+            "    <reference-descriptor\n"+
+            "        name=\"attr\"\n"+
+            "        class-ref=\"test.B\"\n"+
+            "        auto-update=\"create\"\n"+
             "    >\n"+
             "        <foreignkey field-ref=\"attrKey\"/>\n"+
             "    </reference-descriptor>\n"+

Modified: db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/RunAllTests.java
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/RunAllTests.java?rev=570394&r1=570393&r2=570394&view=diff
==============================================================================
--- db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/RunAllTests.java (original)
+++ db/ojb/trunk/src/xdoclet/test/xdoclet/modules/ojb/tests/RunAllTests.java Tue Aug 28 05:03:19 2007
@@ -1,20 +1,25 @@
 package xdoclet.modules.ojb.tests;
 
-/* Copyright 2003-2005 The Apache Software Foundation
- *
- * Licensed 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
+/*
+ * 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
+ *   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.
+ * 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.
  */
 
+
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -44,118 +49,144 @@
     public static Test suite()
     {
         TestSuite suite = new TestSuite("XDoclet OJB module tests");
-/*
-        suite.addTest(new TestSuite(ClassTagSimpleTests.class));
-        suite.addTest(new TestSuite(ClassTagAcceptLocksAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagAttributesAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagDetermineExtendsAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagDocumentationAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagFactoryClassAndMethodAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagGenerateRepositoryInfoAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagGenerateTableInfoAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagIncludeInheritedAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagInitializationMethodAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagIsolationLevelAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagProxyAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagRefreshAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagRowReaderAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagTableAttributeTests.class));
-        suite.addTest(new TestSuite(ClassTagTableDocumentationAttributeTests.class));
-        suite.addTest(new TestSuite(ExtentClassTagTests.class));
-        suite.addTest(new TestSuite(ObjectCacheTagTests.class));
-        suite.addTest(new TestSuite(IndexTagTests.class));
-        suite.addTest(new TestSuite(FieldTagSimpleTests.class));
-        suite.addTest(new TestSuite(FieldTagAccessAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagAttributesAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagAutoincrementAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagColumnAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagColumnDocumentationAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagDocumentationAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagConversionAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagDefaultFetchAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagIdAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagIndexedAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagJdbcTypeAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagLengthAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagLockingAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagNameAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagNullableAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagPrecisionAndScaleAttributesTests.class));
-        suite.addTest(new TestSuite(FieldTagPrimarykeyAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagSequenceNameAttributeTests.class));
-        suite.addTest(new TestSuite(FieldTagUpdateLockAttributeTests.class));
-        suite.addTest(new TestSuite(AnonymousFieldTagTests.class));
-        suite.addTest(new TestSuite(ReferenceTagAttributesAttributeTests.class));
-        suite.addTest(new TestSuite(ReferenceTagAutoDeleteAttributeTests.class));
-        suite.addTest(new TestSuite(ReferenceTagAutoRetrieveAttributeTests.class));
-        suite.addTest(new TestSuite(ReferenceTagAutoUpdateAttributeTests.class));
-        suite.addTest(new TestSuite(ReferenceTagClassRefAttributeTests.class));
-        suite.addTest(new TestSuite(ReferenceTagDatabaseForeignkeyAttributeTests.class));
-        suite.addTest(new TestSuite(ReferenceTagDocumentationAttributeTests.class));
-        suite.addTest(new TestSuite(ReferenceTagForeignkeyAttributeTests.class));
-        suite.addTest(new TestSuite(ReferenceTagOtmDependentAttributeTests.class));
-        suite.addTest(new TestSuite(ReferenceTagProxyAttributeTests.class));
-        suite.addTest(new TestSuite(ReferenceTagRefreshAttributeTests.class));
-        suite.addTest(new TestSuite(AnonymousReferenceTagTests.class));
-        suite.addTest(new TestSuite(CollectionTagSimpleTests.class));
-        suite.addTest(new TestSuite(CollectionTagAttributesAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagAutoDeleteAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagAutoRetrieveAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagAutoUpdateAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagCollectionClassAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagDocumentationAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagElementClassRefAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagForeignkeyAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagIndirectionTableAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagIndirectionTableDocumentationAttributesTests.class));
-        suite.addTest(new TestSuite(CollectionTagIndirectionTablePrimarykeysAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagOrderbyAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagOtmDependentAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagProxyAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagQueryCustomizerAttributeTests.class));
-        suite.addTest(new TestSuite(CollectionTagRefreshAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagSimpleTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagAccessAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagAttributesAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagAutoDeleteAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagAutoIncrementAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagAutoRetrieveAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagAutoUpdateAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagClassRefAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagCollectionClassAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagColumnAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagColumnDocumentationAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagConversionAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagDatabaseForeignkeyAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagDefaultFetchAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagDocumentationAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagElementClassRefAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagForeignkeyAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagIdAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagIgnoreAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagJdbcTypeAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagLengthAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagLockingAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagNullableAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagOrderbyAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagOtmDependentAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagPrecisionAndScaleAttributesTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagPrimarykeyAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagProxyAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagQueryCustomizerAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagRefreshAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagSequenceNameAttributeTests.class));
-        suite.addTest(new TestSuite(ModifyInheritedTagUpdateLockAttributeTests.class));
-        suite.addTest(new TestSuite(NestedTagSimpleTests.class));
-        suite.addTest(new TestSuite(ModifyNestedTagSimpleTests.class));
-        suite.addTest(new TestSuite(DeleteProcedureTagTests.class));
-        suite.addTest(new TestSuite(InsertProcedureTagTests.class));
-        suite.addTest(new TestSuite(UpdateProcedureTagTests.class));
-        suite.addTest(new TestSuite(ProcedureArgumentTagTests.class));
-        suite.addTest(new TestSuite(SelectByPKProcedureTagTests.class));
-        suite.addTest(new TestSuite(SelectByFKProcedureTagTests.class));
-*/
-        
+
+//        suite.addTest(new TestSuite(ClassTagSimpleTests.class));
+//        suite.addTest(new TestSuite(ClassTagAcceptLocksAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagAttributesAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagDetermineExtendsAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagDocumentationAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagFactoryClassAndMethodAttributeTests.class));
+
+//        suite.addTest(new TestSuite(ClassTagGenerateRepositoryInfoAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagGenerateTableInfoAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagIncludeInheritedAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagInitializationMethodAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagIsolationLevelAttributeTests.class));
+
+//        suite.addTest(new TestSuite(ClassTagProxyAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagRefreshAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagRowReaderAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagTableAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagTableDocumentationAttributeTests.class));
+//        suite.addTest(new TestSuite(ClassTagStateDetectionAttributeTests.class));
+
+//        suite.addTest(new TestSuite(ClassTagFieldClassAttributeTests.class));
+//        suite.addTest(new TestSuite(ExtentClassTagTests.class));
+//        suite.addTest(new TestSuite(ObjectCacheTagTests.class));
+//        suite.addTest(new TestSuite(IndexTagTests.class));
+
+//        suite.addTest(new TestSuite(FieldTagSimpleTests.class));
+//        suite.addTest(new TestSuite(FieldTagAccessAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagAttributesAttributeTests.class));
+
+//        suite.addTest(new TestSuite(FieldTagAutoincrementAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagColumnAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagColumnDocumentationAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagDocumentationAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagConversionAttributeTests.class));
+
+//        suite.addTest(new TestSuite(FieldTagDefaultFetchAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagIdAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagIndexedAttributeTests.class));
+
+//        suite.addTest(new TestSuite(FieldTagJdbcTypeAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagLengthAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagLockingAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagNameAttributeTests.class));
+
+//        suite.addTest(new TestSuite(FieldTagNullableAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagPrecisionAndScaleAttributesTests.class));
+//        suite.addTest(new TestSuite(FieldTagPrimarykeyAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagSequenceNameAttributeTests.class));
+//        suite.addTest(new TestSuite(FieldTagUpdateLockAttributeTests.class));
+
+//        suite.addTest(new TestSuite(FieldTagStateDetectionAttributeTests.class));
+//!!!!        //suite.addTest(new TestSuite(FieldTagFieldClassAttributeTests.class));
+//        suite.addTest(new TestSuite(AnonymousFieldTagTests.class));
+//        suite.addTest(new TestSuite(ReferenceTagAttributesAttributeTests.class));
+//        suite.addTest(new TestSuite(ReferenceTagAutoDeleteAttributeTests.class));
+//        suite.addTest(new TestSuite(ReferenceTagAutoRetrieveAttributeTests.class));
+//        suite.addTest(new TestSuite(ReferenceTagAutoUpdateAttributeTests.class));
+
+//        suite.addTest(new TestSuite(ReferenceTagClassRefAttributeTests.class));
+//        suite.addTest(new TestSuite(ReferenceTagDatabaseForeignkeyAttributeTests.class));
+//        suite.addTest(new TestSuite(ReferenceTagDocumentationAttributeTests.class));
+
+//        suite.addTest(new TestSuite(ReferenceTagForeignkeyAttributeTests.class));
+//        suite.addTest(new TestSuite(ReferenceTagOtmDependentAttributeTests.class));
+//        suite.addTest(new TestSuite(ReferenceTagProxyAttributeTests.class));
+//        suite.addTest(new TestSuite(ReferenceTagRefreshAttributeTests.class));
+//        suite.addTest(new TestSuite(AnonymousReferenceTagTests.class));
+
+//        suite.addTest(new TestSuite(CollectionTagSimpleTests.class));
+//        suite.addTest(new TestSuite(CollectionTagAttributesAttributeTests.class));
+//        suite.addTest(new TestSuite(CollectionTagAutoDeleteAttributeTests.class));
+//        suite.addTest(new TestSuite(CollectionTagAutoRetrieveAttributeTests.class));
+//        suite.addTest(new TestSuite(CollectionTagAutoUpdateAttributeTests.class));
+
+//        suite.addTest(new TestSuite(CollectionTagCollectionClassAttributeTests.class));
+//        suite.addTest(new TestSuite(CollectionTagDocumentationAttributeTests.class));
+//        suite.addTest(new TestSuite(CollectionTagElementClassRefAttributeTests.class));
+
+//        suite.addTest(new TestSuite(CollectionTagForeignkeyAttributeTests.class));
+
+//        suite.addTest(new TestSuite(CollectionTagIndirectionTableAttributeTests.class));
+//        suite.addTest(new TestSuite(CollectionTagIndirectionTableDocumentationAttributesTests.class));
+
+//        suite.addTest(new TestSuite(CollectionTagIndirectionTablePrimarykeysAttributeTests.class));
+//        suite.addTest(new TestSuite(CollectionTagOrderbyAttributeTests.class));
+//        suite.addTest(new TestSuite(CollectionTagOtmDependentAttributeTests.class));
+//        suite.addTest(new TestSuite(CollectionTagProxyAttributeTests.class));
+//        suite.addTest(new TestSuite(CollectionTagQueryCustomizerAttributeTests.class));
+
+//        suite.addTest(new TestSuite(CollectionTagRefreshAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagSimpleTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagAccessAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagAttributesAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagAutoDeleteAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagAutoIncrementAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagAutoRetrieveAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagAutoUpdateAttributeTests.class));
+
+//        suite.addTest(new TestSuite(ModifyInheritedTagClassRefAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagCollectionClassAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagColumnAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagColumnDocumentationAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagConversionAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagDatabaseForeignkeyAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagDefaultFetchAttributeTests.class));
+
+//        suite.addTest(new TestSuite(ModifyInheritedTagDocumentationAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagElementClassRefAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagForeignkeyAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagIdAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagIgnoreAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagJdbcTypeAttributeTests.class));
+
+//        suite.addTest(new TestSuite(ModifyInheritedTagLengthAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagLockingAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagNullableAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagOrderbyAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagOtmDependentAttributeTests.class));
+
+//        suite.addTest(new TestSuite(ModifyInheritedTagPrecisionAndScaleAttributesTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagPrimarykeyAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagProxyAttributeTests.class));
+
+//        suite.addTest(new TestSuite(ModifyInheritedTagQueryCustomizerAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagRefreshAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagSequenceNameAttributeTests.class));
+//        suite.addTest(new TestSuite(ModifyInheritedTagUpdateLockAttributeTests.class));
+//        suite.addTest(new TestSuite(NestedTagSimpleTests.class));
+//        suite.addTest(new TestSuite(ModifyNestedTagSimpleTests.class));
+
+//        suite.addTest(new TestSuite(DeleteProcedureTagTests.class));
+//        suite.addTest(new TestSuite(InsertProcedureTagTests.class));
+//        suite.addTest(new TestSuite(UpdateProcedureTagTests.class));
+
+//        suite.addTest(new TestSuite(ProcedureArgumentTagTests.class));
+
+
         return suite;
     }
 }



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