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/05/16 01:06:00 UTC

svn commit: r538369 - in /db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata: FieldDescriptor.java ObjectCacheDescriptor.java

Author: arminw
Date: Tue May 15 16:05:59 2007
New Revision: 538369

URL: http://svn.apache.org/viewvc?view=rev&rev=538369
Log:
add shortcut name support

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/FieldDescriptor.java
    db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectCacheDescriptor.java

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/FieldDescriptor.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/FieldDescriptor.java?view=diff&rev=538369&r1=538368&r2=538369
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/FieldDescriptor.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/FieldDescriptor.java Tue May 15 16:05:59 2007
@@ -33,6 +33,7 @@
 import org.apache.ojb.broker.accesslayer.conversions.FieldConversion;
 import org.apache.ojb.broker.metadata.fieldaccess.AnonymousPersistentField;
 import org.apache.ojb.broker.util.ClassHelper;
+import org.apache.ojb.broker.util.ShortcutMapper;
 
 /**
  * A FieldDescriptor holds the mapping information for a specific member-variable
@@ -45,9 +46,9 @@
  */
 public class FieldDescriptor extends AttributeDescriptorBase implements XmlCapable, Serializable
 {
-	private static final long serialVersionUID = 8231802073685958561L;
-	
-	public static final String ACCESS_ANONYMOUS = RepositoryElements.TAG_ACCESS_ANONYMOUS;
+    private static final long serialVersionUID = 8231802073685958561L;
+
+    public static final String ACCESS_ANONYMOUS = RepositoryElements.TAG_ACCESS_ANONYMOUS;
     public static final String ACCESS_READONLY = RepositoryElements.TAG_ACCESS_READONLY;
     public static final String ACCESS_READWRITE = RepositoryElements.TAG_ACCESS_READWRITE;
 
@@ -321,12 +322,18 @@
     {
         try
         {
-            this.fieldConversion = (FieldConversion) ClassHelper.newInstance(fieldConversionClassName);
+            Class clazz = ShortcutMapper.resolve(fieldConversionClassName, FieldConversion.class);
+            if(clazz == null)
+            {
+                throw new MetadataException("Can't resolve FieldConversion class for conversion name: " + fieldConversionClassName);
+            }
+            this.fieldConversion = (FieldConversion) ClassHelper.newInstance(clazz);
         }
         catch (Exception e)
         {
             throw new MetadataException(
-                    "Could not instantiate FieldConversion class using default constructor", e);
+                    "Could not instantiate FieldConversion class using default constructor, name was: "
+                            + fieldConversionClassName, e);
         }
     }
 
@@ -340,7 +347,7 @@
         // if no explicit class is specified use the default implementation
         if (nullCheck == null)
         {
-        	nullCheck = new NullCheckDefaultImpl();
+            nullCheck = new NullCheckDefaultImpl();
         }
         return nullCheck;
     }
@@ -361,7 +368,7 @@
         // if no explicit class is specified use the default implementation
         if (nullCheck == null)
         {
-        	nullCheck = new NullCheckDefaultImpl();
+            nullCheck = new NullCheckDefaultImpl();
         }
         return nullCheck.representsNull(this, aValue);
     }
@@ -386,7 +393,7 @@
     {
         return representsNull(getPersistentField().get(obj));
     }
-    
+
     /**
      * Creates the {@link NullCheck} implementation to use for this field.
      *
@@ -398,7 +405,9 @@
     {
         try
         {
-            this.nullCheck = (NullCheck) ClassHelper.newInstance(nullCheckClassName);
+            Class tmp = ShortcutMapper.resolve(nullCheckClassName, NullCheck.class);
+            if(tmp == null) throw new ClassNotFoundException("Can' find class: " + nullCheckClassName);
+            this.nullCheck = (NullCheck) ClassHelper.newInstance(tmp);
         }
         catch(ClassNotFoundException e)
         {
@@ -841,9 +850,9 @@
         // NullCheck
         if( this.getNullCheck().getClass() != NullCheckDefaultImpl.class )
         {
-        	result.append( "        " );
-        	result.append( tags.getAttribute( NULL_CHECK, getNullCheck().getClass().getName() ) );
-        	result.append( eol );
+            result.append( "        " );
+            result.append( tags.getAttribute( NULL_CHECK, getNullCheck().getClass().getName() ) );
+            result.append( eol );
         }
 
         // length

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectCacheDescriptor.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectCacheDescriptor.java?view=diff&rev=538369&r1=538368&r2=538369
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectCacheDescriptor.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectCacheDescriptor.java Tue May 15 16:05:59 2007
@@ -20,7 +20,9 @@
 import org.apache.commons.lang.SystemUtils;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.commons.lang.builder.ToStringStyle;
+import org.apache.ojb.broker.cache.ObjectCache;
 import org.apache.ojb.broker.cache.ObjectCacheEmptyImpl;
+import org.apache.ojb.broker.util.ShortcutMapper;
 import org.apache.ojb.broker.util.XmlHelper;
 
 /**
@@ -37,7 +39,7 @@
  */
 public class ObjectCacheDescriptor extends DescriptorBase implements XmlCapable
 {
-	private static final long serialVersionUID = 2583853027407750053L;
+    private static final long serialVersionUID = 2583853027407750053L;
     private static final Class DEF_OBJECT_CACHE = ObjectCacheEmptyImpl.class;
     private Class objectCache;
 
@@ -55,6 +57,12 @@
     public Class getObjectCache()
     {
         return objectCache;
+    }
+
+    public void setObjectCache(String name)
+    {
+        Class tmp = ShortcutMapper.resolve(name, ObjectCache.class);
+        if(tmp != null) this.objectCache = tmp;
     }
 
     public void setObjectCache(Class objectCache)



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