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 <[EMAIL PROTECTED]>:

> 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: [EMAIL PROTECTED]
> > 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:[EMAIL PROTECTED]
> P.S. A good JDO? O, Gasp!
>
>



Reply via email to