diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceBuilder.java b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceBuilder.java index 05652c4..a616b2c 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceBuilder.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceBuilder.java @@ -719,17 +719,11 @@ public class GWTWorkspaceBuilder { * @return the list * @throws InternalErrorException the internal error exception */ - public List buildGXTListFileGridModelItemForSearch(List listSearchItems) throws InternalErrorException - { - - List listFileGridModel = new ArrayList(); - + public List buildGXTListFileGridModelItemForSearch(List listSearchItems) throws Exception { + List listFileGridModel = new ArrayList(); FileModel parentFileModel = null; - for (SearchItem item : listSearchItems) listFileGridModel.add(buildGXTFileGridModelItemForSearch(item,parentFileModel)); - - return listFileGridModel; } @@ -741,60 +735,61 @@ public class GWTWorkspaceBuilder { * @return the file grid model * @throws InternalErrorException the internal error exception */ - private FileGridModel buildGXTFileGridModelItemForSearch(SearchItem item, FileModel parentFileModel) throws InternalErrorException{ + private FileGridModel buildGXTFileGridModelItemForSearch(SearchItem item, FileModel parentFileModel) throws Exception{ FileGridModel fileGridModel = null; - - - switch (item.getType()) { - - case FOLDER: -// fileGridModel = (FolderGridModel) new FolderGridModel(item.getId(), item.getName(), toDate(item.getCreationDate()), parentFileModel, -1, true, false); - fileGridModel = (FolderGridModel) new FolderGridModel(item.getId(), item.getName(), toDate(item.getLastModified()), parentFileModel, -1, true, false,false); - fileGridModel.setType(GXTFolderItemTypeEnum.FOLDER.toString()); - fileGridModel.setShortcutCategory(GXTCategoryItemInterface.SMF_FOLDERS); - fileGridModel.setShareable(true); - break; + try{ - case FOLDER_ITEM: - SearchFolderItem folderItem = (SearchFolderItem) item; - fileGridModel = new FileGridModel(item.getId(), item.getName(), toDate(item.getLastModified()), parentFileModel, folderItem.getSize(), false, false); - fileGridModel = (FileGridModel) setFolderItemTypeForSearch(fileGridModel, folderItem); - break; + switch (item.getType()) { - case SHARED_FOLDER: - - //ATTENTION: SEARCH ITEM IS NOT CASTABLE AT WorkspaceSharedFolder - fileGridModel = (FolderGridModel) new FolderGridModel(item.getId(), item.getName(), toDate(item.getLastModified()), parentFileModel, -1, true, true, item.isVreFolder()); - fileGridModel.setType(GXTFolderItemTypeEnum.SHARED_FOLDER.toString()); - fileGridModel.setShortcutCategory(GXTCategoryItemInterface.SMF_SHARED_FOLDERS); - fileGridModel.setShareable(true); - - break; - - default: - logger.error("gxt conversion return null for item "+item.getName()); - break; - - } - - //TODO ISSHARED IN SEARCH ITEM IN HL TO RETRIEVE SHARE ON WORKSPACEITEM - //OWNER - if(item.isShared()){ //IS READ FROM HL ONLY IF THE ITEM IS SHARED - fileGridModel.setShared(true); //TEMPORARY SOLUTION: ADDED TO FIX WRONG TYPE SearchFolderItem - String portalLogin = item.getOwner(); - if(portalLogin!=null){ - String fullName = portalLogin; - fullName = UserUtil.getUserFullName(portalLogin); - fileGridModel.setOwnerFullName(fullName); + case FOLDER: + fileGridModel = (FolderGridModel) new FolderGridModel(item.getId(), item.getName(), toDate(item.getLastModified()), parentFileModel, -1, true, false,false); + fileGridModel.setType(GXTFolderItemTypeEnum.FOLDER.toString()); + fileGridModel.setShortcutCategory(GXTCategoryItemInterface.SMF_FOLDERS); + fileGridModel.setShareable(true); + break; + + case FOLDER_ITEM: + SearchFolderItem folderItem = (SearchFolderItem) item; + fileGridModel = new FileGridModel(item.getId(), item.getName(), toDate(item.getLastModified()), parentFileModel, folderItem.getSize(), false, false); + fileGridModel = (FileGridModel) setFolderItemTypeForSearch(fileGridModel, folderItem); + break; + + case SHARED_FOLDER: + //ATTENTION: SEARCH ITEM IS NOT CASTABLE AT WorkspaceSharedFolder + fileGridModel = (FolderGridModel) new FolderGridModel(item.getId(), item.getName(), toDate(item.getLastModified()), parentFileModel, -1, true, true, item.isVreFolder()); + fileGridModel.setType(GXTFolderItemTypeEnum.SHARED_FOLDER.toString()); + fileGridModel.setShortcutCategory(GXTCategoryItemInterface.SMF_SHARED_FOLDERS); + fileGridModel.setShareable(true); + break; + + default: + logger.error("gxt conversion return null for item "+item.getName()); + break; + } - } - else{ - if(userLogged!=null) - fileGridModel.setOwnerFullName(userLogged.getName()); - } - return fileGridModel; + //TODO ISSHARED IN SEARCH ITEM IN HL TO RETRIEVE SHARE ON WORKSPACEITEM + //OWNER + if(item.isShared()){ //IS READ FROM HL ONLY IF THE ITEM IS SHARED + fileGridModel.setShared(true); //TEMPORARY SOLUTION: ADDED TO FIX WRONG TYPE SearchFolderItem + String portalLogin = item.getOwner(); + if(portalLogin!=null){ + String fullName = portalLogin; + fullName = UserUtil.getUserFullName(portalLogin); + fileGridModel.setOwnerFullName(fullName); + } + } + else{ + if(userLogged!=null) + fileGridModel.setOwnerFullName(userLogged.getName()); + } + + return fileGridModel; + }catch (Exception e) { + logger.error("An error occurred in buildGXTFileGridModelItemForSearch:", e); + throw new Exception(e); + } } /** @@ -805,11 +800,9 @@ public class GWTWorkspaceBuilder { * @return the list * @throws InternalErrorException the internal error exception */ - protected List buildGXTListFileGridModelItem(List listWorkspaceItems, FileModel parentFileModel) throws InternalErrorException - { + protected List buildGXTListFileGridModelItem(List listWorkspaceItems, FileModel parentFileModel) throws InternalErrorException{ Long startTime = System.currentTimeMillis(); - List listFileGridModel = new ArrayList(); for (WorkspaceItem item : listWorkspaceItems) @@ -819,7 +812,6 @@ public class GWTWorkspaceBuilder { String time = String.format("%d msc %d sec", endTime, TimeUnit.MILLISECONDS.toSeconds(endTime)); logger.trace("##GRID FILLING: gxt grid objects getChildren() returning "+listWorkspaceItems.size()+" elements in " + time); - return listFileGridModel; } @@ -980,10 +972,7 @@ public class GWTWorkspaceBuilder { break; } - return fileModel; - - - + return fileModel; } /** @@ -1167,14 +1156,12 @@ public class GWTWorkspaceBuilder { folder.setDescription(wsFolder.getDescription()); // folder.setOwner(wsFolder.getOwner()); - if(parent != null && parent.isShared()){ folder.setShared(true); folder.setShareable(false); } - return folder; - + return folder; } /** @@ -1312,7 +1299,7 @@ public class GWTWorkspaceBuilder { * @return the list * @throws InternalErrorException the internal error exception */ - public List filterListFileGridModelItemByCategory(List listSearchItem, String category) throws InternalErrorException { + public List filterListFileGridModelItemByCategory(List listSearchItem, String category) throws Exception { List filteredList = new ArrayList(); logger.trace("filterListFileGridModelItemByCategory - Category:" + category + "listSearchItem size " + listSearchItem.size()); @@ -1332,7 +1319,7 @@ public class GWTWorkspaceBuilder { * @return the list * @throws InternalErrorException the internal error exception */ - public List buildGXTListSmartFolderModel(List listWorkspaceSmartFolder) throws InternalErrorException { + public List buildGXTListSmartFolderModel(List listWorkspaceSmartFolder) throws Exception { List listSmartFolder = new ArrayList(); for(WorkspaceSmartFolder workspaceFolder : listWorkspaceSmartFolder) @@ -1350,7 +1337,7 @@ public class GWTWorkspaceBuilder { * @return the smart folder model * @throws InternalErrorException the internal error exception */ - public SmartFolderModel buildGXTSmartFolderModel(WorkspaceSmartFolder wsFolder, String query) throws InternalErrorException { + public SmartFolderModel buildGXTSmartFolderModel(WorkspaceSmartFolder wsFolder, String query) throws Exception { SmartFolderModel smartFolderModel = new SmartFolderModel( wsFolder.getId(), diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java index 2bd7b15..3c8593b 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java @@ -44,7 +44,6 @@ import org.gcube.common.scope.api.ScopeProvider; import org.gcube.portal.custom.communitymanager.OrganizationsUtil; import org.gcube.portlets.user.workspace.client.ConstantsExplorer; import org.gcube.portlets.user.workspace.client.interfaces.GXTCategoryItemInterface; -import org.gcube.portlets.user.workspace.client.interfaces.GXTFolderItemTypeEnum; import org.gcube.portlets.user.workspace.client.model.BulkCreatorModel; import org.gcube.portlets.user.workspace.client.model.FileDetailsModel; import org.gcube.portlets.user.workspace.client.model.FileGridModel; @@ -101,22 +100,13 @@ import com.liferay.portal.service.UserLocalServiceUtil; */ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWTWorkspaceService{ - - /** - * - */ protected static final String IDENTIFIER_IS_NULL = "Identifier is null"; protected static final String RETRIEVING_ITEM_EITHER_ITEM_DOESN_T_EXIST = " retrieving item. Either the item doesn't exist anymore or you do not have the permission to access it"; private static final long serialVersionUID = 2828885661214875589L; - public static final String LAST_OPEN_FOLDER_ATTRIBUTE = "WORKSPACE.LAST_OPEN_FOLDER"; public static final String SELECTION_STATE_ATTRIBUTE = "WORKSPACE.SELECTION_STATE"; - -// protected GCUBELog workspaceLogger = new GCUBELog(GWTWorkspaceServiceImpl.class); - protected Logger workspaceLogger = Logger.getLogger(GWTWorkspaceServiceImpl.class); - - + /** * Gets the GWT workspace builder. * @@ -222,8 +212,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT workspaceLogger.trace("getting workspace"); Workspace workspace = getWorkspace(); - - WorkspaceFolder root = workspace.getRoot(); if (root == null) { @@ -258,7 +246,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("on server getRoot for scope: " + scopeId); // GCUBEScope gcubeScope = null; @@ -281,8 +268,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT } catch (Exception e) { workspaceLogger.error("Error in server during root retrieving", e); -// workspaceLogger.trace("Error in server During root retrieving " + e); - //GWT can't serialize all exceptions throw new Exception("Error during workspace loading, please contact the support. Exception:" +e); } @@ -298,9 +283,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT workspaceLogger.info("searching by name: "+text); try { - Workspace workspace = getWorkspace(); - workspaceLogger.info("Calling search HL.."); List listSearchItems = workspace.searchByName(text); workspaceLogger.info("HL search returning "+listSearchItems.size()+" items"); @@ -468,11 +451,9 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT throw new Exception("Folder id is null"); Workspace workspace = getWorkspace(); - workspaceLogger.trace("get children for Grid by id: "+folderId); List listFileGridModels = new ArrayList(); - if(folderId==null || folderId.isEmpty()){ workspaceLogger.trace("id is null or empty, return"); return listFileGridModels; @@ -815,8 +796,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT workspaceLogger.trace("User: "+infoContactModel); } } - - + //DEBUG /** * Prints the list. @@ -842,29 +822,23 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT throw new Exception(IDENTIFIER_IS_NULL); Workspace workspace = getWorkspace(); - workspaceLogger.trace("removeItem item for id: "+itemId); - //NOTIFICATION WorkspaceItem wsItem = workspace.getItem(itemId); - //SAVING ATTRIBUTE FOR NOTIFICATION boolean sourceItemIsShared = wsItem.isShared(); String itemName = wsItem.getName(); String sourceFolderSharedId = null; - if(sourceItemIsShared){ + if(sourceItemIsShared) sourceFolderSharedId = wsItem.getIdSharedFolder(); - } //REMOVE ITEM workspace.removeItem(itemId); - //IF SOURCE SHARED FOLDER IS NOT NULL if(sourceFolderSharedId!=null) NotificationsUtil.checkSendNotifyRemoveItemToShare(this.getThreadLocalRequest().getSession(), sourceItemIsShared, itemName, itemId, sourceFolderSharedId); - - + return Boolean.TRUE; } catch (InsufficientPrivilegesException e) { @@ -899,11 +873,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT throw new Exception(IDENTIFIER_IS_NULL); Workspace workspace = getWorkspace(); - workspaceLogger.trace("rename item itemId: "+itemId+" old name "+ previousName +", new name: "+newName); - workspace.renameItem(itemId, newName); - //NOTIFIER WorkspaceItem wsItem = workspace.getItem(itemId); @@ -923,7 +894,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT notification.notifyItemRenamed(listSharedContact, previousName, wsItem, (WorkspaceSharedFolder) sharedFolder); else workspaceLogger.trace("Notifies for rename item itemId: "+itemId+" doesn't sent because: "+sharedFolder+" is not an instance of WorkspaceSharedFolder"); -// notification.notifyItemRenamed(listSharedContact, previousName, wsItem, sharedFolder); } }catch (Exception e) { workspaceLogger.error("An error occurred in checkNotify ", e); @@ -966,15 +936,10 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT throw new Exception("Folder name is null"); Workspace workspace = getWorkspace(); - WorkspaceFolder wsFolder = workspace.createFolder(nameFolder, description, parent.getIdentifier()); - WorkspaceItem folderDestinationItem = workspace.getItem(parent.getIdentifier()); - checkNotifyAddItemToShare(wsFolder, null, folderDestinationItem); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - return builder.buildGXTFolderModelItem(wsFolder, parent); } catch(InsufficientPrivilegesException e){ @@ -1005,9 +970,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT throw new Exception("Folder is null"); workspaceLogger.trace("load file details: " + folder.getName()); - Workspace workspace = getWorkspace(); - WorkspaceItem wsItem = workspace.getItem(folder.getIdentifier()); GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); @@ -1034,9 +997,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT throw new Exception(IDENTIFIER_IS_NULL); Workspace workspace = getWorkspace(); - workspaceLogger.trace("search itemId: "+itemIdentifier); - WorkspaceItem item = workspace.getItem(itemIdentifier); //get item from workspace getListsChildrenByParents(listSubTree, item); Collections.reverse(listSubTree); //reverse order of array @@ -1058,23 +1019,16 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("get smart folder by category: "+category); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - List listWorkspaceItems = new ArrayList(); //Category IMAGES - if(category.equals(GXTCategoryItemInterface.SMF_IMAGES.toString())){ - + if(category.equals(GXTCategoryItemInterface.SMF_IMAGES.toString())){ listWorkspaceItems = workspace.getFolderItems(FolderItemType.IMAGE_DOCUMENT, FolderItemType.EXTERNAL_IMAGE); - //Category BIODIVERSITY }else if(category.equals(GXTCategoryItemInterface.SMF_BIODIVERSITY.toString())){ - // listWorkspaceItems = workspace.getFolderItems(FolderItemType.AQUAMAPS_ITEM); - //Category DOCUMENTS }else if(category.equals(GXTCategoryItemInterface.SMF_DOCUMENTS.toString())){ @@ -1089,26 +1043,19 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT //Category LINKS }else if(category.equals(GXTCategoryItemInterface.SMF_LINKS.toString())){ - -// listWorkspaceItems = workspace.getFolderItems(FolderItemType.EXTERNAL_URL, FolderItemType.URL_DOCUMENT, FolderItemType.EXTERNAL_RESOURCE_LINK); - +// listWorkspaceItems = workspace.getFolderItems(FolderItemType.EXTERNAL_URL, FolderItemType.URL_DOCUMENT, FolderItemType.EXTERNAL_RESOURCE_LINK); //Category REPORTS }else if(category.equals(GXTCategoryItemInterface.SMF_REPORTS.toString())){ - listWorkspaceItems = workspace.getFolderItems(FolderItemType.REPORT_TEMPLATE, FolderItemType.REPORT); - //Category TIME SERIES }else if(category.equals(GXTCategoryItemInterface.SMF_TIMESERIES.toString())){ - listWorkspaceItems = workspace.getFolderItems(FolderItemType.TIME_SERIES); } else new Exception("Smart folder category unknown"); - return builder.filterListFileGridModelItemByCategory(listWorkspaceItems, category); - - + } catch (Exception e) { workspaceLogger.error("Error in server get smart folder by category", e); throw new Exception(e.getMessage()); @@ -1126,20 +1073,14 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT */ private void getListsChildrenByParents(ArrayList listSubTree, WorkspaceItem item) throws Exception{ - if(item==null || item.getParent()==null){ - // listParents.add(item); + if(item==null || item.getParent()==null) return; - } - + FolderModel parentModel = new FolderModel(item.getParent().getId(), item.getParent().getName(), null, true, item.getParent().isShared(), false); //Create parent model - List childrenList = getFolderChildren(parentModel); //create children list - SubTree subTree = new SubTree(parentModel, childrenList); - - listSubTree.add(subTree); - - getListsChildrenByParents(listSubTree, item.getParent()); + listSubTree.add(subTree); + getListsChildrenByParents(listSubTree, item.getParent()); } /* (non-Javadoc) @@ -1151,19 +1092,14 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("create smart folder by name: "+name); workspaceLogger.trace("description " + description); workspaceLogger.trace("query " + query); - WorkspaceSmartFolder wsSmartFolder = workspace.createSmartFolder(name, description, query); //create Smart Folder from workspace - workspaceLogger.trace("create : " +wsSmartFolder.getName() + " id "+ wsSmartFolder.getId()); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - return builder.buildGXTSmartFolderModel(wsSmartFolder,query); - + } catch (Exception e) { workspaceLogger.error("Error in server create smart folder by name: ", e); // workspaceLogger.trace("Error in server create smart folder by id " + e); @@ -1185,11 +1121,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("remove smart folder by id: "+itemId); - workspace.removeItem(itemId); //remove Smart Folder from workspace - return true; } catch (Exception e) { @@ -1207,17 +1140,11 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("get all smart folder"); - List listWorkspaceFolder = new ArrayList(); - listWorkspaceFolder = workspace.getAllSmartFolders(); //create Smart Folder from workspace - workspaceLogger.trace("list smart folders size" + listWorkspaceFolder.size()); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - return builder.buildGXTListSmartFolderModel(listWorkspaceFolder); } catch (Exception e) { @@ -1238,17 +1165,11 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("get smart folder by id: "+folderId); - WorkspaceSmartFolder wsSmartFolder = workspace.getSmartFolder(folderId); //get Smart Folder from workspace - workspaceLogger.trace("wsFolder " + wsSmartFolder.getName()); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - workspaceLogger.trace(" children size "+wsSmartFolder.getSearchItems().size()); - return builder.buildGXTListFileGridModelItemForSearch((List) wsSmartFolder.getSearchItems()); } catch (Exception e) { @@ -1269,15 +1190,10 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("get image by id: "+identifier); - WorkspaceItem item = workspace.getItem(identifier); //get item from workspace - workspaceLogger.trace("item name " + item.getName()); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - return builder.buildGWTWorkspaceImage(item, isInteralImage, fullDetails); } catch (Exception e) { @@ -1302,16 +1218,10 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("get timeseries by id: "+identifier); - WorkspaceItem item = workspace.getItem(identifier); //get item from workspace - workspaceLogger.trace("item name " + item.getName()); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - -// return builder.buildGWTTimeSeries((TimeSeries)item, null); return null; } catch (Exception e) { workspaceLogger.error("Error in server get timeseries by id", e); @@ -1331,17 +1241,10 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT throw new Exception(IDENTIFIER_IS_NULL); Workspace workspace = getWorkspace(); - workspaceLogger.trace("get url by id: "+identifier); - WorkspaceItem item = workspace.getItem(identifier); //get item from workspace - workspaceLogger.trace("item name " + item.getName()); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - -// return builder.buildGXTImage(item, isInteralImage, fullDetails); - return builder.buildGWTWorspaceUrl(item, isInternalUrl, fullDetails); } catch (Exception e) { @@ -1375,12 +1278,9 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT // description = ""; ExternalUrl ext = workspace.createExternalUrl(name, description, url, parentFileModel.getIdentifier()); - WorkspaceItem parent = workspace.getItem(parentFileModel.getIdentifier()); //get item from workspace workspaceLogger.trace("parent name " + parent.getName()); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - return builder.buildGXTFileModelItem(ext, parentFileModel); } catch (Exception e) { @@ -1411,10 +1311,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT if(WsUtil.isVRE(session)){ ScopeProvider.instance.set(session.getScope()); - // GET WORKSPACE Workspace workspace = HomeLibrary.getUserWorkspace(session.getUsername()); - // GET ITEM FROM WORKSPACE WorkspaceItem item = workspace.getItem(oid); @@ -1429,7 +1327,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT setValueInSession("idtemplate", oid); } - return ""; } } @@ -1455,10 +1352,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT ASLSession session = WsUtil.getAslSession(this.getThreadLocalRequest().getSession()); session.setAttribute(name, value); workspaceLogger.trace("set value in session with name: "+name+", value: "+value); -// workspaceLogger.debug("WS Session Id = " + session.getExternalSessionID()); -// System.out.println("set value in session with name: "+name+", value: "+value); - - } catch (Exception e) { workspaceLogger.error("setValueInSession", e); throw new Exception(e.getMessage()); @@ -1474,11 +1367,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("get all scope"); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - ScopeUtilFilter scopeUtilFilter = getScopeUtilFilter(); Home home = workspace.getHome(); @@ -1506,14 +1396,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT public List getAllContacts() throws Exception { try { - -// Workspace workspace = getWorkspace(); - - workspaceLogger.trace("Get all contacts from server..."); -// WorkspaceItem parent = workspace.getItem(parentFileModel.getIdentifier()); //get item from workspace -// workspace.getAllScope(); - + workspaceLogger.trace("Get all contacts from server..."); GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); org.gcube.common.homelibrary.home.workspace.usermanager.UserManager hlUserManager = HomeLibrary.getHomeManagerFactory().getUserManager(); @@ -1563,36 +1447,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT } } -// @Override -// public boolean sendTo(List listContacts, List listAttachments, String subject, String text) throws Exception { -// -// try { -// -// Workspace workspace = getWorkspace(); -// -// GCUBEClientLog logger = new GCUBEClientLog(GWTWorkspaceServiceImpl.class); -// logger.info("sendTo"); -// -//// WorkspaceItem parent = workspace.getItem(parentFileModel.getIdentifier()); //get item from workspace -//// workspace.getAllScope(); -// -// workspaceLogger.trace("######### SEND TO: "); -// workspaceLogger.trace("subject " + subject); -// workspaceLogger.trace("text " + text); -// -// -// GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); -// -// return true; -// -// } catch (Exception e) { -// workspaceLogger.error("Error in server sendTo ", e); -// workspaceLogger.trace("Error in server get sendTo " + e.getMessage()); -// //GWT can't serialize all exceptions -// throw new Exception(e.getMessage()); -// } -// } - /* (non-Javadoc) * @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#sendToById(java.util.List, java.util.List, java.lang.String, java.lang.String) */ @@ -1608,7 +1462,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT workspaceLogger.trace("body " + body); for(String contactId : listContactsId) - workspaceLogger.trace("contactId " + contactId); + workspaceLogger.trace("contactId " + contactId); for(String id : listAttachmentsId) workspaceLogger.trace("attachId " + id); @@ -1633,11 +1487,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("get All Messages Sent "); - - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - + GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); List listMessages = workspace.getWorkspaceMessageManager().getSentMessages(); return builder.buildGXTListMessageModelForGrid(listMessages, GXTCategoryItemInterface.MS_SENT); @@ -1658,13 +1509,9 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("get All Messages Received "); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - List listMessages = workspace.getWorkspaceMessageManager().getReceivedMessages(); - return builder.buildGXTListMessageModelForGrid(listMessages, GXTCategoryItemInterface.MS_RECEIVED); } catch (Exception e) { @@ -1683,9 +1530,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("get Message by Id: "+messageIdentifier); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); WorkspaceMessage message = null; @@ -1694,12 +1539,10 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT else message = workspace.getWorkspaceMessageManager().getSentMessage(messageIdentifier); - List listWorkspaceItems = getListWorkspaceItemById(workspace,message.getAttachmentsIds()); return builder.buildGXTMessageModel(message, listWorkspaceItems, messageType); - } catch (Exception e) { workspaceLogger.error("Error in server get Message by Id ", e); //GWT can't serialize all exceptions @@ -1724,10 +1567,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT for(String itemId: listItemsId){ WorkspaceItem item = workspace.getItem(itemId); - workspaceLogger.trace("Attach name: " +item.getName()); workspaceLogger.trace("Attach id: " +item.getId()); - listWorkspaceItem.add(workspace.getItem(itemId)); //get item from workspace } @@ -1884,7 +1725,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("deleteMessage by messageIdentifier " + messageIdentifier); if(messageType.equals(GXTCategoryItemInterface.MS_RECEIVED)) @@ -1915,7 +1755,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - int count = workspace.getWorkspaceMessageManager().getMessagesNotOpened(); List listMessageModels = new ArrayList(); @@ -1947,11 +1786,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("searchInSentMessagesByText "+text); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - List listMessages = workspace.getWorkspaceMessageManager().searchOutMessages(text); return builder.buildGXTListMessageModelForGrid(listMessages, GXTCategoryItemInterface.MS_SENT); @@ -1976,11 +1812,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("searchInSentMessagesByText: "+text); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - List listMessages = workspace.getWorkspaceMessageManager().searchInMessages(text); return builder.buildGXTListMessageModelForGrid(listMessages, GXTCategoryItemInterface.MS_RECEIVED); @@ -2097,9 +1930,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("delete bulk " + bulkId); - workspace.getFolderBulkCreatorManager().getActiveFolderBulkCreator(bulkId).remove(); return true; @@ -2120,9 +1951,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { Workspace workspace = getWorkspace(); - workspaceLogger.trace("getWebDavUrl" + itemId); - return workspace.getUrlWebDav(); } catch (Exception e) { @@ -2373,19 +2202,16 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT @Override public List getListParentsByItemIdentifier(String itemIdentifier, boolean includeItemAsParent) throws Exception { List listParents = new ArrayList(); - workspaceLogger.trace("get List Parents By Item Identifier "+ itemIdentifier); + workspaceLogger.trace("get List Parents By Item Identifier "+ itemIdentifier +", include Item As (Last) Parent: "+includeItemAsParent); try { Workspace workspace = getWorkspace(); - WorkspaceItem wsItem = workspace.getItem(itemIdentifier); - workspaceLogger.trace("workspace retrieve item name: "+wsItem.getName()); - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - String nameSpecialFolder = getNameForSpecialFolder(); - if(includeItemAsParent==true && wsItem.getType().equals(WorkspaceItemType.FOLDER)){ +// if(includeItemAsParent==true && wsItem.getType().equals(WorkspaceItemType.FOLDER)){ + if(includeItemAsParent==true && wsItem.isFolder()){ //FIX BUG #298 listParents.add(builder.buildGXTFolderModelItemHandleSpecialFolder((WorkspaceFolder) wsItem, null, nameSpecialFolder)); } diff --git a/src/test/java/org/gcube/portlets/user/workspace/ItemRetrieving.java b/src/test/java/org/gcube/portlets/user/workspace/ItemRetrieve.java similarity index 84% rename from src/test/java/org/gcube/portlets/user/workspace/ItemRetrieving.java rename to src/test/java/org/gcube/portlets/user/workspace/ItemRetrieve.java index 766f5d8..948ea1d 100644 --- a/src/test/java/org/gcube/portlets/user/workspace/ItemRetrieving.java +++ b/src/test/java/org/gcube/portlets/user/workspace/ItemRetrieve.java @@ -10,6 +10,7 @@ import org.apache.log4j.Logger; import org.gcube.common.homelibrary.home.HomeLibrary; import org.gcube.common.homelibrary.home.exceptions.HomeNotFoundException; import org.gcube.common.homelibrary.home.exceptions.InternalErrorException; +import org.gcube.common.homelibrary.home.exceptions.UserNotFoundException; import org.gcube.common.homelibrary.home.workspace.Workspace; import org.gcube.common.homelibrary.home.workspace.WorkspaceFolder; import org.gcube.common.homelibrary.home.workspace.WorkspaceItem; @@ -25,16 +26,16 @@ import org.gcube.common.scope.impl.ScopeBean; * @Jan 29, 2014 * */ -public class ItemRetrieving { +public class ItemRetrieve { -// public static String DEFAULT_SCOPE = "/d4science.research-infrastructures.eu/gCubeApps"; //PRODUCTION - public static String DEFAULT_SCOPE = "/gcube/devsec"; //DEV + public static String DEFAULT_SCOPE = "/d4science.research-infrastructures.eu/gCubeApps"; //PRODUCTION +// public static String DEFAULT_SCOPE = "/gcube/devsec"; //DEV public static String TEST_USER = "francesco.mangiacrapa"; // public static String ITEMID = "63832213-098d-42d1-8774-89b6349764c0"; //Activity T3.4 working drafts/T2-EC-IMAR-HO-14-015 iMarine Sustainability WP - Business Model tools.pdf -// public static String ITEMID = "42fa2601-39d0-4951-aabf-27d2a2f1dca7"; + public static String ITEMID = "ec8bcf91-0969-450e-971c-a273c114d9e4"; - protected static Logger logger = Logger.getLogger(ItemRetrieving.class); + protected static Logger logger = Logger.getLogger(ItemRetrieve.class); public static void main(String[] args) { @@ -44,20 +45,11 @@ public class ItemRetrieving { System.out.println("init HL"); try { - -// Workspace ws = HomeLibrary -// .getHomeManagerFactory() -// .getHomeManager() -// .getHome(TEST_USER) -// .getWorkspace(); - - System.out.println("\n\nGetting Disk Usage"); Workspace ws = getWorkspace(); - System.out.println("Usage:" +ws.getDiskUsage()); - Workspace ws2 = getWorkspace(); - System.out.println("TotalItems:" +ws2.getTotalItems()); - Workspace ws3 = getWorkspace(); - retrieveFirstLevel(ws3); + System.out.println("get workspace -> OK"); + WorkspaceItem item = ws.getItem(ITEMID); + System.out.println("get item -> OK"); + System.out.println(item); }catch(Exception e){ e.printStackTrace(); } @@ -78,16 +70,15 @@ public class ItemRetrieving { // } - public static Workspace getWorkspace() throws InternalErrorException, HomeNotFoundException, WorkspaceFolderNotFoundException + public static Workspace getWorkspace() throws InternalErrorException, HomeNotFoundException, WorkspaceFolderNotFoundException, UserNotFoundException { logger.trace("Get Workspace scope: "+DEFAULT_SCOPE + " username: "+TEST_USER); ScopeProvider.instance.set(DEFAULT_SCOPE); logger.trace("Scope provider instancied"); - Workspace workspace = HomeLibrary.getUserWorkspace(TEST_USER); - - return workspace; +// return HomeLibrary.getUserWorkspace(TEST_USER); + return HomeLibrary.getHomeManagerFactory().getHomeManager().getHome(TEST_USER).getWorkspace(); }