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 [EMAIL PROTECTED] 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]