diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 5fd7ab4..e280eef 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,11 +1,14 @@ - + - + + uses + + uses diff --git a/distro/changelog.xml b/distro/changelog.xml index 533f5a8..0ddc935 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,4 +1,9 @@ + + [Task #17226] Removing HL + diff --git a/pom.xml b/pom.xml index 345cc0f..b4b9690 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ org.gcube.portlets.user workspace war - 6.22.0-SNAPSHOT + 6.23.0-SNAPSHOT gCube Workspace Portlet gCube Workspace Portlet is a web-gui to manage the gCube workspace a collaborative area where users can exchange and organize information objects (workspace items) according to their specific needs. @@ -99,7 +99,7 @@ org.gcube.common.portal portal-manager - provided + compile @@ -236,33 +236,33 @@ - - org.gcube.common - home-library-model - provided - - - org.gcube.common - home-library-jcr - provided - - - asm-debug-all - org.ow2.asm - - - - - org.gcube.common - home-library - provided - - - asm-all - asm - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + javax.portlet @@ -278,20 +278,15 @@ - log4j - log4j + org.slf4j + slf4j-api org.slf4j slf4j-log4j12 - runtime - - - org.slf4j - slf4j-api - runtime + junit junit diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java index 9098f07..755215d 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java @@ -31,7 +31,6 @@ import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent.Download import org.gcube.portlets.user.workspace.client.event.FileDownloadEventHandler; import org.gcube.portlets.user.workspace.client.event.FileUploadEvent; import org.gcube.portlets.user.workspace.client.event.FileUploadEventHandler; -import org.gcube.portlets.user.workspace.client.event.FilterScopeEvent; import org.gcube.portlets.user.workspace.client.event.GetFolderLinkEvent; import org.gcube.portlets.user.workspace.client.event.GetInfoEvent; import org.gcube.portlets.user.workspace.client.event.GetInfoEventHandler; @@ -39,11 +38,10 @@ import org.gcube.portlets.user.workspace.client.event.GetPublicLinkEvent; import org.gcube.portlets.user.workspace.client.event.GetPublicLinkEventHandler; import org.gcube.portlets.user.workspace.client.event.ImagePreviewEvent; import org.gcube.portlets.user.workspace.client.event.ImagePreviewEventHandler; +import org.gcube.portlets.user.workspace.client.event.LoadTreeEvent; import org.gcube.portlets.user.workspace.client.event.MoveItemsEvent; import org.gcube.portlets.user.workspace.client.event.OpenContextMenuTreeEvent; import org.gcube.portlets.user.workspace.client.event.OpenContextMenuTreeEventHandler; -import org.gcube.portlets.user.workspace.client.event.OpenReportsEvent; -import org.gcube.portlets.user.workspace.client.event.OpenReportsEventHandler; import org.gcube.portlets.user.workspace.client.event.OpenUrlEvent; import org.gcube.portlets.user.workspace.client.event.RefreshFolderEvent; import org.gcube.portlets.user.workspace.client.event.RenameItemEvent; @@ -69,8 +67,6 @@ import org.gcube.portlets.user.workspace.client.gridevent.GridElementUnSelectedE import org.gcube.portlets.user.workspace.client.gridevent.GridElementUnSelectedEventHandler; import org.gcube.portlets.user.workspace.client.gridevent.GridRefreshEvent; import org.gcube.portlets.user.workspace.client.gridevent.GridRefreshEventHandler; -import org.gcube.portlets.user.workspace.client.gridevent.LoadAllScopeEvent; -import org.gcube.portlets.user.workspace.client.gridevent.LoadAllScopeEventHandler; import org.gcube.portlets.user.workspace.client.gridevent.LoadBreadcrumbEvent; import org.gcube.portlets.user.workspace.client.gridevent.LoadBreadcrumbEventHandler; import org.gcube.portlets.user.workspace.client.gridevent.MoveItemsGEvent; @@ -79,8 +75,6 @@ import org.gcube.portlets.user.workspace.client.gridevent.PathElementSelectedEve import org.gcube.portlets.user.workspace.client.gridevent.PathElementSelectedEventHandler; import org.gcube.portlets.user.workspace.client.gridevent.SaveSmartFolderEvent; import org.gcube.portlets.user.workspace.client.gridevent.SaveSmartFolderEventHandler; -import org.gcube.portlets.user.workspace.client.gridevent.ScopeChangeEvent; -import org.gcube.portlets.user.workspace.client.gridevent.ScopeChangeEventHandler; import org.gcube.portlets.user.workspace.client.gridevent.SearchItemByIdEvent; import org.gcube.portlets.user.workspace.client.gridevent.SearchItemByIdEventHandler; import org.gcube.portlets.user.workspace.client.gridevent.SearchTextEvent; @@ -101,7 +95,6 @@ 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.FileVersionModel; import org.gcube.portlets.user.workspace.client.model.FolderModel; -import org.gcube.portlets.user.workspace.client.model.ScopeModel; import org.gcube.portlets.user.workspace.client.view.WorkspaceFeaturesView; import org.gcube.portlets.user.workspace.client.view.WorkspaceQuotesView; import org.gcube.portlets.user.workspace.client.view.WorskpacePortlet; @@ -318,16 +311,6 @@ public class AppController implements SubscriberInterface { } }); - //********EVENTS TO NOTIFY SUBSCRIBERS - eventBus.addHandler(OpenReportsEvent.TYPE, new OpenReportsEventHandler() { - - @Override - public void onClickOpenReports(OpenReportsEvent openReportsEvent) { - - AppControllerExplorer.getEventBus().fireEvent(new OpenReportsEvent(openReportsEvent.getSourceFileModel())); - - } - }); eventBus.addHandler(GetPublicLinkEvent.TYPE, new GetPublicLinkEventHandler() { @@ -340,8 +323,6 @@ public class AppController implements SubscriberInterface { } }); - - eventBus.addHandler(AccountingHistoryEvent.TYPE, new AccountingHistoryEventHandler() { @Override @@ -484,52 +465,6 @@ public class AppController implements SubscriberInterface { }); - eventBus.addHandler(LoadAllScopeEvent.TYPE, new LoadAllScopeEventHandler() { - - @Override - public void onLoadScopes(LoadAllScopeEvent loadAllScopeEvent) { - doLoadAllScope(); - - } - - private void doLoadAllScope() { - - appContrExplorer.getRpcWorkspaceService().getAllScope(new AsyncCallback>() { - - @Override - public void onFailure(Throwable caught) { - new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting all scope." +ConstantsExplorer.TRY_AGAIN, null); - } - - @Override - public void onSuccess(List result) { - - if(result!=null && result.size()>0){ - wsPortlet.getSearchAndFilterContainer().setListScope(result); - wsPortlet.getSearchAndFilterContainer().selectScopeByIndex(0); //select first scope - } - else - new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting all scope. No scope available. " +ConstantsExplorer.TRY_AGAIN, null); - - } - }); - } - }); - - eventBus.addHandler(ScopeChangeEvent.TYPE, new ScopeChangeEventHandler() { - - @Override - public void onLoadScope(ScopeChangeEvent scopeChangeEvent) { - doLoadScope(scopeChangeEvent.getScopeId()); - - } - - private void doLoadScope(String scopeId) { - AppControllerExplorer.getEventBus().fireEvent(new FilterScopeEvent(scopeId)); - - } - }); - eventBus.addHandler(SaveSmartFolderEvent.TYPE, new SaveSmartFolderEventHandler() { @Override @@ -599,9 +534,7 @@ public class AppController implements SubscriberInterface { if(wsPortlet.getGxtCardLayoutResultPanel().getActivePanel() instanceof GxtItemsPanel){ //If active panel is panel with file items wsPortlet.getGridGroupContainer().setBorderAsOnSearch(true); - wsPortlet.getGridGroupContainer().mask(ConstantsExplorer.LOADING,ConstantsExplorer.LOADINGSTYLE); - appContrExplorer.getRpcWorkspaceService().getItemsBySearchName(textSearch, folderId, new AsyncCallback>() { @Override @@ -789,13 +722,6 @@ public class AppController implements SubscriberInterface { parent = wsPortlet.getGridGroupContainer().getCurrentFolderView(); GWT.log("Search is not active get parent item for uploading from CurrentFolderView: " +parent.getName()); } - // }else if(wsPortlet.getGridGroupContainer().getCurrentFolderView()!=null){ - // parent = wsPortlet.getGridGroupContainer().getCurrentFolderView(); - // GWT.log("get parent item for uploading from CurrentFolderView: " +parent.getName()); - // }else if(wsPortlet.getToolBarPath().getLastParent()!=null){ - // parent = wsPortlet.getToolBarPath().getLastParent(); - // GWT.log("get parent item for uploading from breadcrumb: " +parent.getName()); - // } } else{ //IF IS SEARCH ACTIVE @@ -849,11 +775,8 @@ public class AppController implements SubscriberInterface { } final FileModel target = parent; - final int size = event.getListTarget().size(); - List targets = event.getListTarget(); - final List clearTargets = new ArrayList(targets); //IGNORING SHARED FOLDER @@ -896,10 +819,8 @@ public class AppController implements SubscriberInterface { @Override public void onClick(ClickEvent clickEvent) { + confirm.loader("Deleting "+diff+ " items, please wait"); -// wsPortlet.getGridGroupContainer().mask("Deleting",ConstantsExplorer.LOADINGSTYLE); - - appContrExplorer.getRpcWorkspaceService().deleteListItemsForIds(ids, new AsyncCallback>() { @Override @@ -992,10 +913,6 @@ public class AppController implements SubscriberInterface { }); } - /* - private void accountingSetItemAsRead(boolean read) { - wsPortlet.getToolBarItemDetails().setRead(read); - }*/ /** * Do element grid selected. @@ -1178,11 +1095,6 @@ public class AppController implements SubscriberInterface { wsPortlet.getToolBarItemDetails().updateAddAdministatorInfo(AppControllerExplorer.myLogin, res.get(0)); } } - -// if(res!=null && res.size()>0){ -// wsPortlet.getToolBarItemDetails().updateACLInfo(res.get(0)); -// wsPortlet.getToolBarItemDetails().updateAddAdministatorInfo(AppControllerExplorer.myLogin, res.get(0)); -// } } }); } @@ -1260,7 +1172,7 @@ public class AppController implements SubscriberInterface { dnd.addWorkspaceUploadNotificationListener(listener); - eventBus.fireEvent(new LoadAllScopeEvent()); //LOAD ALL SCOPE EVENT + AppControllerExplorer.getEventBus().fireEvent(new LoadTreeEvent(true)); //LOAD THE TREE } final boolean searchingForItemId = isSearchForItemId; @@ -1357,6 +1269,7 @@ public class AppController implements SubscriberInterface { } }); + //TODO CHECK IF THIS MUST REMAIN COMMENTED Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { @@ -1615,7 +1528,6 @@ public class AppController implements SubscriberInterface { GWT.log("Add to store: "+result); wsPortlet.getGridGroupContainer().addToStore(result); -// wsPortlet.getGridGroupContainer().unmask(); } }); @@ -1741,57 +1653,8 @@ public class AppController implements SubscriberInterface { */ @Override public void smartFolderSelected(final String folderId, final GXTCategorySmartFolder category) { - - selectedSmartFolderId = folderId; - selectedSmartFolderCategory = category; - - GWT.log("Smart folder selected, folderId: " + selectedSmartFolderId); - GWT.log("Smart folder selected, category: " + selectedSmartFolderCategory); - - wsPortlet.getGridGroupContainer().mask(ConstantsExplorer.LOADING,ConstantsExplorer.LOADINGSTYLE); - - wsPortlet.getGridGroupContainer().setBorderAsOnSearch(true); - - if (folderId != null && !folderId.isEmpty()) { - - appContrExplorer.getRpcWorkspaceService().getSmartFolderResultsById(folderId,new AsyncCallback>() { - - @Override - public void onFailure(Throwable caught) { - new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting smart folders. " +ConstantsExplorer.TRY_AGAIN, null); - wsPortlet.getGridGroupContainer().unmask(); - } - - @Override - public void onSuccess(List result) { - wsPortlet.getSearchAndFilterContainer().setSearchActive(true); - // setSearchActive(true); - wsPortlet.getGridGroupContainer().unmask(); - wsPortlet.getGridGroupContainer().updateStore(result); - } - - }); - } else { - - if (category != null) { - - appContrExplorer.getRpcWorkspaceService().getSmartFolderResultsByCategory(category, new AsyncCallback>() { - - @Override - public void onFailure(Throwable caught) { - new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting smart folder results by category. " +ConstantsExplorer.TRY_AGAIN, null); - } - - @Override - public void onSuccess(List result) { - wsPortlet.getGridGroupContainer().unmask(); - wsPortlet.getGridGroupContainer().updateStore(result); - } - }); - - } - - } + + Window.alert("The method smartFolderSelected has been removed"); } @@ -2230,7 +2093,6 @@ public class AppController implements SubscriberInterface { public void onSuccess(TrashOperationContent operationResult) { WindowTrash.getInstance().executeOperationOnTrashContainer(operationResult.getListTrashIds(), operationResult.getOperation()); - wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemDetails().updateTrashIcon(WindowTrash.getInstance().getTrashedFiles().size()>0); //SHOW POSSIBLY ERRORS @@ -2264,7 +2126,6 @@ public class AppController implements SubscriberInterface { public void onSuccess(TrashContent operationResult) { WindowTrash.getInstance().updateTrashContainer(operationResult.getTrashContent()); - wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemDetails().updateTrashIcon(operationResult.getTrashContent().size()>0); //SHOW POSSIBLY ERRORS diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/LoadAllScopeEvent.java b/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/LoadAllScopeEvent.java deleted file mode 100644 index 55d78b2..0000000 --- a/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/LoadAllScopeEvent.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.gcube.portlets.user.workspace.client.gridevent; - -import com.google.gwt.event.shared.GwtEvent; - -/** - * - * @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it - * - */ -public class LoadAllScopeEvent extends GwtEvent { - public static Type TYPE = new Type(); - - public LoadAllScopeEvent() { - } - - @Override - public Type getAssociatedType() { - // TODO Auto-generated method stub - return TYPE; - } - - @Override - protected void dispatch(LoadAllScopeEventHandler handler) { - handler.onLoadScopes(this); - - } - -} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/LoadAllScopeEventHandler.java b/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/LoadAllScopeEventHandler.java deleted file mode 100644 index b3bcc22..0000000 --- a/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/LoadAllScopeEventHandler.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.gcube.portlets.user.workspace.client.gridevent; - -import com.google.gwt.event.shared.EventHandler; - -/** - * @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it - * - */ -public interface LoadAllScopeEventHandler extends EventHandler { - void onLoadScopes(LoadAllScopeEvent loadAllScopeEvent); -} diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/ScopeChangeEvent.java b/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/ScopeChangeEvent.java index d9fce2a..2980967 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/ScopeChangeEvent.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/ScopeChangeEvent.java @@ -1,35 +1,35 @@ -package org.gcube.portlets.user.workspace.client.gridevent; - -import com.google.gwt.event.shared.GwtEvent; - -/** - * @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it - * - */ -public class ScopeChangeEvent extends GwtEvent { - public static Type TYPE = new Type(); - - private String scopeId; - - - public ScopeChangeEvent(String scopeId) { - this.scopeId = scopeId; - } - - @Override - public Type getAssociatedType() { - // TODO Auto-generated method stub - return TYPE; - } - - @Override - protected void dispatch(ScopeChangeEventHandler handler) { - handler.onLoadScope(this); - - } - - public String getScopeId() { - return scopeId; - } - -} \ No newline at end of file +//package org.gcube.portlets.user.workspace.client.gridevent; +// +//import com.google.gwt.event.shared.GwtEvent; +// +///** +// * @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it +// * +// */ +//public class ScopeChangeEvent extends GwtEvent { +// public static Type TYPE = new Type(); +// +// private String scopeId; +// +// +// public ScopeChangeEvent(String scopeId) { +// this.scopeId = scopeId; +// } +// +// @Override +// public Type getAssociatedType() { +// // TODO Auto-generated method stub +// return TYPE; +// } +// +// @Override +// protected void dispatch(ScopeChangeEventHandler handler) { +// handler.onLoadScope(this); +// +// } +// +// public String getScopeId() { +// return scopeId; +// } +// +//} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/ScopeChangeEventHandler.java b/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/ScopeChangeEventHandler.java index 886f1c2..a236a69 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/ScopeChangeEventHandler.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/gridevent/ScopeChangeEventHandler.java @@ -1,11 +1,11 @@ -package org.gcube.portlets.user.workspace.client.gridevent; - -import com.google.gwt.event.shared.EventHandler; - -/** - * @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it - * - */ -public interface ScopeChangeEventHandler extends EventHandler { - void onLoadScope(ScopeChangeEvent scopeChangeEvent); -} +//package org.gcube.portlets.user.workspace.client.gridevent; +// +//import com.google.gwt.event.shared.EventHandler; +// +///** +// * @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it +// * +// */ +//public interface ScopeChangeEventHandler extends EventHandler { +// void onLoadScope(ScopeChangeEvent scopeChangeEvent); +//} diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java index c5ac8fc..819225b 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java @@ -10,7 +10,6 @@ import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent; import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent.DownloadType; import org.gcube.portlets.user.workspace.client.event.ImagePreviewEvent; import org.gcube.portlets.user.workspace.client.event.OpenContextMenuTreeEvent; -import org.gcube.portlets.user.workspace.client.event.OpenReportsEvent; import org.gcube.portlets.user.workspace.client.gridevent.DoubleClickElementSelectedEvent; import org.gcube.portlets.user.workspace.client.gridevent.GridElementSelectedEvent; import org.gcube.portlets.user.workspace.client.gridevent.GridElementUnSelectedEvent; @@ -317,11 +316,6 @@ public class GxtGridFilterGroupPanel extends LayoutContainer { case EXTERNAL_URL: AppController.getEventBus().fireEvent(new ShowUrlEvent(target)); break; - case REPORT_TEMPLATE: - case REPORT: - AppController.getEventBus().fireEvent(new OpenReportsEvent(target)); - break; - case QUERY: case TIME_SERIES: case METADATA: case WORKFLOW_REPORT: @@ -626,15 +620,15 @@ public class GxtGridFilterGroupPanel extends LayoutContainer { int percent; if(i==1) { percent = theWidth*30/100; - GWT.log("i is: "+i+" percent is "+percent); + //GWT.log("i is: "+i+" percent is "+percent); col.setWidth(percent); }else if (i==cm.getColumnCount()-1){ percent = theWidth*10/100; - GWT.log("i is last column: "+i+" percent is "+percent); + //GWT.log("i is last column: "+i+" percent is "+percent); col.setWidth(percent); }else { percent = theWidth*20/100; - GWT.log("i is: "+i+" percent is "+percent); + //GWT.log("i is: "+i+" percent is "+percent); col.setWidth(percent); } } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtSeachAndFilterPanel.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtSeachAndFilterPanel.java index 0ebc59a..b57e394 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtSeachAndFilterPanel.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtSeachAndFilterPanel.java @@ -4,15 +4,12 @@ import java.util.List; import org.gcube.portlets.user.workspace.client.AppController; import org.gcube.portlets.user.workspace.client.ConstantsPortlet; -import org.gcube.portlets.user.workspace.client.gridevent.ScopeChangeEvent; import org.gcube.portlets.user.workspace.client.gridevent.SearchTextEvent; import org.gcube.portlets.user.workspace.client.model.ScopeModel; import org.gcube.portlets.user.workspace.client.view.GxtComboBox; import org.gcube.portlets.user.workspace.client.view.toolbars.GxtBreadcrumbPathPanel; import com.extjs.gxt.ui.client.Style.VerticalAlignment; -import com.extjs.gxt.ui.client.event.SelectionChangedEvent; -import com.extjs.gxt.ui.client.event.SelectionChangedListener; import com.extjs.gxt.ui.client.widget.HorizontalPanel; import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.form.ComboBox; @@ -189,17 +186,17 @@ public class GxtSeachAndFilterPanel extends LayoutContainer { }); - this.cbViewScope.addSelectionChangedListener(new SelectionChangedListener() { - - @Override - public void selectionChanged(SelectionChangedEvent se) { - - ScopeModel scope = se.getSelectedItem(); - - AppController.getEventBus().fireEvent(new ScopeChangeEvent(scope.getId())); - - } - }); +// this.cbViewScope.addSelectionChangedListener(new SelectionChangedListener() { +// +// @Override +// public void selectionChanged(SelectionChangedEvent se) { +// +// ScopeModel scope = se.getSelectedItem(); +// +// AppController.getEventBus().fireEvent(new ScopeChangeEvent(scope.getId())); +// +// } +// }); } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java index 540a93b..8885c96 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java @@ -12,11 +12,11 @@ import org.gcube.portlets.user.workspace.client.interfaces.GXTFolderItemTypeEnum import org.gcube.portlets.user.workspace.client.model.FileModel; import org.gcube.portlets.user.workspace.client.resources.Resources; import org.gcube.portlets.user.workspace.client.util.GetPermissionIconByACL; +import org.gcube.portlets.user.workspace.shared.WorkspaceTrashOperation; +import org.gcube.portlets.user.workspace.shared.WorkspaceVersioningOperation; import org.gcube.portlets.widgets.workspacesharingwidget.shared.ExtendedWorkspaceACL; import org.gcube.portlets.widgets.workspacesharingwidget.shared.WorkspaceACL; import org.gcube.portlets.widgets.workspacesharingwidget.shared.WorkspaceACL.USER_TYPE; -import org.gcube.portlets.user.workspace.shared.WorkspaceTrashOperation; -import org.gcube.portlets.user.workspace.shared.WorkspaceVersioningOperation; import com.extjs.gxt.ui.client.Style.ButtonScale; import com.extjs.gxt.ui.client.Style.HorizontalAlignment; diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java index e28f327..521b181 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java @@ -630,13 +630,6 @@ public class GxtToolBarItemFunctionality { case EXTERNAL_URL: // contextMenu.getItemByItemId(ConstantsExplorer.LNK).setVisible(true); break; - case REPORT_TEMPLATE: - // contextMenu.getItemByItemId(ConstantsExplorer.ORT).setVisible(true); - break; - case REPORT: - break; - case QUERY: - break; case TIME_SERIES: break; case PDF_DOCUMENT: diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/DownloadFolderWebSocketServer.java b/src/main/java/org/gcube/portlets/user/workspace/server/DownloadFolderWebSocketServer.java deleted file mode 100644 index 74f0788..0000000 --- a/src/main/java/org/gcube/portlets/user/workspace/server/DownloadFolderWebSocketServer.java +++ /dev/null @@ -1,154 +0,0 @@ -package org.gcube.portlets.user.workspace.server; - -import static org.gcube.common.authorization.client.Constants.authorizationService; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.UUID; - -import javax.websocket.OnClose; -import javax.websocket.OnMessage; -import javax.websocket.OnOpen; -import javax.websocket.Session; -import javax.websocket.server.ServerEndpoint; - -import org.apache.log4j.Logger; -import org.gcube.common.authorization.library.provider.UserInfo; -import org.gcube.common.homelibrary.home.HomeLibrary; -import org.gcube.common.homelibrary.home.workspace.Workspace; -import org.gcube.common.homelibrary.home.workspace.WorkspaceFolder; -import org.gcube.common.homelibrary.home.workspace.WorkspaceItem; -import org.gcube.common.homelibrary.util.zip.ZipUtil; -import org.gcube.common.portal.PortalContext; -import org.gcube.common.scope.api.ScopeProvider; -import org.gcube.contentmanagement.blobstorage.service.IClient; -import org.gcube.contentmanager.storageclient.wrapper.AccessType; -import org.gcube.contentmanager.storageclient.wrapper.MemoryType; -import org.gcube.contentmanager.storageclient.wrapper.StorageClient; -import org.gcube.portlets.user.workspace.client.ConstantsExplorer; - -@ServerEndpoint(value = "/downloadfolder", subprotocols = { "downloadfolder" }) -public class DownloadFolderWebSocketServer { - - - protected static Logger _log = Logger.getLogger(DownloadFolderWebSocketServer.class); - - private static Set peers = Collections.synchronizedSet( new HashSet() ); - - @OnOpen - public void onOpen( final Session session ) { - _log.debug( "onOpen(" + session.getId() + ")" ); - peers.add( session ); - } - - @OnClose - public void onClose( final Session session ) { - _log.debug( "onClose(" + session.getId() + ")" ); - peers.remove( session ); - } - - @OnMessage - public void onMessage( final String message, final Session session ) { - _log.info( "onMessage(" + message + "," + session.getId() + ")" ); - for ( final Session peer : peers ) - { - if ( peer.getId().equals( session.getId() ) ) { - if (message.startsWith(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_DO_ZIP)) { - String itemId = message.split(":")[1]; - if(itemId==null || itemId.isEmpty()){ - peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ERROR_NOT_FOUND); - } else { - peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ZIPPING); - String username = message.split(":")[2]; - String absolutePath = zipFolder(itemId, peer, username); - peer.getAsyncRemote().sendText(absolutePath); - } - } - } - - } - } - private final static String DEFAULT_ROLE = "OrganizationMember"; - private static void setAuthorizationToken(String username) throws Exception { - - String scope = "/"+PortalContext.getConfiguration().getInfrastructureName(); - ScopeProvider.instance.set(scope); - _log.debug("calling service token on scope " + scope); - List userRoles = new ArrayList<>(); - userRoles.add(DEFAULT_ROLE); - String token = authorizationService().generateUserToken(new UserInfo(username, userRoles), scope); - _log.debug("received token: "+token); - _log.info("Security token set in session for: "+username + " on " + scope); - } - - private String zipFolder(String itemId, Session peer, String username) { - - _log.info("FOLDER DOWNLOAD REQUEST itemId="+itemId + " user=" + username); - Workspace wa = null; - try { - setAuthorizationToken(username); - wa = HomeLibrary.getUserWorkspace(username); - } catch (Exception e) { - e.printStackTrace(); - } - if (wa == null) { - peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ERROR_SESSION_EXPIRED); - return null; - } - - WorkspaceItem item; - try { - - item = wa.getItem(itemId); - - } catch (Exception e) { - _log.error("Requested item "+itemId+" not found",e); - peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ERROR_NOT_FOUND); - return null; - } - - switch (item.getType()) { - case SHARED_FOLDER: - case FOLDER:{ - try { - File tmpZip = ZipUtil.zipFolder((WorkspaceFolder) item); - - String randomDirName = UUID.randomUUID().toString(); - StringBuilder sb = new StringBuilder("/").append(randomDirName).append(File.separator).append(item.getName()).append(".zip"); - String fileNameAndPath = sb.toString(); - String toReturn = copyFileOnStorageVolatile(tmpZip, fileNameAndPath); - _log.info("Deleting tmp zip: " + tmpZip.getAbsolutePath()); - tmpZip.delete(); - return toReturn; - } catch (Exception e) { - _log.error("Error during folder compression "+itemId,e); - peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ERROR_DURING_COMPRESSION); - } - } - default: - _log.error("Error during folder compression "+itemId); - peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ERROR_NOT_A_FOLDER); - return null; - } - } - @SuppressWarnings("resource") - private String copyFileOnStorageVolatile(File source, String fileNameAndPath) throws IOException { - String path = fileNameAndPath; - _log.info("DownloadFolder Starting copy file on storage volatile: " + path); - IClient client=new StorageClient("PortletUser", "Workspace", "downloadFolder", AccessType.SHARED, MemoryType.VOLATILE).getClient(); - String id = client.put(true).LFile(source.getAbsolutePath()).RFile(path); - _log.debug("DownloadFolder Copy file on storage volatile id returned: " + id); - String httpUrl = client.getHttpUrl().RFile(path); - _log.info("DownloadFolder Copy file on storage volatile is finished, generated http url: " + httpUrl); - return httpUrl; - } - - - - -} \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index f66c9e5..a3d3d67 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -4,7 +4,6 @@ http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> - WorkspacePortlet.html @@ -15,26 +14,11 @@ org.gcube.portlets.widgets.workspacesharingwidget.server.WorkspaceSharingServiceImpl - - - - - - - - - - DownloadService org.gcube.portlets.user.workspace.server.DownloadServlet - - - - - WorkspaceService @@ -163,33 +147,16 @@ /workspace/checksession - - - - - DownloadService /workspace/DownloadService - - - - - - - - - - - workspacesharing /workspace/workspacesharing - jUnitHostImpl /org.gcube.portlets.user.workspace.WorkspacePortletJUnit/junithost/* @@ -204,24 +171,9 @@ /org.gcube.portlets.user.workspace.WorkspacePortletJUnit/DownloadService - - - - - ImageService /org.gcube.portlets.user.workspace.WorkspacePortletJUnit/ImageService - - - - - - - - - -