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/10/01 18:05:36 UTC

svn commit: r580998 - in /db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb: constraints/ model/

Author: arminw
Date: Mon Oct  1 09:05:27 2007
New Revision: 580998

URL: http://svn.apache.org/viewvc?rev=580998&view=rev
Log:
- get rid of commos-lang dependency
- fix super-reference automatic super-class detection

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ClassDescriptorConstraints.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/FieldDescriptorConstraints.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/ClassDescriptorDef.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/PropertyHelper.java
    db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/ReferenceDescriptorDef.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ClassDescriptorConstraints.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ClassDescriptorConstraints.java?rev=580998&r1=580997&r2=580998&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ClassDescriptorConstraints.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/ClassDescriptorConstraints.java Mon Oct  1 09:05:27 2007
@@ -22,12 +22,18 @@
 
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Properties;
 
 import xdoclet.modules.ojb.CommaListIterator;
 import xdoclet.modules.ojb.LogHelper;
-import xdoclet.modules.ojb.model.*;
-import org.apache.commons.lang.SystemUtils;
+import xdoclet.modules.ojb.model.ClassDescriptorDef;
+import xdoclet.modules.ojb.model.FeatureDescriptorDef;
+import xdoclet.modules.ojb.model.ObjectCacheDef;
+import xdoclet.modules.ojb.model.ProcedureArgumentDef;
+import xdoclet.modules.ojb.model.ProcedureDef;
+import xdoclet.modules.ojb.model.PropertyHelper;
 
 /**
  * Checks constraints for class descriptors. Note that constraints may modify the class descriptor.
@@ -173,7 +179,7 @@
             }
             else if(curExtent.hasSuperReference())
             {
-                String eol = SystemUtils.LINE_SEPARATOR;
+                String eol = PropertyHelper.LINE_SEPARATOR;
                 String msg = new StringBuffer().append("Sub-class ").append(curExtent.getName())
                         .append(" declare a 'super-reference' to class ").append(classDef.getName())
                         .append(eol).append("If table per sub-class inheritance is used, it's not allowed to use the 'extent' attribute in class ")

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/FieldDescriptorConstraints.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/FieldDescriptorConstraints.java?rev=580998&r1=580997&r2=580998&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/FieldDescriptorConstraints.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/constraints/FieldDescriptorConstraints.java Mon Oct  1 09:05:27 2007
@@ -425,7 +425,7 @@
         ClassDescriptorDef cld = (ClassDescriptorDef) fieldDef.getOwner();
         if(fieldDef.isPrimaryKey() && cld.hasSuperReference() && !cld.hasSuperReferenceViaForeignKey())
         {
-            String eol = SystemUtils.LINE_SEPARATOR;
+            String eol = PropertyHelper.LINE_SEPARATOR;
             LogHelper.warn(true,
                        FieldDescriptorConstraints.class,
                        "checkTablePerSubclass",

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/ClassDescriptorDef.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/ClassDescriptorDef.java?rev=580998&r1=580997&r2=580998&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/ClassDescriptorDef.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/ClassDescriptorDef.java Mon Oct  1 09:05:27 2007
@@ -20,13 +20,23 @@
  */
 
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import java.util.SortedMap;
+import java.util.TreeMap;
 
 import xdoclet.modules.ojb.CommaListIterator;
 import xdoclet.modules.ojb.LogHelper;
-import xdoclet.modules.ojb.constraints.*;
+import xdoclet.modules.ojb.constraints.ClassDescriptorConstraints;
+import xdoclet.modules.ojb.constraints.CollectionDescriptorConstraints;
+import xdoclet.modules.ojb.constraints.ConstraintException;
+import xdoclet.modules.ojb.constraints.FieldDescriptorConstraints;
+import xdoclet.modules.ojb.constraints.ReferenceDescriptorConstraints;
 import xjavadoc.XClass;
-import org.apache.commons.lang.SystemUtils;
 
 /**
  * Definition of a class for the ojb repository file.
@@ -162,7 +172,7 @@
 
             if(hasSuperReference())
             {
-                String eol = SystemUtils.LINE_SEPARATOR;
+                String eol = PropertyHelper.LINE_SEPARATOR;
                 String msg = new StringBuffer().append("This class ").append(getName())
                         .append(" is a sub-class and declare a 'super-reference' to its super class").append(eol)
                         .append("If table per sub-class inheritance is used, it's not allowed to include non-primary key inherited fields in the sub-class.")
@@ -653,7 +663,7 @@
         ReferenceDescriptorDef subClassSuperRef = subType.getSuperReference();
         if(subClassSuperRef != null && subClassSuperRef.isTablePerSubclass())
         {
-            String eol = SystemUtils.LINE_SEPARATOR;
+            String eol = PropertyHelper.LINE_SEPARATOR;
             String msg = new StringBuffer().append("Sub-class ").append(subType.getName())
                     .append(" declare a 'super-reference' to class ").append(getName()).append(eol)
                     .append("If table per sub-class inheritance is used, it's not allowed to declare an 'extent' attribute in class ")

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/PropertyHelper.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/PropertyHelper.java?rev=580998&r1=580997&r2=580998&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/PropertyHelper.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/PropertyHelper.java Mon Oct  1 09:05:27 2007
@@ -27,6 +27,8 @@
  */
 public abstract class PropertyHelper
 {
+    public static final String LINE_SEPARATOR = getSystemProperty("line.separator");
+
     // ojb repository properties
 
     public static final String OJB_PROPERTY_STATE_DETECTION                 = "state-detection";
@@ -276,5 +278,21 @@
     public static boolean toBoolean(String value, boolean defaultValue)
     {
         return "true".equals(value) ? true : ("false".equals(value) ? false : defaultValue);
+    }
+
+    // copied from apache commons-lang
+    private static String getSystemProperty(String property)
+    {
+        try
+        {
+            return System.getProperty(property);
+        } catch (SecurityException ex)
+        {
+            // we are not allowed to look at this property
+            System.err.println(
+                "Caught a SecurityException reading the system property '" + property
+                + "'; the SystemUtils property value will default to null.");
+            return null;
+        }
     }
 }

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/ReferenceDescriptorDef.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/ReferenceDescriptorDef.java?rev=580998&r1=580997&r2=580998&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/ReferenceDescriptorDef.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/xdoclet/java/src/xdoclet/modules/ojb/model/ReferenceDescriptorDef.java Mon Oct  1 09:05:27 2007
@@ -1,9 +1,7 @@
 package xdoclet.modules.ojb.model;
 
-import java.util.List;
 
 import xdoclet.modules.ojb.LogHelper;
-import org.apache.commons.lang.ClassUtils;
 import xjavadoc.XClass;
 
 /*
@@ -132,11 +130,13 @@
                     }
                     if(superClassStr == null)
                     {
-                        Class ownerClass = ClassUtils.getClass(classDef.getQualifiedName());
-                        List superClasses = ClassUtils.getAllSuperclasses(ownerClass);
-                        if(!superClasses.isEmpty())
+                        Class ownerClass = Class.forName(classDef.getQualifiedName());
+                        Class superClass = ownerClass.getSuperclass();
+                        if(superClass != null
+                                && !superClass.isInterface()
+                                && !superClass.isPrimitive()
+                                && !superClass.equals(Object.class))
                         {
-                            Class superClass = (Class) superClasses.get(0);
                             superClassStr = superClass.getName();
                         }
                     }



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