workspace-tree-widget/src/main/java/org/gcube/portlets/user/workspace/client/uploader/DialogUpload.java

305 lines
9.9 KiB
Java

//package org.gcube.portlets.user.workspace.client.uploader;
//
//
//import org.gcube.portlets.user.workspace.client.AppControllerExplorer;
//import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
//import org.gcube.portlets.user.workspace.client.event.CompletedFileUploadEvent;
//import org.gcube.portlets.user.workspace.client.model.FileModel;
//import org.gcube.portlets.user.workspace.client.view.windows.InfoDisplayMessage;
//import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxAlert;
//import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxConfirm;
//import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxWait;
//import org.gcube.portlets.user.workspace.shared.HandlerResultMessage;
//
//import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
//import com.extjs.gxt.ui.client.event.ButtonEvent;
//import com.extjs.gxt.ui.client.event.Events;
//import com.extjs.gxt.ui.client.event.FormEvent;
//import com.extjs.gxt.ui.client.event.Listener;
//import com.extjs.gxt.ui.client.event.MessageBoxEvent;
//import com.extjs.gxt.ui.client.event.SelectionListener;
//import com.extjs.gxt.ui.client.widget.Dialog;
//import com.extjs.gxt.ui.client.widget.Info;
//import com.extjs.gxt.ui.client.widget.Window;
//import com.extjs.gxt.ui.client.widget.button.Button;
//import com.extjs.gxt.ui.client.widget.form.FileUploadField;
//import com.extjs.gxt.ui.client.widget.form.FormPanel;
//import com.extjs.gxt.ui.client.widget.form.FormPanel.Encoding;
//import com.extjs.gxt.ui.client.widget.form.FormPanel.Method;
//import com.google.gwt.user.client.Timer;
//import com.google.gwt.user.client.rpc.AsyncCallback;
//import com.google.gwt.user.client.ui.HTML;
//import com.google.gwt.user.client.ui.Hidden;
//
//
///**
// * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
// *
// */
//public class DialogUpload extends Window {
//
// private final FormPanel formPanel = new FormPanel();
// private FileUploadField fileUploadField = new FileUploadField();
// private MessageBoxWait messageBoxWait = null;
// private boolean isStatusCompleted = false;
// private Button btnSubmit = new Button("Submit");
// private Button btnCancel = new Button("Cancel");
// private Hidden hiddenOverwrite = new Hidden(ConstantsExplorer.IS_OVERWRITE,"false");
//
//
// private String parentIdentifier = "";
// private String parentName = "";
//
// public DialogUpload(String headerTitle, String parentName, final FileModel parent, String fieldLabel){
//
// this.setHeaderVisible(true);
// this.setHeading(headerTitle + parentName);
// this.parentIdentifier = parent.getIdentifier();
// this.parentName = parentName;
// this.setStyleAttribute("margin", "10px");
//
// // Create a FormPanel and point it at a service.
//
// // Create a FormPanel and point it at a service.
// formPanel.setHeaderVisible(false);
// formPanel.setFrame(true);
// formPanel.setAction(ConstantsExplorer.UPLOAD_WORKSPACE_SERVICE);
// formPanel.setEncoding(Encoding.MULTIPART);
// formPanel.setMethod(Method.POST);
//
// formPanel.setButtonAlign(HorizontalAlignment.CENTER);
// formPanel.setWidth(400);
//
// // TextField<String> name = new TextField<String>();
// // name.setFieldLabel("Name");
// // formPanel.add(name);
//
// fileUploadField.setAllowBlank(false);
// fileUploadField.setName(ConstantsExplorer.UPLOAD_FORM_ELEMENT);
//
// // Add hidden parameters
// formPanel.add(new Hidden(ConstantsExplorer.ID_FOLDER,parent.getIdentifier()));
// formPanel.add(new Hidden(ConstantsExplorer.UPLOAD_TYPE,fieldLabel));
// formPanel.add(hiddenOverwrite);
//
// // fileUploadField.setFieldLabel(ConstantsExplorer.FILE);
// fileUploadField.setFieldLabel(fieldLabel);
// formPanel.add(fileUploadField);
// formPanel.addButton(btnSubmit);
//
// formPanel.addButton(btnCancel);
//
//
// // handle the post
// formPanel.addListener(Events.Submit, new Listener<FormEvent>() {
//
// public void handleEvent(FormEvent event) {
// // When the form submission is successfully completed, this
// // event is
// // fired. Assuming the service returned a response of type
// // text/html,
//
// isStatusCompleted = true;
//
//
// // Log.trace("onSubmitComplete");
// String result = event.getResultHtml();
//
// // Log.trace("Result "+result);
// hide();
//
// messageBoxWait.getMessageBoxWait().close();
//
// if (result == null) {
// // MessageUtil.showErrorMessage("Error during upload", "An error occurred during file upload.");
// new MessageBoxAlert("Error during upload", "An error occurred during file upload.", null);
// return;
// }
//
// //expected <pre>200:Upload complete</pre>
// /*we strip tags added by webserver,
// *
// * Massi fix because webkit returns
// * <pre style="word-wrap: break-word; white-space: pre-wrap;">OK:File france_flag.png(0) imported correctly in /Workspace</pre>
// *
// * TODO: recall it next time
// */
// //String strippedResult = result.replace("<pre>", "").replace("</pre>", ""); //this won't work for webkit
// //replaced by new HTML(result).getText()
// String strippedResult = new HTML(result).getText();
//
//
//// com.google.gwt.user.client.Window.alert(result);
//// com.google.gwt.user.client.Window.alert("Stripped: " + strippedResult);
//
// final HandlerResultMessage resultMessage = HandlerResultMessage.parseResult(strippedResult);
//
// switch (resultMessage.getStatus()) {
// case ERROR:
// new MessageBoxAlert("Error during upload", resultMessage.getMessage(), null);
// break;
// case UNKNOWN:
// new MessageBoxAlert("Error during upload", resultMessage.getMessage(), null);
// break;
// case WARN: {
// new MessageBoxAlert("Upload completed with warnings", resultMessage.getMessage(), null);
// break;
// }
// case OK: {
// Timer t = new Timer() {
// public void run() {
// AppControllerExplorer.getEventBus().fireEvent(new CompletedFileUploadEvent(parent, null));
// new InfoDisplayMessage("Upload completed successfully", resultMessage.getMessage());
// }
// };
//
// t.schedule(250);
//
// }
// }
// }
// });
//
// add(formPanel);
//
// this.addListeners();
//
// this.setAutoWidth(true);
// this.setAutoHeight(true);
//
//// this.show();
//
// }
//
// private void addListeners() {
//
//
// btnSubmit.addSelectionListener(new SelectionListener<ButtonEvent>() {
// @Override
// public void componentSelected(ButtonEvent ce) {
// if (fileUploadField.getValue()==null || !(fileUploadField.getValue().length()>2)) {
// new MessageBoxAlert(ConstantsExplorer.ERROR, ConstantsExplorer.NOFILESPECIFIED, null);
// return;
// }
//
//// com.google.gwt.user.client.Window.alert("parentIdentifier "+parentIdentifier);
//// com.google.gwt.user.client.Window.alert("fileUploadField.getValue() "+fileUploadField.getValue());
//// com.google.gwt.user.client.Window.alert("parentName "+parentName);
// /*
// * TODO: recall: Some browser would write in fileUploadField.getValue() C:\fakepath\$fileName
// */
// String normalizedFileName = fileUploadField.getValue();
//
//// com.google.gwt.user.client.Window.alert("fileUploadField.getValue() "+fileUploadField.getValue());
// if (normalizedFileName.contains("\\")) {
// normalizedFileName = normalizedFileName.substring(normalizedFileName.lastIndexOf("\\")+1); //remove C:\fakepath\ if exists
//// com.google.gwt.user.client.Window.alert("normalizedFileName= "+normalizedFileName);
// }
// final String label = normalizedFileName;
// AppControllerExplorer.rpcWorkspaceService.itemExistsInWorkpaceFolder(parentIdentifier, normalizedFileName, new AsyncCallback<String>() {
//
// @Override
// public void onSuccess(final String itemId) {
//
// if(itemId!=null){
//
// MessageBoxConfirm msg = new MessageBoxConfirm("Replace "+label+"?", label + " exists in folder "+parentName + ". Overwrite?");
//
//
// msg.getMessageBoxConfirm().addCallback(new Listener<MessageBoxEvent>() {
//
// public void handleEvent(MessageBoxEvent be) {
//
// //IF NOT CANCELLED
// String clickedButton = be.getButtonClicked().getItemId();
//
// if(clickedButton.equals(Dialog.YES)){
//
//// removeItemAndSubmitForm(itemId);
// updateItemSubmitForm(itemId);
// }
//
//
// }
// });
// }else
// submitForm(); //ITEM does NOT EXIST SO SUBMIT FORM;
//
// }
//
// @Override
// public void onFailure(Throwable caught) {
// Info.display("Error", "Sorry an error occurred on the server "+caught.getLocalizedMessage() + ". Please try again later");
//
// }
//
// });
//
// }
// });
//
//
// btnCancel.addSelectionListener(new SelectionListener<ButtonEvent>() {
// @Override
// public void componentSelected(ButtonEvent ce) {
// hide();
// }
// });
// }
//
//
// public void submitForm(){
//
// messageBoxWait = new MessageBoxWait(ConstantsExplorer.PROGRESS, ConstantsExplorer.SAVINGYOURFILE, fileUploadField.getValue());
//
// //Progress bar for upload
// final Timer t = new Timer()
// {
// public void run()
// {
// if (isStatusCompleted)
// {
// cancel();
// messageBoxWait.getMessageBoxWait().close();
// }
// }
// };
// t.scheduleRepeating(500);
// formPanel.submit();
//
// }
//
//
// private void removeItemAndSubmitForm(String itemId){
//
// AppControllerExplorer.rpcWorkspaceService.removeItem(itemId, new AsyncCallback<Boolean>() {
//
// @Override
// public void onFailure(Throwable caught) {
// Info.display("Error", caught.getMessage());
//
//
// }
//
// @Override
// public void onSuccess(Boolean result) {
// if(result){
// hiddenOverwrite.setValue("true");
// submitForm();
// }
//
// }
//
// });
// }
//
//
// private void updateItemSubmitForm(String itemId){
//
//
// hiddenOverwrite.setValue("true");
// submitForm();
// }
//}
//