X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fruntime%2Forg.argeo.eclipse.ui.rap%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2Fspecific%2FImportToServerWizardPage.java;fp=eclipse%2Fruntime%2Forg.argeo.eclipse.ui.rap%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2Fspecific%2FImportToServerWizardPage.java;h=5a1669cbe3212faaad3413b970c645e36bcfea0e;hb=a99d11e0c2696ff1a4a258adaa94d137440c8d6c;hp=0000000000000000000000000000000000000000;hpb=e582d16d370908f4ca326ecd04334c301c463072;p=lgpl%2Fargeo-commons.git diff --git a/eclipse/runtime/org.argeo.eclipse.ui.rap/src/main/java/org/argeo/eclipse/ui/specific/ImportToServerWizardPage.java b/eclipse/runtime/org.argeo.eclipse.ui.rap/src/main/java/org/argeo/eclipse/ui/specific/ImportToServerWizardPage.java new file mode 100644 index 000000000..5a1669cbe --- /dev/null +++ b/eclipse/runtime/org.argeo.eclipse.ui.rap/src/main/java/org/argeo/eclipse/ui/specific/ImportToServerWizardPage.java @@ -0,0 +1,76 @@ +package org.argeo.eclipse.ui.specific; + +import java.io.InputStream; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.argeo.ArgeoException; +import org.eclipse.jface.wizard.WizardPage; +import org.eclipse.rwt.widgets.Upload; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; + +public class ImportToServerWizardPage extends WizardPage { + private final static Log log = LogFactory + .getLog(ImportToServerWizardPage.class); + + public final static String FILE_ITEM_TYPE = "FILE"; + public final static String FOLDER_ITEM_TYPE = "FOLDER"; + + private Upload uploadFile; + + public ImportToServerWizardPage() { + super("Import from file system"); + setDescription("Import files from the local file system to the server"); + } + + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + composite.setLayout(new GridLayout(2, false)); + composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); + new Label(composite, SWT.NONE).setText("Pick up a file"); + uploadFile = new Upload(composite, SWT.BORDER); + uploadFile.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); + uploadFile.setBrowseButtonText("Open..."); + setControl(composite); + } + + public String getObjectPath() { + // NOTE Returns the full file name of the last uploaded file including + // the file path as selected by the user on his local machine. + // The full path including the directory and file drive are only + // returned, if the browser supports reading this properties. In Firefox + // 3, only the filename is returned. + return uploadFile.getPath(); + } + + public String getObjectName() { + return uploadFile.getUploadItem().getFileName(); + } + + public String getObjectType() { + return FILE_ITEM_TYPE; + } + + public void performFinish() { + boolean success = uploadFile.performUpload(); + if (!success) + throw new ArgeoException("Cannot upload file named " + + uploadFile.getPath()); + } + + protected void handleUploadFinished(final Upload upload) { + } + + public InputStream getFileInputStream() { + return uploadFile.getUploadItem().getFileInputStream(); + } + + public boolean getNeedsProgressMonitor() { + return false; + } + +}