On Thu, 15 Apr 2004 08:18:49 -0600 (MDT), Bruce Snyder wrote:

>
>This one time, at band camp, Werner Guttmann said:
>
>WG>On Thu, 15 Apr 2004 11:52:49 +0200, Werner Guttmann wrote:
>WG>
>WG>>
>WG>>On Tue, 13 Apr 2004 08:23:33 -0600 (MDT), Bruce Snyder wrote:
>WG>>
>WG>>>
>WG>>>This one time, at band camp, Werner Guttmann said:
>WG>>>
>WG>>>WG>after a litztle bit of debugging, I've traced this exception to the following 
>code fragementin Types.java:
>WG>>>WG>
>WG>>>WG>    public static Class typeFromName( ClassLoader loader, String typeName )
>WG>>>WG>        throws ClassNotFoundException
>WG>>>WG>    {
>WG>>>WG>        for ( int i = 0 ; i < _typeInfos.length ; ++i ) {
>WG>>>WG>            if ( typeName.equals( _typeInfos[ i ].shortName ) )
>WG>>>WG>                return ( _typeInfos[ i ].primitive != null ? _typeInfos[ i 
>].primitive :
>WG>>>WG>                         _typeInfos[ i ].javaType );
>WG>>>WG>        }
>WG>>>WG>        if ( loader != null )
>WG>>>WG>            return loader.loadClass( typeName );
>WG>>>WG>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>WG>>>WG>        else
>WG>>>WG>            return Class.forName( typeName );
>WG>>>WG>
>WG>>>WG>The exception occurs at the line marked with '°'. Any idea why ? 
>'org.exolab.castor.types.Duration' is on the classpath, afai can tell.
>WG>>>
>WG>>>I'm not sure why this is happening. I would suggest breaking the
>WG>>>line apart into the following for debugging:
>WG>>>
>WG>>>    Class clazz = loader.laodClass( typeName );
>WG>>>    _log.debug( "Loading class" + clazz.getName() );
>WG>>>    return clazz;
>WG>>
>WG>>That does not really help, either. It's the call to loader.loadClass() that 
>throws the ClassNotFoundException. Question: is Duration meant to be a
>WG>'simple'
>WG>>type, as enlisted in Types.java through the static array typesInfo (of type 
>TypeInfo[]) ? Iow, should there be an entry similar to
>WG>>
>WG>>        new TypeInfo( "string", null, java.lang.String.class,     true,     null 
>),
>WG>>
>WG>>Werner
>WG>
>WG>Sorry, but I just figured out that above is not the problem anymore. Iow, the code 
>progresses past this very problem of loading the class. I am not 
getting
>WG>a new MappingException in DatingService.resolve() where
>WG>
>WG>        if ( needFieldClass != null ) {
>WG>            e = needFieldClass.elements();
>WG>            while ( e.hasMoreElements() ) {
>WG>                Pair pair = (Pair)e.nextElement();
>WG>                initiateFm = (FieldMolder) pair.value;
>WG>                targetCm = (ClassMolder) clsMolders.get( pair.key );
>WG>                if ( targetCm == null )
>WG>                    throw new MappingException("Field element, \""+pair.key+"\"  
>not found!");
>WG>                initiateFm.setFieldClassMolder( targetCm );
>WG>            }
>WG>        }
>WG>
>WG>obviously a MappingException is thrown if a ClassMolder cannot be found for the 
>Duration type. Which brings me again to my last question. 
Should
>WG>Duration be included as simple type ?
>
>I think you're correct here, Werner. Which leads to an even larger
>question. If we're going to support Duration, we should support all
>the other org.exolab.castor.types which means we need to create a
>general mechism to handle the instantiation of all of these types.
>Do you agree?

Well, yes and no. What's needed besides an entry in Types.java ? I've just done it for 
Duration by adding one entry to the static initializer in Types.java, 
and it works.

Werner

>
>Bruce
>--
>perl -e 'print unpack("u30","<0G)[EMAIL PROTECTED]&5R\"F9E<G)E=\$\!F<FEI+F-O;0\`\`");'
>
>The Castor Project
>http://www.castor.org/
>
>Apache Geronimo
>http://incubator.apache.org/projects/geronimo.html
>
>----------------------------------------------------------- 
>If you wish to unsubscribe from this mailing, send mail to
>[EMAIL PROTECTED] with a subject of:
>        unsubscribe castor-dev
>

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to