[otj-users] Strange problem in very simple example
Marco Mosconi
mosconi at cs.tu-berlin.de
Thu Jul 10 00:56:10 CEST 2008
Hi Otto,
this seems to be a technical, JUnit-related problem. Running your test()
method as regular main-method works fine.
We will have a look at this.
Marco
Olaf Otto schrieb:
> Hello!
>
> I wanted to start working on a very simple team & role example in order
> to play with persistence in OTJ,
> and for that purpose i installed the latest OTJ (1.2.0) in ganymede.
>
> I have written a very simple team, role, baseclass and testcase (pasted
> at the bottom of the message), which fails with the following exception:
>
> java.lang.NoSuchMethodError:
> de.tuberlin.swt.otdt.persistenceplayground.Person.getde$tuberlin$swt$otdt$persistenceplayground$Family_OT$Tag()S
>
> at
> de.tuberlin.swt.otdt.persistenceplayground.Family._OT$liftTo$Parent(Family.java:13)
>
> at
> de.tuberlin.swt.otdt.persistenceplayground.Family.setParent(Family.java:22)
> at
> de.tuberlin.swt.otdt.persistenceplayground.PlaygroundTest.test(PlaygroundTest.java:11)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
>
> at
> org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
>
> at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>
> at
> org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
>
> at
> org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
> at
> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
>
> at
> org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
>
> at
> org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
>
> at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>
> at
> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
> at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
>
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
>
>
> Here are my classes:
> ---- team and role -------------------------
>
> package de.tuberlin.swt.otdt.persistenceplayground;
>
> /**
> * @author Olaf Otto
> *
> */
> public team class Family {
> private Parent _parent;
>
> protected class Parent playedBy Person {
> }
>
> /**
> * lifting setter.
> *
> * @param person
> * must not be null.
> */
> public void setParent(Person as Parent p) {
> _parent = p;
> }
>
> /**
> * lowering getter.
> *
> * @return the parent, or null.
> */
> public Person getParent() {
> return _parent;
> }
> }
>
>
> ---- baseclass -------------------------
>
> package de.tuberlin.swt.otdt.persistenceplayground;
>
> /**
> * Represents a person.
> *
> * @author Olaf Otto
> */
> public class Person {
> private String firstname;
> private String lastname;
>
> public Person(String firstname, String lastname) {
> this.firstname = firstname;
> this.lastname = lastname;
> }
> }
>
> -------------- testcase ---------------
>
> package de.tuberlin.swt.otdt.persistenceplayground;
>
> import org.junit.Test;
>
> public class PlaygroundTest {
> @Test
> public void test() {
> Person person1 = new Person("person1", "person1");
> Family family = new Family();
> within (family) {
> family.setParent(person1);
> }
> }
> }
>
>
> I run ganymede on Ubuntu 8.04 with a sun j2se jdk 1.6.0_10-beta.
>
> What am i doing wrong?
>
> Thanks and greetings,
> Olaf
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> otj-users mailing list
> otj-users at objectteams.org
> http://www.objectteams.org/cgi-bin/mailman/listinfo/otj-users
--
Dipl.-Inform. Marco Mosconi
Technische Universität Berlin
Fak. IV, Fachg. Softwaretechnik
More information about the otj-users
mailing list