Hi Dan,

In our implementation the viewer instantiates and populates the Pageable object.

-----Original Message-----
From: Dan Haywood [mailto:[email protected]] 
Sent: Thursday, February 09, 2017 6:54 PM
To: [email protected]
Subject: Re: Apply pagination to collection (parented list)

Ok, but I still don't understand I'm afraid... what would instantiate and 
populate the Pageable object?

On Thu, 9 Feb 2017, 09:38 Arjun Gica Manipes, <[email protected]> wrote:

> Hi Dan,
>
> Thank you for your response.
>
> We plan it to use on ViewModel only. There's no problem on DataNucleus.
> We want to add an extra parameter (Pageable) to getProperty() method 
> located at CollectionAccessorFacetViaAccessor.java where the actual 
> invocation happens.
>
> ObjectAdapter.InvokeUtils.invoke(method, pageable, owningAdapter);
>
>
> Thanks and best regards,
> Arjun Gica Manipes
>
> -----Original Message-----
> From: Dan Haywood [mailto:[email protected]]
> Sent: Thursday, February 09, 2017 2:53 PM
> To: [email protected]
> Subject: Re: Apply pagination to collection (parented list)
>
> Hi Arjun,
> and welcome to the mailing list.
>
> Sounds like you've already delved quite a bit into the framework's 
> inner workings - that's nice to see!
>
> It's not going to be possible to do pagination this way, I'm afraid, 
> though there is pagination support already available, implemented at 
> the UI layer rather than in the domain layer.
>
> I was about to say that providing a Pageable as an arg will fail 
> because JDO/Datanucleus expects there to be a regular getter/setter to 
> populate the collection (assuming it's a regular "parented" 
> collection), but actually that's wrong - DN can just use the underlying 
> instance field.
>
> So, yes, the issue really is that getXxx(Pageable) isn't part of the 
> Apache Isis framework's coding conventions (aka programming model); as 
> you've uncovered it's current implementation ignores any getters that 
> takes args.
> There's perhaps an argument that it should throw an exception flagging 
> the fact that a getter with an arg is invalid.  By all means raise a 
> ticket on that if you wish via our JIRA... should be easy to implement.
>
> My question to you is, with getXxx(Pageable), what would be 
> responsible for populating the Pageable object?
>
> Meantime, to do pagination the way we currently have it designed, 
> using @CollectionLayout#paged [1]
>
> HTH
> Dan
>
> [1] 
> http://isis.apache.org/guides/rgant.html#_rgant-CollectionLayout_paged
>
>
>
> On Thu, 9 Feb 2017 at 01:12 Arjun Gica Manipes <[email protected]>
> wrote:
>
> > Hi Dan,
> >
> > I'm quite new to Apache ISIS. And I am trying to apply pagination to 
> > Collections (parented list).
> > What I am trying to do is to add extra parameter to the default 
> > getter method of the collection.
> >
> > @Collection(editing = Editing.DISABLED) 
> > @CollectionLayout(defaultView = "table") @Getter private 
> > List<Person> members = new ArrayList<>();
> >
> > The default getter method is:
> > public List<Person> getMembers() {
> > ...
> > }
> >
> > I am trying to do this,
> > public List<Person> getMembers(final Pageable pageable) { ...
> > }
> > Pageable contains parameters needed for pagination such us 
> > pageNumber, pageSize and etc.
> >
> > But the problem is it's not recognize as its getter because it has a 
> > parameter.
> > So far, we have found out that the newly created method with 
> > parameter is remove via findAndRemoveCollectionAccessors() method 
> > located at CollectionAccessorFacetViaAccessorFactory.java
> >
> > Any idea or suggestion for its implementation?
> >
> >
> > Thanks and best regards,
> > Arjun Gica Manipes
> >
> >
>

Reply via email to