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.check(
  SerializableChecker.java:538)
 at
  org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(
  SerializableChecker.java:683)
 at 

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.ObjectOutputStream.writeObject(ObjectOutputStream.java
 :298)
at 

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]