I think that your Comparable implementation of ShoppingBaskItem is wrong. What does ShoppingBasketItem's constructor look like?
On 13 January 2014 16:08, Chohan, Dharmesh <[email protected]> wrote: > Hi > > I am implementing a domain object mapping of 1 to many. I have followed > the documentation on > http://isis.apache.org/components/objectstores/jdo/managed-1-to-m-relationships.html > > This is what I have implemented, > > @javax.jdo.annotations.Persistent(mappedBy="shoppingBasket") > private SortedSet<ShoppingBasketItem> shoppingBasketItem = new > TreeSet<ShoppingBasketItem>(); > > @javax.jdo.annotations.Column(allowsNull="false") > @MemberOrder(sequence = "3") > public SortedSet <ShoppingBasketItem> getShoppingBasketItem() { > return shoppingBasketItem; > } > > public void setShoppingBasketItem(SortedSet <ShoppingBasketItem> > shoppingBasketItem) { > this.shoppingBasketItem = shoppingBasketItem; > } > > public class ShoppingBasketItem implements Comparable<ShoppingBasketItem> { > > private ShoppingBasket shoppingBasket; > > @javax.jdo.annotations.Column(allowsNull="false") > public ShoppingBasket getShoppingBasket() { > return shoppingBasket; > } > > public void setShoppingBasket(ShoppingBasket shoppingBasket) { > this.shoppingBasket = shoppingBasket; > } > > ... > > When I run ISIS and test the screen, I am getting the following exception, > > * java.lang.IllegalArgumentException > * No such method ' getShoppingBasketItem' or 'isShoppingBasketItem' > * > org.apache.isis.applib.util.Clause#getValueOf(ObjectContracts.java:204) > * > org.apache.isis.applib.util.ObjectContracts#compare(ObjectContracts.java:45) > * > org.atos.tfgm.basket.ShoppingBasketItem#compareTo(ShoppingBasketItem.java:117) > * > org.atos.tfgm.basket.ShoppingBasketItem#compareTo(ShoppingBasketItem.java:15) > * java.util.TreeMap#put(TreeMap.java:545) > * java.util.TreeSet#add(TreeSet.java:238) > * > org.atos.tfgm.basket.ShoppingBaskets#getBasket(ShoppingBaskets.java:150) > * > sun.reflect.NativeMethodAccessorImpl#invoke0(NativeMethodAccessorImpl.java:-2) > * > sun.reflect.NativeMethodAccessorImpl#invoke(NativeMethodAccessorImpl.java:39) > * > sun.reflect.DelegatingMethodAccessorImpl#invoke(DelegatingMethodAccessorImpl.java:25) > * java.lang.reflect.Method#invoke(Method.java:597) > > > Have I implemented the relationship incorrectly or missing something. > > > Regards > Dharmesh > > >
