diff --git a/.classpath b/.classpath index d1227cc..75a174a 100644 --- a/.classpath +++ b/.classpath @@ -13,15 +13,15 @@ + - - + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 29abf99..839d647 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -2,5 +2,4 @@ eclipse.preferences.version=1 encoding//src/main/java=UTF-8 encoding//src/main/resources=UTF-8 encoding//src/test/java=UTF-8 -encoding//src/test/resources=UTF-8 encoding/=UTF-8 diff --git a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/DownloadWorkspaceExplorerServlet.java b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/DownloadWorkspaceExplorerServlet.java index 0fa25b1..f89dcbb 100644 --- a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/DownloadWorkspaceExplorerServlet.java +++ b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/DownloadWorkspaceExplorerServlet.java @@ -135,7 +135,7 @@ public class DownloadWorkspaceExplorerServlet extends HttpServlet{ // } //SINGLE DONWLOAD - DOWNLOAD WORKSPACE ITEM - item = wa.getItem(ids.get(0)); + item = wa.getItemForExplorer(ids.get(0), false, false, false); if(isValidItem){ //ADDED 25/06/2013 - THIS CODE RETURN A SC_ACCEPT IS ITEM EXIST String message = HttpServletResponse.SC_ACCEPTED+ ": The resource is available"; sendMessageResourceAvailable(resp, message); @@ -453,7 +453,7 @@ public class DownloadWorkspaceExplorerServlet extends HttpServlet{ * @param workspaceItemIds the workspace item ids * @return the list */ - private List toWorkspaceItems(Workspace ws, List workspaceItemIds){ + /*private List toWorkspaceItems(Workspace ws, List workspaceItemIds){ if(workspaceItemIds==null) return null; @@ -468,7 +468,7 @@ public class DownloadWorkspaceExplorerServlet extends HttpServlet{ } } return listWI; - } + }*/ /** * Method to manage HttpServletResponse content length also to big data. diff --git a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/ItemComparator.java b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/ItemComparator.java index 945d812..f29d95b 100644 --- a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/ItemComparator.java +++ b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/ItemComparator.java @@ -40,7 +40,6 @@ public class ItemComparator implements Comparator { } private boolean isSpecialFolder(Item item) { -// return item.getName().equals(WorkspaceExplorerConstants.VRE_FOLDERS_LABEL) && item.getParent()!=null && item.getParent().isRoot(); return item.getName().equals(WorkspaceExplorerAppConstants.VRE_FOLDERS_LABEL) && item.isSpecialFolder(); } } diff --git a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WorkspaceExplorerAppServiceImpl.java b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WorkspaceExplorerAppServiceImpl.java index c7706f1..0401817 100644 --- a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WorkspaceExplorerAppServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WorkspaceExplorerAppServiceImpl.java @@ -141,7 +141,7 @@ public class WorkspaceExplorerAppServiceImpl extends RemoteServiceServlet implem throw new Exception("Item id is null"); workspace = getWorkspace(); - workspaceItem = workspace.getItem(item.getId()); + workspaceItem = workspace.getItemForExplorer(item.getId(), false, false, false); } catch (Exception e) { logger.error("Error during item retrieving", e); @@ -232,122 +232,6 @@ public class WorkspaceExplorerAppServiceImpl extends RemoteServiceServlet implem } } - /** - * Gets Breadcrumbs (the list of parents) by item identifier. - * - * @param itemIdentifier the item identifier - * @param includeItemAsParent - if parameter is true and item passed in input is a folder, the folder is included in path returned as last parent - * @return the list parents by item identifier - * @throws Exception the exception - */ - //@Override - /*public List getBreadcrumbsByItemIdentifier(String itemIdentifier, boolean includeItemAsParent) throws Exception { - logger.trace("ListParents By Item Identifier "+ itemIdentifier); - try { - - Workspace workspace = getWorkspace(); - WorkspaceItem wsItem = workspace.getItem(itemIdentifier); - logger.trace("workspace retrieve item name: "+wsItem.getName()); - List parents = workspace.getParentsById(itemIdentifier); - logger.trace("parents size: "+parents.size()); - Item[] arrayParents; - - - switch (parents.size()) { - case 0: // itemIdentifier is ROOT - logger.trace("itemIdentifier isRoot..."); - if (includeItemAsParent) { //ADDING ROOT - org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceFolder wsFolder = - (org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceFolder) wsItem; - Item root = ItemBuilder.buildFolderForBreadcrumbs(wsFolder, null); - List listParents = new ArrayList(1); - listParents.add(root); - //workspaceLogger.trace("returning: "+listParents.toString()); - return listParents; - } - else{ - logger.trace("returning empty list"); - return new ArrayList(); // empty list - } - - case 1: //itemIdentifier is first level from root - logger.trace("itemIdentifier is first level..."); - List listParents = new ArrayList(); - org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceFolder wsRootFolder = (org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceFolder) parents.get(0); //isRoot - Item root = ItemBuilder.buildFolderForBreadcrumbs(wsRootFolder, null); - Item parent = null; - if(includeItemAsParent){ - org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceFolder wsFolder1 = - (org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceFolder) workspace.getItem(itemIdentifier); //root - parent = ItemBuilder.buildFolderForBreadcrumbs(wsFolder1, null); - } - listParents.add(root); - if(parent!=null) - listParents.add(parent); - // workspaceLogger.trace("returning: "+listParents.toString()); - return listParents; - - default: - break; - } - - WorkspaceItem lastItem = parents.get(parents.size()-1); - - //CONVERTING LAST ELEMENT IF NECESSARY - logger.trace("converting last element.."); - if(includeItemAsParent && lastItem.isFolder()){ //FIX BUG #298 - arrayParents = new Item[parents.size()]; - logger.debug("including last item into path: "+lastItem.getName()); - arrayParents[parents.size()-1] = ItemBuilder.buildFolderForBreadcrumbs((WorkspaceFolder) lastItem, null); - }else - arrayParents = new Item[parents.size()-1]; - - // HANDLE MY_SPECIAL_FOLDER TO AVOID COMPLETE PATH WORKSPACE/MY_SPECIAL_FOLDER BUT RETURNING ONLY /MY_SPECIAL_FOLDER - - if(wsItem.isFolder()){ - if(ItemBuilder.isSpecialFolder((WorkspaceFolder) wsItem, lastItem.isRoot())){ - return new ArrayList(Arrays.asList(arrayParents)); - } - } - - //CONVERTING PATH - logger.trace("converting path from second-last.."); - for (int i = parents.size()-2; i >= 0; i--) { - WorkspaceFolder wsParentFolder = (WorkspaceFolder) 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)); - } - - } catch (Exception e) { - logger.error("Error in get List Parents By Item Identifier ", e); - throw new Exception("Sorry, an error occurred during path retrieving!"); - } - }*/ - /** * Gets the parents by item identifier to limit. * when limit is reached parents are null @@ -363,8 +247,9 @@ public class WorkspaceExplorerAppServiceImpl extends RemoteServiceServlet implem try { Workspace workspace = getWorkspace(); - WorkspaceItem wsItem = workspace.getItem(itemIdentifier); - logger.trace("workspace retrieve item name: "+wsItem.getName()); + WorkspaceItem wsItem = workspace.getItemForExplorer(itemIdentifier,false,false,false); + logger.info("\n\nworkspace retrieve item name: "+wsItem.getName()); + logger.info("\n\n"); List parents = null; try{ parents = workspace.getParentsById(itemIdentifier); @@ -378,7 +263,8 @@ public class WorkspaceExplorerAppServiceImpl extends RemoteServiceServlet implem if(logger.isDebugEnabled()) { for (WorkspaceItem workspaceItem : parents) { - logger.debug("the parent is: "+workspaceItem.getName()); + logger.info("the parent is: "+workspaceItem.getName()); + logger.info("\n\n"); } } @@ -386,6 +272,8 @@ public class WorkspaceExplorerAppServiceImpl extends RemoteServiceServlet implem List arrayParents = new ArrayList(); parentLimit = parentLimit!=null?parentLimit:""; + logger.info("parent size returned by SHUB is: "+parents.size()); + switch (parents.size()) { case 0: // itemIdentifier is ROOT logger.trace("itemIdentifier isRoot..."); @@ -519,7 +407,7 @@ public class WorkspaceExplorerAppServiceImpl extends RemoteServiceServlet implem throw new Exception("Sorry, the itemId is null. The public link for empty item is unavailable"); Workspace workspace = getWorkspace(); - WorkspaceItem wsItem = workspace.getItem(itemId); + WorkspaceItem wsItem = workspace.getItemForExplorer(itemId,false,false,false); if(wsItem==null) throw new Exception("Sorry, the workspace item is null. The public link for empty item is unavailable"); diff --git a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/workspace/ItemBuilder.java b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/workspace/ItemBuilder.java index c913759..896dd5d 100644 --- a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/workspace/ItemBuilder.java +++ b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/workspace/ItemBuilder.java @@ -213,7 +213,6 @@ public class ItemBuilder { switch (item.getType()) { case SHARED_FOLDER: case FOLDER: { -// if (item.isRoot()) return ItemType.ROOT; return ItemType.FOLDER; } case FILE_ITEM: