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
>
>
>

Reply via email to