package org.nocket.gen.page.element.synchronizer; import gengui.util.SevereGUIException; import java.io.File; import java.io.IOException; import java.io.Serializable; import java.util.List; import org.apache.commons.io.FileUtils; import org.apache.wicket.markup.html.form.upload.FileUpload; import org.apache.wicket.model.IModel; import org.nocket.NocketSession; import org.nocket.gen.page.element.PageElementI; // TODO: Auto-generated Javadoc /** * The Class FileUploadModel. */ public class FileUploadModel implements IModel<List<FileUpload>>, Serializable { /** The helper. */ protected SynchronizerHelper helper; /** * Instantiates a new file upload model. * * @param element the element */ public FileUploadModel(PageElementI<Object> element) { this.helper = new SynchronizerHelper(element); } /* (non-Javadoc) * @see org.apache.wicket.model.IDetachable#detach() */ @Override public void detach() { } /* (non-Javadoc) * @see org.apache.wicket.model.IModel#getObject() */ @Override public List<FileUpload> getObject() { return null; } /* (non-Javadoc) * @see org.apache.wicket.model.IModel#setObject(java.lang.Object) */ @Override public void setObject(List<FileUpload> object) { if (object != null) { FileUpload uploadedFile = object.get(0); try { File file = NocketSession.get().getFileInSessionDir(uploadedFile.getClientFileName()); FileUtils.deleteQuietly(file); uploadedFile.writeTo(file); helper.invokeSetterMethod(file); } catch (IOException iox) { throw new SevereGUIException(iox); } } } }