You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by tubin gen <fa...@gmail.com> on 2009/08/03 16:49:38 UTC

detachable model in a listview

Please help me use detachablemodel inside a list view

here is my code

private class DocumentsPanel  extends  Panel {

public DocumentsPanel( final List<AuditProgramDocument> documents ,final
String name) {
super("documentsPanel");
List<IModel<AuditProgramDocument>>   models= new
ArrayList<IModel<AuditProgramDocument>>();
for(final AuditProgramDocument  auditProgramDocument :documents){
models.add(new
LoadableDetachableModel<AuditProgramDocument>(auditProgramDocument){
Long sysDocumentId;
{
sysDocumentId=auditProgramDocument.getSysDocumentId();
}
@Override
protected AuditProgramDocument load() {

return auditProgramDocumentService.getById(sysDocumentId);
}
});
}
add(new ListView<IModel<AuditProgramDocument>>("documentsList",models){

@Override
protected void populateItem(ListItem<IModel<AuditProgramDocument>> item) {
AuditProgramDocument
 auditProgramDocument=item.getModelObject().getObject();
item.add(new Link<Void>("view"){
@Override
public void onClick() {
System.out.println(getParent().getDefaultModelObject());
*AuditProgramDocument auditProgramDocument=
(AuditProgramDocument)getParent().getDefaultModelObject();*
download(name+".pdf", auditProgramDocument.getDocumentBytes());
}
});
}
});
}
}

the highlited line I get class cast exception, Please tell me  what is wrong

Re: detachable model in a listview

Posted by Igor Vaynberg <ig...@gmail.com>.
yep, use dataview and
http://wicketinaction.com/2008/09/building-a-smart-entitymodel/

-igor

On Mon, Aug 3, 2009 at 9:28 AM, Martijn
Dashorst<ma...@gmail.com> wrote:
> Use DataView or take a look at how PropertyListView creates a
> CompoundPropertyModel for each listitem.
>
> Martijn
>
> On Mon, Aug 3, 2009 at 6:25 PM, fachhoch<fa...@gmail.com> wrote:
>>
>> That I get  it from the database but my question is when user clicks on a
>> particular Item ie  AuditProgramDocument I want to reload this as its
>> auditProgramDocument.getDocumentBytes() is lazy  , In refreshing view I can
>> reload each item but why not in listview ?
>>
>> igor.vaynberg wrote:
>>>
>>> where does List<AuditProgramDocument> documents come from?
>>>
>>> -igor
>>>
>>> On Mon, Aug 3, 2009 at 7:49 AM, tubin gen<fa...@gmail.com> wrote:
>>>> Please help me use detachablemodel inside a list view
>>>>
>>>> here is my code
>>>>
>>>> private class DocumentsPanel  extends  Panel {
>>>>
>>>> public DocumentsPanel( final List<AuditProgramDocument> documents ,final
>>>> String name) {
>>>> super("documentsPanel");
>>>> List<IModel<AuditProgramDocument>>   models= new
>>>> ArrayList<IModel<AuditProgramDocument>>();
>>>> for(final AuditProgramDocument  auditProgramDocument :documents){
>>>> models.add(new
>>>> LoadableDetachableModel<AuditProgramDocument>(auditProgramDocument){
>>>> Long sysDocumentId;
>>>> {
>>>> sysDocumentId=auditProgramDocument.getSysDocumentId();
>>>> }
>>>> @Override
>>>> protected AuditProgramDocument load() {
>>>>
>>>> return auditProgramDocumentService.getById(sysDocumentId);
>>>> }
>>>> });
>>>> }
>>>> add(new ListView<IModel<AuditProgramDocument>>("documentsList",models){
>>>>
>>>> @Override
>>>> protected void populateItem(ListItem<IModel<AuditProgramDocument>> item)
>>>> {
>>>> AuditProgramDocument
>>>>  auditProgramDocument=item.getModelObject().getObject();
>>>> item.add(new Link<Void>("view"){
>>>> @Override
>>>> public void onClick() {
>>>> System.out.println(getParent().getDefaultModelObject());
>>>> *AuditProgramDocument auditProgramDocument=
>>>> (AuditProgramDocument)getParent().getDefaultModelObject();*
>>>> download(name+".pdf", auditProgramDocument.getDocumentBytes());
>>>> }
>>>> });
>>>> }
>>>> });
>>>> }
>>>> }
>>>>
>>>> the highlited line I get class cast exception, Please tell me  what is
>>>> wrong
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>
>>>
>>>
>>
>> --
>> View this message in context: http://www.nabble.com/detachable-model-in-a-listview-tp24792175p24793501.html
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
>
>
> --
> Become a Wicket expert, learn from the best: http://wicketinaction.com
> Apache Wicket 1.4 increases type safety for web applications
> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.0
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: detachable model in a listview

Posted by fachhoch <fa...@gmail.com>.
Please provide me an example of ListView   where each  item  is detachable .

 

Martijn Dashorst wrote:
> 
> Use DataView or take a look at how PropertyListView creates a
> CompoundPropertyModel for each listitem.
> 
> Martijn
> 
> On Mon, Aug 3, 2009 at 6:25 PM, fachhoch<fa...@gmail.com> wrote:
>>
>> That I get  it from the database but my question is when user clicks on a
>> particular Item ie  AuditProgramDocument I want to reload this as its
>> auditProgramDocument.getDocumentBytes() is lazy  , In refreshing view I
>> can
>> reload each item but why not in listview ?
>>
>> igor.vaynberg wrote:
>>>
>>> where does List<AuditProgramDocument> documents come from?
>>>
>>> -igor
>>>
>>> On Mon, Aug 3, 2009 at 7:49 AM, tubin gen<fa...@gmail.com> wrote:
>>>> Please help me use detachablemodel inside a list view
>>>>
>>>> here is my code
>>>>
>>>> private class DocumentsPanel  extends  Panel {
>>>>
>>>> public DocumentsPanel( final List<AuditProgramDocument> documents
>>>> ,final
>>>> String name) {
>>>> super("documentsPanel");
>>>> List<IModel<AuditProgramDocument>>   models= new
>>>> ArrayList<IModel<AuditProgramDocument>>();
>>>> for(final AuditProgramDocument  auditProgramDocument :documents){
>>>> models.add(new
>>>> LoadableDetachableModel<AuditProgramDocument>(auditProgramDocument){
>>>> Long sysDocumentId;
>>>> {
>>>> sysDocumentId=auditProgramDocument.getSysDocumentId();
>>>> }
>>>> @Override
>>>> protected AuditProgramDocument load() {
>>>>
>>>> return auditProgramDocumentService.getById(sysDocumentId);
>>>> }
>>>> });
>>>> }
>>>> add(new ListView<IModel<AuditProgramDocument>>("documentsList",models){
>>>>
>>>> @Override
>>>> protected void populateItem(ListItem<IModel<AuditProgramDocument>>
>>>> item)
>>>> {
>>>> AuditProgramDocument
>>>>  auditProgramDocument=item.getModelObject().getObject();
>>>> item.add(new Link<Void>("view"){
>>>> @Override
>>>> public void onClick() {
>>>> System.out.println(getParent().getDefaultModelObject());
>>>> *AuditProgramDocument auditProgramDocument=
>>>> (AuditProgramDocument)getParent().getDefaultModelObject();*
>>>> download(name+".pdf", auditProgramDocument.getDocumentBytes());
>>>> }
>>>> });
>>>> }
>>>> });
>>>> }
>>>> }
>>>>
>>>> the highlited line I get class cast exception, Please tell me  what is
>>>> wrong
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/detachable-model-in-a-listview-tp24792175p24793501.html
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
> 
> 
> 
> -- 
> Become a Wicket expert, learn from the best: http://wicketinaction.com
> Apache Wicket 1.4 increases type safety for web applications
> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.0
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/detachable-model-in-a-listview-tp24792175p24797188.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: detachable model in a listview

Posted by Martijn Dashorst <ma...@gmail.com>.
Use DataView or take a look at how PropertyListView creates a
CompoundPropertyModel for each listitem.

Martijn

On Mon, Aug 3, 2009 at 6:25 PM, fachhoch<fa...@gmail.com> wrote:
>
> That I get  it from the database but my question is when user clicks on a
> particular Item ie  AuditProgramDocument I want to reload this as its
> auditProgramDocument.getDocumentBytes() is lazy  , In refreshing view I can
> reload each item but why not in listview ?
>
> igor.vaynberg wrote:
>>
>> where does List<AuditProgramDocument> documents come from?
>>
>> -igor
>>
>> On Mon, Aug 3, 2009 at 7:49 AM, tubin gen<fa...@gmail.com> wrote:
>>> Please help me use detachablemodel inside a list view
>>>
>>> here is my code
>>>
>>> private class DocumentsPanel  extends  Panel {
>>>
>>> public DocumentsPanel( final List<AuditProgramDocument> documents ,final
>>> String name) {
>>> super("documentsPanel");
>>> List<IModel<AuditProgramDocument>>   models= new
>>> ArrayList<IModel<AuditProgramDocument>>();
>>> for(final AuditProgramDocument  auditProgramDocument :documents){
>>> models.add(new
>>> LoadableDetachableModel<AuditProgramDocument>(auditProgramDocument){
>>> Long sysDocumentId;
>>> {
>>> sysDocumentId=auditProgramDocument.getSysDocumentId();
>>> }
>>> @Override
>>> protected AuditProgramDocument load() {
>>>
>>> return auditProgramDocumentService.getById(sysDocumentId);
>>> }
>>> });
>>> }
>>> add(new ListView<IModel<AuditProgramDocument>>("documentsList",models){
>>>
>>> @Override
>>> protected void populateItem(ListItem<IModel<AuditProgramDocument>> item)
>>> {
>>> AuditProgramDocument
>>>  auditProgramDocument=item.getModelObject().getObject();
>>> item.add(new Link<Void>("view"){
>>> @Override
>>> public void onClick() {
>>> System.out.println(getParent().getDefaultModelObject());
>>> *AuditProgramDocument auditProgramDocument=
>>> (AuditProgramDocument)getParent().getDefaultModelObject();*
>>> download(name+".pdf", auditProgramDocument.getDocumentBytes());
>>> }
>>> });
>>> }
>>> });
>>> }
>>> }
>>>
>>> the highlited line I get class cast exception, Please tell me  what is
>>> wrong
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/detachable-model-in-a-listview-tp24792175p24793501.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>



-- 
Become a Wicket expert, learn from the best: http://wicketinaction.com
Apache Wicket 1.4 increases type safety for web applications
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.0

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: detachable model in a listview

Posted by fachhoch <fa...@gmail.com>.
That I get  it from the database but my question is when user clicks on a
particular Item ie  AuditProgramDocument I want to reload this as its
auditProgramDocument.getDocumentBytes() is lazy  , In refreshing view I can
reload each item but why not in listview ?

igor.vaynberg wrote:
> 
> where does List<AuditProgramDocument> documents come from?
> 
> -igor
> 
> On Mon, Aug 3, 2009 at 7:49 AM, tubin gen<fa...@gmail.com> wrote:
>> Please help me use detachablemodel inside a list view
>>
>> here is my code
>>
>> private class DocumentsPanel  extends  Panel {
>>
>> public DocumentsPanel( final List<AuditProgramDocument> documents ,final
>> String name) {
>> super("documentsPanel");
>> List<IModel<AuditProgramDocument>>   models= new
>> ArrayList<IModel<AuditProgramDocument>>();
>> for(final AuditProgramDocument  auditProgramDocument :documents){
>> models.add(new
>> LoadableDetachableModel<AuditProgramDocument>(auditProgramDocument){
>> Long sysDocumentId;
>> {
>> sysDocumentId=auditProgramDocument.getSysDocumentId();
>> }
>> @Override
>> protected AuditProgramDocument load() {
>>
>> return auditProgramDocumentService.getById(sysDocumentId);
>> }
>> });
>> }
>> add(new ListView<IModel<AuditProgramDocument>>("documentsList",models){
>>
>> @Override
>> protected void populateItem(ListItem<IModel<AuditProgramDocument>> item)
>> {
>> AuditProgramDocument
>>  auditProgramDocument=item.getModelObject().getObject();
>> item.add(new Link<Void>("view"){
>> @Override
>> public void onClick() {
>> System.out.println(getParent().getDefaultModelObject());
>> *AuditProgramDocument auditProgramDocument=
>> (AuditProgramDocument)getParent().getDefaultModelObject();*
>> download(name+".pdf", auditProgramDocument.getDocumentBytes());
>> }
>> });
>> }
>> });
>> }
>> }
>>
>> the highlited line I get class cast exception, Please tell me  what is
>> wrong
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/detachable-model-in-a-listview-tp24792175p24793501.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: detachable model in a listview

Posted by Igor Vaynberg <ig...@gmail.com>.
where does List<AuditProgramDocument> documents come from?

-igor

On Mon, Aug 3, 2009 at 7:49 AM, tubin gen<fa...@gmail.com> wrote:
> Please help me use detachablemodel inside a list view
>
> here is my code
>
> private class DocumentsPanel  extends  Panel {
>
> public DocumentsPanel( final List<AuditProgramDocument> documents ,final
> String name) {
> super("documentsPanel");
> List<IModel<AuditProgramDocument>>   models= new
> ArrayList<IModel<AuditProgramDocument>>();
> for(final AuditProgramDocument  auditProgramDocument :documents){
> models.add(new
> LoadableDetachableModel<AuditProgramDocument>(auditProgramDocument){
> Long sysDocumentId;
> {
> sysDocumentId=auditProgramDocument.getSysDocumentId();
> }
> @Override
> protected AuditProgramDocument load() {
>
> return auditProgramDocumentService.getById(sysDocumentId);
> }
> });
> }
> add(new ListView<IModel<AuditProgramDocument>>("documentsList",models){
>
> @Override
> protected void populateItem(ListItem<IModel<AuditProgramDocument>> item) {
> AuditProgramDocument
>  auditProgramDocument=item.getModelObject().getObject();
> item.add(new Link<Void>("view"){
> @Override
> public void onClick() {
> System.out.println(getParent().getDefaultModelObject());
> *AuditProgramDocument auditProgramDocument=
> (AuditProgramDocument)getParent().getDefaultModelObject();*
> download(name+".pdf", auditProgramDocument.getDocumentBytes());
> }
> });
> }
> });
> }
> }
>
> the highlited line I get class cast exception, Please tell me  what is wrong
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org