That doesn't look like good OO design. XMLGregorianCalendar is an
abstract API and the actual runtime type is completely implementation
dependent. Trying to enumerate every possible existing implementation
is obviously not a correct approach. I would not be surprised if e.g.
on IBM WebSphere, that API is implemented by yet another class.

This probably points to a design flaw in the TypeTable thing.

Andreas

On Tue, Sep 27, 2011 at 10:45,  <sag...@apache.org> wrote:
> Author: sagara
> Date: Tue Sep 27 08:45:05 2011
> New Revision: 1176281
>
> URL: http://svn.apache.org/viewvc?rev=1176281&view=rev
> Log:
> Since org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl is not an 
> instantiable class this method return null, changed to use Class names.
>
> Modified:
>    
> axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java
>
> Modified: 
> axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java
> URL: 
> http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java?rev=1176281&r1=1176280&r2=1176281&view=diff
> ==============================================================================
> --- 
> axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java
>  (original)
> +++ 
> axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java
>  Tue Sep 27 08:45:05 2011
> @@ -330,25 +330,18 @@ public class TypeTable {
>      *            the name
>      * @return the schema type name by class
>      */
> -    private QName getSchemaTypeNameByClass(String name) {
> -        Object dataClass;
> -        try {
> -            dataClass = Class.forName(name).newInstance();
> -            /*
> -             * XMLGregorianCalendar can be found as following classes.
> -             * 
> 1.)com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl
> -             * 2.)org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl
> -             */
> -            if (dataClass instanceof XMLGregorianCalendar) {
> -                return (QName) simpleTypetoxsd.get(XMLGregorianCalendar.class
> -                        .getName());
> -            }
> -        } catch (InstantiationException e) {
> -            e.printStackTrace();
> -        } catch (IllegalAccessException e) {
> -            e.printStackTrace();
> -        } catch (ClassNotFoundException e) {
> -            e.printStackTrace();
> +    private QName getSchemaTypeNameByClass(String name) {
> +        /*
> +         * XMLGregorianCalendar can be found as following classes.
> +         * 
> 1.)com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl
> +         * 2.)org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl
> +         */
> +        if 
> ("com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl"
> +                .equals(name)
> +                || "org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl"
> +                        .equals(name)) {
> +            return (QName) simpleTypetoxsd.get(XMLGregorianCalendar.class
> +                    .getName());
>         }
>         return null;
>     }
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to