X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=base%2Fruntime%2Forg.argeo.eclipse.ui.rap%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2Fspecific%2FImportToServerWizardPage.java;fp=base%2Fruntime%2Forg.argeo.eclipse.ui.rap%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2Fspecific%2FImportToServerWizardPage.java;h=d087ebe99dbaad5b93945e6a78bd1182902a948e;hb=654a906a9507d52d3f3b8f1505c6ad56ad68334a;hp=0000000000000000000000000000000000000000;hpb=9f870f5870afc1babb64874d0d91c99ef3417ddd;p=lgpl%2Fargeo-commons.git diff --git a/base/runtime/org.argeo.eclipse.ui.rap/src/main/java/org/argeo/eclipse/ui/specific/ImportToServerWizardPage.java b/base/runtime/org.argeo.eclipse.ui.rap/src/main/java/org/argeo/eclipse/ui/specific/ImportToServerWizardPage.java new file mode 100644 index 000000000..d087ebe99 --- /dev/null +++ b/base/runtime/org.argeo.eclipse.ui.rap/src/main/java/org/argeo/eclipse/ui/specific/ImportToServerWizardPage.java @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2007-2012 Mathieu Baudier + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +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; + } + +}