From f1b444b2dccb12721fbdaa610325699a48fa030c Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Mon, 21 May 2018 16:45:16 +0000 Subject: [PATCH] updated icons and breadcrumb git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@167659 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../widgets/wsexplorer/client/Util.java | 20 +- .../client/WorkspaceExplorerConstants.java | 2 + .../client/WorkspaceExplorerController.java | 46 ++-- .../client/WorkspaceExplorerEntryPoint.java | 4 +- .../client/event/BreadcrumbClickEvent.java | 10 +- .../client/event/BreadcrumbInitEvent.java | 10 +- .../client/event/RootLoadedEvent.java | 8 +- .../WorkspaceResourcesBExplorerPanel.java | 28 +-- .../WorkspaceResourcesExplorerPanel.java | 26 +-- ...kspaceResourcesExplorerPanelPaginated.java | 12 +- .../WorkspaceExplorerSaveNotification.java | 4 +- .../WorkspaceExplorerSelectBNotification.java | 6 +- .../WorkspaceExplorerSelectNotification.java | 4 +- .../resources/WorkspaceExplorerIcons.java | 6 +- .../baseline_create_new_folder_white_24dp.png | Bin 0 -> 1085 bytes .../baseline_folder_special_white_24dp.png | Bin 0 -> 1175 bytes .../resources/baseline_home_white_24dp.png | Bin 0 -> 1137 bytes .../wsexplorer/client/resources/home.png | Bin 403 -> 0 bytes .../wsexplorer/client/resources/home_2.png | Bin 823 -> 0 bytes .../client/resources/new_folder.png | Bin 581 -> 0 bytes .../client/resources/old/CALENDAR.png | Bin 0 -> 1054 bytes .../wsexplorer/client/resources/old/CSV.png | Bin 0 -> 1039 bytes .../wsexplorer/client/resources/old/DOC.png | Bin 0 -> 1074 bytes .../client/resources/old/FOLDER.png | Bin 0 -> 1045 bytes .../wsexplorer/client/resources/old/IMAGE.png | Bin 0 -> 1123 bytes .../wsexplorer/client/resources/old/PDF.png | Bin 0 -> 1112 bytes .../wsexplorer/client/resources/old/PPTX.png | Bin 0 -> 1074 bytes .../client/resources/old/SHARED_FOLDER.png | Bin 0 -> 1120 bytes .../client/resources/old/UNKNOWN.png | Bin 0 -> 1063 bytes .../old/WorkspaceLightTreeResources.java | 31 ++- .../wsexplorer/client/resources/old/XLS.png | Bin 0 -> 1074 bytes .../client/resources/old/folder.png | Bin 537 -> 0 bytes .../client/resources/old/shared_folder.png | Bin 887 -> 0 bytes .../client/resources/vre_folder.png | Bin 1396 -> 0 bytes .../client/rpc/WorkspaceExplorerService.java | 23 +- .../rpc/WorkspaceExplorerServiceAsync.java | 35 +-- .../save/WorkspaceExplorerSaveDialog.java | 12 +- .../save/WorkspaceExplorerSavePanel.java | 12 +- .../select/WorkspaceExplorerSelectDialog.java | 14 +- .../select/WorkspaceExplorerSelectPanel.java | 14 +- .../wsexplorer/client/view/Breadcrumbs.java | 20 +- .../wsexplorer/client/view/FolderLoader.java | 4 +- .../wsexplorer/client/view/Navigation.java | 13 +- .../client/view/WorkspaceExplorer.java | 40 ++-- .../view/WorkspaceExplorerPaginated.java | 24 +- .../view/gcubeitem/DialogShowGcubeItem.java | 4 +- .../client/view/grid/ItemsTable.java | 38 ++-- .../wsexplorer/public/workspaceExplorer.css | 3 + .../wsexplorer/server/ItemBuilder.java | 207 ++++++++++------- .../wsexplorer/server/ItemComparator.java | 8 +- .../server/WorkspaceExplorerServiceImpl.java | 215 +++++++----------- .../wsexplorer/server/stohub/Whorespace.java | 14 ++ .../shared/{ItemDTO.java => Item.java} | 34 +-- .../widgets/wsexplorer/shared/ItemType.java | 9 + .../wsexplorer/shared/SearchedFolder.java | 8 +- 55 files changed, 505 insertions(+), 463 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/baseline_create_new_folder_white_24dp.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/baseline_folder_special_white_24dp.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/baseline_home_white_24dp.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/home.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/home_2.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/new_folder.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/CALENDAR.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/CSV.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/DOC.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/FOLDER.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/IMAGE.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/PDF.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/PPTX.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/SHARED_FOLDER.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/UNKNOWN.png create mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/XLS.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/folder.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/shared_folder.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/vre_folder.png rename src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/{ItemDTO.java => Item.java} (88%) diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/Util.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/Util.java index ff8ccdd..b1da5fe 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/Util.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/Util.java @@ -4,7 +4,7 @@ package org.gcube.portlets.widgets.wsexplorer.client; import org.gcube.portlets.widgets.wsexplorer.client.resources.old.WorkspaceLightTreeResources; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import com.google.gwt.core.shared.GWT; @@ -67,25 +67,29 @@ public class Util { * @param type the item type. * @return the image. */ - public static ImageResource getImage(ItemDTO item) - { + public static ImageResource getImage(Item item) { if(item==null) return null; switch (item.getType()) { // case ROOT: return WorkspaceLightTreeResources.INSTANCE.root(); - case FOLDER: { - if (item.isSharedFolder()) return WorkspaceLightTreeResources.INSTANCE.sharedFolder(); - else return WorkspaceLightTreeResources.INSTANCE.folder(); - } + case FOLDER: + case PRIVATE_FOLDER: + return WorkspaceLightTreeResources.INSTANCE.folder(); + case SHARED_FOLDER: return WorkspaceLightTreeResources.INSTANCE.sharedFolder(); + case VRE_FOLDER: return WorkspaceLightTreeResources.INSTANCE.sharedFolder(); case EXTERNAL_IMAGE: return WorkspaceLightTreeResources.INSTANCE.external_image(); case EXTERNAL_FILE: return WorkspaceLightTreeResources.INSTANCE.external_file(); case EXTERNAL_PDF_FILE: return WorkspaceLightTreeResources.INSTANCE.external_pdf(); + case CSV: return WorkspaceLightTreeResources.INSTANCE.CSV(); case EXTERNAL_URL: return WorkspaceLightTreeResources.INSTANCE.external_url(); case REPORT_TEMPLATE: return WorkspaceLightTreeResources.INSTANCE.report_template(); case REPORT: return WorkspaceLightTreeResources.INSTANCE.report(); case QUERY: return WorkspaceLightTreeResources.INSTANCE.query(); - case DOCUMENT: return WorkspaceLightTreeResources.INSTANCE.document(); + case CALENDAR: return WorkspaceLightTreeResources.INSTANCE.CALENDAR(); + case DOCUMENT: return WorkspaceLightTreeResources.INSTANCE.DOC(); + case PRESENTATION: return WorkspaceLightTreeResources.INSTANCE.PPT(); + case SPREADSHEET: return WorkspaceLightTreeResources.INSTANCE.XLS(); case METADATA: return WorkspaceLightTreeResources.INSTANCE.metadata(); case PDF_DOCUMENT: return WorkspaceLightTreeResources.INSTANCE.pdf_document(); case IMAGE_DOCUMENT: return WorkspaceLightTreeResources.INSTANCE.image_document(); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerConstants.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerConstants.java index d910a38..4a1ad6e 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerConstants.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerConstants.java @@ -26,6 +26,8 @@ public class WorkspaceExplorerConstants { public static final String HOME_LABEL = "Home"; public static final String WORKSPACE_MY_SPECIAL_FOLDERS_PATH = "/Workspace/MySpecialFolders"; + + public static final String WORKSPACE_FOLDER_EMPTY_MESSAGE = "This folder is empty"; // DIALOGS public static final String SAVE = "Save"; diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerController.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerController.java index b1f3cd6..50881be 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerController.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerController.java @@ -3,6 +3,7 @@ */ package org.gcube.portlets.widgets.wsexplorer.client; +import java.util.ArrayList; import java.util.List; import org.gcube.portlets.widgets.wsexplorer.client.event.BreadcrumbClickEvent; @@ -27,7 +28,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.view.CreateFolderForm; import org.gcube.portlets.widgets.wsexplorer.client.view.Navigation; import org.gcube.portlets.widgets.wsexplorer.client.view.WorkspaceExplorer; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemCategory; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; @@ -70,7 +71,7 @@ public class WorkspaceExplorerController implements EventHandler { bindEvents(); //As default all items are showable and selectable wsExplorer = new WorkspaceExplorer(eventBus, ItemType.values(), ItemType.values()); - wsExplorer.initTable(new ListDataProvider()); + wsExplorer.initTable(new ListDataProvider()); initExplorerPanel(heightPanel); } @@ -86,7 +87,7 @@ public class WorkspaceExplorerController implements EventHandler { bindEvents(); //As default all items are showable and selectable wsExplorer = new WorkspaceExplorer(eventBus, filterCriteria, ItemType.values(), ItemType.values(), null, false, null); - wsExplorer.initTable(new ListDataProvider()); + wsExplorer.initTable(new ListDataProvider()); initExplorerPanel(heightPanel); } @@ -105,7 +106,7 @@ public class WorkspaceExplorerController implements EventHandler { bindEvents(); //As default all items are showable and selectable wsExplorer = new WorkspaceExplorer(eventBus, filterCriteria, ItemType.values(), ItemType.values(), showProperties, false, null); - wsExplorer.initTable(new ListDataProvider()); + wsExplorer.initTable(new ListDataProvider()); initExplorerPanel(heightPanel); } @@ -133,13 +134,13 @@ public class WorkspaceExplorerController implements EventHandler { if(loadFolderEvent.getTargetItem()!=null){ - if(loadFolderEvent.getTargetItem() instanceof ItemDTO){ - ItemDTO item = (ItemDTO) loadFolderEvent.getTargetItem(); + if(loadFolderEvent.getTargetItem() instanceof Item){ + Item item = (Item) loadFolderEvent.getTargetItem(); if(item.isFolder()){ try { wsExplorer.loadFolder(item, false, -1, -1, true); - loadParentBreadcrumbByItemId(item.getId(), true); + loadParentBreadcrumbByItemId(item.getId(), item.getName(), true); if(item.isSpecialFolder()) navigation.setVisibleNewFolderFacility(false); @@ -168,7 +169,7 @@ public class WorkspaceExplorerController implements EventHandler { @Override public void onBreadcrumbClick(BreadcrumbClickEvent breadcrumbClickEvent) { - eventBus.fireEvent(new LoadFolderEvent(breadcrumbClickEvent.getTargetItem())); + eventBus.fireEvent(new LoadFolderEvent(breadcrumbClickEvent.getTargetItem())); } }); @@ -178,7 +179,7 @@ public class WorkspaceExplorerController implements EventHandler { public void onLoadRoot(LoadRootEvent loadRootEvent) { wsExplorer.loadRoot(); - WorkspaceExplorerConstants.workspaceNavigatorService.getItemByCategory(ItemCategory.HOME, new AsyncCallback() { + WorkspaceExplorerConstants.workspaceNavigatorService.getItemByCategory(ItemCategory.HOME, new AsyncCallback() { @Override public void onFailure(Throwable caught) { @@ -188,7 +189,7 @@ public class WorkspaceExplorerController implements EventHandler { } @Override - public void onSuccess(ItemDTO result) { + public void onSuccess(Item result) { result.setName(WorkspaceExplorerConstants.HOME_LABEL); //FORCE SET NAME LIKE "HOME_LABEL" breadcrumbs.init(result); navigation.setVisibleNewFolderFacility(true); @@ -212,8 +213,8 @@ public class WorkspaceExplorerController implements EventHandler { public void onClick(final ClickItemEvent clickItemEvent) { if(clickItemEvent.getItem()!=null){ - if (clickItemEvent.getItem() instanceof ItemDTO) { - ItemDTO item = (ItemDTO) clickItemEvent.getItem(); + if (clickItemEvent.getItem() instanceof Item) { + Item item = (Item) clickItemEvent.getItem(); updateMoreInfo(item); } } @@ -226,7 +227,7 @@ public class WorkspaceExplorerController implements EventHandler { public void onLoadMySpecialFolder(LoadMySpecialFolderEvent loadMySpecialFolderEvent) { wsExplorer.loadMySpecialFolder(); - WorkspaceExplorerConstants.workspaceNavigatorService.getItemByCategory(ItemCategory.VRE_FOLDER, new AsyncCallback() { + WorkspaceExplorerConstants.workspaceNavigatorService.getItemByCategory(ItemCategory.VRE_FOLDER, new AsyncCallback() { @Override public void onFailure(Throwable caught) { @@ -235,7 +236,7 @@ public class WorkspaceExplorerController implements EventHandler { } @Override - public void onSuccess(ItemDTO result) { + public void onSuccess(Item result) { breadcrumbs.init(result); navigation.setVisibleNewFolderFacility(false); clearMoreInfo(); @@ -256,7 +257,7 @@ public class WorkspaceExplorerController implements EventHandler { showMessage(AlertType.INFO, "Creating folder \""+folderName+"\""); - WorkspaceExplorerConstants.workspaceNavigatorService.createFolder(folderName, "", breadcrumbs.getLastParent().getId(), new AsyncCallback() { + WorkspaceExplorerConstants.workspaceNavigatorService.createFolder(folderName, "", breadcrumbs.getLastParent().getId(), new AsyncCallback() { @Override public void onFailure(Throwable caught) { @@ -267,7 +268,7 @@ public class WorkspaceExplorerController implements EventHandler { } @Override - public void onSuccess(ItemDTO result) { + public void onSuccess(Item result) { hideMessage(); if(result!=null){ wsExplorer.addItemToExplorer(result); @@ -296,11 +297,11 @@ public class WorkspaceExplorerController implements EventHandler { * @param itemIdentifier the item identifier * @param includeItemAsParent the include item as parent */ - protected void loadParentBreadcrumbByItemId(final String itemIdentifier, boolean includeItemAsParent){ + protected void loadParentBreadcrumbByItemId(final String itemIdentifier, String itemName, boolean includeItemAsParent){ GWT.log("Reload Parent Breadcrumb: [Item id: "+itemIdentifier+"]"); - WorkspaceExplorerConstants.workspaceNavigatorService.getBreadcrumbsByItemIdentifier(itemIdentifier, includeItemAsParent, new AsyncCallback>() { + WorkspaceExplorerConstants.workspaceNavigatorService.getBreadcrumbsByItemIdentifier(itemIdentifier, itemName, includeItemAsParent, new AsyncCallback>() { @Override public void onFailure(Throwable caught) { @@ -309,7 +310,10 @@ public class WorkspaceExplorerController implements EventHandler { } @Override - public void onSuccess(List result) { + public void onSuccess(ArrayList result) { + for (Item item : result) { + GWT.log("->"+item.getName()); + } if(result!=null){ breadcrumbs.setPath(result); clearMoreInfo(); @@ -330,7 +334,7 @@ public class WorkspaceExplorerController implements EventHandler { * * @param item the item */ - private void updateMoreInfo(ItemDTO item){ + private void updateMoreInfo(Item item){ if(item!=null){ workspaceExplorerPanel.getSouthPanel().clear(); @@ -469,7 +473,7 @@ public class WorkspaceExplorerController implements EventHandler { * @param item the item * @return true, if successful */ - public boolean itemIsSelectable(ItemDTO item){ + public boolean itemIsSelectable(Item item){ GWT.log("Selectable type: "+wsExplorer.getSelectableTypes()); GWT.log("item: "+item); if (item!=null){ diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerEntryPoint.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerEntryPoint.java index 8d22ed9..323b244 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerEntryPoint.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/WorkspaceExplorerEntryPoint.java @@ -2,7 +2,7 @@ package org.gcube.portlets.widgets.wsexplorer.client; import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener; import org.gcube.portlets.widgets.wsexplorer.client.select.WorkspaceExplorerSelectDialog; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.shared.GWT; @@ -23,7 +23,7 @@ public class WorkspaceExplorerEntryPoint implements EntryPoint { WorskpaceExplorerSelectNotificationListener listener = new WorskpaceExplorerSelectNotificationListener() { @Override - public void onSelectedItem(ItemDTO item) { + public void onSelectedItem(Item item) { GWT.log("onSelectedItem: "+item); navigator.hide(); } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/BreadcrumbClickEvent.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/BreadcrumbClickEvent.java index 14dcf70..1b96a59 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/BreadcrumbClickEvent.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/BreadcrumbClickEvent.java @@ -1,6 +1,6 @@ package org.gcube.portlets.widgets.wsexplorer.client.event; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import com.google.gwt.event.shared.GwtEvent; @@ -13,7 +13,7 @@ import com.google.gwt.event.shared.GwtEvent; */ public class BreadcrumbClickEvent extends GwtEvent { public static Type TYPE = new Type(); - private ItemDTO targetItem; + private Item targetItem; /** @@ -21,7 +21,7 @@ public class BreadcrumbClickEvent extends GwtEvent * * @param target the target */ - public BreadcrumbClickEvent(ItemDTO target) { + public BreadcrumbClickEvent(Item target) { this.targetItem = target; } @@ -46,7 +46,7 @@ public class BreadcrumbClickEvent extends GwtEvent * * @return the targetItem */ - public ItemDTO getTargetItem() { + public Item getTargetItem() { return targetItem; } @@ -55,7 +55,7 @@ public class BreadcrumbClickEvent extends GwtEvent * * @param targetItem the targetItem to set */ - public void setTargetItem(ItemDTO targetItem) { + public void setTargetItem(Item targetItem) { this.targetItem = targetItem; } } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/BreadcrumbInitEvent.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/BreadcrumbInitEvent.java index 7dfef3e..f712a7f 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/BreadcrumbInitEvent.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/BreadcrumbInitEvent.java @@ -1,6 +1,6 @@ package org.gcube.portlets.widgets.wsexplorer.client.event; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import com.google.gwt.event.shared.GwtEvent; @@ -13,7 +13,7 @@ import com.google.gwt.event.shared.GwtEvent; */ public class BreadcrumbInitEvent extends GwtEvent { public static Type TYPE = new Type(); - private ItemDTO targetItem; + private Item targetItem; /** @@ -21,7 +21,7 @@ public class BreadcrumbInitEvent extends GwtEvent { * * @param target the target */ - public BreadcrumbInitEvent(ItemDTO target) { + public BreadcrumbInitEvent(Item target) { this.targetItem = target; } @@ -46,7 +46,7 @@ public class BreadcrumbInitEvent extends GwtEvent { * * @return the targetItem */ - public ItemDTO getTargetItem() { + public Item getTargetItem() { return targetItem; } @@ -55,7 +55,7 @@ public class BreadcrumbInitEvent extends GwtEvent { * * @param targetItem the targetItem to set */ - public void setTargetItem(ItemDTO targetItem) { + public void setTargetItem(Item targetItem) { this.targetItem = targetItem; } } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/RootLoadedEvent.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/RootLoadedEvent.java index 4826ddb..f644249 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/RootLoadedEvent.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/event/RootLoadedEvent.java @@ -1,6 +1,6 @@ package org.gcube.portlets.widgets.wsexplorer.client.event; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import com.google.gwt.event.shared.GwtEvent; @@ -13,9 +13,9 @@ import com.google.gwt.event.shared.GwtEvent; public class RootLoadedEvent extends GwtEvent { public static Type TYPE = new Type(); - private ItemDTO root; + private Item root; - public RootLoadedEvent(ItemDTO root) { + public RootLoadedEvent(Item root) { this.root = root; } @@ -38,7 +38,7 @@ public class RootLoadedEvent extends GwtEvent { /** * @return the root */ - public ItemDTO getRoot() { + public Item getRoot() { return root; } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesBExplorerPanel.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesBExplorerPanel.java index 85c74e1..13fb30a 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesBExplorerPanel.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesBExplorerPanel.java @@ -20,7 +20,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.view.Breadcrumbs; import org.gcube.portlets.widgets.wsexplorer.client.view.WorkspaceExplorer; import org.gcube.portlets.widgets.wsexplorer.client.view.grid.ItemsTable.DISPLAY_FIELD; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import com.github.gwtbootstrap.client.ui.constants.AlertType; @@ -241,8 +241,8 @@ public class WorkspaceResourcesBExplorerPanel extends DockPanel implements HasWo setParameters(folderId, folderName, showProperties, filter); bindEvents(); wsExplorer = new WorkspaceExplorer(eventBus, filter, showableTypes, selectableTypes, showProperties, showGcubeInfo, sortByColumn, new DISPLAY_FIELD[]{DISPLAY_FIELD.ICON, DISPLAY_FIELD.NAME,DISPLAY_FIELD.CREATION_DATE}); - wsExplorer.initTable(new ListDataProvider()); - ItemDTO item = new ItemDTO(folderId, folderName, true); + wsExplorer.initTable(new ListDataProvider()); + Item item = new Item(folderId, folderName, true); wsExplorer.loadFolder(item, true, -1, -1, false); initPanel(""); } @@ -274,7 +274,7 @@ public class WorkspaceResourcesBExplorerPanel extends DockPanel implements HasWo @Override public void onClick(final ClickItemEvent clickItemEvent) { isSelect = false; - ItemDTO item = wsExplorer.getItemSelected(); + Item item = wsExplorer.getItemSelected(); //Return if item is not selectable if(!itemIsSelectable(item)){ @@ -294,8 +294,8 @@ public class WorkspaceResourcesBExplorerPanel extends DockPanel implements HasWo if(loadFolderEvent.getTargetItem()!=null){ - if(loadFolderEvent.getTargetItem() instanceof ItemDTO){ - ItemDTO item = (ItemDTO) loadFolderEvent.getTargetItem(); + if(loadFolderEvent.getTargetItem() instanceof Item){ + Item item = (Item) loadFolderEvent.getTargetItem(); if(item.isFolder()){ try { wsExplorer.loadFolder(item, true, ITEM_START_INDEX, ITEMS_PER_PAGE, true); @@ -315,7 +315,7 @@ public class WorkspaceResourcesBExplorerPanel extends DockPanel implements HasWo @Override public void onBreadcrumbClick(BreadcrumbClickEvent breadcrumbClickEvent) { - eventBus.fireEvent(new LoadFolderEvent(breadcrumbClickEvent.getTargetItem())); + eventBus.fireEvent(new LoadFolderEvent(breadcrumbClickEvent.getTargetItem())); } }); } @@ -331,7 +331,7 @@ public class WorkspaceResourcesBExplorerPanel extends DockPanel implements HasWo GWT.log("Reload Parent Breadcrumb: [Item id: "+itemIdentifier+"]"); - WorkspaceExplorerConstants.workspaceNavigatorService.getBreadcrumbsByItemIdentifierToParentLimit(itemIdentifier, folderId, includeItemAsParent, new AsyncCallback>() { + WorkspaceExplorerConstants.workspaceNavigatorService.getBreadcrumbsByItemIdentifierToParentLimit(itemIdentifier, folderId, includeItemAsParent, new AsyncCallback>() { @Override public void onFailure(Throwable caught) { @@ -340,7 +340,7 @@ public class WorkspaceResourcesBExplorerPanel extends DockPanel implements HasWo } @Override - public void onSuccess(List result) { + public void onSuccess(List result) { if(result!=null){ notifyOnBreadcrumbChanged(result.get(result.size()-1)); breadcrumbs.setPath(result); @@ -355,8 +355,8 @@ public class WorkspaceResourcesBExplorerPanel extends DockPanel implements HasWo * Refresh root folder view. */ public void refreshRootFolderView(){ - ItemDTO item = new ItemDTO(folderId, folderName, true); - eventBus.fireEvent(new LoadFolderEvent(item)); + Item item = new Item(folderId, folderName, true); + eventBus.fireEvent(new LoadFolderEvent(item)); } /** @@ -395,7 +395,7 @@ public class WorkspaceResourcesBExplorerPanel extends DockPanel implements HasWo * * @param selected the selected */ - protected void notifySelectedItem(ItemDTO selected){ + protected void notifySelectedItem(Item selected){ for (WorskpaceExplorerSelectBNotificationListener worskpaceExplorerNotificationListener : listeners) { worskpaceExplorerNotificationListener.onSelectedItem(selected); @@ -408,7 +408,7 @@ public class WorkspaceResourcesBExplorerPanel extends DockPanel implements HasWo * * @param selected the selected */ - protected void notifyOnBreadcrumbChanged(ItemDTO selected){ + protected void notifyOnBreadcrumbChanged(Item selected){ for (WorskpaceExplorerSelectBNotificationListener worskpaceExplorerNotificationListener : listeners) { worskpaceExplorerNotificationListener.onBreadcrumbChanged(selected); @@ -495,7 +495,7 @@ public class WorkspaceResourcesBExplorerPanel extends DockPanel implements HasWo * @param item the item * @return true, if successful */ - public boolean itemIsSelectable(ItemDTO item){ + public boolean itemIsSelectable(Item item){ //GWT.log("Selectable type: "+wsExplorer.getSelectableTypes()); //GWT.log("item: "+item); if (item!=null){ diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesExplorerPanel.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesExplorerPanel.java index b156e3d..87423df 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesExplorerPanel.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesExplorerPanel.java @@ -20,7 +20,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.view.Breadcrumbs; import org.gcube.portlets.widgets.wsexplorer.client.view.WorkspaceExplorer; import org.gcube.portlets.widgets.wsexplorer.client.view.grid.ItemsTable.DISPLAY_FIELD; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import com.github.gwtbootstrap.client.ui.constants.AlertType; @@ -212,8 +212,8 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor setParameters(folderId, folderName, showProperties, filter); bindEvents(); wsExplorer = new WorkspaceExplorer(eventBus, filter, showableTypes, selectableTypes, showProperties, showGcubeInfo, sortByColumn, new DISPLAY_FIELD[]{DISPLAY_FIELD.ICON, DISPLAY_FIELD.NAME,DISPLAY_FIELD.CREATION_DATE}); - wsExplorer.initTable(new ListDataProvider()); - ItemDTO item = new ItemDTO(folderId, folderName, true); + wsExplorer.initTable(new ListDataProvider()); + Item item = new Item(folderId, folderName, true); wsExplorer.loadFolder(item, true, -1, -1, false); initPanel(""); } @@ -245,7 +245,7 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor @Override public void onClick(final ClickItemEvent clickItemEvent) { isSelect = false; - ItemDTO item = wsExplorer.getItemSelected(); + Item item = wsExplorer.getItemSelected(); //Return if item is not selectable if(!itemIsSelectable(item)){ @@ -265,8 +265,8 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor if(loadFolderEvent.getTargetItem()!=null){ - if(loadFolderEvent.getTargetItem() instanceof ItemDTO){ - ItemDTO item = (ItemDTO) loadFolderEvent.getTargetItem(); + if(loadFolderEvent.getTargetItem() instanceof Item){ + Item item = (Item) loadFolderEvent.getTargetItem(); if(item.isFolder()){ try { wsExplorer.loadFolder(item, true, ITEM_START_INDEX, ITEMS_PER_PAGE, true); @@ -286,7 +286,7 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor @Override public void onBreadcrumbClick(BreadcrumbClickEvent breadcrumbClickEvent) { - eventBus.fireEvent(new LoadFolderEvent(breadcrumbClickEvent.getTargetItem())); + eventBus.fireEvent(new LoadFolderEvent(breadcrumbClickEvent.getTargetItem())); } }); } @@ -302,7 +302,7 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor GWT.log("Reload Parent Breadcrumb: [Item id: "+itemIdentifier+"]"); - WorkspaceExplorerConstants.workspaceNavigatorService.getBreadcrumbsByItemIdentifierToParentLimit(itemIdentifier, folderId, includeItemAsParent, new AsyncCallback>() { + WorkspaceExplorerConstants.workspaceNavigatorService.getBreadcrumbsByItemIdentifierToParentLimit(itemIdentifier, folderId, includeItemAsParent, new AsyncCallback>() { @Override public void onFailure(Throwable caught) { @@ -311,7 +311,7 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor } @Override - public void onSuccess(List result) { + public void onSuccess(List result) { if(result!=null){ breadcrumbs.setPath(result); clearMoreInfo(); @@ -325,8 +325,8 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor * Refresh root folder view. */ public void refreshRootFolderView(){ - ItemDTO item = new ItemDTO(folderId, folderName, true); - eventBus.fireEvent(new LoadFolderEvent(item)); + Item item = new Item(folderId, folderName, true); + eventBus.fireEvent(new LoadFolderEvent(item)); } /** @@ -365,7 +365,7 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor * * @param selected the selected */ - protected void notifySelectedItem(ItemDTO selected){ + protected void notifySelectedItem(Item selected){ for (WorskpaceExplorerSelectNotificationListener worskpaceExplorerNotificationListener : listeners) { worskpaceExplorerNotificationListener.onSelectedItem(selected); @@ -451,7 +451,7 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor * @param item the item * @return true, if successful */ - public boolean itemIsSelectable(ItemDTO item){ + public boolean itemIsSelectable(Item item){ //GWT.log("Selectable type: "+wsExplorer.getSelectableTypes()); //GWT.log("item: "+item); if (item!=null){ diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesExplorerPanelPaginated.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesExplorerPanelPaginated.java index 46a5180..ab86887 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesExplorerPanelPaginated.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/explore/WorkspaceResourcesExplorerPanelPaginated.java @@ -15,7 +15,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.event.LoadFolderEventHandler import org.gcube.portlets.widgets.wsexplorer.client.view.WorkspaceExplorerPaginated; import org.gcube.portlets.widgets.wsexplorer.client.view.grid.ItemsTable.DISPLAY_FIELD; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import com.google.gwt.core.shared.GWT; @@ -125,7 +125,7 @@ public class WorkspaceResourcesExplorerPanelPaginated extends WorkspaceResources wsExplorerPaginated = new WorkspaceExplorerPaginated(eventBus, filter, showableTypes, selectableTypes, showProperties, showGcubeInfo, sortByColumn, new DISPLAY_FIELD[]{DISPLAY_FIELD.ICON, DISPLAY_FIELD.NAME, DISPLAY_FIELD.CREATION_DATE}); wsExplorerPaginated.initPagination(ITEMS_PER_PAGE); //wsExplorer.initTable(dataProvider); - ItemDTO item = new ItemDTO(folderId, folderName, true); + Item item = new Item(folderId, folderName, true); wsExplorerPaginated.loadFolder(item, true, ITEM_START_INDEX, ITEMS_PER_PAGE, true); initPanel(""); super.wsExplorer = wsExplorerPaginated; @@ -159,7 +159,7 @@ public class WorkspaceResourcesExplorerPanelPaginated extends WorkspaceResources @Override public void onClick(final ClickItemEvent clickItemEvent) { isSelect = false; - ItemDTO item = wsExplorerPaginated.getItemSelected(); + Item item = wsExplorerPaginated.getItemSelected(); //Return if item is not selectable if(!itemIsSelectable(item)){ notifyNotValidSelection(); @@ -178,8 +178,8 @@ public class WorkspaceResourcesExplorerPanelPaginated extends WorkspaceResources if(loadFolderEvent.getTargetItem()!=null){ - if(loadFolderEvent.getTargetItem() instanceof ItemDTO){ - ItemDTO item = (ItemDTO) loadFolderEvent.getTargetItem(); + if(loadFolderEvent.getTargetItem() instanceof Item){ + Item item = (Item) loadFolderEvent.getTargetItem(); if(item.isFolder()){ try { wsExplorerPaginated.loadFolder(item, true, ITEM_START_INDEX, ITEMS_PER_PAGE, true); @@ -199,7 +199,7 @@ public class WorkspaceResourcesExplorerPanelPaginated extends WorkspaceResources @Override public void onBreadcrumbClick(BreadcrumbClickEvent breadcrumbClickEvent) { - eventBus.fireEvent(new LoadFolderEvent(breadcrumbClickEvent.getTargetItem())); + eventBus.fireEvent(new LoadFolderEvent(breadcrumbClickEvent.getTargetItem())); } }); } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSaveNotification.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSaveNotification.java index 77cc609..064fa25 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSaveNotification.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSaveNotification.java @@ -3,7 +3,7 @@ */ package org.gcube.portlets.widgets.wsexplorer.client.notification; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; /** @@ -33,7 +33,7 @@ public class WorkspaceExplorerSaveNotification { * @param parent the parent * @param fileName the file name */ - void onSaving(ItemDTO parent,String fileName); + void onSaving(Item parent,String fileName); /** * On aborted. diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSelectBNotification.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSelectBNotification.java index b487079..c3b58d4 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSelectBNotification.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSelectBNotification.java @@ -3,7 +3,7 @@ */ package org.gcube.portlets.widgets.wsexplorer.client.notification; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; /** @@ -34,7 +34,7 @@ public class WorkspaceExplorerSelectBNotification { * * @param item the item */ - void onSelectedItem(ItemDTO item); + void onSelectedItem(Item item); /** @@ -62,7 +62,7 @@ public class WorkspaceExplorerSelectBNotification { * * @param item the item */ - void onBreadcrumbChanged(ItemDTO item); + void onBreadcrumbChanged(Item item); } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSelectNotification.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSelectNotification.java index dc737df..e1a165a 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSelectNotification.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/notification/WorkspaceExplorerSelectNotification.java @@ -3,7 +3,7 @@ */ package org.gcube.portlets.widgets.wsexplorer.client.notification; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; /** @@ -34,7 +34,7 @@ public class WorkspaceExplorerSelectNotification { * * @param item the item */ - void onSelectedItem(ItemDTO item); + void onSelectedItem(Item item); /** diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerIcons.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerIcons.java index 77565a2..5ca2d20 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerIcons.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/WorkspaceExplorerIcons.java @@ -26,13 +26,13 @@ public interface WorkspaceExplorerIcons extends ClientBundle { @Source("loading.gif") ImageResource logo(); - @Source("vre_folder.png") + @Source("baseline_folder_special_white_24dp.png") ImageResource vre_folder(); - @Source("new_folder.png") + @Source("baseline_create_new_folder_white_24dp.png") ImageResource new_folder(); - @Source("home.png") + @Source("baseline_home_white_24dp.png") ImageResource home(); @Source("info-icon.png") diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/baseline_create_new_folder_white_24dp.png b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/baseline_create_new_folder_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..c9f2b799ee6a1dd8fe8dd40e6b792d6caccebde7 GIT binary patch literal 1085 zcmaJ=Pe>F|9G+!KLX$+JOiRYGI*7Y7v%9nFPL4Lav+9Clvb)ey9(H!-se{g+W}fZp zDN8EBI(P~RBJog%icSd;VN?|1AtDl~C<^KlZ8xFF-l(e`w1GG8{T|=<{l52mzcq7n^)jJ?k$K4^X)om*sR$Is|3fux18u_u*z~)lu$>w)0hs`{F>J}`;`$n#R3;m> zfCLRIWf()nD)tN*(69##6OSetT$E&0cj8sND6(@TvS#_V>z4o7?01d~=6zswb8DvU_%EEM0YR=~>6!55bDT!t~*?`9Rgw z;-Quc=Z`(ScGYy>YR&N3mz6i_lsM;N-j2;xUJA|pI(rh^Q<}^iI8yWU_O4)Ab)0rp zf11R*IuBO4FS`~znR+H&m~bT*SLVOFm3@zUuPnToYg#@&116t*tL^2-Oa4qvcU|ZG uwM?OEXs_b_S>8Ba`h4=;t46z!#ws${{r3^`=-2uY=RwC~-NKzn=Gc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=wfvKCLk*T4nsiBFXp{s?HlckfZp^1f|v!j`@ zlZgvVuSMv>2~2MaLaz}{y`ZF!TL84#CABECEH%ZgC_h&L>}9J=oNh63!)YE= zZwhX=7~s^a4|I$^C}NQ!8YToxJs>7L*#bH6grAxROzlO$WSxHXF! zNq_$Tw`bO66lU%{cwu`3>oE--oiFS`ZynZjI_D~@tEV$>WZS-VYvPXtExE&v3;zB7 z{+>7GHv`9#&H(;ROXfAqdhHOyc|lzlPI{@X z5XW}JdqK`3rI`X297nVpf9ML_XHvU4U%@e9i8X_!sDc>VBMyaa>etz~Is6gL_@Je* zk3pDa(|P8PSqh)^LwIjGvIOlGc=0H!gfrvcjMlR@MUNcB-7hV%;7fR5aN(#zt*XNx z_73%iBMlZkQDO}>wY(jn3;&2@7&@EE`#3#boh*1*ioJhjM2yX`G)Fyw`wN;LnlDIe jWPF@4*XDs31B(QM`!2`$ANOs}f{F@HS3j3^P6TWAzl7@plFYfK5$M#TmS#|ecHGCMPSNwP!6B)hY57dq*>Su~<0ot-(!4skBd zoVc@jQ`>0jQ^0~qTDCs4NvH+E_~L_tB1S<7j;9VPbGy6-uJjqtslStDDW@v_AyEfpnhWr6(kE1J&KWoAf-ve zFasr}czhmq5`>Rbvjb>A{EU+gEg-p=fTNk1O%R=3jw#6_5P=*VR&}0SzJ7xQs=||p zA|fN2ahO+=V;1Zm>&wbxBXU$ByY_)jhr9lVBZ!MtJf~ zPy=Eb#0?9ANPwYari}q@Y=8}g+uPe)L6Bh?nhDZukYd}pP>^F7u(3$&%~FQAjL^H` z3tK#yN66%8x=<(t3ZZ~u4byBi8g(^-K?)-%yQm|{p>(^cq98z9wp0_Th7MdsDQAo# zp2U&9NkKC=Wp#U_Ot@gQBbhWCVBC}{Kv8@@RMR%mHp;-Qc;6{(XNxAJGtf3hEg3g% zsL6F@a&Zev$gr}8aja6sblyOQoi|Jn?~edcl2zTc*YTprrF0ufx(rhSPhy3Dsw!NZ ziS+gaBY3f4mQ8fTV$oQF4R^5dp0-ddEL6CHA&+WMM-{HJ#civ~bw@!nv1b8V>Itay zT80MJQ|8p_v4pDXZE%(9v4pE~X&emgHukMXSFZ5%xW~=0#m45~Lmf}Mg~$5f<>@2% zlX#R8da};1xz}rJT|Ub5*Rw07+1YPO50{s2d`>J(O-Xn$J8+MG_o*ACG^#gIc?EAK9$y@SV>i(zs!{4My|HLO>&+h%*Tk0)> z(Z;j&&z@|X|89Kt)3UeZ_f7w~A_$Y6iy!$ewGu5?&-l+ZZ=X4^v+?M2hay^tL|F%q z$)@?!tN)H)JgIupWJB_@H+QgZWmj^!W%}^+OX9+hKlx_`<4Gz2i>1QD$ytW68rMh{}3#9KL7v# literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/home.png b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/home.png deleted file mode 100644 index d19e34de44fda4eabdcb6e85fd060e5d39100df4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8@Bp6>S6^RWKR>^?xVWgOsOaeEl$4a@p;*x1;> zz(5}#pYZVTkdTnX#KfSWps=v8fPjFAh=|b8(4?fK`1p8#fB(qH$l&1MgoK2cn3(_n z{{zhqo-{`kNXeE2`2_<-Z~}(Nw&z(ug)2Q>978H@+4M#79Z}$Mj$QDYA+_D%ef>F4 z_shSOz2@m0-;ot=%bk6B)0x-X9IvmsqNiaTIn&{FK()A%@KTfW(sM35YMHw2vpwDQ zB8H=MgHhzS14mwbk00^R8{ivXh_l-Yq!A;^SrcV|r(!wRg<{!#TxLdJ?OSu$tX{@_gm>@CHVP4SqtC U*M`r#0dzEjr>mdKI;Vst08CJ>g#Z8m diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/home_2.png b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/home_2.png deleted file mode 100644 index de2e038d95dbabcdb966298a630e2da8a91035e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 823 zcmV-71IYY|P)wf(C_u@~l^E6z_7_o}FmorIQ`pjROpz9Ab;9cOnOAFq&IW!SxfLke( zl%?;qwF!EmS!-`{$O^FE&9RXY4Owux^HYc81pEfL6f%ih1NkG14 z;Vv6ShJaRKCpV8JeC#Y@8?L+tX%++-5N|5^DZ@(o9}^?P-NRY`e4i>Bpbu^G`h&268!p_(Oxc;>~(@C6KLufd*Uy z8lVIXhxb6aw@*I)+yOKoA8bJR=G(hoe*UGf;Pi8l6S+VkUhl4WzrkGzWGidR%Io)m zt`meB&e86z{Qk=GFYA}a>Sluth*@%Fd8e<6-J37Je*OIO|L4E|{~38XSlGB&nSg=F z`2Wk#KdfJW{rkhn2#yU_DL!_#*riwd_hlQmgQ8KNfrEDzHyg9!-+%vq14A985ESu@ z|NnzEumHKt|Nb-lW@chw0g8dyKmYu@@c-4FBuGkhD-mK~Cb+PfvS$dvS4bYHo5~US67- znrv)rpP!$bo10!gxah{C<9ZU0q#mZEbsdd+6ok>*(e_K0fK^<>=(%Wo2b>aBzKnef0G7{P_0p z>E-tG@pW}|baZrUYis}a@^W%=^6%~P^78fZ@8jd+goK28dV1{U;_K_{fPjGZ?&uzptX=!P1Z*N;$Tl?|rhK7cNgM;<(?e_Nee0+TO@azBj^lWTwczAfXx3^SORB>@} zd3kwbV`G7VfoN!GZpyBA0000WbW%=J08Rl9@bF6~@cLx@@DTikc=Ygy@bGE)_3-ud z`TX_t#57ug0002MNklAs^&Thh+nTn!x33UwjvwaFzu^-7t^TI#Qpy~{@a}$Ew!M=3 z+G-gW2!--UZ+^N4L-814{m1sc8l7vlEWX-8ID5i*X%x9y~xJz{$=>X&eS66Nb3V9EwiX=C;1tT@ylg=#q@n=`;<`KtlTcR2Mpj`bMb*+; zI)gLPSwTTMBRd$TpqqqEQJvidQ&xr`1_N+VGlKNm(?uF+YLLF@l{m?az?{}QZo$-e zUs@R-QUWU7-32-e0uj(5mO()uHf*5~q)WO2IXl-Z4N4F^6r{I;%18+iK^6pFhI1*L zj{`oQ;XNIGzrP*0Ii6!VH_N+SykGFR1&#yTA5FYjYF0>!v29<(3eq`@O@U?e`8<>N zFvuEY`9L7xXt>=jf^gYm29^sh!)_}ph|pFn&BPiqfTJi6pivy8Nu*mT=w?OMu(!)Z z3dR;>ljRxCNvRB!r2j*8y@IxJ67IzNPhmSfWBw5i6$1dR|Nr)RZmJJ2Q#UM=-7)?_JFE7Tzp;*N0B~|95r^0;L z9rkwwqJe0b_xQvzS47IF4h>x9syke81Bd}xqqx5!xU$GeuvlbDT*p>*Nnz|YOi?pjyP zf$5RdiAHAq+}iFB7w(^FnqFz1ke>gT+vvYLb^TSbZuQ9To`u#)@4G9p_Ts|gp_SV` z&l*4NP0chspo(wq?D`5W1L@_hnWb!vME#;$jJBEhTw=DhE7WmyX}<1W)4?ap-}u9? yXD{9OLfw3{0gg_h#M1ZUiN`OBGwBWOZ57sKw*)&N#7#C(|{^9$+|2fyQlPCLn zj`k1)(U+N!a(F-NukJ4V|5O#W@OA{HiYRZDQB`puF|Ju92r`B;19MQ(7B9Sl34#ca zdZCDl@)=&W3`+4alxNtOO%RDO&sNk~h(HO>=%zq^eY#EpT@%Q25t)(gB&_HYH3#Nv zlLfUltHw2QY!oCs9t#){DZn%4OqcfrvaZYHvwuyKpbkN^0=XMhQO<&-S; zIWsgHkH>utjtgQ$&|Nf<;ss52u&E$HS9Nq7>6Qt6MWtlTBZ0(`?xtYaEm_lTlnED% z_7t0DDaKE!36$mkLk**ac2N%Q#rscTx3FkKItN{A-cfPm%7eZun@>7WL6%dnthr_t zvlRe0sq+RjQIo6fak;i!e-sQGdzPT1FF-BrSO%!4%oWHvrSXlt?kG*~N<;2v_o!XD|)aboaOP}{;*Yca4x55Krs=S&0_U58+ z10){b9_oLxtX=6m6v@5oK0ua;LFZ~kCz@S g3H#G`hN8s5X<~Kz`17;t8>{{k&7>x!N8C>*nr^x!}mMZnT|poO!x~&WAJ4b`&BE zp`xTHknCP`>eN9L3PVXDqC-J+(L<1jz={YX$=;~Db!Z!S^WOjQ`~Ci(?|Q1|Om$^_ zB|#9?$u2&P_gZ%yEXV(~d~_3Ubx6pfUSj~|B?}TAiqQ{2Qj-Q@8cNF8$O>#Dh%!>m zWKmY^=43_E^^l-vy}E2cogupkKfXs=9% zXb@t2Olu$<4z~b5&CnF>rx?GN33IJ}j;6uhM`CZ5GQg$z&OKk)ijp~mOpc=R`MfXR z>NBiCieXvS)$seh7~!?YbR;=m-EJr-@X(em)kLbH16NV%H%3vE#F6f%pqWKk-QFt` zE*RxVCdK$@H>Cnl6#oy^v?AI@Y4|7Je+t`~F%wd0Xd9!Jj2k!5;JPxogasvJSQ*0@ zE>tm-A0lw!z3Riv4T%k6)qB?1=cTg27?UCFhV5G z#QpJbfE8FF&a{U30+%=BQ4Q*-z*UOePP!!59RU%5rmRl3I{{Ejs2_9g)2Ng?y)$w*eDJ@)bX@ic&uOE+OEe>;$f2S$T;u&x3;%q zWnRzGvMEp19APiD$G}_9;{AQ!Lc~bJ+}i4)rmY%cApoWu`!*Ag_FtHoz4`{+A)kNz zetPTJwfTwJ$(j-3>qL;5P90g{&&SnfGFK6*sy+2&vagve-#QVfoBGAh+>HE)tzY_l zd3nh*cVnjF-k1FA7YnN$#}B+~amvM?AJ&={v$v}k!z<>eYVc}l`9b38S#fQH=Fk2 z6n|`jASfta)Z0MuFb^I)=sY+?1P5NGAfkVO0~I_7^QCJ$57xlTd*8?B^ZEXKikF@(jeF0H;+wN`HIyoCc~ArB4J!Rx}c@q>fij zI9Z*@$<-M-qR=D5V94f)fCjMyY;9Jzcsokhba`@it{EECAb2K9Zv~YXGa!LX2!cM= zE3+XMgg74;7zl^M{lL$1EW`R4&hO>Ie8A7MEU14p@n$MTJ}ac^zK9j2OBfqG!<5Tq zUpe4I<}|}aA`wT!@Andf*Q)4Pvc0<1*H93kC7Y^&Ripz)Q7WK09HmL5TPbKpQ&zX? zWg-P*Y{_6aAM2#l0E*)Op_qo5hYvj9!?98^*!(m*X`UTqaiER}4j zSLZ6NVu__vEx8N{hH)DESECzOWO|%qb8Lyx9DJygX*bDOdmgm0u1Q24#M zIpXrR?R8yWdG~a_2E2;h*jAPj`Mf20o2H9HcJ4+;?hhc~@wsXYBjRQpc^{-qDTo0}EXzH`?#6FI~7d t^#r&VP-bN=FH{sAhpOsoI^ literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/IMAGE.png b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/IMAGE.png new file mode 100644 index 0000000000000000000000000000000000000000..4d568d06dc403ad7b5c7dbeeab9b76c4e591ebca GIT binary patch literal 1123 zcmaJ=U1$_X9A6t_f?^U#@hcA*HWb9VpLdt@mRv5kx0ib2hV*jKqYtfnyK}kavOAmI ziMNS`#85PXEi}!8zJ)@?2hr$@U>`)h7fYor2tp~;go;oqDkzvBiL)^meehhEo%s*H z-|zo9X9fp8+qr$;c8a2QW)3S^vhN92^EUE-P>H`J+g_Z`;~`YU70rcI(m(|WGL|+B zvrsd}NAJKMifW+ETps7uqmqs+Rtqq!Z#jfbQ9TLY(eyIJpa6$WJ5E3O6;WRXH(YpHp)Z_#`&7V2`nF^R0FE&hoP3WiS}?7zK!?2!d`CNfm{}PXw20~nTfS{aEC>dK+A$ek`fFT#f|81&w{D(X}fwJ;8BvY>BZs_|PWP?vk~^c@p{M?rdJ7(@q`R%j$MB9~<*LG9S z4!DfpTwUyY)jHEP_41>(&ZZ?XJa(q%ysZV>I9L^FC=&QXGfB3+duO^Ek@^yB0v4#-9N9D c`WUL2r~ZHBP9B*pp9-FRCOx2BmXA%p2I`7&;s5{u literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/PDF.png b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/PDF.png new file mode 100644 index 0000000000000000000000000000000000000000..4b10970bee97506e15a498640ccf29b5392fa022 GIT binary patch literal 1112 zcmaJ=TSyd97@lRxOc9KNoC+F8k}`MavaZ_>j+fn8bHQ0`U2uCS9A}R1WOH%m*sl8! zUO)`GJlMlRP)SA!U7&{^D(Fc}h{&KG3@IXe=p}lHj0!uWuJzD1aORx<@O|HZJ!d;& zN6JcemtYuH7Ht#aXs>WqaS{5zOYKk%URHos$jCD>)c%Ml%r`!y1}0rX=?RNc4a{Rp-gikDic(s_^)La>$8t1HYp=*QJ)}b^#cHJnOxWc z5;UxYVVufWu_I+b!%i6{5$^O8q9m)jW3S;wk&Eg!lyn(H1)f9-UR71NKz$t>2nWM{ zKhwf6k;5S-#D)TO!ALL?Vtn;No+}vgpayi9=PG}=LP4%G3Yv*L3&2uO1Etk6G-54f zPAwcuOF_L2u2MLbP(dz*f}xzo{?+LG6`CIBxH-1S*c^PIqiMI$Sl8T~zk{B{v#8LL z$Sn5!TwQH)dt5u*=Ut`ezPy^a8DY`i=-eZu9u N^=Kp}+zoY){s!d7Ym)!~ literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/PPTX.png b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/PPTX.png new file mode 100644 index 0000000000000000000000000000000000000000..6b5bf2eb44591a593810f90272a29ba28eb84bde GIT binary patch literal 1074 zcmaJ=TSyd97@oyzh9wHA5p^2PCwFdpa|c&*omCeak=>=1f^eKUtAozPnPa<3;HD6E zdkPAC(Vzlfg6ORtDzd0IA&RI6O@ewU6M`-T+ZlDWhqi$;=lqB7`~K^>(AV2tS+T!@ zAc)Fnj}XIqowLeI@qZ;9`hmB46iK4EkwR(7f<%X63_uXoq(K;ik}^K}0=5!F5veAU zC@CJ}WkaJR2Sa5v6SE1TwLN1>@-ReT01m2ph+KQ{kOZm{B2V~4Ml?I&klHh0!T3aP zLY^3wg9_Q+23j*b7SJG)Kt>zUZ9WqsH*|S?cCKj>Y(UU(h};Y+DfWR*!-Bv^F>aah zGr-SMtj8M&1eyWIunf&`G|Rc!0Po>=h5=h2iM?4$ijN6hTfVRrB8Lz%d74hA(^T3+ z8P*`p27^IIgX7#7;kL(hBxT&X-H=xhpe)M4~UYi>W;mE7ezj*+ep%77!^V!R-jZ>;aggmNRaFD_GxJB@H22?Js-9Yysrx#)q literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/SHARED_FOLDER.png b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/SHARED_FOLDER.png new file mode 100644 index 0000000000000000000000000000000000000000..84bbc0fa4b25e9c650564db8048e56a57c9950b4 GIT binary patch literal 1120 zcmaJ=TSyd97@k_q?gyiYPvJ{JFWsYh24IsfXnlJ|U>!yI zXg!m~S$V6dA|s%9n1E|ogiTR(^{%C;JrILD?9$CB{r>hH8t7V--WHNs*^0w%y`|rV z?fq>TwZBJ=XmtH%Q0Iz7z<^i*uCd#6L^n!L=!#_R9WykTfZ(1eJ!vW{r$8Lp5QGA( zUu6Xr2wZ>*)`Y|1YQVD`%dkAd@qR8W26>TX!PG~SXtvfVrlqE-SY#KayD_#zhA9*Z zfkH5V>@J3jL?WIB&-)3&@AR2ias8%KSyYgqquRQKbz}lhQOToT9HoiV$rKE0TGn)? z%0vprxQfMa0oF^Y2$bdjLk(jZ?cg;0>vu+BC(~y^CJi0bYpdkqIxD?UmKe98f{~p; zXm_!SscwXk(~T?;Zw~=kQFYVXPvB))Oqvc>Ocf@jC`}Xsx~_>KPHKw9*qTs?RGCZE z#<&z-ck0V6+CabSW6wex1yu@`eI>GMUu@0%X=C>c6MwS z-H|(bYw5j)y-P2Do>O`4{NM_9!KtAOXWj}O+3~Xb8D`V3xgSfwx3c_#jo%I*{aN+O zmw)&!1)dL7CH8%21UsA0FB8U3JZm{t`+ZAt&(D&fSLgPf&fNg322pDLuCalk(vb~k edp`|qr^<5_yPBHX#G&e{G$S|#HF6O!oQpO-}X(PCZHDluFOWeV6 zVcska(!s(3MJHBN3oudNau}QAIy!wv(?>A{WjtcqY5vpGXFM>CG=DHrfCVRuE9U-5 z7Y|JKmh{O{T{ig6y`aNam;(z_4fxiW?J0hmU-ql8b8s#2U>QP3)BG<{gN1&OB`yYu zD2(VZ2|*G?Q7kS=QacbKf&vr;Bu0>=#6$%`Q2Tfm%{7LVqS{l7#jG@6q0~_Xp<1m* ztFb6?M+79xa^OQ0BMcGoCTyzt5!-94dr+~byQV`;VuQe=Rwm;#%`>IHQm~vtVa2iS z)e6N*Cit2opePh9E68gZ?a?CsE#sePuQcIcp@=;)?&_=`!)0w7bPs6-#P zuub!7nrAmr!!#5r85gCjEGH7E8=+h(gEC@9ipx1UmqD?lTIc3%k7~A#>s<3UH?=BP z$+}ph#4QmrR_|Vag;3&Ehy$_%2~f~<(+=#Qv^AyJHIHGV$0Zh6u8m^;6+h4pQ3@g? z#i1m^WD22FkC@8FO0P;-QC? z8x6Cs*RDU^_~gUxxdSJfuRWZ~Z(8tT7oUOKZjIUr=giTQ`k%FbDeGr2T?A6UMz5HsH2D%oeF9l>)wqh`=cMRDu zHPo3_hx$}Oqa$ZQOF<+82E+;|82zRr7Q*zVu1MDIHba9=2<{8hTc*0@E)YXD1OXrG zRoNg5f}D@@H-$o>M!>Ti%dkAd@m?+@`gxIM!S+X!Y_`@TCZ+c6TqFw9S&S`_VeMvHYD~m94vd99lQ~=0|s+(@SiI-(DVLDhbRhW>%G*R&Bx+aE#O?)UOGz9`&8^^_) zqg<4ahMI)95RY>Hpj6~aNF6YsiHlrqmmAoZ>$ZYnk<1db^{Y^8w~+xhk1XnYcxi5C z;{xCA>Ir*$+2U$@c-iI#_vJFg4C7wxKNnrxBHiOIciNT&JB<%b((N{BYsB;Gaa%)t?Ctj(YiEw;J-IUPXX>k`FVpz2VS4h#*t@i}c&z_8o6MHYr=`lZNS3et z$ literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/folder.png b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/old/folder.png deleted file mode 100644 index 784e8fa48234f4f64b6922a6758f254ee0ca08ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 537 zcmV+!0_OdRP)x(K@^6+>g^d@v4;gkbWsEoXE%32*i1tcpTNXd5CcIl)ECgqz|2rE6EW}s7R?kl za1q`0GCkMruC6-2LANtwVlsgzsp4?{@7$`KBv!G66>Vie3h?3OmEEkjwdLG0PgLVi z`!N((f$A@n17Ldj#`};0I3@iHJ5M{#IZz|UIYRm4(!uV7eYIYIwQf&}_2J~}>pQ^n z6o8--^T(=hkBNQ_k{-_GWE;FMW7!p}f{NG3nHZ{D5<3d8&tLh%a4AqqnjMkr3m&fkMdECD3N5}Unig5wy40;>lo4j~k+e}v)` zR6)J8Mk*u=SpB`p6o)7j?S0T@9?bz#m@l>gc*zk__|*!FMcHwP!gwLJvS~9c0px8E zWIP)^ETwEew!5>tv%51pGoINkjSqU}-g!7T=XcKi-*ePp-?Qh!hTju~0kJ8= zM45U>DdS$eX)0wKqA95(Aq*<32~dv<2W`9 zqLV=wz9OJdw=$df+2cZ1SWCCjeW^7gS1-}%C(3F8D8GHY**&?MVo^l zyr`RHc~eB*Y@D9P)G4Veg<%NRPV(XYk9ndyMP^9{#S&b&I8Og}L+seOvA*u^MG_GM z!YYQNq-*%@YLt8}iiee z+SDX`&6h|qP{9m<_%ho4H@yZU5zx6Ey!NO~BqmTDK?d9sg zAjxEsa?xQjd!3KIdYAm=Gfd1@zt{5KIFsX~R&J1+OcT!iLhO?zVnWvH5p88TT9Ou|`hN`^j(pMtp_R%?Z-?u7&!DsP9T6l_*p__MhI(H{<(Qz4AVyz@=K6 zA(2RNY`BNla!2w{9nCswu=X6wo-qeJ}IgO@~#1kO_!wJLl`yqVX%%Ra(uAWBJy2MT(-nt z;)OK|w^Gr%>(JRP@AP(bd44vCn>>=%EIJi8*X{gtbt=vDw2Lpg?maf&`=X5&;D~Kg zskrE&FSq}(>A=r_&A0h23))xAa^cEimS*hM@Z36W&X?l+@Ep}j4JCkuC_{zZrae}j zdY|OYGjEu8J$h8SP5*oPnv52tp>hLnEB@cove(Ve@PAp1z4ng)0|55|Noj(bCItWh N002ovPDHLkV1oM`ug(Af diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/vre_folder.png b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/resources/vre_folder.png deleted file mode 100644 index 68ae4d3fb1c5942ce67f355c0e0be06dc16072e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1396 zcmV-)1&jKLP)dQ@0+Qek%> zaB^>EX>4U6ba`-PAZ2)IW&i+q+NG6klH?`~hW~Sl907eHaU9G?Rc?^u=LLIudv>Na zyA`N5v@C?sBjhyy`Fo|m&?rkzY96JQlF_tk<%UV*yI~~Glq=@+$exkfXL-_R5nT{j z{?a(|-tdPZz6T*l_Iy5u$}wjQkP2Tc18*yHI|<9(1y@ABjSS=5exdRwsfI#K-Y zD0x$O3+{&)?j3ph^5UbFWBqfW%lE`Ku=FDK(~B3e`jyx@)?1*tXG)L4rx!zBOHNyB z#9H$xXw!mxE9Vcr4s#oV;srnCq+mgJ{0wtHy`l$V+L0O~_k5vu#GVnd4s+muEnl~Z%jl-M z^GOa{fu3Q!6PbM6>$f4r-UerIr<8IbF)FwY%ua+r1^_k6!J>SD0GaWCldK{IY=ZaJ z32U5=E*sx+)FhBFDdJ#Lr2&?zA%9#0In+!{&8(PPShZH9Xew4p@v@6sb8&TZ6aWve z-avOAYP8B#Q2VTw>NRSutzpjw%dMma{RYX!mt1<;RW85cs#ohspRV0{>E5H) z-UbgDI&75TBSsx<(nKmvot9>qK4aF|7IJOL(q*eGU$N?HFKYB$;h*~-P@{($A5vS- zU(_IVzsGd)1x7YA5Mw0}_e}r^&6`;cQsqrZ2DEwK=HBYiZYbp z7QQ?^P-FYzJY5D#{wUIM8Kl`*qtCizdji*e;RJeO+avXr9oHzt8qGWwkcH2V@_>&h zO5R0d8ZMb#J;LEqIQAqsVKh-iZhaKCjHFnXmdXl@xew_vN95TNrmPEg0w-Bxe{%i> zPN~@_|DpNP00004b3#c}2nYxWd(+1kQx-X&RHDn%%rdn zEgV)xdeYA9dow#Ts{r8T{{D+6TU+k{C;%|Vd~dZ{hX4c*n;;SFHX84ZQXilc0KoTs z3d8V+0+7TOfqp6CX@LbPp9Qn4M)6cLE!(6XYT zo5pdTiQani+5C~&@KOZN^H3}n0RY3{5Z2lh$CBOfL`1Kv&}=r5&*uREqtOWMc00up z5v|uHFvcL4%PoBOyplj^7D-Kth%lK<7XElVekg&~5YZxnRdhO?goJLlo4UV;(#))w z87>}gZlY8wLFDcq6$%A}VF)H#2D9>*Ns}|-=X-moR;y6XAE?*ssMTud^?K-@oGju@ zq%{#MYb~s`AZt-BmzTuuU@Mgh60WrtOr&)3f&}MhXSj``RKK@Tg!9u=xLjgZo-ix7 zg|A0P_<3=G%FYh5*(?Cy@68SR{XTwOT`g~cS$Weqo*Ql4-QaRCz~x}Dc6F|P8pl=z zLC|=*z5T`*<7=& getBreadcrumbsByItemIdentifier( - String itemIdentifier, boolean includeItemAsParent) + ArrayList getBreadcrumbsByItemIdentifier( + String itemIdentifier, String itemName, boolean includeItemAsParent) throws Exception; /** @@ -61,7 +62,7 @@ public interface WorkspaceExplorerService extends RemoteService { * @return the folder * @throws WorkspaceNavigatorServiceException the workspace navigator service exception */ - ItemDTO getFolder( + Item getFolder( ItemInterface item, List showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria, boolean loadGcubeProperties) @@ -80,7 +81,7 @@ public interface WorkspaceExplorerService extends RemoteService { * @throws WorkspaceNavigatorServiceException * the workspace navigator service exception */ - ItemDTO getRoot( + Item getRoot( List showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria) throws WorkspaceNavigatorServiceException; @@ -98,7 +99,7 @@ public interface WorkspaceExplorerService extends RemoteService { * @throws WorkspaceNavigatorServiceException * the workspace navigator service exception */ - ItemDTO getMySpecialFolder( + Item getMySpecialFolder( List showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria) throws WorkspaceNavigatorServiceException; @@ -112,7 +113,7 @@ public interface WorkspaceExplorerService extends RemoteService { * @throws WorkspaceNavigatorServiceException * the workspace navigator service exception */ - ItemDTO getItemByCategory(ItemCategory category) + Item getItemByCategory(ItemCategory category) throws WorkspaceNavigatorServiceException; /** @@ -172,7 +173,7 @@ public interface WorkspaceExplorerService extends RemoteService { * @return the breadcrumbs by item identifier to parent limit * @throws Exception the exception */ - List getBreadcrumbsByItemIdentifierToParentLimit( + List getBreadcrumbsByItemIdentifierToParentLimit( String itemIdentifier, String parentLimit, boolean includeItemAsParent) throws Exception; @@ -185,7 +186,7 @@ public interface WorkspaceExplorerService extends RemoteService { * @return the item * @throws Exception the exception */ - ItemDTO createFolder(String nameFolder, String description, String parentId) + Item createFolder(String nameFolder, String description, String parentId) throws Exception; @@ -215,7 +216,7 @@ public interface WorkspaceExplorerService extends RemoteService { * @throws WorkspaceNavigatorServiceException the workspace navigator service exception */ SearchedFolder getFolder( - ItemDTO item, List showableTypesParam, boolean purgeEmpyFolders, + Item item, List showableTypesParam, boolean purgeEmpyFolders, FilterCriteria filterCriteria, boolean loadGcubeProperties, int startIndex, int limit, int serverStartIndex) throws WorkspaceNavigatorServiceException; @@ -226,6 +227,6 @@ public interface WorkspaceExplorerService extends RemoteService { * @return the folder children count * @throws WorkspaceNavigatorServiceException the workspace navigator service exception */ - int getFolderChildrenCount(ItemDTO item) throws WorkspaceNavigatorServiceException; + int getFolderChildrenCount(Item item) throws WorkspaceNavigatorServiceException; } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/rpc/WorkspaceExplorerServiceAsync.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/rpc/WorkspaceExplorerServiceAsync.java index 24f0ac7..cda05cb 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/rpc/WorkspaceExplorerServiceAsync.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/rpc/WorkspaceExplorerServiceAsync.java @@ -4,11 +4,12 @@ package org.gcube.portlets.widgets.wsexplorer.client.rpc; +import java.util.ArrayList; import java.util.List; import java.util.Map; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemCategory; import org.gcube.portlets.widgets.wsexplorer.shared.ItemInterface; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; @@ -38,7 +39,7 @@ public interface WorkspaceExplorerServiceAsync { */ public void getRoot( List showableTypes, boolean purgeEmpyFolders, - FilterCriteria filterCriteria, AsyncCallback callback); + FilterCriteria filterCriteria, AsyncCallback callback); /** * Check name. @@ -64,22 +65,10 @@ public interface WorkspaceExplorerServiceAsync { void getFolder( ItemInterface item, List showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria, - boolean loadGcubeProperties, AsyncCallback callback); + boolean loadGcubeProperties, AsyncCallback callback); - /** - * Gets the breadcrumbs by item identifier. - * - * @param itemIdentifier - * the item identifier - * @param includeItemAsParent - * the include item as parent - * @param asyncCallback - * the async callback - * @return the breadcrumbs by item identifier - */ - public void getBreadcrumbsByItemIdentifier( - String itemIdentifier, boolean includeItemAsParent, - AsyncCallback> asyncCallback); + void getBreadcrumbsByItemIdentifier(String itemIdentifier, String itemName, boolean includeItemAsParent, + AsyncCallback> asyncCallback); /** * Gets the my special folder. @@ -96,7 +85,7 @@ public interface WorkspaceExplorerServiceAsync { */ public void getMySpecialFolder( List showableTypes, boolean purgeEmpyFolders, - FilterCriteria filterCriteria, AsyncCallback asyncCallback); + FilterCriteria filterCriteria, AsyncCallback asyncCallback); /** * Gets the item by category. @@ -108,7 +97,7 @@ public interface WorkspaceExplorerServiceAsync { * @return the item by category */ public void getItemByCategory( - ItemCategory category, AsyncCallback asyncCallback); + ItemCategory category, AsyncCallback asyncCallback); /** * Gets the size by item id. @@ -171,7 +160,7 @@ public interface WorkspaceExplorerServiceAsync { */ void getBreadcrumbsByItemIdentifierToParentLimit( String itemIdentifier, String parentLimit, boolean includeItemAsParent, - AsyncCallback> callback); + AsyncCallback> callback); /** * Creates the folder. @@ -187,7 +176,7 @@ public interface WorkspaceExplorerServiceAsync { */ void createFolder( String nameFolder, String description, String parentId, - AsyncCallback callback); + AsyncCallback callback); /** @@ -216,7 +205,7 @@ public interface WorkspaceExplorerServiceAsync { * @return the folder */ void getFolder( - ItemDTO item, List showableTypesParam, boolean purgeEmpyFolders, + Item item, List showableTypesParam, boolean purgeEmpyFolders, FilterCriteria filterCriteria, boolean loadGcubeProperties, int startIndex, int limit, int serverStartIndex, AsyncCallback asyncCallback); @@ -227,6 +216,6 @@ public interface WorkspaceExplorerServiceAsync { * @param asyncCallback the async callback * @return the folder children count */ - public void getFolderChildrenCount(ItemDTO item, AsyncCallback asyncCallback); + public void getFolderChildrenCount(Item item, AsyncCallback asyncCallback); } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/save/WorkspaceExplorerSaveDialog.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/save/WorkspaceExplorerSaveDialog.java index 1213d8f..fc17df3 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/save/WorkspaceExplorerSaveDialog.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/save/WorkspaceExplorerSaveDialog.java @@ -11,7 +11,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.event.LoadRootEvent; import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSaveNotification.HasWorskpaceExplorerSaveNotificationListener; import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSaveNotification.WorskpaceExplorerSaveNotificationListener; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import com.github.gwtbootstrap.client.ui.Button; @@ -195,7 +195,7 @@ public class WorkspaceExplorerSaveDialog extends Modal implements HasWorskpaceEx public void onClick(ClickEvent event) { isSave = false; - ItemDTO item = controller.getWsExplorer().getItemSelected(); + Item item = controller.getWsExplorer().getItemSelected(); //A FOLDER IS SELECTED if (item != null && item.isFolder()) { @@ -222,7 +222,7 @@ public class WorkspaceExplorerSaveDialog extends Modal implements HasWorskpaceEx return; } - ItemDTO itemB = controller.getBreadcrumbs().getLastParent(); + Item itemB = controller.getBreadcrumbs().getLastParent(); GWT.log("last parent: "+itemB); if (itemB != null) { if(itemB.isSpecialFolder()){ @@ -262,8 +262,8 @@ public class WorkspaceExplorerSaveDialog extends Modal implements HasWorskpaceEx public void onClick(final ClickItemEvent clickItemEvent) { if(clickItemEvent.getItem()!=null){ - if (clickItemEvent.getItem() instanceof ItemDTO) { - ItemDTO item = (ItemDTO) clickItemEvent.getItem(); + if (clickItemEvent.getItem() instanceof Item) { + Item item = (Item) clickItemEvent.getItem(); if(item!=null && !item.isFolder()) setFileName("New_"+item.getName()); } @@ -318,7 +318,7 @@ public class WorkspaceExplorerSaveDialog extends Modal implements HasWorskpaceEx * @param parent the parent * @param fileName the file name */ - private void notifySaving(ItemDTO parent, String fileName) { + private void notifySaving(Item parent, String fileName) { for (WorskpaceExplorerSaveNotificationListener worskpaceExplorerNotificationListener : listeners) { worskpaceExplorerNotificationListener.onSaving(parent, fileName); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/save/WorkspaceExplorerSavePanel.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/save/WorkspaceExplorerSavePanel.java index 2c6618d..c46cb31 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/save/WorkspaceExplorerSavePanel.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/save/WorkspaceExplorerSavePanel.java @@ -15,7 +15,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.event.LoadRootEvent; import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSaveNotification.HasWorskpaceExplorerSaveNotificationListener; import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSaveNotification.WorskpaceExplorerSaveNotificationListener; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import com.github.gwtbootstrap.client.ui.Button; @@ -161,7 +161,7 @@ public class WorkspaceExplorerSavePanel extends ScrollPanel implements HasWorskp public void onClick(ClickEvent event) { isSave = false; - ItemDTO item = controller.getWsExplorer().getItemSelected(); + Item item = controller.getWsExplorer().getItemSelected(); if (item != null && item.isFolder()) { @@ -186,7 +186,7 @@ public class WorkspaceExplorerSavePanel extends ScrollPanel implements HasWorskp return; } - ItemDTO itemB = controller.getBreadcrumbs().getLastParent(); + Item itemB = controller.getBreadcrumbs().getLastParent(); GWT.log("last parent: "+itemB); if (itemB != null) { if(itemB.isSpecialFolder()){ @@ -231,8 +231,8 @@ public class WorkspaceExplorerSavePanel extends ScrollPanel implements HasWorskp public void onClick(final ClickItemEvent clickItemEvent) { if(clickItemEvent.getItem()!=null){ - if (clickItemEvent.getItem() instanceof ItemDTO) { - ItemDTO item = (ItemDTO) clickItemEvent.getItem(); + if (clickItemEvent.getItem() instanceof Item) { + Item item = (Item) clickItemEvent.getItem(); if(item!=null && !item.isFolder()) setFileName("New_"+item.getName()); } @@ -276,7 +276,7 @@ public class WorkspaceExplorerSavePanel extends ScrollPanel implements HasWorskp * @param parent the parent * @param fileName the file name */ - private void notifySaving(ItemDTO parent, String fileName) { + private void notifySaving(Item parent, String fileName) { for (WorskpaceExplorerSaveNotificationListener worskpaceExplorerNotificationListener : listeners) { worskpaceExplorerNotificationListener.onSaving(parent, fileName); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/select/WorkspaceExplorerSelectDialog.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/select/WorkspaceExplorerSelectDialog.java index ed58f4c..99586d1 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/select/WorkspaceExplorerSelectDialog.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/select/WorkspaceExplorerSelectDialog.java @@ -13,7 +13,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.event.LoadRootEvent; import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.HasWorskpaceExplorerSelectNotificationListener; import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import com.github.gwtbootstrap.client.ui.Alert; @@ -180,8 +180,8 @@ public class WorkspaceExplorerSelectDialog extends Modal implements HasWorskpace if(folderId==null || folderId.isEmpty()) controller.getEventBus().fireEvent(new LoadRootEvent()); else{ - ItemDTO item = new ItemDTO(folderId, "", true); - controller.getEventBus().fireEvent(new LoadFolderEvent(item)); + Item item = new Item(folderId, "", true); + controller.getEventBus().fireEvent(new LoadFolderEvent(item)); } initDialog(captionTxt); } @@ -217,7 +217,7 @@ public class WorkspaceExplorerSelectDialog extends Modal implements HasWorskpace @Override public void onClick(ClickEvent event) { isSelect = false; - ItemDTO item = controller.getWsExplorer().getItemSelected(); + Item item = controller.getWsExplorer().getItemSelected(); boolean isSelectable = controller.itemIsSelectable(item); GWT.log("Item is selectable? "+isSelectable); if(item!=null && isSelectable){ @@ -225,7 +225,7 @@ public class WorkspaceExplorerSelectDialog extends Modal implements HasWorskpace INSTANCE.hide(); notifySelectedItem(item); }else if(item==null){ //IGNORING ITEM SELECT, CAN USE BREADCRUMBS? - ItemDTO itemB = controller.getBreadcrumbs().getLastParent(); + Item itemB = controller.getBreadcrumbs().getLastParent(); if(itemB!=null){ isSelectable = controller.itemIsSelectable(itemB); //BREADCRUMB IS SELECTABLE? if(isSelectable) @@ -247,7 +247,7 @@ public class WorkspaceExplorerSelectDialog extends Modal implements HasWorskpace * @param show the show * @param item the item */ - private void setAlertConfirm(String html, boolean show, final ItemDTO item){ + private void setAlertConfirm(String html, boolean show, final Item item){ try{ footer.remove(alertConfirm); }catch(Exception e){ @@ -292,7 +292,7 @@ public class WorkspaceExplorerSelectDialog extends Modal implements HasWorskpace * * @param selected the selected */ - private void notifySelectedItem(ItemDTO selected){ + private void notifySelectedItem(Item selected){ for (WorskpaceExplorerSelectNotificationListener worskpaceExplorerNotificationListener : listeners) { worskpaceExplorerNotificationListener.onSelectedItem(selected); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/select/WorkspaceExplorerSelectPanel.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/select/WorkspaceExplorerSelectPanel.java index ebe9341..fe0fc5e 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/select/WorkspaceExplorerSelectPanel.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/select/WorkspaceExplorerSelectPanel.java @@ -22,7 +22,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.event.RootLoadedEventHandler import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.HasWorskpaceExplorerSelectNotificationListener; import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import com.github.gwtbootstrap.client.ui.Alert; @@ -172,7 +172,7 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors @Override public void onClick(final ClickItemEvent clickItemEvent) { isSelect = false; - ItemDTO item = controller.getWsExplorer().getItemSelected(); + Item item = controller.getWsExplorer().getItemSelected(); //Return if item is not selectable if(!controller.itemIsSelectable(item)){ @@ -190,7 +190,7 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors @Override public void onBreadcrumbClick(BreadcrumbClickEvent breadcrumbClickEvent) { isSelect = false; - ItemDTO item = breadcrumbClickEvent.getTargetItem(); + Item item = breadcrumbClickEvent.getTargetItem(); GWT.log("BreadcrumbClickEvent: "+item); //Return if item is not selectable @@ -278,8 +278,8 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors if(folderId==null || folderId.isEmpty()) controller.getEventBus().fireEvent(new LoadRootEvent()); else{ - ItemDTO item = new ItemDTO(folderId, "", true); - controller.getEventBus().fireEvent(new LoadFolderEvent(item)); + Item item = new Item(folderId, "", true); + controller.getEventBus().fireEvent(new LoadFolderEvent(item)); } bindEvents(); initPanel(captionTxt); @@ -312,7 +312,7 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors * @param show the show * @param item the item */ - private void setAlertConfirm(String html, boolean show, final ItemDTO item){ + private void setAlertConfirm(String html, boolean show, final Item item){ try{ footerHP.remove(alertConfirm); }catch(Exception e){ @@ -356,7 +356,7 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors * * @param selected the selected */ - private void notifySelectedItem(ItemDTO selected){ + private void notifySelectedItem(Item selected){ for (WorskpaceExplorerSelectNotificationListener worskpaceExplorerNotificationListener : listeners) { worskpaceExplorerNotificationListener.onSelectedItem(selected); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/Breadcrumbs.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/Breadcrumbs.java index e7b35da..fc90306 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/Breadcrumbs.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/Breadcrumbs.java @@ -8,7 +8,7 @@ import java.util.List; import org.gcube.portlets.widgets.wsexplorer.client.event.BreadcrumbClickEvent; import org.gcube.portlets.widgets.wsexplorer.client.event.BreadcrumbInitEvent; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import com.github.gwtbootstrap.client.ui.NavLink; import com.google.gwt.core.client.GWT; @@ -28,8 +28,8 @@ import com.google.gwt.user.client.ui.Widget; public class Breadcrumbs extends Composite { public static final String DIVIDER = "/"; - private LinkedHashMap hashListItems = new LinkedHashMap();// Ordered-HashMap - private ItemDTO lastParent; + private LinkedHashMap hashListItems = new LinkedHashMap();// Ordered-HashMap + private Item lastParent; private static BreadcrumbsUiBinder uiBinder = GWT.create(BreadcrumbsUiBinder.class); @UiField @@ -82,10 +82,10 @@ public class Breadcrumbs extends Composite { * @param parents * the new path */ - public void setPath(List parents) { + public void setPath(List parents) { resetBreadcrumbs(); if (parents != null && parents.size() > 0) { - for (ItemDTO parent : parents) { + for (Item parent : parents) { GWT.log("parent is: "+parent); if(parent!=null){ addNavigationLink(parent); @@ -102,7 +102,7 @@ public class Breadcrumbs extends Composite { * @param item the item * @return true, if is root or special folder */ - private boolean isRootOrSpecialFolder(ItemDTO item){ + private boolean isRootOrSpecialFolder(Item item){ GWT.log(item.getName() +" is root "+(item.getParent()==null)); GWT.log(item.getName() +" is special folder "+item.isSpecialFolder()); return item.getParent()==null || item.isSpecialFolder(); @@ -123,7 +123,7 @@ public class Breadcrumbs extends Composite { * * @param parent the parent */ - private void addNavigationLink(ItemDTO parent) { + private void addNavigationLink(Item parent) { if(parent==null) return; @@ -135,7 +135,7 @@ public class Breadcrumbs extends Composite { @Override public void onClick(ClickEvent event) { - ItemDTO target = hashListItems.get(navLink.getName()); + Item target = hashListItems.get(navLink.getName()); // WorkspaceExplorerController.eventBus.fireEvent(new LoadFolderEvent(target)); eventBus.fireEvent(new BreadcrumbClickEvent(target)); } @@ -160,7 +160,7 @@ public class Breadcrumbs extends Composite { * * @return the last parent */ - public ItemDTO getLastParent() { + public Item getLastParent() { return lastParent; } @@ -170,7 +170,7 @@ public class Breadcrumbs extends Composite { * * @param item the item */ - public void init(ItemDTO item) { + public void init(Item item) { resetBreadcrumbs(); addNavigationLink(item); hashListItems.put(item.getId(), item); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/FolderLoader.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/FolderLoader.java index a283f2b..e4fde2a 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/FolderLoader.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/FolderLoader.java @@ -3,7 +3,7 @@ */ package org.gcube.portlets.widgets.wsexplorer.client.view; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; /** @@ -24,5 +24,5 @@ public interface FolderLoader { * @param resetStore the reset store. Used for pagination * @throws Exception the exception */ - public void loadFolder(final ItemDTO item, boolean loadGcubeProperties, int startIdx, int limit, boolean resetStore) throws Exception; + public void loadFolder(final Item item, boolean loadGcubeProperties, int startIdx, int limit, boolean resetStore) throws Exception; } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/Navigation.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/Navigation.java index 63e8d58..21a6830 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/Navigation.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/Navigation.java @@ -8,11 +8,12 @@ import org.gcube.portlets.widgets.wsexplorer.client.event.CreateFolderClickEvent import org.gcube.portlets.widgets.wsexplorer.client.event.LoadMySpecialFolderEvent; import org.gcube.portlets.widgets.wsexplorer.client.event.LoadRootEvent; import org.gcube.portlets.widgets.wsexplorer.client.resources.WorkspaceExplorerResources; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemCategory; import com.github.gwtbootstrap.client.ui.NavWidget; import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.Style.ListStyleType; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.shared.HandlerManager; @@ -64,11 +65,11 @@ public class Navigation extends Composite{ this.eventBus = eventBus; // getElement().getStyle().setMarginLeft(5.0, Unit.PX); home.setActive(true); - - WorkspaceExplorerConstants.workspaceNavigatorService.getItemByCategory(ItemCategory.HOME, new AsyncCallback() { + getElement().getStyle().setListStyleType(ListStyleType.NONE); + WorkspaceExplorerConstants.workspaceNavigatorService.getItemByCategory(ItemCategory.HOME, new AsyncCallback() { @Override - public void onSuccess(ItemDTO result) { + public void onSuccess(Item result) { home.setText(result.getName()); } @@ -93,10 +94,10 @@ public class Navigation extends Composite{ vre_folder.setActive(true); vre_folder.setBaseIcon(WorkspaceExplorerResources.CustomIconType.vre_folder); - WorkspaceExplorerConstants.workspaceNavigatorService.getItemByCategory(ItemCategory.VRE_FOLDER, new AsyncCallback() { + WorkspaceExplorerConstants.workspaceNavigatorService.getItemByCategory(ItemCategory.VRE_FOLDER, new AsyncCallback() { @Override - public void onSuccess(ItemDTO result) { + public void onSuccess(Item result) { vre_folder.setText(result.getName()); } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/WorkspaceExplorer.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/WorkspaceExplorer.java index 2cb8bad..1c6186e 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/WorkspaceExplorer.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/WorkspaceExplorer.java @@ -11,7 +11,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.resources.WorkspaceExplorerR import org.gcube.portlets.widgets.wsexplorer.client.view.grid.ItemsTable; import org.gcube.portlets.widgets.wsexplorer.client.view.grid.ItemsTable.DISPLAY_FIELD; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import com.github.gwtbootstrap.client.ui.Alert; @@ -55,16 +55,16 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder protected FilterCriteria filterCriteria = null; protected boolean showEmptyFolders = true; protected ScrollPanel explorerPanel; - private ItemsTable itTables; + private ItemsTable itTables; private DISPLAY_FIELD[] displayFields; private DISPLAY_FIELD sortByColumn; private HandlerManager eventBus; - private ItemDTO displayingFolderItem; + private Item displayingFolderItem; private boolean showGcubeItemsInfo; private List displayProperties; - private AbstractDataProvider dataProvider; + private AbstractDataProvider dataProvider; /** * Instantiates a new workspace explorer - This is the base constructor. @@ -94,9 +94,9 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder * * @param dataProvider the new data provider table */ - public void initTable(AbstractDataProvider dataProvider){ + public void initTable(AbstractDataProvider dataProvider){ this.dataProvider = dataProvider; - this.itTables = new ItemsTable(eventBus, true, displayFields, displayProperties, showGcubeItemsInfo, sortByColumn); + this.itTables = new ItemsTable(eventBus, true, displayFields, displayProperties, showGcubeItemsInfo, sortByColumn); this.itTables.initTable(null, null, dataProvider); } @@ -189,7 +189,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder GWT.log("loading workspace tree from server"); - WorkspaceExplorerConstants.workspaceNavigatorService.getRoot(showableTypesParam, purgeEmpyFolders, filterCriteria, new AsyncCallback() { + WorkspaceExplorerConstants.workspaceNavigatorService.getRoot(showableTypesParam, purgeEmpyFolders, filterCriteria, new AsyncCallback() { public void onFailure(Throwable caught) { Window.alert(caught.getMessage()); @@ -197,7 +197,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder GWT.log("Error loading workspace tree from server",caught); } - public void onSuccess(ItemDTO item) { + public void onSuccess(Item item) { eventBus.fireEvent(new RootLoadedEvent(item)); updateExplorer(item.getChildren()); @@ -212,7 +212,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder * * @param item the new displaying folder item */ - protected void setDisplayingFolderItem(ItemDTO item) { + protected void setDisplayingFolderItem(Item item) { this.displayingFolderItem = item; } @@ -237,7 +237,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder // FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,requiredProperties, allowedFileExtensions); GWT.log("loading workspace tree from server"); - WorkspaceExplorerConstants.workspaceNavigatorService.getMySpecialFolder(showableTypesParam, purgeEmpyFolders, filterCriteria, new AsyncCallback() { + WorkspaceExplorerConstants.workspaceNavigatorService.getMySpecialFolder(showableTypesParam, purgeEmpyFolders, filterCriteria, new AsyncCallback() { @Override public void onFailure(Throwable caught) { @@ -247,7 +247,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder } @Override - public void onSuccess(ItemDTO item) { + public void onSuccess(Item item) { updateExplorer(item.getChildren()); setDisplayingFolderItem(item); @@ -261,7 +261,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder * * @param items the items */ - protected void updateExplorer(ArrayList items){ + protected void updateExplorer(ArrayList items){ GWT.log("workspace explorer updating.."); explorerPanel.clear(); // itTables = new ItemsTable(true, displayFields); @@ -276,7 +276,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder * * @param item the item */ - public void addItemToExplorer(ItemDTO item){ + public void addItemToExplorer(Item item){ GWT.log("workspace explorer add item.."+item); // itTables = new ItemsTable(true, displayFields); // explorerPanel.clear(); @@ -321,7 +321,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder * * @return the itTables */ - public ItemsTable getItTables() { + public ItemsTable getItTables() { return itTables; } @@ -331,7 +331,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder * * @return the item selected */ - public ItemDTO getItemSelected(){ + public Item getItemSelected(){ return itTables.getSelectedItem(); } @@ -392,7 +392,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder * * @return the displayingFolderItem */ - public ItemDTO getDisplayingFolderItem() { + public Item getDisplayingFolderItem() { return displayingFolderItem; } @@ -403,7 +403,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder * * @return the dataProvider */ - public AbstractDataProvider getDataProvider() { + public AbstractDataProvider getDataProvider() { return dataProvider; } @@ -426,7 +426,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder */ @Override public void loadFolder( - final ItemDTO item, boolean loadGcubeProperties, int startIdx, int limit, + final Item item, boolean loadGcubeProperties, int startIdx, int limit, boolean resetStore) throws Exception { @@ -452,7 +452,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder // FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,requiredProperties, allowedFileExtensions); GWT.log("loading workspace folder by item id from server: "+item.getId()); - WorkspaceExplorerConstants.workspaceNavigatorService.getFolder(item, showableTypesParam, purgeEmpyFolders, filterCriteria, loadGcubeProperties, new AsyncCallback() { + WorkspaceExplorerConstants.workspaceNavigatorService.getFolder(item, showableTypesParam, purgeEmpyFolders, filterCriteria, loadGcubeProperties, new AsyncCallback() { @Override public void onFailure(Throwable caught) { @@ -462,7 +462,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes, Folder } @Override - public void onSuccess(ItemDTO result) { + public void onSuccess(Item result) { if(item.getName()==null || item.getName().isEmpty()) item.setName(result.getName()); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/WorkspaceExplorerPaginated.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/WorkspaceExplorerPaginated.java index 66629d5..e133603 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/WorkspaceExplorerPaginated.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/WorkspaceExplorerPaginated.java @@ -12,7 +12,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerConstants; import org.gcube.portlets.widgets.wsexplorer.client.view.grid.ItemsTable.DISPLAY_FIELD; import org.gcube.portlets.widgets.wsexplorer.client.view.grid.SortedCellTable; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import org.gcube.portlets.widgets.wsexplorer.shared.SearchedFolder; @@ -48,7 +48,7 @@ public class WorkspaceExplorerPaginated extends WorkspaceExplorer{ private Boolean newLoading = false; - private MyCustomDataProvider dataProvider = new MyCustomDataProvider(); + private MyCustomDataProvider dataProvider = new MyCustomDataProvider(); protected boolean loadGcubeProperties = false; @@ -87,8 +87,8 @@ public class WorkspaceExplorerPaginated extends WorkspaceExplorer{ * * @return the asycn data provider */ - public AsyncDataProvider getAsycnDataProvider(){ - return (AsyncDataProvider) getCellTable().getDataProvider(); + public AsyncDataProvider getAsycnDataProvider(){ + return (AsyncDataProvider) getCellTable().getDataProvider(); } /** @@ -96,7 +96,7 @@ public class WorkspaceExplorerPaginated extends WorkspaceExplorer{ * * @return the cell tale */ - public SortedCellTable getCellTable(){ + public SortedCellTable getCellTable(){ return getItTables().getCellTable(); } @@ -104,7 +104,7 @@ public class WorkspaceExplorerPaginated extends WorkspaceExplorer{ /* (non-Javadoc) * @see org.gcube.portlets.widgets.wsexplorer.client.view.WorkspaceExplorer#loadFolder(org.gcube.portlets.widgets.wsexplorer.shared.Item, boolean, int, int, boolean) */ - public void loadFolder(final ItemDTO item, final boolean loadGcubeProperties, final int startIdx, final int limit, final boolean resetStore) throws Exception { + public void loadFolder(final Item item, final boolean loadGcubeProperties, final int startIdx, final int limit, final boolean resetStore) throws Exception { newLoading = resetStore; GWT.log("loading folder data for Item: "+item.getId()+" [startIdx: "+startIdx +", limit: "+limit+", resetStore:"+resetStore+"]"); //super.loadFolder(item, loadGcubeProperties); @@ -182,7 +182,7 @@ public class WorkspaceExplorerPaginated extends WorkspaceExplorer{ * @param purgeEmpyFolders the purge empy folders * @param showableTypesParam the showable types param */ - private void perfomGetFolderChildren(final ItemDTO item, boolean loadGcubeProperties, final int startIdx, final int limit, final int serSI, boolean purgeEmpyFolders, List showableTypesParam){ + private void perfomGetFolderChildren(final Item item, boolean loadGcubeProperties, final int startIdx, final int limit, final int serSI, boolean purgeEmpyFolders, List showableTypesParam){ GWT.log("loading workspace folder by item id from server: "+item.getId()); SearchedFolder page = getCachePage(item, startIdx, limit); @@ -228,10 +228,10 @@ public class WorkspaceExplorerPaginated extends WorkspaceExplorer{ getCellTable().setVisibleRangeAndClearData(new Range(result.getClientStartIndex(), WorkspaceExplorerConstants.ITEMS_PER_PAGE), false); } - SelectionModel sm = getCellTable().getSelectionModel(); + SelectionModel sm = getCellTable().getSelectionModel(); if(sm instanceof SingleSelectionModel){ - SingleSelectionModel ssm = (SingleSelectionModel) sm; + SingleSelectionModel ssm = (SingleSelectionModel) sm; ssm.clear(); } @@ -268,7 +268,7 @@ public class WorkspaceExplorerPaginated extends WorkspaceExplorer{ * @param item the item * @param result the result */ - private void setCachePage(ItemDTO item, SearchedFolder result){ + private void setCachePage(Item item, SearchedFolder result){ String key = getCacheKey(item, result.getClientStartIndex(), result.getLimit()); @@ -287,7 +287,7 @@ public class WorkspaceExplorerPaginated extends WorkspaceExplorer{ * @param limit the limit * @return the cache page */ - private SearchedFolder getCachePage(ItemDTO item, int startIdx, int limit){ + private SearchedFolder getCachePage(Item item, int startIdx, int limit){ String key = getCacheKey(item, startIdx, limit); @@ -303,7 +303,7 @@ public class WorkspaceExplorerPaginated extends WorkspaceExplorer{ * @param limit the limit * @return the cache key */ - private String getCacheKey(ItemDTO item, int startIdx, int limit){ + private String getCacheKey(Item item, int startIdx, int limit){ if(item==null || startIdx<0 || limit< 0) return null; diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/gcubeitem/DialogShowGcubeItem.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/gcubeitem/DialogShowGcubeItem.java index adedf23..a8a3c2b 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/gcubeitem/DialogShowGcubeItem.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/gcubeitem/DialogShowGcubeItem.java @@ -8,7 +8,7 @@ import java.util.Map; import org.gcube.portlets.widgets.wsexplorer.client.Util; import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerConstants; import org.gcube.portlets.widgets.wsexplorer.client.resources.WorkspaceExplorerResources; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import com.google.gwt.core.shared.GWT; import com.google.gwt.dom.client.Style.Unit; @@ -54,7 +54,7 @@ public class DialogShowGcubeItem extends DialogBox implements ClickHandler { * @param item the worksapce item id * @param autoHide the auto hide */ - public DialogShowGcubeItem(String caption, String text, ItemDTO item, boolean autoHide) { + public DialogShowGcubeItem(String caption, String text, Item item, boolean autoHide) { getElement().setClassName("gwt-DialogBoxNew"); dock.setSpacing(4); dock.setWidth("100%"); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/ItemsTable.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/ItemsTable.java index d4e8355..0f86f79 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/ItemsTable.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/client/view/grid/ItemsTable.java @@ -15,7 +15,7 @@ import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerConstants; import org.gcube.portlets.widgets.wsexplorer.client.resources.WorkspaceExplorerResources; import org.gcube.portlets.widgets.wsexplorer.client.view.SelectionItem; import org.gcube.portlets.widgets.wsexplorer.client.view.gcubeitem.DialogShowGcubeItem; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; import com.github.gwtbootstrap.client.ui.Pagination; import com.google.gwt.cell.client.ButtonCell; @@ -49,7 +49,7 @@ import com.google.gwt.view.client.ListDataProvider; * Feb 19, 2015 * @param the generic type */ -public class ItemsTable extends AbstractItemsCellTable implements SelectionItem{ +public class ItemsTable extends AbstractItemsCellTable implements SelectionItem{ private Column icon; private TextColumn name; @@ -134,7 +134,7 @@ public class ItemsTable extends AbstractItemsCellTable imp //this.isAsyncronusTable = dataProvider instanceof AbstractDataProvider?true:false; this.isAsyncronusTable = dataProvider instanceof ListDataProvider?false:true; - sortedCellTable.setEmptyTableWidget(new Label("No data.")); + sortedCellTable.setEmptyTableWidget(new Label(WorkspaceExplorerConstants.WORKSPACE_FOLDER_EMPTY_MESSAGE)); if(this.displayFields.contains(DISPLAY_FIELD.ICON)){ //ICONS @@ -162,7 +162,7 @@ public class ItemsTable extends AbstractItemsCellTable imp }; // icon.setSortable(false); sortedCellTable.addColumn(icon, "", false); - sortedCellTable.setColumnWidth(icon, 25.0, Unit.PX); + sortedCellTable.setColumnWidth(icon, 32.0, Unit.PX); } if(this.displayFields.contains(DISPLAY_FIELD.NAME)){ @@ -173,7 +173,7 @@ public class ItemsTable extends AbstractItemsCellTable imp public String getValue(T object) { if(object==null) return ""; - return ((ItemDTO) object).getName(); + return ((Item) object).getName(); } //ADDING TOOLTIP @@ -181,7 +181,7 @@ public class ItemsTable extends AbstractItemsCellTable imp public void render(com.google.gwt.cell.client.Cell.Context context, T object, SafeHtmlBuilder sb) { if(object == null) return; - sb.appendHtmlConstant("
"); + sb.appendHtmlConstant("
"); super.render(context, object, sb); sb.appendHtmlConstant("
"); }; @@ -193,7 +193,7 @@ public class ItemsTable extends AbstractItemsCellTable imp Comparator c = new Comparator() { @Override public int compare(T o1, T o2) { - return ((ItemDTO) o1).getName().compareTo(((ItemDTO) o2).getName()); + return ((Item) o1).getName().compareTo(((Item) o2).getName()); } }; @@ -209,7 +209,7 @@ public class ItemsTable extends AbstractItemsCellTable imp public String getValue(T object) { if(object==null) return ""; - return ((ItemDTO) object).getOwner() != null ? ((ItemDTO) object).getOwner() : ""; + return ((Item) object).getOwner() != null ? ((Item) object).getOwner() : ""; } }; @@ -219,7 +219,7 @@ public class ItemsTable extends AbstractItemsCellTable imp Comparator c = new Comparator() { @Override public int compare(T o1, T o2) { - return ((ItemDTO) o1).getOwner().compareTo(((ItemDTO) o2).getOwner()); + return ((Item) o1).getOwner().compareTo(((Item) o2).getOwner()); } }; sortedCellTable.setComparator(owner, c); @@ -236,7 +236,7 @@ public class ItemsTable extends AbstractItemsCellTable imp public Date getValue(T object) { if(object==null) return null; - return ((ItemDTO) object).getCreationDate(); + return ((Item) object).getCreationDate(); } }; sortedCellTable.addColumn(dateColumn, "Created", true); @@ -251,8 +251,8 @@ public class ItemsTable extends AbstractItemsCellTable imp if(o2 == null || o2.getCreationDate()==null) return 1; - Date d1 = ((ItemDTO) o1).getCreationDate(); - Date d2 = ((ItemDTO) o2).getCreationDate(); + Date d1 = ((Item) o1).getCreationDate(); + Date d2 = ((Item) o2).getCreationDate(); // GWT.log(d1.toString() + "is after "+d2.toString() +" ? "+d2.after(d1)); @@ -276,9 +276,9 @@ public class ItemsTable extends AbstractItemsCellTable imp TextColumn textColumn = new TextColumn() { @Override public String getValue(T object) { - ItemDTO extensionItem; + Item extensionItem; String value = null; - if(object instanceof ItemDTO){ + if(object instanceof Item){ extensionItem = object; value = extensionItem.getGcubeProperties().get(column); } @@ -292,14 +292,14 @@ public class ItemsTable extends AbstractItemsCellTable imp @Override public int compare(T o1, T o2) { - if(!(o1 instanceof ItemDTO)) + if(!(o1 instanceof Item)) return -1; - if(!(o2 instanceof ItemDTO)) + if(!(o2 instanceof Item)) return 1; - ItemDTO e1 = o1; - ItemDTO e2 = o2; + Item e1 = o1; + Item e2 = o2; String v1 = e1.getGcubeProperties().get(column); String v2 = e2.getGcubeProperties().get(column); @@ -348,7 +348,7 @@ public class ItemsTable extends AbstractItemsCellTable imp Context context, Element elem, T object, NativeEvent event) { super.onBrowserEvent(context, elem, object, event); if ("click".equals(event.getType())) { - ItemDTO item = object; + Item item = object; DialogShowGcubeItem dg = new DialogShowGcubeItem("Gcube Properties for: "+item.getName(), null, item, true); // dg.setPopupPosition(event.getClientX()-Integer.parseInt(dg.getElement().getStyle().getWidth()), event.getClientY()); dg.center(); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/public/workspaceExplorer.css b/src/main/java/org/gcube/portlets/widgets/wsexplorer/public/workspaceExplorer.css index 80b6af4..5aabfe6 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/public/workspaceExplorer.css +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/public/workspaceExplorer.css @@ -6,3 +6,6 @@ * See: org.gcube.portlets.widgets.wsexplorer.resources.BootstrapOverrideResources * **************************************************/ +div.ExpLeftPanel li { + list-style-type: none; +} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/ItemBuilder.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/ItemBuilder.java index 84c3097..0cedcef 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/ItemBuilder.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/ItemBuilder.java @@ -21,7 +21,6 @@ import org.gcube.portlets.widgets.wsexplorer.client.Util; import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerConstants; import org.gcube.portlets.widgets.wsexplorer.server.stohub.Whorespace; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,49 +28,12 @@ import org.slf4j.LoggerFactory; /** * The Class ItemBuilder. * - * @author Federico De Faveri defaveri@isti.cnr.it - * Modified by Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it + * @author Francesco Mangiacrapa, CNR-ISTI + * @author M. Assante, CNR-ISTI */ public class ItemBuilder { - public static final Logger logger = LoggerFactory.getLogger(ItemBuilder.class); - /** - * Purge empty folders. - * - * @param item the item - * @return the item - */ - public static ItemDTO purgeEmptyFolders(ItemDTO item) - { - //for (Item child:item.getChildren()) purgeEmptyFolders(child); ONLY FIRST LEVEL - - List toRemoveList = new LinkedList(); - for (ItemDTO child:item.getChildren()) { - boolean toRemove = isAnEmptyFolder(child); - if (toRemove) { - toRemoveList.add(child); - } - } - for (ItemDTO child:toRemoveList) { - item.removeChild(child); - } - - return item; - } - - - /** - * Checks if is an empty folder. - * - * @param item the item - * @return true, if is an empty folder - */ - protected static boolean isAnEmptyFolder(ItemDTO item) - { - return Util.isFolder(item.getType()) && item.getChildren().size() == 0; - } - - + public static final Logger _log = LoggerFactory.getLogger(ItemBuilder.class); /** * Gets the item. * @@ -85,7 +47,7 @@ public class ItemBuilder { * @return the item * @throws InternalErrorException the internal error exception */ - public static ItemDTO getItem(ItemDTO parent, Item workspaceItem, String workspaceItemPath, + public static org.gcube.portlets.widgets.wsexplorer.shared.Item getItem(org.gcube.portlets.widgets.wsexplorer.shared.Item parent, Item workspaceItem, String workspaceItemPath, List showableTypes, FilterCriteria filterCriteria, boolean loadChildren, boolean loadGcubeProperties) { @@ -98,25 +60,22 @@ public class ItemBuilder { return null; } - // //TODO ADD CONTROL ON THE PATH WHEN WILL BE MORE FAST - // if (itemName.equals(WorkspaceExplorerConstants.SPECIAL_FOLDERS_LABEL)) - // itemName = WorkspaceExplorerConstants.VRE_FOLDERS_LABEL; - boolean isFolder = type.equals(ItemType.PRIVATE_FOLDER)?true:false; boolean isSharedFolder = (type.equals(ItemType.SHARED_FOLDER) || type.equals(ItemType.VRE_FOLDER )) ? true : false; + if (isSharedFolder) + isFolder = true; String itemName = workspaceItem.getName(); if(isSharedFolder){ - logger.info("Is shared folder: "+workspaceItem.getTitle()); + _log.info("Is shared folder: "+workspaceItem.getTitle()); SharedFolder shared = (SharedFolder) workspaceItem; - itemName = shared.isVreFolder()?shared.getDisplayName():workspaceItem.getTitle(); + itemName = shared.isVreFolder() ? shared.getDisplayName() : workspaceItem.getTitle(); } - // _log.debug("Building Item for: "+itemName); - ItemDTO item = null; + org.gcube.portlets.widgets.wsexplorer.shared.Item item = null; try{ - item = new ItemDTO(parent, workspaceItem.getId(), itemName, type, workspaceItemPath, UserUtil.getUserFullName(workspaceItem.getOwner()), toDate(workspaceItem.getCreationTime()), isFolder, false); + item = new org.gcube.portlets.widgets.wsexplorer.shared.Item(parent, workspaceItem.getId(), itemName, type, workspaceItemPath, UserUtil.getUserFullName(workspaceItem.getOwner()), toDate(workspaceItem.getCreationTime()), isFolder, false); item.setSharedFolder(isSharedFolder); if(loadGcubeProperties){ @@ -124,7 +83,7 @@ public class ItemBuilder { item.setGcubeProperties(itemProperties); } }catch(Exception e){ - logger.error("Error on getting item: "+itemName+" with id: "+workspaceItem.getId()+", from HL, so skipping item"); + _log.error("Error on getting item: "+itemName+" with id: "+workspaceItem.getId()+", from HL, so skipping item"); return null; } @@ -135,8 +94,8 @@ public class ItemBuilder { theChildren = client.getChildren(itemId, Whorespace.ACCOUNTING_HL_NODE_NAME); for (Item child : theChildren) { String itemPath = workspaceItemPath+"/"+child.getName(); - ItemDTO itemChild = getItem(item, child, itemPath, showableTypes, filterCriteria, false, loadGcubeProperties); - logger.trace("Item: "+child.getName() +" converted!!!"); + org.gcube.portlets.widgets.wsexplorer.shared.Item itemChild = getItem(item, child, itemPath, showableTypes, filterCriteria, false, loadGcubeProperties); + _log.trace("Item: "+child.getName() +" converted!!!"); if (itemChild!=null){ item.addChild(itemChild); } @@ -163,7 +122,7 @@ public class ItemBuilder { * @return the item * @throws InternalErrorException the internal error exception */ - public static ItemDTO getItem(ItemDTO parent, Item workspaceItem, String workspaceItemPath, + public static org.gcube.portlets.widgets.wsexplorer.shared.Item getItem(org.gcube.portlets.widgets.wsexplorer.shared.Item parent, Item workspaceItem, String workspaceItemPath, List showableTypes, FilterCriteria filterCriteria, boolean loadChildren, boolean loadGcubeProperties, int startIdx, int limit) { @@ -181,21 +140,23 @@ public class ItemBuilder { String itemName = workspaceItem.getName(); if(isSharedFolder){ - logger.info("Is shared folder: "+workspaceItem.getTitle()); + _log.info("Is shared folder: "+workspaceItem.getTitle()); SharedFolder shared = (SharedFolder) workspaceItem; itemName = shared.isVreFolder()?shared.getDisplayName():workspaceItem.getTitle(); + isFolder = true; } - - + // _log.debug("Building Item for: "+itemName); - ItemDTO item = null; + org.gcube.portlets.widgets.wsexplorer.shared.Item item = null; try{ //THIS CALL IS VERY SLOW!! // String storageID = null; // if(workspaceItem instanceof FolderItem){ // storageID = workspaceItem.getStorageID(); // } - item = new ItemDTO(parent, workspaceItem.getId(), itemName, type, workspaceItemPath, UserUtil.getUserFullName(workspaceItem.getOwner()), toDate(workspaceItem.getCreationTime()), isFolder, false); + item = new org.gcube.portlets.widgets.wsexplorer.shared.Item( + parent, workspaceItem.getId(), itemName, type, workspaceItemPath, + UserUtil.getUserFullName(workspaceItem.getOwner()), toDate(workspaceItem.getCreationTime()), isFolder, false); item.setSharedFolder(isSharedFolder); if(loadGcubeProperties){ @@ -203,7 +164,7 @@ public class ItemBuilder { item.setGcubeProperties(itemProperties); } }catch(Exception e){ - logger.error("Error on getting item: "+itemName+" with id: "+workspaceItem.getId()+", from HL, so skipping item"); + _log.error("Error on getting item: "+itemName+" with id: "+workspaceItem.getId()+", from HL, so skipping item"); return null; } @@ -214,8 +175,8 @@ public class ItemBuilder { theChildren = client.getChildren(itemId, Whorespace.ACCOUNTING_HL_NODE_NAME); for (Item child : theChildren) { String itemPath = workspaceItemPath+"/"+child.getName(); - ItemDTO itemChild = getItem(item, child, itemPath, showableTypes, filterCriteria, false, loadGcubeProperties); - logger.trace("Item: "+child.getName() +" converted!!!"); + org.gcube.portlets.widgets.wsexplorer.shared.Item itemChild = getItem(item, child, itemPath, showableTypes, filterCriteria, false, loadGcubeProperties); + _log.trace("Item: "+child.getName() +" converted!!!"); if (itemChild!=null){ item.addChild(itemChild); } @@ -234,15 +195,76 @@ public class ItemBuilder { */ protected static ItemType getItemType(Item item) { if (item instanceof AbstractFileItem) { - return ItemType.EXTERNAL_FILE; + return getFileIconImageType( item); } else if (item instanceof FolderItem) { return getFolderItemType(item); } - logger.warn("Item Type non found: "); + _log.warn("\n\n\n**** Item Type non found: "); return ItemType.UNKNOWN_TYPE; } + /** + * + * @param item + * @return the item type based on the extension of the file + */ + private static ItemType getFileIconImageType(Item item) { + String[] splits = item.getName().split("\\."); + String extension = ""; + if (splits.length > 0) { + extension = splits[splits.length-1]; + } + if (extension == null || extension.compareTo("") == 0) + return ItemType.UNKNOWN_TYPE; + extension = extension.toLowerCase(); + switch (extension) { + case "doc": + case "docx": + return ItemType.DOCUMENT; + case "rtf": + case "txt": + return ItemType.TEXT_PLAIN; + case "xls": + case "xlsx": + return ItemType.SPREADSHEET; + case "csv": + return ItemType.CSV; + case "ics": + return ItemType.CALENDAR; + case "ppt": + case "pptx": + return ItemType.PRESENTATION; + case "pdf": + return ItemType.PDF_DOCUMENT; + case "jpg": + case "jpeg": + case "gif": + case "bmp": + case "png": + case "tif": + case "tiff": + return ItemType.IMAGE_DOCUMENT; + case "avi": + case "mp4": + case "mpeg": + return ItemType.MOVIE; + case "html": + case "htm": + case "jsp": + return ItemType.HTML; + case "rar": + return ItemType.RAR; + case "zip": + case "tar": + case "tar.gz": + case ".cpgz": + case ".gz": + return ItemType.ZIP; + default: + return ItemType.UNKNOWN_TYPE; + } + } /** * Gets the folder item type. @@ -251,16 +273,19 @@ public class ItemBuilder { * @return the folder item type */ protected static ItemType getFolderItemType(Item item){ + System.out.println("***\n\n\"+getFolderItemType " + item.getTitle()); if (item instanceof SharedFolder || item instanceof VreFolder) { SharedFolder folder = (SharedFolder) item; - if (folder.isVreFolder()) + if (folder.isVreFolder()) return ItemType.VRE_FOLDER; + System.out.println("***" + item.getTitle() + " is a SHARED FOLDER"); return ItemType.SHARED_FOLDER; } else if (item instanceof FolderItem) { + System.out.println("***" + item.getTitle() + " is a PRIVATE FOLDER"); return ItemType.PRIVATE_FOLDER; } - logger.warn("Item Type non found: "); - return ItemType.UNKNOWN_TYPE; + _log.warn("Item Type non found: "); + return ItemType.PRIVATE_FOLDER; } @@ -335,7 +360,7 @@ public class ItemBuilder { } return true; } catch (Exception e) { - logger.error("checkAllowedFileExtension, InternalErrorException: ",e); + _log.error("checkAllowedFileExtension, InternalErrorException: ",e); return false; } } @@ -357,7 +382,7 @@ public class ItemBuilder { if(dot>=0 && dot+1<=fileName.length()){ String ext = fileName.substring(dot+1, fileName.length()); - logger.trace("Extension found: "+ext +" for: "+fileName); + _log.trace("Extension found: "+ext +" for: "+fileName); // if(ext.isEmpty()) // return false; for (String fe : allowedFileExtension) { @@ -367,7 +392,7 @@ public class ItemBuilder { } return false; } - logger.trace("Extension not found for: "+fileName); + _log.trace("Extension not found for: "+fileName); return false; } @@ -434,7 +459,7 @@ public class ItemBuilder { * @return the item * @throws InternalErrorException the internal error exception */ - public static ItemDTO buildFolderForBreadcrumbs(FolderItem wsFolder, ItemDTO parent){ + public static org.gcube.portlets.widgets.wsexplorer.shared.Item buildFolderForBreadcrumbs(FolderItem wsFolder, org.gcube.portlets.widgets.wsexplorer.shared.Item parent){ String name = ""; boolean isSpecialFolder = false; @@ -457,10 +482,10 @@ public class ItemBuilder { //BUILDS A SIMPLE ITEM FOR BREADCRUMB String path = null; //wsFolder.getPath(); FORCED TO NULL BECAUSE IS SLOW CALL - ItemDTO item = new ItemDTO(null, wsFolder.getId(), name, ItemType.FOLDER, path, null, null, true, isRoot); + org.gcube.portlets.widgets.wsexplorer.shared.Item item = new org.gcube.portlets.widgets.wsexplorer.shared.Item(null, wsFolder.getId(), name, ItemType.FOLDER, path, null, null, true, isRoot); item.setSpecialFolder(isSpecialFolder); - logger.debug("breadcrumb returning: "+item); + _log.debug("breadcrumb returning: "+item); return item; } @@ -481,12 +506,42 @@ public class ItemBuilder { * @param calendar the calendar * @return the date */ - public static Date toDate(Calendar calendar) - { + public static Date toDate(Calendar calendar) { if (calendar == null) return null; return calendar.getTime(); } + /** + * Purge empty folders. + * + * @param item the item + * @return the item + */ + public static org.gcube.portlets.widgets.wsexplorer.shared.Item purgeEmptyFolders(org.gcube.portlets.widgets.wsexplorer.shared.Item item) { + List toRemoveList = new LinkedList(); + for (org.gcube.portlets.widgets.wsexplorer.shared.Item child:item.getChildren()) { + boolean toRemove = isAnEmptyFolder(child); + if (toRemove) { + toRemoveList.add(child); + } + } + for (org.gcube.portlets.widgets.wsexplorer.shared.Item child:toRemoveList) { + item.removeChild(child); + } + + return item; + } + + + /** + * Checks if is an empty folder. + * + * @param item the item + * @return true, if is an empty folder + */ + protected static boolean isAnEmptyFolder(org.gcube.portlets.widgets.wsexplorer.shared.Item item) { + return Util.isFolder(item.getType()) && item.getChildren().size() == 0; + } /* public static void main(String[] args) { List allowedFileExtension = new ArrayList(); diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/ItemComparator.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/ItemComparator.java index 91a465f..14fa9d2 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/ItemComparator.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/ItemComparator.java @@ -7,20 +7,20 @@ import java.util.Comparator; import org.gcube.portlets.widgets.wsexplorer.client.Util; import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerConstants; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; +import org.gcube.portlets.widgets.wsexplorer.shared.Item; /** * A comparator that sorts the items first by type, folder up others down, the each group alphabetically on the item name. * @author "Federico De Faveri defaveri@isti.cnr.it" */ -public class ItemComparator implements Comparator { +public class ItemComparator implements Comparator { /** * {@inheritDoc} */ @Override - public int compare(ItemDTO item1, ItemDTO item2) { + public int compare(Item item1, Item item2) { //if one of the item is folder and the other one not, we move up the folder boolean isItem1Folder = Util.isFolder(item1.getType()); @@ -36,7 +36,7 @@ public class ItemComparator implements Comparator { return String.CASE_INSENSITIVE_ORDER.compare(item1.getName(), item2.getName()); } - private boolean isSpecialFolder(ItemDTO item) { + private boolean isSpecialFolder(Item item) { // return item.getName().equals(WorkspaceExplorerConstants.VRE_FOLDERS_LABEL) && item.getParent()!=null && item.getParent().isRoot(); return item.getName().equals(WorkspaceExplorerConstants.VRE_FOLDERS_LABEL) && item.isSpecialFolder(); } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/WorkspaceExplorerServiceImpl.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/WorkspaceExplorerServiceImpl.java index 88df645..279dfdb 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/WorkspaceExplorerServiceImpl.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/WorkspaceExplorerServiceImpl.java @@ -9,8 +9,6 @@ import java.util.concurrent.TimeUnit; import org.gcube.common.authorization.library.provider.SecurityTokenProvider; import org.gcube.common.portal.PortalContext; -import org.gcube.common.storagehub.client.plugins.AbstractPlugin; -import org.gcube.common.storagehub.client.proxies.WorkspaceManagerClient; import org.gcube.common.storagehub.model.items.FolderItem; import org.gcube.common.storagehub.model.items.Item; import org.gcube.common.storagehub.model.items.SharedFolder; @@ -20,7 +18,6 @@ import org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerService import org.gcube.portlets.widgets.wsexplorer.server.stohub.Whorespace; import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; import org.gcube.portlets.widgets.wsexplorer.shared.ItemCategory; -import org.gcube.portlets.widgets.wsexplorer.shared.ItemDTO; import org.gcube.portlets.widgets.wsexplorer.shared.ItemInterface; import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import org.gcube.portlets.widgets.wsexplorer.shared.SearchedFolder; @@ -45,7 +42,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement * {@inheritDoc} */ @Override - public ItemDTO getRoot(List showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria) throws WorkspaceNavigatorServiceException { + public org.gcube.portlets.widgets.wsexplorer.shared.Item getRoot(List showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria) throws WorkspaceNavigatorServiceException { logger.trace("getRoot showableTypes: "+showableTypes+" purgeEmpyFolders: "+purgeEmpyFolders+" filterCriteria: "+ filterCriteria); try { @@ -62,7 +59,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement long startTime = System.currentTimeMillis(); logger.trace("start time - " + startTime); - ItemDTO rootItem = ItemBuilder.getItem(null, root, root.getPath(), showableTypes, filterCriteria, true, false); + org.gcube.portlets.widgets.wsexplorer.shared.Item rootItem = ItemBuilder.getItem(null, root, root.getPath(), showableTypes, filterCriteria, true, false); rootItem.setName(WorkspaceExplorerConstants.HOME_LABEL); rootItem.setIsRoot(true); @@ -89,7 +86,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement * {@inheritDoc} */ @Override - public ItemDTO getFolder(ItemInterface item, List showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria, boolean loadGcubeProperties) throws WorkspaceNavigatorServiceException { + public org.gcube.portlets.widgets.wsexplorer.shared.Item getFolder(ItemInterface item, List showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria, boolean loadGcubeProperties) throws WorkspaceNavigatorServiceException { logger.trace("getFolder folderId: "+item.getId()+" showableTypes: "+showableTypes+" purgeEmpyFolders: "+purgeEmpyFolders+" filterCriteria: "+filterCriteria); try { @@ -104,7 +101,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement //TO AVOID SLOW CALL getPATH() String folderPath = item.getPath()!=null && !item.getPath().isEmpty()?item.getPath():folder.getPath(); - ItemDTO itemFolder = ItemBuilder.getItem(null, folder, folderPath, showableTypes, filterCriteria, true, loadGcubeProperties); + org.gcube.portlets.widgets.wsexplorer.shared.Item itemFolder = ItemBuilder.getItem(null, folder, folderPath, showableTypes, filterCriteria, true, loadGcubeProperties); // _log.trace("Only showable types:"); if (purgeEmpyFolders) { @@ -133,7 +130,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement * @throws WorkspaceNavigatorServiceException the workspace navigator service exception */ @Override - public ItemDTO getItemByCategory(ItemCategory category) throws WorkspaceNavigatorServiceException{ + public org.gcube.portlets.widgets.wsexplorer.shared.Item getItemByCategory(ItemCategory category) throws WorkspaceNavigatorServiceException{ logger.trace("GetItemByCategory category: "+category); PortalContext pContext = PortalContext.getConfiguration(); String userName = pContext.getCurrentUser(getThreadLocalRequest()).getUsername(); @@ -143,7 +140,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement try { - ItemDTO item = null; + org.gcube.portlets.widgets.wsexplorer.shared.Item item = null; switch(category){ case HOME:{ @@ -154,13 +151,13 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement }else if(fullName.indexOf(".")>0){ fullName = fullName.substring(0, fullName.indexOf(".")); } - item = new ItemDTO(null, root.getId(), fullName+"'s", ItemType.FOLDER, root.getPath(), root.getOwner(), null, true, true); + item = new org.gcube.portlets.widgets.wsexplorer.shared.Item(null, root.getId(), fullName+"'s", ItemType.FOLDER, root.getPath(), root.getOwner(), null, true, true); break; } case VRE_FOLDER:{ String vreFolderId = Whorespace.getVREFoldersId(getThreadLocalRequest()); Item folder = Whorespace.getItem(getThreadLocalRequest(), vreFolderId); - item = new ItemDTO(null, folder.getId(), WorkspaceExplorerConstants.VRE_FOLDERS_LABEL, ItemType.FOLDER, folder.getPath(), folder.getOwner(), null, true, false); + item = new org.gcube.portlets.widgets.wsexplorer.shared.Item(null, folder.getId(), WorkspaceExplorerConstants.VRE_FOLDERS_LABEL, ItemType.FOLDER, folder.getPath(), folder.getOwner(), null, true, false); //SET SPECIAL FOLDER /Workspace/MySpecialFolders item.setSpecialFolder(true); break; @@ -177,7 +174,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement * {@inheritDoc} */ @Override - public ItemDTO getMySpecialFolder(List showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria) throws WorkspaceNavigatorServiceException { + public org.gcube.portlets.widgets.wsexplorer.shared.Item getMySpecialFolder(List showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria) throws WorkspaceNavigatorServiceException { logger.trace("GetMySpecialFolder showableTypes: "+showableTypes+" purgeEmpyFolders: "+purgeEmpyFolders+" filterCriteria: "+filterCriteria); try { @@ -192,7 +189,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement long startTime = System.currentTimeMillis(); logger.trace("start time - " + startTime); - ItemDTO itemFolder = ItemBuilder.getItem(null, folder, folder.getPath(), showableTypes, filterCriteria, true, false); + org.gcube.portlets.widgets.wsexplorer.shared.Item itemFolder = ItemBuilder.getItem(null, folder, folder.getPath(), showableTypes, filterCriteria, true, false); //OVERRIDING VRE FOLDERS NAME - SET SPECIAL FOLDER /Workspace/MySpecialFolders itemFolder.setName(WorkspaceExplorerConstants.VRE_FOLDERS_LABEL); itemFolder.setSpecialFolder(true); @@ -249,70 +246,16 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement * @throws Exception the exception */ @Override - public List getBreadcrumbsByItemIdentifier(String itemIdentifier, boolean includeItemAsParent) throws Exception { + public ArrayList getBreadcrumbsByItemIdentifier(String itemIdentifier, String itemName, boolean includeItemAsParent) throws Exception { logger.trace("ListParents By Item Identifier "+ itemIdentifier); try { - - Item wsItem = Whorespace.getItem(getThreadLocalRequest(), itemIdentifier); - logger.trace("workspace retrieve item name: "+wsItem.getName()); - List parents = new ArrayList<>(); - Item whileItem = wsItem; - while (whileItem.getParentId() != null) { - parents.add(whileItem); - whileItem = Whorespace.getItem(getThreadLocalRequest(), whileItem.getParentId()); - } - // List parents = workspace.getParentsById(itemIdentifier); - logger.trace("parents size: "+parents.size()); - ItemDTO[] arrayParents; - if(includeItemAsParent==true && wsItem instanceof FolderItem){ - arrayParents = new ItemDTO[parents.size()]; - arrayParents[parents.size()-1] = ItemBuilder.buildFolderForBreadcrumbs((FolderItem) wsItem, null); - } - else { - arrayParents = new ItemDTO[parents.size()-1]; - } - - /** HANDLE MY_SPECIAL_FOLDER TO AVOID COMPLETE PATH WORKSPACE/MY_SPECIAL_FOLDER - * BUT RETURNING ONLY /MY_SPECIAL_FOLDER - */ - if(wsItem instanceof FolderItem){ - if(ItemBuilder.isSpecialFolder((FolderItem) wsItem)){ - return new ArrayList(Arrays.asList(arrayParents)); - } - } - - //CONVERTING PATH - logger.trace("converting path from second-last.."); - for (int i = parents.size()-2; i >= 0; i--) { - FolderItem wsParentFolder = (FolderItem) parents.get(i); - arrayParents[i] = ItemBuilder.buildFolderForBreadcrumbs(wsParentFolder, null); - if(arrayParents[i].isSpecialFolder()){ //SKIP HOME PARENT FOR MY_SPECIAL_FOLDER - logger.info("arrayParents index "+i+" is special folder, exit"); - break; - } - } - - //SET PARENTS - logger.trace("setting parents.."); - for(int i=0; i breadcrumbs = new ArrayList(arrayParents.length-1); - for (int i=1; i(Arrays.asList(arrayParents)); - } - + List parents = Whorespace.getParents(getThreadLocalRequest(), itemIdentifier); + System.out.println("parents size: "+parents.size() + " follows them in order"); + ArrayList toReturn = new ArrayList<>(parents.size()); + Collections.reverse(toReturn); + String theClickedFolderName = (itemName == null || itemName.equals("")) ? "current folder" : itemName; + toReturn.add(new org.gcube.portlets.widgets.wsexplorer.shared.Item(itemIdentifier, theClickedFolderName, true)); //this is the last non clickable item on the BC + return toReturn; } catch (Exception e) { logger.error("Error in get List Parents By Item Identifier ", e); throw new Exception("Sorry, an error occurred during path retrieving!"); @@ -329,29 +272,27 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement * @throws Exception the exception */ @Override - public List getBreadcrumbsByItemIdentifierToParentLimit(String itemIdentifier, String parentLimit, boolean includeItemAsParent) throws Exception { + public List getBreadcrumbsByItemIdentifierToParentLimit(String itemIdentifier, String parentLimit, boolean includeItemAsParent) throws Exception { logger.trace("getBreadcrumbsByItemIdentifierToParentLimit by Item Identifier " + itemIdentifier +" and limit: "+parentLimit); try { Item wsItem = Whorespace.getItem(getThreadLocalRequest(), itemIdentifier); - logger.trace("workspace retrieve item name: "+wsItem.getName()); - List parents = new ArrayList<>(); - Item whileItem = wsItem; - while (whileItem.getParentId() != null) { - parents.add(whileItem); - whileItem = Whorespace.getItem(getThreadLocalRequest(), whileItem.getParentId()); + System.out.println("**** workspace retrieved item name: "+wsItem.getName()); + List parents = Whorespace.getParents(getThreadLocalRequest(), itemIdentifier); + System.out.println("parents size: "+parents.size() + " follows them in order"); + for (Item item : parents) { + System.out.println("parent: "+item.getTitle()); } - logger.trace("workspace retrieve item name: "+wsItem.getName()); - //List parents = workspace.getParentsById(itemIdentifier); + System.out.println("parents size: "+parents.size()); logger.trace("parents size: "+parents.size()); - ItemDTO[] arrayParents; + org.gcube.portlets.widgets.wsexplorer.shared.Item[] arrayParents; if(includeItemAsParent==true && wsItem instanceof FolderItem){ - arrayParents = new ItemDTO[parents.size()]; + arrayParents = new org.gcube.portlets.widgets.wsexplorer.shared.Item[parents.size()]; arrayParents[parents.size()-1] = ItemBuilder.buildFolderForBreadcrumbs((FolderItem) wsItem, null); } else { - arrayParents = new ItemDTO[parents.size()-1]; + arrayParents = new org.gcube.portlets.widgets.wsexplorer.shared.Item[parents.size()-1]; } parentLimit = parentLimit!=null?parentLimit:""; @@ -362,12 +303,12 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement if( wsItem instanceof FolderItem){ if(ItemBuilder.isSpecialFolder((FolderItem) wsItem)){ logger.debug("item id is special folder, returning"); - return new ArrayList(Arrays.asList(arrayParents)); + return new ArrayList(Arrays.asList(arrayParents)); } if(itemIdentifier.compareTo(parentLimit)==0){ logger.debug("item and parent limit are identical element, returning"); - return new ArrayList(Arrays.asList(arrayParents)); + return new ArrayList(Arrays.asList(arrayParents)); } } @@ -390,8 +331,8 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement logger.trace("setting parents.."); for(int i=0; i breadcrumbs = new ArrayList(); + List breadcrumbs = new ArrayList(); for (int i=1; i(Arrays.asList(arrayParents)); + return new ArrayList(Arrays.asList(arrayParents)); } } catch (Exception e) { @@ -470,25 +411,27 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement */ @Override public String getMimeType(String itemId) throws Exception { - - logger.info("get MimeType By ItemId "+ itemId); - try { - Item wsItem = Whorespace.getItem(getThreadLocalRequest(), itemId); - logger.trace("workspace retrieve item name: "+wsItem.getName()); - - - if(! (wsItem instanceof FolderItem)) { - return null; - } - - FolderItem folderItem = (FolderItem) wsItem; - //TODO:folderItem.getMimeType(); - return "unknown"; - - } catch (Exception e) { - logger.error("get MimeType By ItemId ", e); - throw new Exception(e.getMessage()); - } + return ""; + //TODO: implement later +// +// logger.info("get MimeType By ItemId "+ itemId); +// try { +// Item wsItem = Whorespace.getItem(getThreadLocalRequest(), itemId); +// logger.trace("workspace retrieve item name: "+wsItem.getName()); +// +// +// if(! (wsItem instanceof FolderItem)) { +// return null; +// } +// +// FolderItem folderItem = (FolderItem) wsItem; +// //TODO:folderItem.getMimeType(); +// return "unknown"; +// +// } catch (Exception e) { +// logger.error("get MimeType By ItemId ", e); +// throw new Exception(e.getMessage()); +// } } @@ -501,22 +444,24 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement */ @Override public String getUserACLForFolderId(String folderId) throws Exception{ - try { - logger.info("Get user ACL to FOLDER id: "+folderId); - Item wsItem = Whorespace.getItem(getThreadLocalRequest(), folderId); - logger.trace("workspace retrieve item name: "+wsItem.getName()); - - if(!isASharedFolder(wsItem, false)) { - return "OWNER"; - } - else { - return "NOT IMPLEMENTED";//TODO - } - } catch (Exception e) { - logger.error("Error in server get UserACLForFolderId", e); - String error = "An error occurred when getting ACL rules for selected folder. "+e.getMessage(); - throw new Exception(error); - } + //TODO: missing implementation on the back-end + return "unknown"; +// try { +// logger.info("Get user ACL to FOLDER id: "+folderId); +// Item wsItem = Whorespace.getItem(getThreadLocalRequest(), folderId); +// logger.trace("workspace retrieve item name: "+wsItem.getName()); +// +// if(!isASharedFolder(wsItem, false)) { +// return "OWNER"; +// } +// else { +// return "NOT IMPLEMENTED";//TODO +// } +// } catch (Exception e) { +// logger.error("Error in server get UserACLForFolderId", e); +// String error = "An error occurred when getting ACL rules for selected folder. "+e.getMessage(); +// throw new Exception(error); +// } } @@ -578,7 +523,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement * @throws Exception the exception */ @Override - public ItemDTO createFolder(String nameFolder, String description, String parentId) throws Exception { + public org.gcube.portlets.widgets.wsexplorer.shared.Item createFolder(String nameFolder, String description, String parentId) throws Exception { logger.debug("creating folder: "+nameFolder +", parent id: "+parentId); //TODO @@ -598,7 +543,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement // // List allTypes = Arrays.asList(ItemType.values()); // -// ItemDTO parent = null; +// org.gcube.portlets.widgets.wsexplorer.shared.Item parent = null; // try{ // String parentPath = wsFolder.getParent()!=null?wsFolder.getParent().getPath():""; // parent = ItemBuilder.getItem(null, wsFolder.getParent(), parentPath, allTypes, null, false, false); @@ -676,7 +621,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement */ @Override public SearchedFolder getFolder( - ItemDTO item, List showableTypes, boolean purgeEmpyFolders, + org.gcube.portlets.widgets.wsexplorer.shared.Item item, List showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria, boolean loadGcubeProperties, final int startIndex, final int limit, final int serverStartIndex) throws WorkspaceNavigatorServiceException { @@ -694,7 +639,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement //TO AVOID SLOW CALL getPATH() String folderPath = item.getPath()!=null && !item.getPath().isEmpty()?item.getPath():folder.getPath(); - ItemDTO itemFolderToReturn = ItemBuilder.getItem(null, folder, folderPath, showableTypes, filterCriteria, true, loadGcubeProperties, searchStartIndex, limit); + org.gcube.portlets.widgets.wsexplorer.shared.Item itemFolderToReturn = ItemBuilder.getItem(null, folder, folderPath, showableTypes, filterCriteria, true, loadGcubeProperties, searchStartIndex, limit); SearchedFolder sf = new SearchedFolder(itemFolderToReturn, startIndex, limit, searchStartIndex, false); int currentListCount = sf.getFolder().getChildren().size(); @@ -713,7 +658,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement return sf; } - ArrayList childrenToReturn = new ArrayList(limit); + ArrayList childrenToReturn = new ArrayList(limit); childrenToReturn.addAll(sf.getFolder().getChildren()); int offsetStartIndex = searchStartIndex; @@ -728,7 +673,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement if(newstartIndex < folderChildrenCount){ //newLimit = limit - childrenToReturn.size(); logger.debug("MyLg getting items with index start: "+newstartIndex + ", limit: "+limit); - ItemDTO newItemFolder = ItemBuilder.getItem(null, folder, folderPath, showableTypes, filterCriteria, true, loadGcubeProperties, newstartIndex, limit); + org.gcube.portlets.widgets.wsexplorer.shared.Item newItemFolder = ItemBuilder.getItem(null, folder, folderPath, showableTypes, filterCriteria, true, loadGcubeProperties, newstartIndex, limit); int diff = limit - currentListCount; //How items are remaining //int offset = 0; logger.debug("MyLg new search start: "+newstartIndex + ", diff: "+diff+ ", retrieved: "+newItemFolder.getChildren().size()); @@ -782,7 +727,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement @Override - public int getFolderChildrenCount(ItemDTO item){ + public int getFolderChildrenCount(org.gcube.portlets.widgets.wsexplorer.shared.Item item){ return Whorespace.getItemChildrenCount(getThreadLocalRequest(), item.getId()); } diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/stohub/Whorespace.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/stohub/Whorespace.java index 95eb84a..938c0af 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/stohub/Whorespace.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/server/stohub/Whorespace.java @@ -1,5 +1,6 @@ package org.gcube.portlets.widgets.wsexplorer.server.stohub; +import java.util.Collections; import java.util.List; import javax.servlet.http.HttpServletRequest; @@ -10,6 +11,7 @@ import org.gcube.common.scope.api.ScopeProvider; import org.gcube.common.storagehub.client.plugins.AbstractPlugin; import org.gcube.common.storagehub.client.proxies.ItemManagerClient; import org.gcube.common.storagehub.client.proxies.WorkspaceManagerClient; +import org.gcube.common.storagehub.model.items.FolderItem; import org.gcube.common.storagehub.model.items.Item; import com.liferay.portal.kernel.log.Log; @@ -44,6 +46,18 @@ public class Whorespace { return toReturn; } + public static List getParents(HttpServletRequest request, String itemId) { + PortalContext pContext = PortalContext.getConfiguration(); + String userName = pContext.getCurrentUser(request).getUsername(); + String scope = pContext.getCurrentScope(request); + String authorizationToken = pContext.getCurrentUserToken(scope, userName); + ScopeProvider.instance.set(scope); + SecurityTokenProvider.instance.set(authorizationToken); + ItemManagerClient client = AbstractPlugin.item().build(); + List toReturn = client.getAnchestors(itemId, ACCOUNTING_HL_NODE_NAME); + return toReturn; + } + /** * * @param request diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/ItemDTO.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/Item.java similarity index 88% rename from src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/ItemDTO.java rename to src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/Item.java index bafc550..3c98f9d 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/ItemDTO.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/Item.java @@ -16,15 +16,15 @@ import com.google.gwt.user.client.rpc.IsSerializable; * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it * Dec 2, 2015 */ -public class ItemDTO implements IsSerializable, ItemInterface{ +public class Item implements IsSerializable, ItemInterface{ - protected ItemDTO parent; + protected Item parent; protected String id; protected String name; protected ItemType type; protected String path; - protected ArrayList children; + protected ArrayList children; private String owner; private boolean isFolder; private boolean isSpecialFolder = false; @@ -37,7 +37,7 @@ public class ItemDTO implements IsSerializable, ItemInterface{ /** * Instantiates a new item. */ - public ItemDTO() { + public Item() { } /** * Instantiates a new item. @@ -46,12 +46,12 @@ public class ItemDTO implements IsSerializable, ItemInterface{ * @param name the name * @param isFolder the is folder */ - public ItemDTO(String id, String name, boolean isFolder) { + public Item(String id, String name, boolean isFolder) { this.id = id; this.isFolder = isFolder; this.name = name; this.type = isFolder?ItemType.FOLDER:ItemType.UNKNOWN_TYPE; - this.children = new ArrayList(); + this.children = new ArrayList(); } @@ -68,7 +68,7 @@ public class ItemDTO implements IsSerializable, ItemInterface{ * @param isFolder the is folder * @param isRoot the is root */ - public ItemDTO(ItemDTO parent, String id, String name, ItemType type, String path, String owner, Date creationDate, boolean isFolder, boolean isRoot) { + public Item(Item parent, String id, String name, ItemType type, String path, String owner, Date creationDate, boolean isFolder, boolean isRoot) { this(parent, id, name, type, path, owner, isFolder, isRoot); this.creationDate = creationDate; } @@ -86,12 +86,12 @@ public class ItemDTO implements IsSerializable, ItemInterface{ * @param isFolder the is folder * @param isRoot the is root */ - public ItemDTO(ItemDTO parent, String id, String name, ItemType type, String path, String owner, boolean isFolder, boolean isRoot) { + public Item(Item parent, String id, String name, ItemType type, String path, String owner, boolean isFolder, boolean isRoot) { this(id, name, isFolder); this.parent = parent; this.type = type; this.path = path; - this.children = new ArrayList(); + this.children = new ArrayList(); this.owner = owner; this.isRoot = isRoot; } @@ -102,7 +102,7 @@ public class ItemDTO implements IsSerializable, ItemInterface{ * * @param children the new children */ - public void setChildren(ArrayList children) { + public void setChildren(ArrayList children) { this.children = children; } @@ -177,7 +177,7 @@ public class ItemDTO implements IsSerializable, ItemInterface{ * * @return the item parent. */ - public ItemDTO getParent() { + public Item getParent() { return parent; } @@ -213,7 +213,7 @@ public class ItemDTO implements IsSerializable, ItemInterface{ * * @return the children. */ - public ArrayList getChildren() { + public ArrayList getChildren() { return children; } @@ -252,7 +252,7 @@ public class ItemDTO implements IsSerializable, ItemInterface{ * the index * @return the child at the specific position. */ - public ItemDTO getChild(int index) { + public Item getChild(int index) { return children.get(index); } @@ -262,7 +262,7 @@ public class ItemDTO implements IsSerializable, ItemInterface{ * @param child * the child to add. */ - public void addChild(ItemDTO child) { + public void addChild(Item child) { children.add(child); } @@ -272,7 +272,7 @@ public class ItemDTO implements IsSerializable, ItemInterface{ * @param child * the child */ - public void removeChild(ItemDTO child) { + public void removeChild(Item child) { children.remove(child); } @@ -328,7 +328,7 @@ public class ItemDTO implements IsSerializable, ItemInterface{ if (getClass() != obj.getClass()) { return false; } - ItemDTO other = (ItemDTO) obj; + Item other = (Item) obj; if (id == null) { if (other.id != null) { return false; @@ -375,7 +375,7 @@ public class ItemDTO implements IsSerializable, ItemInterface{ * @param parent * the new parent */ - public void setParent(ItemDTO parent) { + public void setParent(Item parent) { this.parent = parent; } /* (non-Javadoc) diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/ItemType.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/ItemType.java index 2e43303..b401498 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/ItemType.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/ItemType.java @@ -20,9 +20,18 @@ public enum ItemType { EXTERNAL_PDF_FILE, EXTERNAL_URL, QUERY, + CALENDAR, REPORT_TEMPLATE, REPORT, + CSV, + MOVIE, + ZIP, + RAR, + HTML, + TEXT_PLAIN, DOCUMENT, + PRESENTATION, + SPREADSHEET, METADATA, PDF_DOCUMENT, IMAGE_DOCUMENT, diff --git a/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/SearchedFolder.java b/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/SearchedFolder.java index d19dfd3..7ca5be8 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/SearchedFolder.java +++ b/src/main/java/org/gcube/portlets/widgets/wsexplorer/shared/SearchedFolder.java @@ -15,7 +15,7 @@ import com.google.gwt.user.client.rpc.IsSerializable; public class SearchedFolder implements IsSerializable{ - private ItemDTO folder; + private Item folder; private int clientStartIndex = 0; private int limit; private int serverEndIndex = 0; @@ -35,7 +35,7 @@ public class SearchedFolder implements IsSerializable{ * @param serverEndIndex * @param isServerSearchFinished */ - public SearchedFolder(ItemDTO folder, int clientStartIndex, int limit, int serverEndIndex, boolean isServerSearchFinished) { + public SearchedFolder(Item folder, int clientStartIndex, int limit, int serverEndIndex, boolean isServerSearchFinished) { super(); this.folder = folder; @@ -50,7 +50,7 @@ public class SearchedFolder implements IsSerializable{ /** * @return the folder */ - public ItemDTO getFolder() { + public Item getFolder() { return folder; } @@ -100,7 +100,7 @@ public class SearchedFolder implements IsSerializable{ /** * @param folder the folder to set */ - public void setFolder(ItemDTO folder) { + public void setFolder(Item folder) { this.folder = folder; }