429: Workspace: uploading big files
Task-Url: https://support.d4science.org/issues/429 Workspace Uploader integrated in workspace-tree git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@119408 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
14ce83164f
commit
696ec6bb30
20
pom.xml
20
pom.xml
|
@ -44,8 +44,15 @@
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|
||||||
|
<!-- UNCOMMENT THIS TO RUN IN DEVO MODE -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>xerces</groupId>
|
||||||
|
<artifactId>xerces</artifactId>
|
||||||
|
<version>2.4.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- This dependency is needed to use GWT UI BInder without old Xerces
|
<!-- This dependency is needed to use GWT UI BInder without old Xerces
|
||||||
version of gCore complaining -->
|
version of gCore complaining -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -54,6 +61,7 @@
|
||||||
<version>2.9.1</version>
|
<version>2.9.1</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Google Web Toolkit (GWT) -->
|
<!-- Google Web Toolkit (GWT) -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.gwt</groupId>
|
<groupId>com.google.gwt</groupId>
|
||||||
|
@ -182,10 +190,18 @@
|
||||||
<version>1.4.5</version>
|
<version>1.4.5</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- FILE UPLOAD-progress-bar -->
|
<!-- FILE UPLOAD-progress-bar -->
|
||||||
|
<!-- <dependency> -->
|
||||||
|
<!-- <groupId>org.gcube.portlets.widgets</groupId> -->
|
||||||
|
<!-- <artifactId>fileupload-progress-bar</artifactId> -->
|
||||||
|
<!-- <version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version> -->
|
||||||
|
<!-- </dependency> -->
|
||||||
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.portlets.widgets</groupId>
|
<groupId>org.gcube.portlets.widgets</groupId>
|
||||||
<artifactId>fileupload-progress-bar</artifactId>
|
<artifactId>workspace-uploader</artifactId>
|
||||||
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||||
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
<inherits name="org.gcube.portlets.widgets.workspacesharingwidget.WorkspaceSharingWidget" />
|
<inherits name="org.gcube.portlets.widgets.workspacesharingwidget.WorkspaceSharingWidget" />
|
||||||
|
|
||||||
<servlet path="/WorkspaceService" class="org.gcube.portlets.user.workspace.server.GWTWorkspaceServiceImpl" />
|
<servlet path="/WorkspaceService" class="org.gcube.portlets.user.workspace.server.GWTWorkspaceServiceImpl" />
|
||||||
|
<inherits name="org.gcube.portlets.widgets.workspaceuploader.WorkspaceUploader"></inherits>
|
||||||
<!--
|
<!--
|
||||||
<servlet path="/ImageService" class="org.gcube.portlets.user.workspace.server.ImageServlet" />
|
<servlet path="/ImageService" class="org.gcube.portlets.user.workspace.server.ImageServlet" />
|
||||||
<servlet path="/MetadataService" class="org.gcube.portlets.user.workspace.server.MetadataServlet" />
|
<servlet path="/MetadataService" class="org.gcube.portlets.user.workspace.server.MetadataServlet" />
|
||||||
|
|
|
@ -113,7 +113,6 @@ import org.gcube.portlets.user.workspace.client.model.SmartFolderModel;
|
||||||
import org.gcube.portlets.user.workspace.client.model.SubTree;
|
import org.gcube.portlets.user.workspace.client.model.SubTree;
|
||||||
import org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService;
|
import org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService;
|
||||||
import org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceServiceAsync;
|
import org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceServiceAsync;
|
||||||
import org.gcube.portlets.user.workspace.client.uploader.FileUploader;
|
|
||||||
import org.gcube.portlets.user.workspace.client.util.RequestBuilderWorkspaceValidateItem;
|
import org.gcube.portlets.user.workspace.client.util.RequestBuilderWorkspaceValidateItem;
|
||||||
import org.gcube.portlets.user.workspace.client.util.WindowOpenParameter;
|
import org.gcube.portlets.user.workspace.client.util.WindowOpenParameter;
|
||||||
import org.gcube.portlets.user.workspace.client.view.ExplorerPanel;
|
import org.gcube.portlets.user.workspace.client.view.ExplorerPanel;
|
||||||
|
@ -135,7 +134,6 @@ 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.MessageBoxConfirm;
|
||||||
import org.gcube.portlets.user.workspace.client.view.windows.NewBrowserWindow;
|
import org.gcube.portlets.user.workspace.client.view.windows.NewBrowserWindow;
|
||||||
import org.gcube.portlets.user.workspace.client.view.windows.WindowImagePreview;
|
import org.gcube.portlets.user.workspace.client.view.windows.WindowImagePreview;
|
||||||
import org.gcube.portlets.user.workspace.client.view.windows.WindowOpenUrl;
|
|
||||||
import org.gcube.portlets.user.workspace.client.view.windows.accounting.WindowAccountingInfo;
|
import org.gcube.portlets.user.workspace.client.view.windows.accounting.WindowAccountingInfo;
|
||||||
import org.gcube.portlets.user.workspace.client.workspace.GWTWorkspaceItem;
|
import org.gcube.portlets.user.workspace.client.workspace.GWTWorkspaceItem;
|
||||||
import org.gcube.portlets.user.workspace.client.workspace.folder.item.GWTExternalImage;
|
import org.gcube.portlets.user.workspace.client.workspace.folder.item.GWTExternalImage;
|
||||||
|
@ -146,15 +144,14 @@ import org.gcube.portlets.user.workspace.shared.ReportAssignmentACL;
|
||||||
import org.gcube.portlets.user.workspace.shared.SessionExpiredException;
|
import org.gcube.portlets.user.workspace.shared.SessionExpiredException;
|
||||||
import org.gcube.portlets.user.workspace.shared.UserBean;
|
import org.gcube.portlets.user.workspace.shared.UserBean;
|
||||||
import org.gcube.portlets.user.workspace.shared.accounting.GxtAccountingField;
|
import org.gcube.portlets.user.workspace.shared.accounting.GxtAccountingField;
|
||||||
import org.gcube.portlets.widgets.fileupload.client.events.FileUploadCompleteEvent;
|
|
||||||
import org.gcube.portlets.widgets.fileupload.client.events.FileUploadCompleteEventHandler;
|
|
||||||
import org.gcube.portlets.widgets.fileupload.client.events.FileUploadSelectedEvent;
|
|
||||||
import org.gcube.portlets.widgets.fileupload.client.events.FileUploadSelectedEventHandler;
|
|
||||||
import org.gcube.portlets.widgets.workspacesharingwidget.client.ConstantsSharing.LOAD_CONTACTS_AS;
|
import org.gcube.portlets.widgets.workspacesharingwidget.client.ConstantsSharing.LOAD_CONTACTS_AS;
|
||||||
import org.gcube.portlets.widgets.workspacesharingwidget.client.MultiDragConstants;
|
import org.gcube.portlets.widgets.workspacesharingwidget.client.MultiDragConstants;
|
||||||
import org.gcube.portlets.widgets.workspacesharingwidget.client.MultiDragContactsEditPermissions;
|
import org.gcube.portlets.widgets.workspacesharingwidget.client.MultiDragContactsEditPermissions;
|
||||||
import org.gcube.portlets.widgets.workspacesharingwidget.client.SimpleMultiDragWorkspaceContact;
|
import org.gcube.portlets.widgets.workspacesharingwidget.client.SimpleMultiDragWorkspaceContact;
|
||||||
import org.gcube.portlets.widgets.workspacesharingwidget.client.view.sharing.multisuggest.DialogMultiDragContact;
|
import org.gcube.portlets.widgets.workspacesharingwidget.client.view.sharing.multisuggest.DialogMultiDragContact;
|
||||||
|
import org.gcube.portlets.widgets.workspaceuploader.client.WorkspaceUploadNotification.WorskpaceUploadNotificationListener;
|
||||||
|
import org.gcube.portlets.widgets.workspaceuploader.client.uploader.DialogUploadStream.UPLOAD_TYPE;
|
||||||
|
import org.gcube.portlets.widgets.workspaceuploader.client.uploader.MultipleDilaogUploadStream;
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.Registry;
|
import com.extjs.gxt.ui.client.Registry;
|
||||||
import com.extjs.gxt.ui.client.event.BaseEvent;
|
import com.extjs.gxt.ui.client.event.BaseEvent;
|
||||||
|
@ -169,7 +166,6 @@ import com.google.gwt.event.shared.EventHandler;
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
import com.google.gwt.http.client.RequestBuilder;
|
import com.google.gwt.http.client.RequestBuilder;
|
||||||
import com.google.gwt.user.client.Timer;
|
import com.google.gwt.user.client.Timer;
|
||||||
import com.google.gwt.user.client.Window;
|
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
import com.google.gwt.user.client.ui.HasWidgets;
|
import com.google.gwt.user.client.ui.HasWidgets;
|
||||||
|
|
||||||
|
@ -188,7 +184,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
||||||
|
|
||||||
|
|
||||||
private boolean selectRootItem;
|
private boolean selectRootItem;
|
||||||
private FileUploader fileUploader;
|
// private FileUploader fileUploader;
|
||||||
public static String myLogin;
|
public static String myLogin;
|
||||||
public static String myLoginFirstName;
|
public static String myLoginFirstName;
|
||||||
|
|
||||||
|
@ -1128,21 +1124,60 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
||||||
}
|
}
|
||||||
|
|
||||||
private void doFileUploadEvent(FileUploadEvent fileUploadEvent) {
|
private void doFileUploadEvent(FileUploadEvent fileUploadEvent) {
|
||||||
|
GWT.log("FileUploadEvent...");
|
||||||
FileModel folder = fileUploadEvent.getTargetFolderModel();
|
FileModel folder = fileUploadEvent.getTargetFolderModel();
|
||||||
|
|
||||||
if(folder == null)
|
if(folder == null)
|
||||||
folder = explorerPanel.getAsycTreePanel().getRootItem();
|
folder = explorerPanel.getAsycTreePanel().getRootItem();
|
||||||
|
|
||||||
|
String uploadType = null;
|
||||||
if(fileUploadEvent.getUploadTypeToString().equals(UploadType.ARCHIVE.toString())){
|
if(fileUploadEvent.getUploadTypeToString().equals(UploadType.ARCHIVE.toString())){
|
||||||
// new DialogUpload(ConstantsExplorer.ARCHIVEUPLOADHEADER, folder.getName(), folder, ConstantsExplorer.ARCHIVE);
|
uploadType = ConstantsExplorer.ARCHIVE;
|
||||||
fileUploader = new FileUploader(eventBus, folder, ConstantsExplorer.ARCHIVE);
|
}else{
|
||||||
|
uploadType = ConstantsExplorer.FILE;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
fileUploader = new FileUploader(eventBus, folder, ConstantsExplorer.FILE);
|
String caption = "Upload ";
|
||||||
|
UPLOAD_TYPE upType = UPLOAD_TYPE.File;
|
||||||
|
if(uploadType.compareTo(ConstantsExplorer.ARCHIVE)==0){
|
||||||
|
caption+= " a zip Archive";
|
||||||
|
upType = UPLOAD_TYPE.Archive;
|
||||||
|
}else if(uploadType.compareTo(ConstantsExplorer.FILE)==0){
|
||||||
|
caption+= "File";
|
||||||
|
upType = UPLOAD_TYPE.File;
|
||||||
|
}
|
||||||
|
|
||||||
|
caption+= " in: "+folder.getName();
|
||||||
|
|
||||||
|
MultipleDilaogUploadStream uploadStream = new MultipleDilaogUploadStream(caption, folder.getIdentifier(), upType);
|
||||||
|
|
||||||
|
WorskpaceUploadNotificationListener listener = new WorskpaceUploadNotificationListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onUploadCompleted(String parentId, String itemId) {
|
||||||
|
GWT.log("Upload completed: [parentID: "+parentId+", itemId: "+itemId+"]");
|
||||||
|
eventBus.fireEvent(new CompletedFileUploadEvent(parentId, itemId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onUploadAborted(String parentId, String itemId) {
|
||||||
|
GWT.log("Upload Aborted: [parentID: "+parentId+", itemId: "+itemId+"]");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String parentId, String itemId, Throwable throwable) {
|
||||||
|
GWT.log("Upload Aborted: [parentID: "+parentId+", itemId: "+itemId+"]");
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
uploadStream.addWorkspaceUploadNotificationListener(listener);
|
||||||
|
uploadStream.center();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
eventBus.addHandler(FileUploadSelectedEvent.TYPE, new FileUploadSelectedEventHandler() {
|
eventBus.addHandler(FileUploadSelectedEvent.TYPE, new FileUploadSelectedEventHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1194,9 +1229,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
|
||||||
* get the uploaded file result
|
|
||||||
*/
|
|
||||||
eventBus.addHandler(FileUploadCompleteEvent.TYPE, new FileUploadCompleteEventHandler() {
|
eventBus.addHandler(FileUploadCompleteEvent.TYPE, new FileUploadCompleteEventHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1209,7 +1242,8 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
||||||
|
|
||||||
fileUploader.submitServletForm(absolutePathOnServer);
|
fileUploader.submitServletForm(absolutePathOnServer);
|
||||||
}
|
}
|
||||||
});
|
});*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
eventBus.addHandler(CompletedFileUploadEvent.TYPE, new CompletedFileUploadEventHandler() {
|
eventBus.addHandler(CompletedFileUploadEvent.TYPE, new CompletedFileUploadEventHandler() {
|
||||||
|
@ -1220,14 +1254,19 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
||||||
}
|
}
|
||||||
|
|
||||||
private void doCompletedFileUploadEvent(CompletedFileUploadEvent completedFileUploadEvent) {
|
private void doCompletedFileUploadEvent(CompletedFileUploadEvent completedFileUploadEvent) {
|
||||||
|
GWT.log("doCompletedFileUploadEvent...");
|
||||||
// explorerPanel.getAsycTreePanel().reloadAndSelectTreeLevelFromWorkspaceForUplaod(completedFileUploadEvent.getParentFileModel().getIdentifier());
|
// explorerPanel.getAsycTreePanel().reloadAndSelectTreeLevelFromWorkspaceForUplaod(completedFileUploadEvent.getParentFileModel().getIdentifier());
|
||||||
boolean isLevelExpanded = treeLevelIsExpanded(completedFileUploadEvent.getTargetFolderModel().getIdentifier());
|
|
||||||
|
|
||||||
|
boolean isLevelExpanded = treeLevelIsExpanded(completedFileUploadEvent.getParentId());
|
||||||
//REFRESH TREE ONLY IF FOLDER PARENT EXISTS IN TREE
|
//REFRESH TREE ONLY IF FOLDER PARENT EXISTS IN TREE
|
||||||
if(explorerPanel.getAsycTreePanel().getFileModelByIdentifier(completedFileUploadEvent.getTargetFolderModel().getIdentifier())!=null){
|
FileModel parent = explorerPanel.getAsycTreePanel().getFileModelByIdentifier(completedFileUploadEvent.getParentId());
|
||||||
explorerPanel.getAsycTreePanel().reloadTreeLevelAndExpandFolder(completedFileUploadEvent.getTargetFolderModel().getIdentifier(), isLevelExpanded);
|
if(parent!=null && completedFileUploadEvent.getItemIdentifier()!=null){
|
||||||
|
explorerPanel.getAsycTreePanel().reloadTreeLevelAndExpandFolder(completedFileUploadEvent.getParentId(), isLevelExpanded);
|
||||||
|
// explorerPanel.getAsycTreePanel().addItemIdAndExpandFolder(parent, completedFileUploadEvent.getItemIdentifier(), isLevelExpanded);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
completedFileUploadEvent.setParentModel(parent); //SET PARENT
|
||||||
doUpdateWorkspaceSize(new UpdateWorkspaceSizeEvent());
|
doUpdateWorkspaceSize(new UpdateWorkspaceSizeEvent());
|
||||||
notifySubscriber(completedFileUploadEvent);
|
notifySubscriber(completedFileUploadEvent);
|
||||||
}
|
}
|
||||||
|
@ -1418,16 +1457,11 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
||||||
msg = ConstantsExplorer.MESSAGE_CONFIRM_DELETE_ITEM + " "+ event.getFileTarget().getName() +"?";
|
msg = ConstantsExplorer.MESSAGE_CONFIRM_DELETE_ITEM + " "+ event.getFileTarget().getName() +"?";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
MessageBoxConfirm mbc = new MessageBoxConfirm(title, msg);
|
MessageBoxConfirm mbc = new MessageBoxConfirm(title, msg);
|
||||||
|
|
||||||
|
|
||||||
mbc.getMessageBoxConfirm().addCallback(new Listener<MessageBoxEvent>() {
|
mbc.getMessageBoxConfirm().addCallback(new Listener<MessageBoxEvent>() {
|
||||||
|
|
||||||
public void handleEvent(MessageBoxEvent be) {
|
public void handleEvent(MessageBoxEvent be) {
|
||||||
|
|
||||||
// eventBus.fireEvent(new DeleteItemEvent(sel));
|
|
||||||
|
|
||||||
//IF NOT CANCELLED
|
//IF NOT CANCELLED
|
||||||
String clickedButton = be.getButtonClicked().getItemId();
|
String clickedButton = be.getButtonClicked().getItemId();
|
||||||
if(clickedButton.equals(Dialog.YES)){
|
if(clickedButton.equals(Dialog.YES)){
|
||||||
|
@ -1938,7 +1972,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
||||||
|
|
||||||
CompletedFileUploadEvent fileUpEvent = (CompletedFileUploadEvent) event;
|
CompletedFileUploadEvent fileUpEvent = (CompletedFileUploadEvent) event;
|
||||||
|
|
||||||
sub.addedFile(fileUpEvent.getItemIdentifier(), fileUpEvent.getTargetFolderModel());
|
sub.addedFile(fileUpEvent.getItemIdentifier(), fileUpEvent.getParentModel());
|
||||||
|
|
||||||
}else if(event instanceof CreateUrlEvent){
|
}else if(event instanceof CreateUrlEvent){
|
||||||
|
|
||||||
|
|
|
@ -13,11 +13,13 @@ import com.google.gwt.event.shared.GwtEvent;
|
||||||
public class CompletedFileUploadEvent extends GwtEvent<CompletedFileUploadEventHandler> implements GuiEventInterface{
|
public class CompletedFileUploadEvent extends GwtEvent<CompletedFileUploadEventHandler> implements GuiEventInterface{
|
||||||
public static Type<CompletedFileUploadEventHandler> TYPE = new Type<CompletedFileUploadEventHandler>();
|
public static Type<CompletedFileUploadEventHandler> TYPE = new Type<CompletedFileUploadEventHandler>();
|
||||||
|
|
||||||
private FileModel parentFileModel;
|
|
||||||
private String itemIdentifier;
|
private String itemIdentifier;
|
||||||
|
private String parentId;
|
||||||
|
|
||||||
|
private FileModel parentModel;
|
||||||
|
|
||||||
public CompletedFileUploadEvent(FileModel parent, String itemIdentifier) {
|
public CompletedFileUploadEvent(String parentId, String itemIdentifier) {
|
||||||
this.parentFileModel = parent;
|
this.parentId = parentId;
|
||||||
this.itemIdentifier = itemIdentifier;
|
this.itemIdentifier = itemIdentifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,13 +38,39 @@ public class CompletedFileUploadEvent extends GwtEvent<CompletedFileUploadEventH
|
||||||
return EventsTypeEnum.COMPLETED_FILE_UPLOAD_EVENT;
|
return EventsTypeEnum.COMPLETED_FILE_UPLOAD_EVENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
public FileModel getTargetFolderModel() {
|
|
||||||
return parentFileModel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getItemIdentifier() {
|
public String getItemIdentifier() {
|
||||||
return itemIdentifier;
|
return itemIdentifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the parentId
|
||||||
|
*/
|
||||||
|
public String getParentId() {
|
||||||
|
return parentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemIdentifier the itemIdentifier to set
|
||||||
|
*/
|
||||||
|
public void setItemIdentifier(String itemIdentifier) {
|
||||||
|
this.itemIdentifier = itemIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parentId the parentId to set
|
||||||
|
*/
|
||||||
|
public void setParentId(String parentId) {
|
||||||
|
this.parentId = parentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setParentModel(FileModel parent){
|
||||||
|
this.parentModel = parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the parentModel
|
||||||
|
*/
|
||||||
|
public FileModel getParentModel() {
|
||||||
|
return parentModel;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@ import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.gcube.portlets.user.workspace.client.model.BulkCreatorModel;
|
|
||||||
import org.gcube.portlets.user.workspace.client.model.FileDetailsModel;
|
import org.gcube.portlets.user.workspace.client.model.FileDetailsModel;
|
||||||
import org.gcube.portlets.user.workspace.client.model.FileGridModel;
|
import org.gcube.portlets.user.workspace.client.model.FileGridModel;
|
||||||
import org.gcube.portlets.user.workspace.client.model.FileModel;
|
import org.gcube.portlets.user.workspace.client.model.FileModel;
|
||||||
|
@ -789,4 +788,6 @@ public interface GWTWorkspaceService extends RemoteService{
|
||||||
*/
|
*/
|
||||||
void setGcubeItemProperties(String itemId, Map<String, String> properties) throws Exception;
|
void setGcubeItemProperties(String itemId, Map<String, String> properties) throws Exception;
|
||||||
|
|
||||||
|
FileModel getItemForFileTree(String itemId) throws Exception;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@ import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.gcube.portlets.user.workspace.client.model.BulkCreatorModel;
|
|
||||||
import org.gcube.portlets.user.workspace.client.model.FileDetailsModel;
|
import org.gcube.portlets.user.workspace.client.model.FileDetailsModel;
|
||||||
import org.gcube.portlets.user.workspace.client.model.FileGridModel;
|
import org.gcube.portlets.user.workspace.client.model.FileGridModel;
|
||||||
import org.gcube.portlets.user.workspace.client.model.FileModel;
|
import org.gcube.portlets.user.workspace.client.model.FileModel;
|
||||||
|
@ -252,15 +251,15 @@ public interface GWTWorkspaceServiceAsync {
|
||||||
// void sendTo(List<InfoContactModel> listContacts, List<FileModel> listAttachments, String subject, String text, AsyncCallback<Boolean> callback);
|
// void sendTo(List<InfoContactModel> listContacts, List<FileModel> listAttachments, String subject, String text, AsyncCallback<Boolean> callback);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send to by id.
|
* Send to by id.
|
||||||
*
|
*
|
||||||
* @param listContactsId the list contacts id
|
* @param listContactsId the list contacts id
|
||||||
* @param listAttachmentsId the list attachments id
|
* @param listAttachmentsId the list attachments id
|
||||||
* @param subject the subject
|
* @param subject the subject
|
||||||
* @param text the text
|
* @param text the text
|
||||||
* @param callback the callback
|
* @param callback the callback
|
||||||
*/
|
*/
|
||||||
void sendToById(List<String> listContactsId, List<String> listAttachmentsId, String subject, String text, AsyncCallback<Boolean> callback);
|
void sendToById(List<String> listContactsId, List<String> listAttachmentsId, String subject, String text, AsyncCallback<Boolean> callback);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the all messages received.
|
* Gets the all messages received.
|
||||||
|
@ -529,6 +528,12 @@ void sendToById(List<String> listContactsId, List<String> listAttachmentsId, Str
|
||||||
* @return the item for file grid
|
* @return the item for file grid
|
||||||
*/
|
*/
|
||||||
void getItemForFileGrid(String itemId, AsyncCallback<FileGridModel> callback);
|
void getItemForFileGrid(String itemId, AsyncCallback<FileGridModel> callback);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @param asyncCallback
|
||||||
|
*/
|
||||||
|
void getItemForFileTree(String itemId,AsyncCallback<FileModel> asyncCallback);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the folder children for file grid by id.
|
* Gets the folder children for file grid by id.
|
||||||
|
@ -785,4 +790,6 @@ void sendToById(List<String> listContactsId, List<String> listAttachmentsId, Str
|
||||||
void setGcubeItemProperties(String itemId, Map<String, String> properties,
|
void setGcubeItemProperties(String itemId, Map<String, String> properties,
|
||||||
AsyncCallback<Void> callback);
|
AsyncCallback<Void> callback);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,304 +1,304 @@
|
||||||
package org.gcube.portlets.user.workspace.client.uploader;
|
//package org.gcube.portlets.user.workspace.client.uploader;
|
||||||
|
//
|
||||||
|
//
|
||||||
import org.gcube.portlets.user.workspace.client.AppControllerExplorer;
|
//import org.gcube.portlets.user.workspace.client.AppControllerExplorer;
|
||||||
import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
|
//import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
|
||||||
import org.gcube.portlets.user.workspace.client.event.CompletedFileUploadEvent;
|
//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.model.FileModel;
|
||||||
import org.gcube.portlets.user.workspace.client.view.windows.InfoDisplayMessage;
|
//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.MessageBoxAlert;
|
||||||
import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxConfirm;
|
//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.client.view.windows.MessageBoxWait;
|
||||||
import org.gcube.portlets.user.workspace.shared.HandlerResultMessage;
|
//import org.gcube.portlets.user.workspace.shared.HandlerResultMessage;
|
||||||
|
//
|
||||||
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
|
//import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
|
||||||
import com.extjs.gxt.ui.client.event.ButtonEvent;
|
//import com.extjs.gxt.ui.client.event.ButtonEvent;
|
||||||
import com.extjs.gxt.ui.client.event.Events;
|
//import com.extjs.gxt.ui.client.event.Events;
|
||||||
import com.extjs.gxt.ui.client.event.FormEvent;
|
//import com.extjs.gxt.ui.client.event.FormEvent;
|
||||||
import com.extjs.gxt.ui.client.event.Listener;
|
//import com.extjs.gxt.ui.client.event.Listener;
|
||||||
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
|
//import com.extjs.gxt.ui.client.event.MessageBoxEvent;
|
||||||
import com.extjs.gxt.ui.client.event.SelectionListener;
|
//import com.extjs.gxt.ui.client.event.SelectionListener;
|
||||||
import com.extjs.gxt.ui.client.widget.Dialog;
|
//import com.extjs.gxt.ui.client.widget.Dialog;
|
||||||
import com.extjs.gxt.ui.client.widget.Info;
|
//import com.extjs.gxt.ui.client.widget.Info;
|
||||||
import com.extjs.gxt.ui.client.widget.Window;
|
//import com.extjs.gxt.ui.client.widget.Window;
|
||||||
import com.extjs.gxt.ui.client.widget.button.Button;
|
//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.FileUploadField;
|
||||||
import com.extjs.gxt.ui.client.widget.form.FormPanel;
|
//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.Encoding;
|
||||||
import com.extjs.gxt.ui.client.widget.form.FormPanel.Method;
|
//import com.extjs.gxt.ui.client.widget.form.FormPanel.Method;
|
||||||
import com.google.gwt.user.client.Timer;
|
//import com.google.gwt.user.client.Timer;
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
//import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
//import com.google.gwt.user.client.ui.HTML;
|
||||||
import com.google.gwt.user.client.ui.Hidden;
|
//import com.google.gwt.user.client.ui.Hidden;
|
||||||
|
//
|
||||||
|
//
|
||||||
/**
|
///**
|
||||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
// * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||||
*
|
// *
|
||||||
*/
|
// */
|
||||||
public class DialogUpload extends Window {
|
//public class DialogUpload extends Window {
|
||||||
|
//
|
||||||
private final FormPanel formPanel = new FormPanel();
|
// private final FormPanel formPanel = new FormPanel();
|
||||||
private FileUploadField fileUploadField = new FileUploadField();
|
// private FileUploadField fileUploadField = new FileUploadField();
|
||||||
private MessageBoxWait messageBoxWait = null;
|
// private MessageBoxWait messageBoxWait = null;
|
||||||
private boolean isStatusCompleted = false;
|
// private boolean isStatusCompleted = false;
|
||||||
private Button btnSubmit = new Button("Submit");
|
// private Button btnSubmit = new Button("Submit");
|
||||||
private Button btnCancel = new Button("Cancel");
|
// private Button btnCancel = new Button("Cancel");
|
||||||
private Hidden hiddenOverwrite = new Hidden(ConstantsExplorer.IS_OVERWRITE,"false");
|
// private Hidden hiddenOverwrite = new Hidden(ConstantsExplorer.IS_OVERWRITE,"false");
|
||||||
|
//
|
||||||
|
//
|
||||||
private String parentIdentifier = "";
|
// private String parentIdentifier = "";
|
||||||
private String parentName = "";
|
// private String parentName = "";
|
||||||
|
//
|
||||||
public DialogUpload(String headerTitle, String parentName, final FileModel parent, String fieldLabel){
|
// public DialogUpload(String headerTitle, String parentName, final FileModel parent, String fieldLabel){
|
||||||
|
//
|
||||||
this.setHeaderVisible(true);
|
// this.setHeaderVisible(true);
|
||||||
this.setHeading(headerTitle + parentName);
|
// this.setHeading(headerTitle + parentName);
|
||||||
this.parentIdentifier = parent.getIdentifier();
|
// this.parentIdentifier = parent.getIdentifier();
|
||||||
this.parentName = parentName;
|
// this.parentName = parentName;
|
||||||
this.setStyleAttribute("margin", "10px");
|
// this.setStyleAttribute("margin", "10px");
|
||||||
|
//
|
||||||
// Create a FormPanel and point it at a service.
|
// // Create a FormPanel and point it at a service.
|
||||||
|
//
|
||||||
// Create a FormPanel and point it at a service.
|
// // Create a FormPanel and point it at a service.
|
||||||
formPanel.setHeaderVisible(false);
|
// formPanel.setHeaderVisible(false);
|
||||||
formPanel.setFrame(true);
|
// formPanel.setFrame(true);
|
||||||
formPanel.setAction(ConstantsExplorer.UPLOAD_WORKSPACE_SERVICE);
|
// formPanel.setAction(ConstantsExplorer.UPLOAD_WORKSPACE_SERVICE);
|
||||||
formPanel.setEncoding(Encoding.MULTIPART);
|
// formPanel.setEncoding(Encoding.MULTIPART);
|
||||||
formPanel.setMethod(Method.POST);
|
// formPanel.setMethod(Method.POST);
|
||||||
|
//
|
||||||
formPanel.setButtonAlign(HorizontalAlignment.CENTER);
|
// formPanel.setButtonAlign(HorizontalAlignment.CENTER);
|
||||||
formPanel.setWidth(400);
|
// formPanel.setWidth(400);
|
||||||
|
//
|
||||||
// TextField<String> name = new TextField<String>();
|
// // TextField<String> name = new TextField<String>();
|
||||||
// name.setFieldLabel("Name");
|
// // name.setFieldLabel("Name");
|
||||||
// formPanel.add(name);
|
// // formPanel.add(name);
|
||||||
|
//
|
||||||
fileUploadField.setAllowBlank(false);
|
// fileUploadField.setAllowBlank(false);
|
||||||
fileUploadField.setName(ConstantsExplorer.UPLOAD_FORM_ELEMENT);
|
// fileUploadField.setName(ConstantsExplorer.UPLOAD_FORM_ELEMENT);
|
||||||
|
//
|
||||||
// Add hidden parameters
|
// // Add hidden parameters
|
||||||
formPanel.add(new Hidden(ConstantsExplorer.ID_FOLDER,parent.getIdentifier()));
|
// formPanel.add(new Hidden(ConstantsExplorer.ID_FOLDER,parent.getIdentifier()));
|
||||||
formPanel.add(new Hidden(ConstantsExplorer.UPLOAD_TYPE,fieldLabel));
|
// formPanel.add(new Hidden(ConstantsExplorer.UPLOAD_TYPE,fieldLabel));
|
||||||
formPanel.add(hiddenOverwrite);
|
// formPanel.add(hiddenOverwrite);
|
||||||
|
//
|
||||||
// fileUploadField.setFieldLabel(ConstantsExplorer.FILE);
|
// // fileUploadField.setFieldLabel(ConstantsExplorer.FILE);
|
||||||
fileUploadField.setFieldLabel(fieldLabel);
|
// fileUploadField.setFieldLabel(fieldLabel);
|
||||||
formPanel.add(fileUploadField);
|
// formPanel.add(fileUploadField);
|
||||||
formPanel.addButton(btnSubmit);
|
// formPanel.addButton(btnSubmit);
|
||||||
|
//
|
||||||
formPanel.addButton(btnCancel);
|
// formPanel.addButton(btnCancel);
|
||||||
|
//
|
||||||
|
//
|
||||||
// handle the post
|
// // handle the post
|
||||||
formPanel.addListener(Events.Submit, new Listener<FormEvent>() {
|
// formPanel.addListener(Events.Submit, new Listener<FormEvent>() {
|
||||||
|
//
|
||||||
public void handleEvent(FormEvent event) {
|
// public void handleEvent(FormEvent event) {
|
||||||
// When the form submission is successfully completed, this
|
// // When the form submission is successfully completed, this
|
||||||
// event is
|
// // event is
|
||||||
// fired. Assuming the service returned a response of type
|
// // fired. Assuming the service returned a response of type
|
||||||
// text/html,
|
// // text/html,
|
||||||
|
//
|
||||||
isStatusCompleted = true;
|
// isStatusCompleted = true;
|
||||||
|
//
|
||||||
|
//
|
||||||
// Log.trace("onSubmitComplete");
|
// // Log.trace("onSubmitComplete");
|
||||||
String result = event.getResultHtml();
|
// String result = event.getResultHtml();
|
||||||
|
//
|
||||||
// Log.trace("Result "+result);
|
// // Log.trace("Result "+result);
|
||||||
hide();
|
// hide();
|
||||||
|
//
|
||||||
messageBoxWait.getMessageBoxWait().close();
|
// messageBoxWait.getMessageBoxWait().close();
|
||||||
|
//
|
||||||
if (result == null) {
|
// if (result == null) {
|
||||||
// MessageUtil.showErrorMessage("Error during upload", "An error occurred during file upload.");
|
// // MessageUtil.showErrorMessage("Error during upload", "An error occurred during file upload.");
|
||||||
new MessageBoxAlert("Error during upload", "An error occurred during file upload.", null);
|
// new MessageBoxAlert("Error during upload", "An error occurred during file upload.", null);
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
//expected <pre>200:Upload complete</pre>
|
// //expected <pre>200:Upload complete</pre>
|
||||||
/*we strip tags added by webserver,
|
// /*we strip tags added by webserver,
|
||||||
*
|
// *
|
||||||
* Massi fix because webkit returns
|
// * 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>
|
// * <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
|
// * TODO: recall it next time
|
||||||
*/
|
// */
|
||||||
//String strippedResult = result.replace("<pre>", "").replace("</pre>", ""); //this won't work for webkit
|
// //String strippedResult = result.replace("<pre>", "").replace("</pre>", ""); //this won't work for webkit
|
||||||
//replaced by new HTML(result).getText()
|
// //replaced by new HTML(result).getText()
|
||||||
String strippedResult = 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(result);
|
||||||
// com.google.gwt.user.client.Window.alert("Stripped: " + strippedResult);
|
//// com.google.gwt.user.client.Window.alert("Stripped: " + strippedResult);
|
||||||
|
//
|
||||||
final HandlerResultMessage resultMessage = HandlerResultMessage.parseResult(strippedResult);
|
// final HandlerResultMessage resultMessage = HandlerResultMessage.parseResult(strippedResult);
|
||||||
|
//
|
||||||
switch (resultMessage.getStatus()) {
|
// switch (resultMessage.getStatus()) {
|
||||||
case ERROR:
|
// case ERROR:
|
||||||
new MessageBoxAlert("Error during upload", resultMessage.getMessage(), null);
|
// new MessageBoxAlert("Error during upload", resultMessage.getMessage(), null);
|
||||||
break;
|
// break;
|
||||||
case UNKNOWN:
|
// case UNKNOWN:
|
||||||
new MessageBoxAlert("Error during upload", resultMessage.getMessage(), null);
|
// new MessageBoxAlert("Error during upload", resultMessage.getMessage(), null);
|
||||||
break;
|
// break;
|
||||||
case WARN: {
|
// case WARN: {
|
||||||
new MessageBoxAlert("Upload completed with warnings", resultMessage.getMessage(), null);
|
// new MessageBoxAlert("Upload completed with warnings", resultMessage.getMessage(), null);
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
case OK: {
|
// case OK: {
|
||||||
Timer t = new Timer() {
|
// Timer t = new Timer() {
|
||||||
public void run() {
|
// public void run() {
|
||||||
AppControllerExplorer.getEventBus().fireEvent(new CompletedFileUploadEvent(parent, null));
|
// AppControllerExplorer.getEventBus().fireEvent(new CompletedFileUploadEvent(parent, null));
|
||||||
new InfoDisplayMessage("Upload completed successfully", resultMessage.getMessage());
|
// new InfoDisplayMessage("Upload completed successfully", resultMessage.getMessage());
|
||||||
}
|
// }
|
||||||
};
|
// };
|
||||||
|
//
|
||||||
t.schedule(250);
|
// t.schedule(250);
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
//
|
||||||
add(formPanel);
|
// add(formPanel);
|
||||||
|
//
|
||||||
this.addListeners();
|
// this.addListeners();
|
||||||
|
//
|
||||||
this.setAutoWidth(true);
|
// this.setAutoWidth(true);
|
||||||
this.setAutoHeight(true);
|
// this.setAutoHeight(true);
|
||||||
|
//
|
||||||
// this.show();
|
//// this.show();
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
private void addListeners() {
|
// private void addListeners() {
|
||||||
|
//
|
||||||
|
//
|
||||||
btnSubmit.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
// btnSubmit.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
||||||
@Override
|
// @Override
|
||||||
public void componentSelected(ButtonEvent ce) {
|
// public void componentSelected(ButtonEvent ce) {
|
||||||
if (fileUploadField.getValue()==null || !(fileUploadField.getValue().length()>2)) {
|
// if (fileUploadField.getValue()==null || !(fileUploadField.getValue().length()>2)) {
|
||||||
new MessageBoxAlert(ConstantsExplorer.ERROR, ConstantsExplorer.NOFILESPECIFIED, null);
|
// new MessageBoxAlert(ConstantsExplorer.ERROR, ConstantsExplorer.NOFILESPECIFIED, null);
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// com.google.gwt.user.client.Window.alert("parentIdentifier "+parentIdentifier);
|
//// 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("fileUploadField.getValue() "+fileUploadField.getValue());
|
||||||
// com.google.gwt.user.client.Window.alert("parentName "+parentName);
|
//// com.google.gwt.user.client.Window.alert("parentName "+parentName);
|
||||||
/*
|
// /*
|
||||||
* TODO: recall: Some browser would write in fileUploadField.getValue() C:\fakepath\$fileName
|
// * TODO: recall: Some browser would write in fileUploadField.getValue() C:\fakepath\$fileName
|
||||||
*/
|
// */
|
||||||
String normalizedFileName = fileUploadField.getValue();
|
// String normalizedFileName = fileUploadField.getValue();
|
||||||
|
//
|
||||||
// com.google.gwt.user.client.Window.alert("fileUploadField.getValue() "+fileUploadField.getValue());
|
//// com.google.gwt.user.client.Window.alert("fileUploadField.getValue() "+fileUploadField.getValue());
|
||||||
if (normalizedFileName.contains("\\")) {
|
// if (normalizedFileName.contains("\\")) {
|
||||||
normalizedFileName = normalizedFileName.substring(normalizedFileName.lastIndexOf("\\")+1); //remove C:\fakepath\ if exists
|
// normalizedFileName = normalizedFileName.substring(normalizedFileName.lastIndexOf("\\")+1); //remove C:\fakepath\ if exists
|
||||||
// com.google.gwt.user.client.Window.alert("normalizedFileName= "+normalizedFileName);
|
//// com.google.gwt.user.client.Window.alert("normalizedFileName= "+normalizedFileName);
|
||||||
}
|
// }
|
||||||
final String label = normalizedFileName;
|
// final String label = normalizedFileName;
|
||||||
AppControllerExplorer.rpcWorkspaceService.itemExistsInWorkpaceFolder(parentIdentifier, normalizedFileName, new AsyncCallback<String>() {
|
// AppControllerExplorer.rpcWorkspaceService.itemExistsInWorkpaceFolder(parentIdentifier, normalizedFileName, new AsyncCallback<String>() {
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
public void onSuccess(final String itemId) {
|
// public void onSuccess(final String itemId) {
|
||||||
|
//
|
||||||
if(itemId!=null){
|
// if(itemId!=null){
|
||||||
|
//
|
||||||
MessageBoxConfirm msg = new MessageBoxConfirm("Replace "+label+"?", label + " exists in folder "+parentName + ". Overwrite?");
|
// MessageBoxConfirm msg = new MessageBoxConfirm("Replace "+label+"?", label + " exists in folder "+parentName + ". Overwrite?");
|
||||||
|
//
|
||||||
|
//
|
||||||
msg.getMessageBoxConfirm().addCallback(new Listener<MessageBoxEvent>() {
|
// msg.getMessageBoxConfirm().addCallback(new Listener<MessageBoxEvent>() {
|
||||||
|
//
|
||||||
public void handleEvent(MessageBoxEvent be) {
|
// public void handleEvent(MessageBoxEvent be) {
|
||||||
|
//
|
||||||
//IF NOT CANCELLED
|
// //IF NOT CANCELLED
|
||||||
String clickedButton = be.getButtonClicked().getItemId();
|
// String clickedButton = be.getButtonClicked().getItemId();
|
||||||
|
//
|
||||||
if(clickedButton.equals(Dialog.YES)){
|
// if(clickedButton.equals(Dialog.YES)){
|
||||||
|
//
|
||||||
// removeItemAndSubmitForm(itemId);
|
//// removeItemAndSubmitForm(itemId);
|
||||||
updateItemSubmitForm(itemId);
|
// updateItemSubmitForm(itemId);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}else
|
// }else
|
||||||
submitForm(); //ITEM does NOT EXIST SO SUBMIT FORM;
|
// submitForm(); //ITEM does NOT EXIST SO SUBMIT FORM;
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
public void onFailure(Throwable caught) {
|
// public void onFailure(Throwable caught) {
|
||||||
Info.display("Error", "Sorry an error occurred on the server "+caught.getLocalizedMessage() + ". Please try again later");
|
// Info.display("Error", "Sorry an error occurred on the server "+caught.getLocalizedMessage() + ". Please try again later");
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
});
|
// });
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
//
|
||||||
|
//
|
||||||
btnCancel.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
// btnCancel.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
||||||
@Override
|
// @Override
|
||||||
public void componentSelected(ButtonEvent ce) {
|
// public void componentSelected(ButtonEvent ce) {
|
||||||
hide();
|
// hide();
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
public void submitForm(){
|
// public void submitForm(){
|
||||||
|
//
|
||||||
messageBoxWait = new MessageBoxWait(ConstantsExplorer.PROGRESS, ConstantsExplorer.SAVINGYOURFILE, fileUploadField.getValue());
|
// messageBoxWait = new MessageBoxWait(ConstantsExplorer.PROGRESS, ConstantsExplorer.SAVINGYOURFILE, fileUploadField.getValue());
|
||||||
|
//
|
||||||
//Progress bar for upload
|
// //Progress bar for upload
|
||||||
final Timer t = new Timer()
|
// final Timer t = new Timer()
|
||||||
{
|
// {
|
||||||
public void run()
|
// public void run()
|
||||||
{
|
// {
|
||||||
if (isStatusCompleted)
|
// if (isStatusCompleted)
|
||||||
{
|
// {
|
||||||
cancel();
|
// cancel();
|
||||||
messageBoxWait.getMessageBoxWait().close();
|
// messageBoxWait.getMessageBoxWait().close();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
};
|
// };
|
||||||
t.scheduleRepeating(500);
|
// t.scheduleRepeating(500);
|
||||||
formPanel.submit();
|
// formPanel.submit();
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
private void removeItemAndSubmitForm(String itemId){
|
// private void removeItemAndSubmitForm(String itemId){
|
||||||
|
//
|
||||||
AppControllerExplorer.rpcWorkspaceService.removeItem(itemId, new AsyncCallback<Boolean>() {
|
// AppControllerExplorer.rpcWorkspaceService.removeItem(itemId, new AsyncCallback<Boolean>() {
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
public void onFailure(Throwable caught) {
|
// public void onFailure(Throwable caught) {
|
||||||
Info.display("Error", caught.getMessage());
|
// Info.display("Error", caught.getMessage());
|
||||||
|
//
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
public void onSuccess(Boolean result) {
|
// public void onSuccess(Boolean result) {
|
||||||
if(result){
|
// if(result){
|
||||||
hiddenOverwrite.setValue("true");
|
// hiddenOverwrite.setValue("true");
|
||||||
submitForm();
|
// submitForm();
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
private void updateItemSubmitForm(String itemId){
|
// private void updateItemSubmitForm(String itemId){
|
||||||
|
//
|
||||||
|
//
|
||||||
hiddenOverwrite.setValue("true");
|
// hiddenOverwrite.setValue("true");
|
||||||
submitForm();
|
// submitForm();
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
|
|
|
@ -1,131 +1,131 @@
|
||||||
/**
|
///**
|
||||||
*
|
// *
|
||||||
*/
|
// */
|
||||||
package org.gcube.portlets.user.workspace.client.uploader;
|
//package org.gcube.portlets.user.workspace.client.uploader;
|
||||||
|
//
|
||||||
import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
|
//import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
|
||||||
import org.gcube.portlets.user.workspace.client.model.FileModel;
|
//import org.gcube.portlets.user.workspace.client.model.FileModel;
|
||||||
import org.gcube.portlets.widgets.fileupload.client.view.UploadProgressDialog;
|
//import org.gcube.portlets.widgets.fileupload.client.view.UploadProgressDialog;
|
||||||
|
//
|
||||||
import com.extjs.gxt.ui.client.widget.Info;
|
//import com.extjs.gxt.ui.client.widget.Info;
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
//import com.google.gwt.event.shared.HandlerManager;
|
||||||
|
//
|
||||||
|
//
|
||||||
/**
|
///**
|
||||||
* The Class FileUploader.
|
// * The Class FileUploader.
|
||||||
*
|
// *
|
||||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
// * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||||
* Jul 15, 2015
|
// * Jul 15, 2015
|
||||||
*/
|
// */
|
||||||
public class FileUploader {
|
//public class FileUploader {
|
||||||
|
//
|
||||||
|
//
|
||||||
private final UploadProgressDialog dlg;
|
// private final UploadProgressDialog dlg;
|
||||||
private FileModel folderParent;
|
// private FileModel folderParent;
|
||||||
private UpdateServiceUploader updateServiceUploader;
|
// private UpdateServiceUploader updateServiceUploader;
|
||||||
private String uploadType;
|
// private String uploadType;
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* Instantiates a new file uploader.
|
// * Instantiates a new file uploader.
|
||||||
*
|
// *
|
||||||
* @param eventBus the event bus
|
// * @param eventBus the event bus
|
||||||
* @param folderParent the folder parent
|
// * @param folderParent the folder parent
|
||||||
* @param uploadType the upload type
|
// * @param uploadType the upload type
|
||||||
*/
|
// */
|
||||||
public FileUploader(HandlerManager eventBus, FileModel folderParent, String uploadType) {
|
// public FileUploader(HandlerManager eventBus, FileModel folderParent, String uploadType) {
|
||||||
this.folderParent = folderParent;
|
// this.folderParent = folderParent;
|
||||||
this.uploadType = uploadType;
|
// this.uploadType = uploadType;
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* Prepare new servlet uploader
|
// * Prepare new servlet uploader
|
||||||
*/
|
// */
|
||||||
updateServiceUploader = new UpdateServiceUploader(this, folderParent, uploadType);
|
// updateServiceUploader = new UpdateServiceUploader(this, folderParent, uploadType);
|
||||||
|
//
|
||||||
String caption = "Upload ";
|
// String caption = "Upload ";
|
||||||
if(uploadType.compareTo(ConstantsExplorer.ARCHIVE)==0)
|
// if(uploadType.compareTo(ConstantsExplorer.ARCHIVE)==0)
|
||||||
caption+= " a zip Archive";
|
// caption+= " a zip Archive";
|
||||||
else if(uploadType.compareTo(ConstantsExplorer.FILE)==0)
|
// else if(uploadType.compareTo(ConstantsExplorer.FILE)==0)
|
||||||
caption+= "File";
|
// caption+= "File";
|
||||||
|
//
|
||||||
caption+= " in: "+folderParent.getName();
|
// caption+= " in: "+folderParent.getName();
|
||||||
|
//
|
||||||
dlg = new UploadProgressDialog(caption, eventBus, true);
|
// dlg = new UploadProgressDialog(caption, eventBus, true);
|
||||||
dlg.center();
|
// dlg.center();
|
||||||
dlg.show();
|
// dlg.show();
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* Submit form.
|
// * Submit form.
|
||||||
*/
|
// */
|
||||||
public void submitForm() {
|
// public void submitForm() {
|
||||||
|
//
|
||||||
try {
|
// try {
|
||||||
dlg.submitForm();
|
// dlg.submitForm();
|
||||||
} catch (Exception e) {
|
// } catch (Exception e) {
|
||||||
Info.display("Error", "Sorry an error occurred on the server "+e.getLocalizedMessage() + ". Please try again later");
|
// Info.display("Error", "Sorry an error occurred on the server "+e.getLocalizedMessage() + ". Please try again later");
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* Overwrite.
|
// * Overwrite.
|
||||||
*/
|
// */
|
||||||
public void overwrite(){
|
// public void overwrite(){
|
||||||
updateServiceUploader.setOverwrite();
|
// updateServiceUploader.setOverwrite();
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* Submit servlet form.
|
// * Submit servlet form.
|
||||||
*
|
// *
|
||||||
* @param absolutePathOnServer the absolute path of the file uploaded on the server
|
// * @param absolutePathOnServer the absolute path of the file uploaded on the server
|
||||||
*/
|
// */
|
||||||
public void submitServletForm(String absolutePathOnServer){
|
// public void submitServletForm(String absolutePathOnServer){
|
||||||
|
//
|
||||||
updateServiceUploader.setFileName(absolutePathOnServer);
|
// updateServiceUploader.setFileName(absolutePathOnServer);
|
||||||
try {
|
// try {
|
||||||
updateServiceUploader.submitForm();
|
// updateServiceUploader.submitForm();
|
||||||
} catch (Exception e) {
|
// } catch (Exception e) {
|
||||||
dlg.showRegisteringResult(false);
|
// dlg.showRegisteringResult(false);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* Gets the folder parent.
|
// * Gets the folder parent.
|
||||||
*
|
// *
|
||||||
* @return the folder parent
|
// * @return the folder parent
|
||||||
*/
|
// */
|
||||||
public FileModel getFolderParent() {
|
// public FileModel getFolderParent() {
|
||||||
return folderParent;
|
// return folderParent;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* Gets the upload type.
|
// * Gets the upload type.
|
||||||
*
|
// *
|
||||||
* @return the upload type
|
// * @return the upload type
|
||||||
*/
|
// */
|
||||||
public String getUploadType() {
|
// public String getUploadType() {
|
||||||
return uploadType;
|
// return uploadType;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* Show registering result.
|
// * Show registering result.
|
||||||
*
|
// *
|
||||||
* @param b the b
|
// * @param b the b
|
||||||
* @param message the message
|
// * @param message the message
|
||||||
*/
|
// */
|
||||||
public void showRegisteringResult(boolean b, String message) {
|
// public void showRegisteringResult(boolean b, String message) {
|
||||||
this.dlg.showRegisteringResult(b, message);
|
// this.dlg.showRegisteringResult(b, message);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* Show registering result.
|
// * Show registering result.
|
||||||
*
|
// *
|
||||||
* @param b the b
|
// * @param b the b
|
||||||
*/
|
// */
|
||||||
public void showRegisteringResult(boolean b) {
|
// public void showRegisteringResult(boolean b) {
|
||||||
this.dlg.showRegisteringResult(b);
|
// this.dlg.showRegisteringResult(b);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}
|
//}
|
||||||
|
|
|
@ -1,172 +1,172 @@
|
||||||
package org.gcube.portlets.user.workspace.client.uploader;
|
//package org.gcube.portlets.user.workspace.client.uploader;
|
||||||
|
//
|
||||||
|
//
|
||||||
import org.gcube.portlets.user.workspace.client.AppControllerExplorer;
|
//import org.gcube.portlets.user.workspace.client.AppControllerExplorer;
|
||||||
import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
|
//import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
|
||||||
import org.gcube.portlets.user.workspace.client.event.CompletedFileUploadEvent;
|
//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.model.FileModel;
|
||||||
import org.gcube.portlets.user.workspace.shared.HandlerResultMessage;
|
//import org.gcube.portlets.user.workspace.shared.HandlerResultMessage;
|
||||||
|
//
|
||||||
import com.extjs.gxt.ui.client.widget.Window;
|
//import com.extjs.gxt.ui.client.widget.Window;
|
||||||
import com.google.gwt.core.client.GWT;
|
//import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.http.client.Request;
|
//import com.google.gwt.http.client.Request;
|
||||||
import com.google.gwt.http.client.RequestBuilder;
|
//import com.google.gwt.http.client.RequestBuilder;
|
||||||
import com.google.gwt.http.client.RequestCallback;
|
//import com.google.gwt.http.client.RequestCallback;
|
||||||
import com.google.gwt.http.client.RequestException;
|
//import com.google.gwt.http.client.RequestException;
|
||||||
import com.google.gwt.http.client.Response;
|
//import com.google.gwt.http.client.Response;
|
||||||
import com.google.gwt.http.client.URL;
|
//import com.google.gwt.http.client.URL;
|
||||||
import com.google.gwt.user.client.Timer;
|
//import com.google.gwt.user.client.Timer;
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
//import com.google.gwt.user.client.ui.HTML;
|
||||||
|
//
|
||||||
|
//
|
||||||
/**
|
///**
|
||||||
*
|
// *
|
||||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
// * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||||
* @Jan 20, 2014
|
// * @Jan 20, 2014
|
||||||
*
|
// *
|
||||||
*/
|
// */
|
||||||
public class UpdateServiceUploader extends Window{
|
//public class UpdateServiceUploader extends Window{
|
||||||
|
//
|
||||||
private FileUploader fileUploaderDlg = null;
|
// private FileUploader fileUploaderDlg = null;
|
||||||
private String fileName = "";
|
// private String fileName = "";
|
||||||
private boolean overwrite = false;
|
// private boolean overwrite = false;
|
||||||
private FileModel parent;
|
// private FileModel parent;
|
||||||
private String uploadType;
|
// private String uploadType;
|
||||||
|
//
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
*
|
// *
|
||||||
* @param fileUploader
|
// * @param fileUploader
|
||||||
* @param parent
|
// * @param parent
|
||||||
* @param uploadType
|
// * @param uploadType
|
||||||
*
|
// *
|
||||||
* By default overwrite paramameter is false
|
// * By default overwrite paramameter is false
|
||||||
*/
|
// */
|
||||||
public UpdateServiceUploader(final FileUploader fileUploader, final FileModel parent, String uploadType){
|
// public UpdateServiceUploader(final FileUploader fileUploader, final FileModel parent, String uploadType){
|
||||||
|
//
|
||||||
this.fileUploaderDlg = fileUploader;
|
// this.fileUploaderDlg = fileUploader;
|
||||||
this.parent = parent;
|
// this.parent = parent;
|
||||||
this.uploadType = uploadType;
|
// this.uploadType = uploadType;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public static String encodeUrlDelimiters(String s) {
|
// public static String encodeUrlDelimiters(String s) {
|
||||||
if (s == null) {
|
// if (s == null) {
|
||||||
return null;
|
// return null;
|
||||||
}
|
// }
|
||||||
s = s.replaceAll(";", "%2F");
|
// s = s.replaceAll(";", "%2F");
|
||||||
s = s.replaceAll("/", "%2F");
|
// s = s.replaceAll("/", "%2F");
|
||||||
s = s.replaceAll(":", "%3A");
|
// s = s.replaceAll(":", "%3A");
|
||||||
s = s.replaceAll("\\?", "%3F");
|
// s = s.replaceAll("\\?", "%3F");
|
||||||
s = s.replaceAll("&", "%26");
|
// s = s.replaceAll("&", "%26");
|
||||||
s = s.replaceAll("\\=", "%3D");
|
// s = s.replaceAll("\\=", "%3D");
|
||||||
s = s.replaceAll("\\+", "%2B");
|
// s = s.replaceAll("\\+", "%2B");
|
||||||
s = s.replaceAll("\\$", "%24");
|
// s = s.replaceAll("\\$", "%24");
|
||||||
s = s.replaceAll(",", "%2C");
|
// s = s.replaceAll(",", "%2C");
|
||||||
s = s.replaceAll("#", "%23");
|
// s = s.replaceAll("#", "%23");
|
||||||
return s;
|
// return s;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
public void submitForm() throws Exception{
|
// public void submitForm() throws Exception{
|
||||||
|
//
|
||||||
if(fileName == null || fileName.isEmpty())
|
// if(fileName == null || fileName.isEmpty())
|
||||||
throw new Exception("File absolute path on server is null");
|
// throw new Exception("File absolute path on server is null");
|
||||||
|
//
|
||||||
String parameters = "";
|
// String parameters = "";
|
||||||
|
//
|
||||||
String fileNameEscaped = URL.encodeQueryString(fileName);
|
// String fileNameEscaped = URL.encodeQueryString(fileName);
|
||||||
parameters+=ConstantsExplorer.UPLOAD_FORM_ELEMENT+"="+fileNameEscaped+"&";
|
// parameters+=ConstantsExplorer.UPLOAD_FORM_ELEMENT+"="+fileNameEscaped+"&";
|
||||||
|
//
|
||||||
if(parent.getIdentifier()!=null && !parent.getIdentifier().isEmpty())
|
// if(parent.getIdentifier()!=null && !parent.getIdentifier().isEmpty())
|
||||||
parameters+=ConstantsExplorer.ID_FOLDER+"="+parent.getIdentifier()+"&";
|
// parameters+=ConstantsExplorer.ID_FOLDER+"="+parent.getIdentifier()+"&";
|
||||||
else
|
// else
|
||||||
throw new Exception("Parent Folder ID parameter is null or empty");
|
// throw new Exception("Parent Folder ID parameter is null or empty");
|
||||||
|
//
|
||||||
if(uploadType!=null && !uploadType.isEmpty())
|
// if(uploadType!=null && !uploadType.isEmpty())
|
||||||
parameters+=ConstantsExplorer.UPLOAD_TYPE+"="+uploadType+"&";
|
// parameters+=ConstantsExplorer.UPLOAD_TYPE+"="+uploadType+"&";
|
||||||
else
|
// else
|
||||||
throw new Exception("UploadType parameter is null or empty");
|
// throw new Exception("UploadType parameter is null or empty");
|
||||||
|
//
|
||||||
parameters+=ConstantsExplorer.IS_OVERWRITE+"="+overwrite;
|
// parameters+=ConstantsExplorer.IS_OVERWRITE+"="+overwrite;
|
||||||
|
//
|
||||||
GWT.log("Encoded parameters are: "+parameters);
|
// GWT.log("Encoded parameters are: "+parameters);
|
||||||
|
//
|
||||||
// String urlRequest = ConstantsExplorer.LOCAL_UPLOAD_WORKSPACE_SERVICE+"?"+parameters;
|
//// String urlRequest = ConstantsExplorer.LOCAL_UPLOAD_WORKSPACE_SERVICE+"?"+parameters;
|
||||||
RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.POST, ConstantsExplorer.LOCAL_UPLOAD_WORKSPACE_SERVICE);
|
// RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.POST, ConstantsExplorer.LOCAL_UPLOAD_WORKSPACE_SERVICE);
|
||||||
requestBuilder.setHeader("Content-Type", "application/x-www-form-urlencoded");
|
// requestBuilder.setHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
//
|
||||||
try {
|
// try {
|
||||||
|
//
|
||||||
requestBuilder.sendRequest(parameters, new RequestCallback() {
|
// requestBuilder.sendRequest(parameters, new RequestCallback() {
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
public void onResponseReceived(Request request, Response response) {
|
// public void onResponseReceived(Request request, Response response) {
|
||||||
|
//
|
||||||
// int status = response.getStatusCode();
|
//// int status = response.getStatusCode();
|
||||||
|
//
|
||||||
//expected <pre>200:Upload complete</pre>
|
// //expected <pre>200:Upload complete</pre>
|
||||||
/*we strip tags added by webserver,
|
// /*we strip tags added by webserver,
|
||||||
*
|
// *
|
||||||
* Massi fix because webkit returns
|
// * 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>
|
// * <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
|
// * TODO: recall it next time
|
||||||
*/
|
// */
|
||||||
//String strippedResult = result.replace("<pre>", "").replace("</pre>", ""); //this won't work for webkit
|
// //String strippedResult = result.replace("<pre>", "").replace("</pre>", ""); //this won't work for webkit
|
||||||
//replaced by new HTML(result).getText()
|
// //replaced by new HTML(result).getText()
|
||||||
String strippedResult = new HTML(response.getText()).getText();
|
// String strippedResult = new HTML(response.getText()).getText();
|
||||||
|
//
|
||||||
final HandlerResultMessage resultMessage = HandlerResultMessage.parseResult(strippedResult);
|
// final HandlerResultMessage resultMessage = HandlerResultMessage.parseResult(strippedResult);
|
||||||
|
//
|
||||||
switch (resultMessage.getStatus()) {
|
// switch (resultMessage.getStatus()) {
|
||||||
case ERROR:
|
// case ERROR:
|
||||||
GWT.log("Error during upload: "+resultMessage.getMessage());
|
// GWT.log("Error during upload: "+resultMessage.getMessage());
|
||||||
fileUploaderDlg.showRegisteringResult(false, resultMessage.getMessage());
|
// fileUploaderDlg.showRegisteringResult(false, resultMessage.getMessage());
|
||||||
break;
|
// break;
|
||||||
case UNKNOWN:
|
// case UNKNOWN:
|
||||||
GWT.log("Error during upload: "+resultMessage.getMessage());
|
// GWT.log("Error during upload: "+resultMessage.getMessage());
|
||||||
fileUploaderDlg.showRegisteringResult(false, "Error during upload: "+resultMessage.getMessage());
|
// fileUploaderDlg.showRegisteringResult(false, "Error during upload: "+resultMessage.getMessage());
|
||||||
break;
|
// break;
|
||||||
case WARN: {
|
// case WARN: {
|
||||||
GWT.log("Upload completed with warnings: "+resultMessage.getMessage());
|
// GWT.log("Upload completed with warnings: "+resultMessage.getMessage());
|
||||||
fileUploaderDlg.showRegisteringResult(false, "Upload completed with warnings: "+resultMessage.getMessage());
|
// fileUploaderDlg.showRegisteringResult(false, "Upload completed with warnings: "+resultMessage.getMessage());
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
case OK: {
|
// case OK: {
|
||||||
Timer t = new Timer() {
|
// Timer t = new Timer() {
|
||||||
public void run() {
|
// public void run() {
|
||||||
AppControllerExplorer.getEventBus().fireEvent(new CompletedFileUploadEvent(parent, null));
|
// AppControllerExplorer.getEventBus().fireEvent(new CompletedFileUploadEvent(parent, null));
|
||||||
fileUploaderDlg.showRegisteringResult(true);
|
// fileUploaderDlg.showRegisteringResult(true);
|
||||||
}
|
// }
|
||||||
};
|
// };
|
||||||
|
//
|
||||||
t.schedule(250);
|
// t.schedule(250);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
public void onError(Request request, Throwable exception) {
|
// public void onError(Request request, Throwable exception) {
|
||||||
fileUploaderDlg.showRegisteringResult(false);
|
// fileUploaderDlg.showRegisteringResult(false);
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
//
|
||||||
} catch (RequestException e) {
|
// } catch (RequestException e) {
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public void setOverwrite(){
|
// public void setOverwrite(){
|
||||||
overwrite = true;
|
// overwrite = true;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public String getFileName() {
|
// public String getFileName() {
|
||||||
return fileName;
|
// return fileName;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public void setFileName(String fileName) {
|
// public void setFileName(String fileName) {
|
||||||
this.fileName = fileName;
|
// this.fileName = fileName;
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
|
|
|
@ -48,6 +48,7 @@ import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
||||||
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
|
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
|
||||||
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel.TreeNode;
|
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel.TreeNode;
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
|
import com.google.gwt.event.shared.EventHandler;
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
import com.google.gwt.user.client.Event;
|
import com.google.gwt.user.client.Event;
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
|
@ -316,8 +317,7 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
@Override
|
@Override
|
||||||
public void dragStart(DNDEvent event) {
|
public void dragStart(DNDEvent event) {
|
||||||
|
|
||||||
System.out.println("***Event Start drag");
|
GWT.log("***Event Start drag");
|
||||||
|
|
||||||
FileModel sel = treePanel.getSelectionModel().getSelectedItem();
|
FileModel sel = treePanel.getSelectionModel().getSelectedItem();
|
||||||
|
|
||||||
if (sel != null && sel == treePanel.getStore().getRootItems().get(0)) {
|
if (sel != null && sel == treePanel.getStore().getRootItems().get(0)) {
|
||||||
|
@ -333,11 +333,9 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sel != null && sel.getName()!= null)
|
if(sel != null && sel.getName()!= null)
|
||||||
System.out.println("Start drag of " + sel.getName());
|
GWT.log("Start drag of " + sel.getName());
|
||||||
|
|
||||||
super.dragStart(event);
|
super.dragStart(event);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -349,7 +347,6 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
// super.onDragDrop(event);
|
// super.onDragDrop(event);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
// protected void showFeedback(DNDEvent event) {
|
// protected void showFeedback(DNDEvent event) {
|
||||||
// // TODO Auto-generated method stub
|
// // TODO Auto-generated method stub
|
||||||
|
@ -397,10 +394,8 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// TreePanel<FileModel> source = (TreePanel<FileModel>) event.getDragSource().getComponent();
|
// TreePanel<FileModel> source = (TreePanel<FileModel>) event.getDragSource().getComponent();
|
||||||
|
@ -423,34 +418,22 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
//Called when drop on folder
|
//Called when drop on folder
|
||||||
@Override
|
@Override
|
||||||
protected void handleAppendDrop(DNDEvent event, @SuppressWarnings("rawtypes") TreeNode item) {
|
protected void handleAppendDrop(DNDEvent event, @SuppressWarnings("rawtypes") TreeNode item) {
|
||||||
|
|
||||||
super.handleAppendDrop(event, item);
|
super.handleAppendDrop(event, item);
|
||||||
|
|
||||||
System.out.println("***Event move handleAppendDrop");
|
GWT.log("***Event move handleAppendDrop");
|
||||||
|
|
||||||
List<FileModel> listFileModel = getDragSource(event);
|
List<FileModel> listFileModel = getDragSource(event);
|
||||||
|
|
||||||
if(listFileModel.size() == 1){
|
if(listFileModel.size() == 1){
|
||||||
|
|
||||||
FileModel destination = getDragDestination(item, DragType.APPEND);
|
FileModel destination = getDragDestination(item, DragType.APPEND);
|
||||||
|
|
||||||
if(destination != null){
|
if(destination != null){
|
||||||
|
|
||||||
|
|
||||||
//REMOVE THIS COMMENT TODO
|
//REMOVE THIS COMMENT TODO
|
||||||
eventBus.fireEvent(new MoveItemEvent(listFileModel.get(0), (FolderModel) destination));
|
eventBus.fireEvent(new MoveItemEvent(listFileModel.get(0), (FolderModel) destination));
|
||||||
|
|
||||||
System.out.println("Destination: " +destination.getName() + " id "+ destination.getIdentifier());
|
System.out.println("Destination: " +destination.getName() + " id "+ destination.getIdentifier());
|
||||||
}
|
}
|
||||||
}
|
}else{
|
||||||
else{
|
|
||||||
|
|
||||||
//MULTIDRAG
|
//MULTIDRAG
|
||||||
}
|
}
|
||||||
|
GWT.log("***End Event move handleAppendDrop");
|
||||||
// }
|
|
||||||
|
|
||||||
System.out.println("***End Event move handleAppendDrop");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
|
@ -464,91 +447,58 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
protected void handleInsertDrop(DNDEvent event, @SuppressWarnings("rawtypes") TreeNode item, int index) {
|
protected void handleInsertDrop(DNDEvent event, @SuppressWarnings("rawtypes") TreeNode item, int index) {
|
||||||
super.handleInsertDrop(event, item, index);
|
super.handleInsertDrop(event, item, index);
|
||||||
|
|
||||||
System.out.println("***Event move handleInsertDrop");
|
GWT.log("***Event move handleInsertDrop");
|
||||||
|
|
||||||
// System.out.println("on handleInsertDrop");
|
|
||||||
|
|
||||||
List<FileModel> listFileModel = getDragSource(event);
|
List<FileModel> listFileModel = getDragSource(event);
|
||||||
|
|
||||||
if(listFileModel.size() == 1){ //one element dragged
|
if(listFileModel.size() == 1){ //one element dragged
|
||||||
|
|
||||||
|
|
||||||
FileModel destination = getDragDestination(item, DragType.INSERT);
|
FileModel destination = getDragDestination(item, DragType.INSERT);
|
||||||
|
if(destination != null){
|
||||||
if(destination != null){
|
GWT.log("Destination: " +destination.getName() + " id "+ destination.getIdentifier());
|
||||||
|
|
||||||
System.out.println("Destination: " +destination.getName() + " id "+ destination.getIdentifier());
|
|
||||||
|
|
||||||
//REMOVE THIS COMMENT TODO
|
//REMOVE THIS COMMENT TODO
|
||||||
eventBus.fireEvent(new MoveItemEvent(listFileModel.get(0), (FolderModel) destination));
|
eventBus.fireEvent(new MoveItemEvent(listFileModel.get(0), (FolderModel) destination));
|
||||||
}
|
}
|
||||||
}
|
}else{
|
||||||
|
|
||||||
else{
|
|
||||||
|
|
||||||
|
|
||||||
//multi drag
|
//multi drag
|
||||||
}
|
}
|
||||||
|
GWT.log("***End Event move handleInsertDrop");
|
||||||
|
|
||||||
System.out.println("***End Event move handleInsertDrop");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private FileModel getDragDestination(@SuppressWarnings("rawtypes") TreeNode item, DragType insertType){
|
private FileModel getDragDestination(@SuppressWarnings("rawtypes") TreeNode item, DragType insertType){
|
||||||
|
|
||||||
FileModel destination = null;
|
FileModel destination = null;
|
||||||
|
|
||||||
if(item!=null){
|
if(item!=null){
|
||||||
|
|
||||||
destination = (FileModel) item.getModel();
|
destination = (FileModel) item.getModel();
|
||||||
|
|
||||||
if(destination != null){
|
if(destination != null){
|
||||||
|
|
||||||
if(insertType.equals(DragType.APPEND))
|
if(insertType.equals(DragType.APPEND))
|
||||||
return destination; //APPEND ON FOLDER
|
return destination; //APPEND ON FOLDER
|
||||||
else
|
else
|
||||||
return destination.getParentFileModel(); //INSERT BETWEEN FILE - RETUR FOLDER PARENT
|
return destination.getParentFileModel(); //INSERT BETWEEN FILE - RETUR FOLDER PARENT
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return destination;
|
return destination;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private List<FileModel> getDragSource(DNDEvent event){
|
private List<FileModel> getDragSource(DNDEvent event){
|
||||||
|
|
||||||
|
|
||||||
List<FileModel> listDraggedFile = new ArrayList<FileModel>();
|
List<FileModel> listDraggedFile = new ArrayList<FileModel>();
|
||||||
|
|
||||||
if(event.getData() != null){
|
if(event.getData() != null){
|
||||||
|
|
||||||
List<TreeStoreModel> listItemsSource = event.getData();
|
List<TreeStoreModel> listItemsSource = event.getData();
|
||||||
|
GWT.log("Number of move " + listItemsSource.size());
|
||||||
System.out.println("Number of move " + listItemsSource.size());
|
|
||||||
|
|
||||||
FileModel sourceFileModel = null; //for print
|
FileModel sourceFileModel = null; //for print
|
||||||
|
|
||||||
|
|
||||||
for(TreeStoreModel itemSource : listItemsSource){
|
for(TreeStoreModel itemSource : listItemsSource){
|
||||||
|
|
||||||
listDraggedFile.add((FileModel) itemSource.getModel());
|
listDraggedFile.add((FileModel) itemSource.getModel());
|
||||||
|
|
||||||
sourceFileModel = (FileModel) itemSource.getModel();
|
sourceFileModel = (FileModel) itemSource.getModel();
|
||||||
|
|
||||||
if(sourceFileModel.getParentFileModel()!=null)
|
if(sourceFileModel.getParentFileModel()!=null)
|
||||||
|
GWT.log("Source Name " + sourceFileModel.getName() + " id " + sourceFileModel.getIdentifier() + " end drag " + " Parent Name: " + sourceFileModel.getParentFileModel().getName() + "id " + sourceFileModel.getParentFileModel().getIdentifier());
|
||||||
System.out.println("Source Name " + sourceFileModel.getName() + " id " + sourceFileModel.getIdentifier() + " end drag " + " Parent Name: " + sourceFileModel.getParentFileModel().getName() + "id " + sourceFileModel.getParentFileModel().getIdentifier());
|
|
||||||
else
|
else
|
||||||
System.out.println("Source Name " + sourceFileModel.getName() + " id " + sourceFileModel.getIdentifier() + " end drag ");
|
GWT.log("Source Name " + sourceFileModel.getName() + " id " + sourceFileModel.getIdentifier() + " end drag ");
|
||||||
|
|
||||||
System.out.println("Child count: " + itemSource.getChildCount());
|
|
||||||
|
|
||||||
|
GWT.log("Child count: " + itemSource.getChildCount());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return listDraggedFile;
|
return listDraggedFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -558,8 +508,7 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
//// System.out.println("in handle insert");
|
//// System.out.println("in handle insert");
|
||||||
// }
|
// }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
targetTreePanel.setAllowSelfAsSource(true);
|
targetTreePanel.setAllowSelfAsSource(true);
|
||||||
targetTreePanel.setFeedback(Feedback.APPEND);
|
targetTreePanel.setFeedback(Feedback.APPEND);
|
||||||
targetTreePanel.setScrollElementId(cp.getId());
|
targetTreePanel.setScrollElementId(cp.getId());
|
||||||
|
@ -648,7 +597,6 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
|
|
||||||
if(be!=null)
|
if(be!=null)
|
||||||
deselectItem(treePanel.getSelectionModel().getSelectedItem());
|
deselectItem(treePanel.getSelectionModel().getSelectedItem());
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -658,27 +606,19 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
|
|
||||||
if(be != null && !isSubTreeLoaded){
|
if(be != null && !isSubTreeLoaded){
|
||||||
|
|
||||||
System.out.println("***Event beforeExpand Node");
|
GWT.log("***Event beforeExpand Node");
|
||||||
|
GWT.log("Expand Folder Model: " + be.getNode().getModel().get(ConstantsExplorer.NAME));
|
||||||
System.out.println("Expand Folder Model: " + be.getNode().getModel().get(ConstantsExplorer.NAME));
|
|
||||||
|
|
||||||
final FolderModel folder = (FolderModel) be.getNode().getModel();
|
final FolderModel folder = (FolderModel) be.getNode().getModel();
|
||||||
|
|
||||||
int numChildrenFolder = store.getChildCount(folder);
|
int numChildrenFolder = store.getChildCount(folder);
|
||||||
|
|
||||||
if (folder!=null){
|
if (folder!=null){
|
||||||
|
|
||||||
eventBus.fireEvent(new ExpandFolderEvent(folder));
|
eventBus.fireEvent(new ExpandFolderEvent(folder));
|
||||||
|
|
||||||
if (numChildrenFolder==0) {
|
if (numChildrenFolder==0) {
|
||||||
|
|
||||||
treePanel.mask(ConstantsExplorer.LOADING,ConstantsExplorer.LOADINGSTYLE);
|
treePanel.mask(ConstantsExplorer.LOADING,ConstantsExplorer.LOADINGSTYLE);
|
||||||
|
|
||||||
loadTreeLevelFromWorkspace(folder);
|
loadTreeLevelFromWorkspace(folder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
GWT.log("***End Event beforeExpand Node");
|
||||||
System.out.println("***End Event beforeExpand Node");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -688,20 +628,18 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
|
|
||||||
public void handleEvent(TreePanelEvent<FileModel> be) {
|
public void handleEvent(TreePanelEvent<FileModel> be) {
|
||||||
|
|
||||||
System.out.println("***Event Context Menu open");
|
GWT.log("***Event Context Menu open");
|
||||||
|
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
TreeNode node = be.getNode();
|
TreeNode node = be.getNode();
|
||||||
|
|
||||||
if(node!=null){
|
if(node!=null){
|
||||||
System.out.println("Menu on: " + node.getModel().get(ConstantsExplorer.NAME));
|
GWT.log("Menu on: " + node.getModel().get(ConstantsExplorer.NAME));
|
||||||
System.out.println("node "+ treePanel.findNode(be.getTarget()));
|
GWT.log("node "+ treePanel.findNode(be.getTarget()));
|
||||||
}else{
|
}else{
|
||||||
System.out.println("Menu on: null");
|
GWT.log("Menu on: null");
|
||||||
System.out.println("node "+ treePanel.findNode(be.getTarget()));
|
GWT.log("node "+ treePanel.findNode(be.getTarget()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<FileModel> listSelected = treePanel.getSelectionModel().getSelectedItems();
|
List<FileModel> listSelected = treePanel.getSelectionModel().getSelectedItems();
|
||||||
//
|
//
|
||||||
if (listSelected != null && listSelected.size() > 0) {
|
if (listSelected != null && listSelected.size() > 0) {
|
||||||
|
@ -744,6 +682,32 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
reloadTreeLevelAndExpandFolder(folder, expandFolder);
|
reloadTreeLevelAndExpandFolder(folder, expandFolder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addItemIdAndExpandFolder(final FileModel parent, String itemId, boolean expandFolder){
|
||||||
|
|
||||||
|
treePanel.mask(ConstantsExplorer.VALIDATINGOPERATION,ConstantsExplorer.LOADINGSTYLE);
|
||||||
|
AppControllerExplorer.rpcWorkspaceService.getItemForFileTree(itemId, new AsyncCallback<FileModel>(){
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Throwable caught) {
|
||||||
|
|
||||||
|
if(caught instanceof SessionExpiredException){
|
||||||
|
GWT.log("Session expired");
|
||||||
|
eventBus.fireEvent(new SessionExpiredEvent());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
treePanel.unmask();
|
||||||
|
new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting item from workspace." +ConstantsExplorer.TRY_AGAIN, null);
|
||||||
|
removeAllAndRecoveryRoot();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess(FileModel result) {
|
||||||
|
GWT.log("GetItemForFileTree adding: "+result);
|
||||||
|
treePanel.unmask();
|
||||||
|
store.add(parent,result,false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void reloadTreeLevelAndExpandFolder(final FolderModel folder, final boolean expandFolder){
|
private void reloadTreeLevelAndExpandFolder(final FolderModel folder, final boolean expandFolder){
|
||||||
|
|
||||||
|
@ -758,26 +722,25 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
eventBus.fireEvent(new SessionExpiredEvent());
|
eventBus.fireEvent(new SessionExpiredEvent());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
treePanel.unmask();
|
||||||
new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting folder children items." +ConstantsExplorer.TRY_AGAIN, null);
|
new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting folder children items." +ConstantsExplorer.TRY_AGAIN, null);
|
||||||
removeAllAndRecoveryRoot();
|
removeAllAndRecoveryRoot();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(List<FileModel> result) {
|
public void onSuccess(List<FileModel> result) {
|
||||||
|
|
||||||
treePanel.unmask();
|
treePanel.unmask();
|
||||||
store.removeAll(folder);
|
store.removeAll(folder);
|
||||||
addChildrenToFolder(folder.getIdentifier(), result);
|
// addChildrenToFolder(folder.getIdentifier(), result);
|
||||||
|
addChildrenToFolder(folder, result);
|
||||||
setExpandTreeLevel(folder, expandFolder);
|
setExpandTreeLevel(folder, expandFolder);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadTreeLevelFromWorkspace(final FolderModel folder){
|
private void loadTreeLevelFromWorkspace(final FolderModel folder){
|
||||||
System.out.println("Start RPC - getFolderChildren");
|
GWT.log("Start RPC - getFolderChildren");
|
||||||
// Log.info("Start RPC - getFolderChildren");
|
// Log.info("Start RPC - getFolderChildren");
|
||||||
// final CountTimer count = new CountTimer(1000);
|
// final CountTimer count = new CountTimer(1000);
|
||||||
|
|
||||||
|
@ -794,22 +757,16 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
|
|
||||||
new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting folder children items. " +ConstantsExplorer.TRY_AGAIN, null);
|
new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting folder children items. " +ConstantsExplorer.TRY_AGAIN, null);
|
||||||
removeAllAndRecoveryRoot();
|
removeAllAndRecoveryRoot();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(List<FileModel> result) {
|
public void onSuccess(List<FileModel> result) {
|
||||||
|
|
||||||
// Log.info("End RPC - getFolderChildren time " + count.getTime());
|
|
||||||
|
|
||||||
if(treePanel.isMasked())
|
if(treePanel.isMasked())
|
||||||
treePanel.unmask();
|
treePanel.unmask();
|
||||||
|
|
||||||
store.removeAll(folder);
|
store.removeAll(folder);
|
||||||
|
|
||||||
addChildrenToFolder(folder, result);
|
addChildrenToFolder(folder, result);
|
||||||
|
GWT.log("End RPC - getFolderChildren");
|
||||||
System.out.println("End RPC - getFolderChildren");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -895,23 +852,17 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
public FileModel getFileModelByIdentifier(String identifier){
|
public FileModel getFileModelByIdentifier(String identifier){
|
||||||
|
|
||||||
return treePanel.getStore().findModel(ConstantsExplorer.IDENTIFIER, identifier);
|
return treePanel.getStore().findModel(ConstantsExplorer.IDENTIFIER, identifier);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getChildrenNumber(String identifier){
|
public int getChildrenNumber(String identifier){
|
||||||
|
|
||||||
// FileModel fileModel = treePanel.getStore().findModel(ConstantsExplorer.IDENTIFIER, identifier);
|
|
||||||
|
|
||||||
FolderModel fileModel = (FolderModel) getFileModelByIdentifier(identifier);
|
FolderModel fileModel = (FolderModel) getFileModelByIdentifier(identifier);
|
||||||
|
|
||||||
return getChildrenNumber(fileModel);
|
return getChildrenNumber(fileModel);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getChildrenNumber(FolderModel folder){
|
private int getChildrenNumber(FolderModel folder){
|
||||||
|
|
||||||
return store.getChildCount(folder);
|
return store.getChildCount(folder);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -924,7 +875,6 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
|
|
||||||
FileModel fileTarget = getFileModelByIdentifier(identifier);
|
FileModel fileTarget = getFileModelByIdentifier(identifier);
|
||||||
|
|
||||||
|
|
||||||
if(fileTarget!=null){
|
if(fileTarget!=null){
|
||||||
return deleteItem(fileTarget);
|
return deleteItem(fileTarget);
|
||||||
}
|
}
|
||||||
|
@ -1020,8 +970,7 @@ public class AsyncTreePanel extends LayoutContainer {
|
||||||
* @param bool expand true/false
|
* @param bool expand true/false
|
||||||
*/
|
*/
|
||||||
private void setExpandTreeLevel(FileModel parent, boolean bool) {
|
private void setExpandTreeLevel(FileModel parent, boolean bool) {
|
||||||
treePanel.setExpanded(parent, bool);
|
treePanel.setExpanded(parent, bool);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -536,6 +536,32 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#getItemForFileTree(java.lang.String)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public FileModel getItemForFileTree(String itemId) throws Exception {
|
||||||
|
try {
|
||||||
|
|
||||||
|
if(itemId == null)
|
||||||
|
throw new Exception(IDENTIFIER_IS_NULL);
|
||||||
|
|
||||||
|
Workspace workspace = getWorkspace();
|
||||||
|
WorkspaceItem wsItem = workspace.getItem(itemId);
|
||||||
|
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
||||||
|
//BUILD PARENT
|
||||||
|
WorkspaceFolder folderParent = wsItem.getParent(); //get parent
|
||||||
|
FileModel wsFolderParent = builder.buildGXTFileModelItem(folderParent, null);
|
||||||
|
//BUILD ITEM
|
||||||
|
return builder.buildGXTFileModelItem(wsItem, wsFolderParent);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
workspaceLogger.error("Error in server during item retrieving, getItemForFileGrid", e);
|
||||||
|
String error = ConstantsExplorer.SERVER_ERROR + RETRIEVING_ITEM_EITHER_ITEM_DOESN_T_EXIST;
|
||||||
|
throw new Exception(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#moveItem(java.lang.String, java.lang.String)
|
* @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#moveItem(java.lang.String, java.lang.String)
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue