256: Workspace explorer

Task-Url: https://support.d4science.org/issues/256

Fixed bug
Removed unused code
Removed white line

git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@115513 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2015-06-24 14:56:13 +00:00
parent 7c07422e87
commit 67b5eaecaf
3 changed files with 88 additions and 284 deletions

View File

@ -719,17 +719,11 @@ public class GWTWorkspaceBuilder {
* @return the list
* @throws InternalErrorException the internal error exception
*/
public List<FileGridModel> buildGXTListFileGridModelItemForSearch(List<SearchItem> listSearchItems) throws InternalErrorException
{
List<FileGridModel> listFileGridModel = new ArrayList<FileGridModel>();
public List<FileGridModel> buildGXTListFileGridModelItemForSearch(List<SearchItem> listSearchItems) throws Exception {
List<FileGridModel> listFileGridModel = new ArrayList<FileGridModel>();
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<FileGridModel> buildGXTListFileGridModelItem(List<WorkspaceItem> listWorkspaceItems, FileModel parentFileModel) throws InternalErrorException
{
protected List<FileGridModel> buildGXTListFileGridModelItem(List<WorkspaceItem> listWorkspaceItems, FileModel parentFileModel) throws InternalErrorException{
Long startTime = System.currentTimeMillis();
List<FileGridModel> listFileGridModel = new ArrayList<FileGridModel>();
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<FileGridModel> filterListFileGridModelItemByCategory(List<SearchItem> listSearchItem, String category) throws InternalErrorException {
public List<FileGridModel> filterListFileGridModelItemByCategory(List<SearchItem> listSearchItem, String category) throws Exception {
List<FileGridModel> filteredList = new ArrayList<FileGridModel>();
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<SmartFolderModel> buildGXTListSmartFolderModel(List<WorkspaceSmartFolder> listWorkspaceSmartFolder) throws InternalErrorException {
public List<SmartFolderModel> buildGXTListSmartFolderModel(List<WorkspaceSmartFolder> listWorkspaceSmartFolder) throws Exception {
List<SmartFolderModel> listSmartFolder = new ArrayList<SmartFolderModel>();
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(),

View File

@ -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<SearchItem> 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<FileGridModel> listFileGridModels = new ArrayList<FileGridModel>();
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<SearchItem> listWorkspaceItems = new ArrayList<SearchItem>();
//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<SubTree> 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<FileModel> 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<WorkspaceSmartFolder> listWorkspaceFolder = new ArrayList<WorkspaceSmartFolder>();
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<SearchItem>) 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<InfoContactModel> 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<InfoContactModel> listContacts, List<FileModel> 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<WorkspaceMessage> 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<WorkspaceMessage> 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<WorkspaceItem> 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<MessageModel> listMessageModels = new ArrayList<MessageModel>();
@ -1947,11 +1786,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
try {
Workspace workspace = getWorkspace();
workspaceLogger.trace("searchInSentMessagesByText "+text);
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
List<WorkspaceMessage> 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<WorkspaceMessage> 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<FileModel> getListParentsByItemIdentifier(String itemIdentifier, boolean includeItemAsParent) throws Exception {
List<FileModel> listParents = new ArrayList<FileModel>();
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));
}

View File

@ -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();
}