db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig Russell <Craig.Russ...@Sun.COM>
Subject Re: svn commit: r220237 - in /incubator/jdo/trunk/api20: src/java/javax/jdo/spi/JDOImplHelper.java test/java/javax/jdo/identity/ObjectIdentityTest.java
Date Mon, 25 Jul 2005 19:46:32 GMT
Hi Erik,

Thanks for the testing. A few more 1.4 dependencies than I was  
expecting. :-(

I'll have these fixed shortly.

Thanks,

Craig

On Jul 25, 2005, at 11:03 AM, erik@jpox.org wrote:

> I run the unit tests with JDK 1.3 and get these errors:
>
> java.lang.NoSuchMethodError
>     at
> javax.jdo.identity.ObjectIdentityTest.testSerializedLocale 
> (ObjectIdentityTest.java:346)
>     at java.lang.reflect.Method.invoke(Native Method)
>     at junit.framework.TestCase.runTest(TestCase.java:154)
>     at junit.framework.TestCase.runBare(TestCase.java:127)
>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>     at junit.framework.TestResult.run(TestResult.java:109)
>     at junit.framework.TestCase.run(TestCase.java:118)
>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>     at junit.framework.TestSuite.run(TestSuite.java:203)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests 
> (RemoteTestRunner.java:478)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run 
> (RemoteTestRunner.java:344)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main 
> (RemoteTestRunner.java:196)
>
> -----------------
>
> java.lang.NoSuchMethodError
>     at javax.jdo.identity.CharIdentity.toString(CharIdentity.java:97)
>     at
> javax.jdo.identity.CharIdentityTest.testToStringConstructor 
> (CharIdentityTest.java:63)
>     at java.lang.reflect.Method.invoke(Native Method)
>     at junit.framework.TestCase.runTest(TestCase.java:154)
>     at junit.framework.TestCase.runBare(TestCase.java:127)
>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>     at junit.framework.TestResult.run(TestResult.java:109)
>     at junit.framework.TestCase.run(TestCase.java:118)
>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>     at junit.framework.TestSuite.run(TestSuite.java:203)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests 
> (RemoteTestRunner.java:478)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run 
> (RemoteTestRunner.java:344)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main 
> (RemoteTestRunner.java:196)
>
> ---------------
>
> java.lang.NoSuchMethodError
>     at javax.jdo.spi.JDOImplHelper$2.construct(JDOImplHelper.java:576)
>     at javax.jdo.spi.JDOImplHelper.construct(JDOImplHelper.java:630)
>     at javax.jdo.identity.ObjectIdentity.<init>(ObjectIdentity.java: 
> 86)
>     at
> javax.jdo.identity.ObjectIdentityTest.testStringLocaleConstructor 
> (ObjectIdentityTest.java:250)
>     at java.lang.reflect.Method.invoke(Native Method)
>     at junit.framework.TestCase.runTest(TestCase.java:154)
>     at junit.framework.TestCase.runBare(TestCase.java:127)
>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>     at junit.framework.TestResult.run(TestResult.java:109)
>     at junit.framework.TestCase.run(TestCase.java:118)
>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>     at junit.framework.TestSuite.run(TestSuite.java:203)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests 
> (RemoteTestRunner.java:478)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run 
> (RemoteTestRunner.java:344)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main 
> (RemoteTestRunner.java:196)
>
>
>
> Quoting Craig Russell <Craig.Russell@Sun.COM>:
>
>
>> Hi Erik,
>>
>> Can you please test the fix and update the JIRA JDO-95 issue if the
>> fix is ok?
>>
>> Thanks,
>>
>> Craig
>>
>> Begin forwarded message:
>>
>>
>>> From: clr@apache.org
>>> Date: July 21, 2005 9:48:30 PM PDT
>>> To: jdo-commits@db.apache.org
>>> Subject: svn commit: r220237 - in /incubator/jdo/trunk/api20: src/
>>> java/javax/jdo/spi/JDOImplHelper.java test/java/javax/jdo/identity/
>>> ObjectIdentityTest.java
>>> Reply-To: jdo-dev@db.apache.org
>>>
>>>
>>> Author: clr
>>> Date: Thu Jul 21 21:48:28 2005
>>> New Revision: 220237
>>>
>>> URL: http://svn.apache.org/viewcvs?rev=220237&view=rev
>>> Log:
>>> JDO-95 if Currency.class is not available, don't test or create
>>> helper instances for Currency
>>>
>>> Modified:
>>>     incubator/jdo/trunk/api20/src/java/javax/jdo/spi/
>>> JDOImplHelper.java
>>>     incubator/jdo/trunk/api20/test/java/javax/jdo/identity/
>>> ObjectIdentityTest.java
>>>
>>> Modified: incubator/jdo/trunk/api20/src/java/javax/jdo/spi/
>>> JDOImplHelper.java
>>> URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/api20/src/
>>> java/javax/jdo/spi/JDOImplHelper.java?
>>> rev=220237&r1=220236&r2=220237&view=diff
>>> ==================================================================== 
>>> ==
>>> ========
>>> --- incubator/jdo/trunk/api20/src/java/javax/jdo/spi/
>>> JDOImplHelper.java (original)
>>> +++ incubator/jdo/trunk/api20/src/java/javax/jdo/spi/
>>> JDOImplHelper.java Thu Jul 21 21:48:28 2005
>>> @@ -555,19 +555,21 @@
>>>       */
>>>      static {
>>>          JDOImplHelper helper = getInstance();
>>> -        helper.registerStringConstructor(Currency.class, new
>>> StringConstructor() {
>>> -            public Object construct(String s) {
>>> -                try {
>>> -                    return Currency.getInstance(s);
>>> -                } catch (IllegalArgumentException ex) {
>>> -                    throw new javax.jdo.JDOUserException(
>>> -                        msg.msg
>>> ("EXC_CurrencyStringConstructorIllegalArgument", s), ex); //NOI18N
>>> -                } catch (Exception ex) {
>>> -                    throw new JDOUserException(
>>> -                        msg.msg
>>> ("EXC_CurrencyStringConstructorException"), ex); //NOI18N
>>> +        if (isClassLoadable("java.util.Currency")) {
>>> +            helper.registerStringConstructor(Currency.class, new
>>> StringConstructor() {
>>> +                public Object construct(String s) {
>>> +                    try {
>>> +                        return Currency.getInstance(s);
>>> +                    } catch (IllegalArgumentException ex) {
>>> +                        throw new javax.jdo.JDOUserException(
>>> +                            msg.msg
>>> ("EXC_CurrencyStringConstructorIllegalArgument", s), ex); //NOI18N
>>> +                    } catch (Exception ex) {
>>> +                        throw new JDOUserException(
>>> +                            msg.msg
>>> ("EXC_CurrencyStringConstructorException"), ex); //NOI18N
>>> +                    }
>>>                  }
>>> -            }
>>> -        });
>>> +            });
>>> +        }
>>>          helper.registerStringConstructor(Locale.class, new
>>> StringConstructor() {
>>>              public Object construct(String s) {
>>>                  try {
>>> @@ -590,6 +592,18 @@
>>>                  return result;
>>>              }
>>>          });
>>> +    }
>>> +
>>> +    /**
>>> +     * Determine if a class is loadable in the current environment.
>>> +     */
>>> +    public static boolean isClassLoadable(String className) {
>>> +        try {
>>> +            Class.forName(className);
>>> +            return true;
>>> +        } catch (ClassNotFoundException ex) {
>>> +            return false;
>>> +        }
>>>      }
>>>
>>>      /**
>>>
>>> Modified: incubator/jdo/trunk/api20/test/java/javax/jdo/identity/
>>> ObjectIdentityTest.java
>>> URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/api20/test/
>>> java/javax/jdo/identity/ObjectIdentityTest.java?
>>> rev=220237&r1=220236&r2=220237&view=diff
>>> ==================================================================== 
>>> ==
>>> ========
>>> --- incubator/jdo/trunk/api20/test/java/javax/jdo/identity/
>>> ObjectIdentityTest.java (original)
>>> +++ incubator/jdo/trunk/api20/test/java/javax/jdo/identity/
>>> ObjectIdentityTest.java Thu Jul 21 21:48:28 2005
>>> @@ -113,6 +113,7 @@
>>>      }
>>>
>>>      public void testCurrencyConstructor() {
>>> +        if (!helper.isClassLoadable("java.util.Currency")) return;
>>>          ObjectIdentity c1 = new ObjectIdentity(Object.class,
>>>                  Currency.getInstance(Locale.US));
>>>          ObjectIdentity c2 = new ObjectIdentity(Object.class,
>>> @@ -251,11 +252,13 @@
>>>      }
>>>
>>>      public void testStringCurrencyConstructor() {
>>> +        if (!helper.isClassLoadable("java.util.Currency")) return;
>>>          Object c1 = new ObjectIdentity(Object.class,
>>>                      "java.util.Currency:USD");
>>>      }
>>>
>>>      public void testBadStringCurrencyConstructor() {
>>> +        if (!helper.isClassLoadable("java.util.Currency")) return;
>>>          try {
>>>              ObjectIdentity c1 = new ObjectIdentity(Object.class,
>>>                      "java.util.Currency:NowhereInTheWorld");
>>> @@ -303,6 +306,7 @@
>>>      }
>>>
>>>      public void testSerializedCurrency() {
>>> +        if (!helper.isClassLoadable("java.util.Currency")) return;
>>>          ObjectIdentity c1 = new ObjectIdentity(Object.class,
>>> Currency.getInstance(Locale.US));
>>>          ObjectIdentity c2 = new ObjectIdentity(Object.class,
>>> Currency.getInstance(Locale.US));
>>>          ObjectIdentity c3 = new ObjectIdentity(Object.class,
>>> Currency.getInstance(Locale.GERMANY));
>>>
>>>
>>>
>>>
>>
>> Craig Russell
>> Architect, Sun Java Enterprise System http://java.sun.com/products/ 
>> jdo
>> 408 276-5638 mailto:Craig.Russell@sun.com
>> P.S. A good JDO? O, Gasp!
>>
>>
>>
>
>
>
>

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Mime
View raw message