Re: WicketNotSerializableException withi FileUpload

2007-11-09 Thread James Perry
I removed the Model instantion from the FileUploadField and this issue has gone.

Cheers!
J.

On Nov 8, 2007 11:31 PM, Johan Compagner <[EMAIL PROTECTED]> wrote:
> Ok the problem is that somehow you are holding on to a FileUpload in your
> page
> And those are not meant to be kept over requests.
>
> it seems that you keep it if i read it right in a normal Model:
>
> [class=org.apache.wicket.model.Model]
>private java.io.Serializable
> org.apache.wicket.model.Model.object
> [class=org.apache.wicket.markup.html.form.upload.FileUpload]
>
> How do you create the FileUploadField?
>
> I guess with a normal new Model()?
>
> I think we need to fix that somehow in the detach of the FUF because if the
> model is set
> we should look into the model and if it is a FileUpload get rid of it or
> something.
>
> johan
>
> On Nov 8, 2007 3:26 PM, James Perry <[EMAIL PROTECTED]> wrote:
>
> > Hello Johan,
> >
> > Thanks for the repsonse. :-)
> >
> > All I have done is follow the code within theSingleFileUpload example
> > in wicketstuff.com. Is this a bug or am I doing something wrong? I am
> > using Wicket 1.3.0-beta4 and here is the stack of the exception:
> >
> > ERROR - Objects- Error serializing object class
> > com.wicketcart.pages.admin.AddProductPage [object=[Page class =
> > com.wicketcart.pages.admin.AddProductPage, id = 2, version = 0]]
> >
> > org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
> > Unable to serialize class:
> > org.apache.wicket.util.io.DeferredFileOutputStream
> > Field hierarchy is:
> >  2 [class=com.wicketcart.pages.admin.AddProductPage, path=2]
> >private java.lang.Object
> > org.apache.wicket.MarkupContainer.children
> > [class=com.wicketcart.components.MenuBorder, path=2:libBorder]
> >  private java.lang.Object
> > org.apache.wicket.MarkupContainer.children
> > [class=[Lorg.apache.wicket.Component;]
> >private
> > org.apache.wicket.markup.html.ContainerWithAssociatedMarkupHelper
> >
> > org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup.markupHelper
> > [7]
> > [class=com.wicketcart.pages.admin.AddProductPage$AddProductForm,
> > path=2:libBorder:productForm]
> >  private java.lang.Object
> > org.apache.wicket.MarkupContainer.children
> > [class=[Lorg.apache.wicket.Component;]
> >private final java.lang.String
> > org.apache.wicket.markup.html.form.ChoiceRenderer.idExpression[7]
> > [class=org.apache.wicket.markup.html.form.upload.FileUploadField,
> > path=2:libBorder:productForm:fileInput]
> >  org.apache.wicket.model.IModel
> > org.apache.wicket.Component.model
> > [class=org.apache.wicket.model.Model]
> >private java.io.Serializable
> > org.apache.wicket.model.Model.object
> > [class=org.apache.wicket.markup.html.form.upload.FileUpload]
> >  private final org.apache.wicket.util.upload.FileItem
> > org.apache.wicket.markup.html.form.upload.FileUpload.item
> > [class=org.apache.wicket.util.upload.DiskFileItem]
> >private
> > org.apache.wicket.util.io.DeferredFileOutputStream
> > org.apache.wicket.util.upload.DiskFileItem.dfos
> > [class=org.apache.wicket.util.io.DeferredFileOutputStream] <-
> > field that is not serializable
> >at org.apache.wicket.util.io.SerializableChecker.check(
> > SerializableChecker.java:347)
> >at org.apache.wicket.util.io.SerializableChecker.checkFields(
> > SerializableChecker.java:615)
> >at org.apache.wicket.util.io.SerializableChecker.check(
> > SerializableChecker.java:538)
> >at org.apache.wicket.util.io.SerializableChecker.checkFields(
> > SerializableChecker.java:615)
> >at org.apache.wicket.util.io.SerializableChecker.check(
> > SerializableChecker.java:538)
> >at org.apache.wicket.util.io.SerializableChecker.checkFields(
> > SerializableChecker.java:615)
> >at org.apache.wicket.util.io.SerializableChecker.check(
> > SerializableChecker.java:538)
> >at org.apache.wicket.util.io.SerializableChecker.checkFields(
> > SerializableChecker.java:615)
> >at org.apache.wicket.util.io.SerializableChecker.check(
> > SerializableChecker.java:538)
> >at org.apache.wicket.util.io.SerializableChecker.check(
> > SerializableChecker.java:393)
> >at org.apache.wicket.util.io.SerializableChecker.checkFields(
> > SerializableChecker.java:615)
> >at org.apache.wicket.util.io.SerializableChecker.check(
> > SerializableChecker.java:538)
> >at org.apache.wicket.util.io.SerializableChecker.check(
> > SerializableChecker.java:393)
> >at org.apache.wicket.util.io.SerializableChecker.checkFields(
> > SerializableChecker.java:615)
> >at org.apache.wicket.util.io.SerializableChecker.check(
> > SerializableChecker.java:538)
> >at org.apache.wicket.util.io.SerializableChecker.checkFields(
> > SerializableChecker.java:615)
> >at org.apache.wicket.util.io.SerializableChecker

Re: WicketNotSerializableException withi FileUpload

2007-11-08 Thread Johan Compagner
Ok the problem is that somehow you are holding on to a FileUpload in your
page
And those are not meant to be kept over requests.

it seems that you keep it if i read it right in a normal Model:

[class=org.apache.wicket.model.Model]
   private java.io.Serializable
org.apache.wicket.model.Model.object
[class=org.apache.wicket.markup.html.form.upload.FileUpload]

How do you create the FileUploadField?

I guess with a normal new Model()?

I think we need to fix that somehow in the detach of the FUF because if the
model is set
we should look into the model and if it is a FileUpload get rid of it or
something.

johan
On Nov 8, 2007 3:26 PM, James Perry <[EMAIL PROTECTED]> wrote:

> Hello Johan,
>
> Thanks for the repsonse. :-)
>
> All I have done is follow the code within theSingleFileUpload example
> in wicketstuff.com. Is this a bug or am I doing something wrong? I am
> using Wicket 1.3.0-beta4 and here is the stack of the exception:
>
> ERROR - Objects- Error serializing object class
> com.wicketcart.pages.admin.AddProductPage [object=[Page class =
> com.wicketcart.pages.admin.AddProductPage, id = 2, version = 0]]
>
> org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
> Unable to serialize class:
> org.apache.wicket.util.io.DeferredFileOutputStream
> Field hierarchy is:
>  2 [class=com.wicketcart.pages.admin.AddProductPage, path=2]
>private java.lang.Object
> org.apache.wicket.MarkupContainer.children
> [class=com.wicketcart.components.MenuBorder, path=2:libBorder]
>  private java.lang.Object
> org.apache.wicket.MarkupContainer.children
> [class=[Lorg.apache.wicket.Component;]
>private
> org.apache.wicket.markup.html.ContainerWithAssociatedMarkupHelper
>
> org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup.markupHelper
> [7]
> [class=com.wicketcart.pages.admin.AddProductPage$AddProductForm,
> path=2:libBorder:productForm]
>  private java.lang.Object
> org.apache.wicket.MarkupContainer.children
> [class=[Lorg.apache.wicket.Component;]
>private final java.lang.String
> org.apache.wicket.markup.html.form.ChoiceRenderer.idExpression[7]
> [class=org.apache.wicket.markup.html.form.upload.FileUploadField,
> path=2:libBorder:productForm:fileInput]
>  org.apache.wicket.model.IModel
> org.apache.wicket.Component.model
> [class=org.apache.wicket.model.Model]
>private java.io.Serializable
> org.apache.wicket.model.Model.object
> [class=org.apache.wicket.markup.html.form.upload.FileUpload]
>  private final org.apache.wicket.util.upload.FileItem
> org.apache.wicket.markup.html.form.upload.FileUpload.item
> [class=org.apache.wicket.util.upload.DiskFileItem]
>private
> org.apache.wicket.util.io.DeferredFileOutputStream
> org.apache.wicket.util.upload.DiskFileItem.dfos
> [class=org.apache.wicket.util.io.DeferredFileOutputStream] <-
> field that is not serializable
>at org.apache.wicket.util.io.SerializableChecker.check(
> SerializableChecker.java:347)
>at org.apache.wicket.util.io.SerializableChecker.checkFields(
> SerializableChecker.java:615)
>at org.apache.wicket.util.io.SerializableChecker.check(
> SerializableChecker.java:538)
>at org.apache.wicket.util.io.SerializableChecker.checkFields(
> SerializableChecker.java:615)
>at org.apache.wicket.util.io.SerializableChecker.check(
> SerializableChecker.java:538)
>at org.apache.wicket.util.io.SerializableChecker.checkFields(
> SerializableChecker.java:615)
>at org.apache.wicket.util.io.SerializableChecker.check(
> SerializableChecker.java:538)
>at org.apache.wicket.util.io.SerializableChecker.checkFields(
> SerializableChecker.java:615)
>at org.apache.wicket.util.io.SerializableChecker.check(
> SerializableChecker.java:538)
>at org.apache.wicket.util.io.SerializableChecker.check(
> SerializableChecker.java:393)
>at org.apache.wicket.util.io.SerializableChecker.checkFields(
> SerializableChecker.java:615)
>at org.apache.wicket.util.io.SerializableChecker.check(
> SerializableChecker.java:538)
>at org.apache.wicket.util.io.SerializableChecker.check(
> SerializableChecker.java:393)
>at org.apache.wicket.util.io.SerializableChecker.checkFields(
> SerializableChecker.java:615)
>at org.apache.wicket.util.io.SerializableChecker.check(
> SerializableChecker.java:538)
>at org.apache.wicket.util.io.SerializableChecker.checkFields(
> SerializableChecker.java:615)
>at org.apache.wicket.util.io.SerializableChecker.check(
> SerializableChecker.java:538)
>at
> org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(
> SerializableChecker.java:683)
>at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java
> :298)
>at
> org.apache.wicket.util.io.IObjectStreamFactory$1.writeObjectOverride(
> IObjectStreamFactory.java:74)
>at java.io

Re: WicketNotSerializableException withi FileUpload

2007-11-08 Thread James Perry
Hello Johan,

Thanks for the repsonse. :-)

All I have done is follow the code within theSingleFileUpload example
in wicketstuff.com. Is this a bug or am I doing something wrong? I am
using Wicket 1.3.0-beta4 and here is the stack of the exception:

ERROR - Objects- Error serializing object class
com.wicketcart.pages.admin.AddProductPage [object=[Page class =
com.wicketcart.pages.admin.AddProductPage, id = 2, version = 0]]
org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
Unable to serialize class:
org.apache.wicket.util.io.DeferredFileOutputStream
Field hierarchy is:
  2 [class=com.wicketcart.pages.admin.AddProductPage, path=2]
private java.lang.Object
org.apache.wicket.MarkupContainer.children
[class=com.wicketcart.components.MenuBorder, path=2:libBorder]
  private java.lang.Object
org.apache.wicket.MarkupContainer.children
[class=[Lorg.apache.wicket.Component;]
private
org.apache.wicket.markup.html.ContainerWithAssociatedMarkupHelper
org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup.markupHelper[7]
[class=com.wicketcart.pages.admin.AddProductPage$AddProductForm,
path=2:libBorder:productForm]
  private java.lang.Object
org.apache.wicket.MarkupContainer.children
[class=[Lorg.apache.wicket.Component;]
private final java.lang.String
org.apache.wicket.markup.html.form.ChoiceRenderer.idExpression[7]
[class=org.apache.wicket.markup.html.form.upload.FileUploadField,
path=2:libBorder:productForm:fileInput]
  org.apache.wicket.model.IModel
org.apache.wicket.Component.model
[class=org.apache.wicket.model.Model]
private java.io.Serializable
org.apache.wicket.model.Model.object
[class=org.apache.wicket.markup.html.form.upload.FileUpload]
  private final org.apache.wicket.util.upload.FileItem
org.apache.wicket.markup.html.form.upload.FileUpload.item
[class=org.apache.wicket.util.upload.DiskFileItem]
private
org.apache.wicket.util.io.DeferredFileOutputStream
org.apache.wicket.util.upload.DiskFileItem.dfos
[class=org.apache.wicket.util.io.DeferredFileOutputStream] <-
field that is not serializable
at 
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:347)
at 
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at 
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at 
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at 
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at 
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at 
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at 
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at 
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at 
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:393)
at 
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at 
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at 
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:393)
at 
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at 
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at 
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
at 
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
at 
org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.java:683)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
at 
org.apache.wicket.util.io.IObjectStreamFactory$1.writeObjectOverride(IObjectStreamFactory.java:74)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
at 
org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1097)
at 
org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:200)
at 
org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:709)
at 
org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:337)
at org.apache.wicket.Session.requestDetached(Session.java:1391)
at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1016)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1263)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:489)
at 
org.apache.wicket.protocol.http.WicketFilter.doG

Re: WicketNotSerializableException withi FileUpload

2007-11-07 Thread Johan Compagner
what is the full stack of the exception?
because who does have that field?
Streams should always be transient because those can't be serialized
whats the wicket version?

johan


On 11/6/07, James Perry <[EMAIL PROTECTED]> wrote:
>
> Hello fellow Wicket users,
>
> I am getting a
> org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
> Unable to serialize class:
> org.apache.wicket.util.io.DeferredFileOutputStream exception when I
> added a file upload feature to my AddProductForm.
>
> My form is serialiazable yet I don't which of its child components are
> not serializable. Can anyone shed any light on this?
>
> Cheers,
> James.
>
> Here is my Page class:
>
> public class AddProductPage extends AdminPage {
>
>private static final long serialVersionUID = 1L;
>
>@SpringBean(name="adminService")
>private AdminService adminService;
>
>public AddProductPage(Product product) {
>MenuBorder border = new MenuBorder("libBorder");
>border.add(new FeedbackPanel("feedback"));
>border.add(new AddProductForm("productForm", product));
>add(border);
>}
>
>private final class AddProductForm extends Form {
>
>private static final long serialVersionUID = 1L;
>
>private FileUploadField fileUploadField;
>
>public AddProductForm(String id, Product product) {
>super(id, new CompoundPropertyModel(product));
>setMultiPart(true);
>add(new RequiredTextField("name"));
>add(new RequiredTextArea("description"));
>add(new RequiredTextField("sellValue",
> BigDecimal.class));
>add(new RequiredTextField("units", Long.class));
>add(new CheckBox("onSell"));
>add(new DropDownChoice("category",
> catalogService.getCategories()));
>add(new DropDownChoice("manufacturer",
> catalogService.getManufacturers()));
>add(fileUploadField = new
> FileUploadField("fileInput", new
> Model(fileUploadField)));
>setMaxSize(Bytes.megabytes(100));
>}
>
>@Override
>protected void onSubmit() {
>final FileUpload upload =
> fileUploadField.getFileUpload();
>if (upload != null)
>System.out.println("File is not empty! Whoo
> hooo!");
>else
>System.out.println("File is empty! Whoo
> hooo!");
>fileUploadField.detachModels();
>/**Product product = (Product) getModelObject();
>product.setEntryDate(new Timestamp(
> System.currentTimeMillis()));
>product.setImageURL("uploads/");
>System.out.println(product.getCategory());
>adminService.saveProduct(product);
>setResponsePage(ViewProductsPage.class);**/
>}
>
>}
>
> }
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


WicketNotSerializableException withi FileUpload

2007-11-06 Thread James Perry
Hello fellow Wicket users,

I am getting a 
org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
Unable to serialize class:
org.apache.wicket.util.io.DeferredFileOutputStream exception when I
added a file upload feature to my AddProductForm.

My form is serialiazable yet I don't which of its child components are
not serializable. Can anyone shed any light on this?

Cheers,
James.

Here is my Page class:

public class AddProductPage extends AdminPage {

private static final long serialVersionUID = 1L;

@SpringBean(name="adminService")
private AdminService adminService;

public AddProductPage(Product product) {
MenuBorder border = new MenuBorder("libBorder");
border.add(new FeedbackPanel("feedback"));
border.add(new AddProductForm("productForm", product));
add(border);
}

private final class AddProductForm extends Form {

private static final long serialVersionUID = 1L;

private FileUploadField fileUploadField;

public AddProductForm(String id, Product product) {
super(id, new CompoundPropertyModel(product));
setMultiPart(true);
add(new RequiredTextField("name"));
add(new RequiredTextArea("description"));
add(new RequiredTextField("sellValue", 
BigDecimal.class));
add(new RequiredTextField("units", Long.class));
add(new CheckBox("onSell"));
add(new DropDownChoice("category", 
catalogService.getCategories()));
add(new DropDownChoice("manufacturer", 
catalogService.getManufacturers()));
add(fileUploadField = new FileUploadField("fileInput", 
new
Model(fileUploadField)));
setMaxSize(Bytes.megabytes(100));
}

@Override
protected void onSubmit() {
final FileUpload upload = 
fileUploadField.getFileUpload();
if (upload != null)
System.out.println("File is not empty! Whoo 
hooo!");
else
System.out.println("File is empty! Whoo hooo!");
fileUploadField.detachModels();
/**Product product = (Product) getModelObject();
product.setEntryDate(new 
Timestamp(System.currentTimeMillis()));
product.setImageURL("uploads/");
System.out.println(product.getCategory());
adminService.saveProduct(product);
setResponsePage(ViewProductsPage.class);**/
}

}

}

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]