718: Workspace: breadcrumb problem on VRE Folders after a two consecutive selection

Task-Url: https://support.d4science.org/issues/show/718

Changed method getListsChildrenByParents to fix issue

git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@118950 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2015-09-18 13:26:33 +00:00
parent cb036cc0d9
commit 0cb675e8eb
5 changed files with 62 additions and 212 deletions

View File

@ -578,6 +578,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
@Override @Override
public void onDeleteBulk(final DeleteBulkEvent deleteBulkEvent) { public void onDeleteBulk(final DeleteBulkEvent deleteBulkEvent) {
/*NEVER USED
rpcWorkspaceService.deleteBulk(deleteBulkEvent.getBulkId(), new AsyncCallback<Boolean>() { rpcWorkspaceService.deleteBulk(deleteBulkEvent.getBulkId(), new AsyncCallback<Boolean>() {
@Override @Override
@ -590,11 +591,9 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
public void onSuccess(Boolean result) { public void onSuccess(Boolean result) {
if(result) if(result)
BulkCreatorWindow.getInstance().removeProgress(deleteBulkEvent.getBulkId()); BulkCreatorWindow.getInstance().removeProgress(deleteBulkEvent.getBulkId());
} }
}); });*/
} }
}); });

View File

@ -270,17 +270,6 @@ public interface GWTWorkspaceService extends RemoteService{
*/ */
public String getUrlWebDav(String itemId) throws Exception; public String getUrlWebDav(String itemId) throws Exception;
// public boolean sendTo(List<InfoContactModel> listContacts, List<FileModel> listAttachments, String subject, String text) throws Exception;
/**
* Sent to by message model.
*
* @param message the message
* @return true, if successful
* @throws Exception the exception
*/
public boolean sentToByMessageModel(MessageModel message) throws Exception;
/** /**
* Send to by id. * Send to by id.
* *
@ -396,23 +385,6 @@ public interface GWTWorkspaceService extends RemoteService{
*/ */
public boolean copyItem(String itemId, String destinationFolderId) throws Exception; public boolean copyItem(String itemId, String destinationFolderId) throws Exception;
/**
* Gets the list folder bulk creator.
*
* @return the list folder bulk creator
* @throws Exception the exception
*/
public List<BulkCreatorModel> getListFolderBulkCreator() throws Exception;
/**
* Delete bulk.
*
* @param bulkId the bulk id
* @return true, if successful
* @throws Exception the exception
*/
public boolean deleteBulk(String bulkId) throws Exception;
/** /**
* Gets the time series by id. * Gets the time series by id.
* *

View File

@ -288,14 +288,6 @@ void sendToById(List<String> listContactsId, List<String> listAttachmentsId, Str
*/ */
void getMessageById(String messageIdentifier, String messageType, AsyncCallback<MessageModel> asyncCallback); void getMessageById(String messageIdentifier, String messageType, AsyncCallback<MessageModel> asyncCallback);
/**
* Sent to by message model.
*
* @param message the message
* @param callback the callback
*/
void sentToByMessageModel(MessageModel message, AsyncCallback<Boolean> callback);
/** /**
* Save attachments. * Save attachments.
* *
@ -353,22 +345,6 @@ void sendToById(List<String> listContactsId, List<String> listAttachmentsId, Str
*/ */
void copyItem(String itemId, String destinationFolderId, AsyncCallback<Boolean> callback); void copyItem(String itemId, String destinationFolderId, AsyncCallback<Boolean> callback);
/**
* Gets the list folder bulk creator.
*
* @param callback the callback
* @return the list folder bulk creator
*/
void getListFolderBulkCreator(AsyncCallback<List<BulkCreatorModel>> callback);
/**
* Delete bulk.
*
* @param bulkId the bulk id
* @param callback the callback
*/
void deleteBulk(String bulkId, AsyncCallback<Boolean> callback);
/** /**
* Gets the url web dav. * Gets the url web dav.
* *

View File

@ -599,8 +599,7 @@ public class GWTWorkspaceBuilder {
} }
return listFileModel; return listFileModel;
} }
/** /**
* Builds the gxt info contacts from portal logins. * Builds the gxt info contacts from portal logins.
* *
@ -663,14 +662,18 @@ public class GWTWorkspaceBuilder {
*/ */
protected FileModel buildGXTFileModelItem(WorkspaceItem item, FileModel parentFolderModel) throws InternalErrorException protected FileModel buildGXTFileModelItem(WorkspaceItem item, FileModel parentFolderModel) throws InternalErrorException
{ {
logger.debug("buildGXTFileModelItem: "+item.getName());
FileModel fileModel = null; FileModel fileModel = null;
if(parentFolderModel!=null)
parentFolderModel = (FolderModel) parentFolderModel;
switch (item.getType()) { switch (item.getType()) {
case FOLDER: case FOLDER:
fileModel = new FolderModel(item.getId(), item.getName(), (FolderModel) parentFolderModel, true, false, false); fileModel = new FolderModel(item.getId(), item.getName(), parentFolderModel, true, false, false);
fileModel.setType(GXTFolderItemTypeEnum.FOLDER.toString()); fileModel.setType(GXTFolderItemTypeEnum.FOLDER.toString());
fileModel.setShareable(true); fileModel.setShareable(true);
fileModel.setDescription(item.getDescription()); fileModel.setDescription(item.getDescription());
@ -678,7 +681,7 @@ public class GWTWorkspaceBuilder {
case FOLDER_ITEM: case FOLDER_ITEM:
fileModel = new FileModel(item.getId(), item.getName(), (FolderModel) parentFolderModel, false, false); fileModel = new FileModel(item.getId(), item.getName(), parentFolderModel, false, false);
FolderItem folderItem = (FolderItem) item; FolderItem folderItem = (FolderItem) item;
fileModel = setFolderItemType(fileModel, folderItem); fileModel = setFolderItemType(fileModel, folderItem);
fileModel.setShareable(true); fileModel.setShareable(true);
@ -686,8 +689,14 @@ public class GWTWorkspaceBuilder {
case SHARED_FOLDER: case SHARED_FOLDER:
WorkspaceSharedFolder shared = (WorkspaceSharedFolder) item; WorkspaceSharedFolder shared = (WorkspaceSharedFolder) item;
//TODO
logger.debug("******START");
logger.debug("wsFolder.isShared(): "+shared.isShared());
logger.debug("wsFolder.getType().equals(WorkspaceItemType.SHARED_FOLDER): "+shared.getType().equals(WorkspaceItemType.SHARED_FOLDER));
logger.debug("shared.isVreFolder(): "+shared.isVreFolder());
logger.debug("*******END");
String name = shared.isVreFolder()?shared.getDisplayName():item.getName(); String name = shared.isVreFolder()?shared.getDisplayName():item.getName();
fileModel = new FolderModel(item.getId(), name, (FolderModel) parentFolderModel, true, true, shared.isVreFolder()); fileModel = new FolderModel(item.getId(), name, parentFolderModel, true, true, shared.isVreFolder());
fileModel.setType(GXTFolderItemTypeEnum.SHARED_FOLDER.toString()); fileModel.setType(GXTFolderItemTypeEnum.SHARED_FOLDER.toString());
fileModel.setShareable(true); fileModel.setShareable(true);
fileModel.setDescription(item.getDescription()); fileModel.setDescription(item.getDescription());
@ -1189,6 +1198,7 @@ public class GWTWorkspaceBuilder {
* @throws InternalErrorException the internal error exception * @throws InternalErrorException the internal error exception
*/ */
public FolderModel buildGXTFolderModelItem(WorkspaceFolder wsFolder, FileModel parent) throws InternalErrorException { public FolderModel buildGXTFolderModelItem(WorkspaceFolder wsFolder, FileModel parent) throws InternalErrorException {
logger.debug("buildGXTFolderModelItem...");
String name = ""; String name = "";
@ -1233,21 +1243,31 @@ public class GWTWorkspaceBuilder {
String name = ""; String name = "";
logger.debug("buildGXTFolderModelItemHandleSpecialFolder to folder: "+wsFolder.getName());
//MANAGEMENT SHARED FOLDER NAME //MANAGEMENT SHARED FOLDER NAME
if(wsFolder.isShared() && wsFolder.getType().equals(WorkspaceItemType.SHARED_FOLDER)){ if(wsFolder.isShared() && wsFolder.getType().equals(WorkspaceItemType.SHARED_FOLDER)){
logger.debug("MANAGEMENT SHARED Folder name..");
WorkspaceSharedFolder shared = (WorkspaceSharedFolder) wsFolder; WorkspaceSharedFolder shared = (WorkspaceSharedFolder) wsFolder;
logger.debug("shared.isVreFolder(): "+shared.isVreFolder());
name = shared.isVreFolder()?shared.getDisplayName():wsFolder.getName(); name = shared.isVreFolder()?shared.getDisplayName():wsFolder.getName();
if(shared.isVreFolder())
logger.debug("shared.getDisplayName(): "+shared.getDisplayName());
//MANAGEMENT SPECIAL FOLDER //MANAGEMENT SPECIAL FOLDER
}else if(wsFolder.getName().compareTo("MySpecialFolders")==0 && wsFolder.getParent()!=null && wsFolder.getParent().isRoot()){ }else if(wsFolder.getName().compareTo("MySpecialFolders")==0 && wsFolder.getParent()!=null && wsFolder.getParent().isRoot()){
//MANAGEMENT SPECIAL FOLDER //MANAGEMENT SPECIAL FOLDER
logger.info("MANAGEMENT SPECIAL FOLDER NAME REWRITING AS: "+specialFolderName); logger.debug("MANAGEMENT SPECIAL FOLDER NAME REWRITING AS: "+specialFolderName);
if(specialFolderName!=null && !specialFolderName.isEmpty()) if(specialFolderName!=null && !specialFolderName.isEmpty())
name = specialFolderName; name = specialFolderName;
else else
name = wsFolder.getName(); name = wsFolder.getName();
}else }else{
logger.debug("MANAGEMENT Base Folder name..");
name = wsFolder.getName(); name = wsFolder.getName();
}
logger.debug("Name is: "+name);
FolderModel folder = new FolderModel(wsFolder.getId(), name, parent, true, wsFolder.isShared(), false); FolderModel folder = new FolderModel(wsFolder.getId(), name, parent, true, wsFolder.isShared(), false);
folder.setShareable(true); folder.setShareable(true);

View File

@ -322,7 +322,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
if(folder == null) if(folder == null)
throw new Exception("Folder is null"); throw new Exception("Folder is null");
workspaceLogger.trace("get folder children for: "+folder.getIdentifier()); workspaceLogger.trace("get folder children for: "+folder.getIdentifier() +" name: "+folder.getName());
workspace = getWorkspace(); workspace = getWorkspace();
List<FileModel> listFileModels = new ArrayList<FileModel>(); List<FileModel> listFileModels = new ArrayList<FileModel>();
WorkspaceItem wsItem = workspace.getItem(folder.getIdentifier()); WorkspaceItem wsItem = workspace.getItem(folder.getIdentifier());
@ -1064,24 +1064,28 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
} }
/** /**
* Gets the lists children by parents. * Gets the lists children by parents.
* *
* @param listSubTree the list sub tree * @param listSubTree the list sub tree
* @param item the item * @param parent the parent
* @return the lists children by parents * @return the lists children by parents
* @throws Exception the exception * @throws Exception the exception
*/ */
private void getListsChildrenByParents(ArrayList<SubTree> listSubTree, WorkspaceItem item) throws Exception{ private void getListsChildrenByParents(ArrayList<SubTree> listSubTree, WorkspaceItem parent) throws Exception{
if(item==null || item.getParent()==null) if(parent==null || parent.getParent()==null)
return; return;
FolderModel parentModel = new FolderModel(item.getParent().getId(), item.getParent().getName(), null, true, item.getParent().isShared(), false); //Create parent model workspaceLogger.trace("getListsChildrenByParents: "+parent.getName());
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
FolderModel parentModel = (FolderModel) builder.buildGXTFileModelItem(parent, null);
List<FileModel> childrenList = getFolderChildren(parentModel); //create children list List<FileModel> childrenList = getFolderChildren(parentModel); //create children list
SubTree subTree = new SubTree(parentModel, childrenList); SubTree subTree = new SubTree(parentModel, childrenList);
listSubTree.add(subTree); listSubTree.add(subTree);
getListsChildrenByParents(listSubTree, item.getParent()); getListsChildrenByParents(listSubTree, parent.getParent());
} }
/* (non-Javadoc) /* (non-Javadoc)
@ -1326,7 +1330,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
}else if(folderItem.getFolderItemType().equals(FolderItemType.REPORT_TEMPLATE)){ }else if(folderItem.getFolderItemType().equals(FolderItemType.REPORT_TEMPLATE)){
setValueInSession("idtemplate", oid); setValueInSession("idtemplate", oid);
} }
return ""; return "";
} }
@ -1449,27 +1452,26 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#sendToById(java.util.List, java.util.List, java.lang.String, java.lang.String) * @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#sendToById(java.util.List, java.util.List, java.lang.String, java.lang.String)
*/ */
@Override @Override
public boolean sendToById(List<String> listContactsId, List<String> listAttachmentsId, String subject, String body) throws Exception { public boolean sendToById(List<String> listContactsId, List<String> listAttachmentsId, String subject, String body) throws Exception {
try { try {
Workspace workspace = getWorkspace(); Workspace workspace = getWorkspace();
// workspaceLogger.trace("######### SEND TO: ");
workspaceLogger.trace("######### SEND TO: "); // workspaceLogger.trace("subject " + subject);
workspaceLogger.trace("subject " + subject); // workspaceLogger.trace("body " + body);
workspaceLogger.trace("body " + body);
//DEBUG
for(String contactId : listContactsId) for(String contactId : listContactsId)
workspaceLogger.trace("contactId " + contactId); workspaceLogger.trace("contactId " + contactId);
//DEBUG
for(String id : listAttachmentsId) for(String id : listAttachmentsId)
workspaceLogger.trace("attachId " + id); workspaceLogger.trace("attachId " + id);
workspace.getWorkspaceMessageManager().sendMessageToPortalLogins(subject, body, listAttachmentsId, listContactsId); workspace.getWorkspaceMessageManager().sendMessageToPortalLogins(subject, body, listAttachmentsId, listContactsId);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
@ -1574,49 +1576,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
} }
return listWorkspaceItem; return listWorkspaceItem;
} }
/* (non-Javadoc)
* @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#getListFolderBulkCreator()
*/
@Override
public List<BulkCreatorModel> getListFolderBulkCreator() throws Exception {
/* try {
Workspace workspace = getWorkspace();
List<FolderBulkCreator> listFBC = workspace.getFolderBulkCreatorManager().getActiveFolderBulkCreators();
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
return builder.buildGXTListBulkCreatorModel(listFBC);
} catch (Exception e) {
workspaceLogger.error("Error in getNewFolderBulkCreator ", e);
// workspaceLogger.trace("Error in getNewFolderBulkCreator " + e.getMessage());
//GWT can't serialize all exceptions
throw new Exception(e.getMessage());
}
*/
return null;
}
/* (non-Javadoc)
* @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#sentToByMessageModel(org.gcube.portlets.user.workspace.client.model.MessageModel)
*/
@Override
@Deprecated
/**
* use WsMailWidget
*/
public boolean sentToByMessageModel(MessageModel message) throws Exception {
return false;
}
/* (non-Javadoc) /* (non-Javadoc)
* @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#saveAttachments(java.lang.String, java.lang.String) * @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#saveAttachments(java.lang.String, java.lang.String)
*/ */
@ -1664,6 +1625,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
* @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#markMessage(java.lang.String, java.lang.String, boolean, java.lang.String) * @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#markMessage(java.lang.String, java.lang.String, boolean, java.lang.String)
*/ */
@Override @Override
@Deprecated
public boolean markMessage(String messageIdentifier, String messageType, boolean boolMark, String markType) throws Exception { public boolean markMessage(String messageIdentifier, String messageType, boolean boolMark, String markType) throws Exception {
try { try {
@ -1673,9 +1635,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
workspaceLogger.trace(" markMessageAsRead by messageIdentifier " + messageIdentifier + " boolMark " + boolMark + " messageType " +messageType); workspaceLogger.trace(" markMessageAsRead by messageIdentifier " + messageIdentifier + " boolMark " + boolMark + " messageType " +messageType);
if(messageType.equals(GXTCategoryItemInterface.MS_RECEIVED)){ if(messageType.equals(GXTCategoryItemInterface.MS_RECEIVED)){
// workspaceLogger.trace("message identifier: "+messageIdentifier);
// workspaceLogger.trace("#######################################Message identifier: "+messageIdentifier); // workspaceLogger.trace("Message messageType: "+messageType);
// workspaceLogger.trace("#######################################Message messageType: "+messageType);
if(markType.equals("READ")){ if(markType.equals("READ")){
workspace.getWorkspaceMessageManager().getReceivedMessage(messageIdentifier).setStatus(boolMark); workspace.getWorkspaceMessageManager().getReceivedMessage(messageIdentifier).setStatus(boolMark);
@ -1685,12 +1646,9 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
workspace.getWorkspaceMessageManager().getReceivedMessage(messageIdentifier).setStatus(boolMark); workspace.getWorkspaceMessageManager().getReceivedMessage(messageIdentifier).setStatus(boolMark);
workspace.getWorkspaceMessageManager().getReceivedMessage(messageIdentifier).open(); workspace.getWorkspaceMessageManager().getReceivedMessage(messageIdentifier).open();
} }
} }else{
// workspaceLogger.trace("Message sent identifier: "+messageIdentifier);
else{ // workspaceLogger.trace("essage sent messageType: "+messageType);
// workspaceLogger.trace("#######################################Message sent identifier: "+messageIdentifier);
// workspaceLogger.trace("#######################################Message sent messageType: "+messageType);
if(markType.equals("READ")){ if(markType.equals("READ")){
workspace.getWorkspaceMessageManager().getSentMessage(messageIdentifier).setStatus(boolMark); workspace.getWorkspaceMessageManager().getSentMessage(messageIdentifier).setStatus(boolMark);
@ -1734,8 +1692,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
workspace.getWorkspaceMessageManager().deleteSentMessage(messageIdentifier); workspace.getWorkspaceMessageManager().deleteSentMessage(messageIdentifier);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
workspaceLogger.error("Error in server deleteMessage by messageIdentifier ", e); workspaceLogger.error("Error in server deleteMessage by messageIdentifier ", e);
//GWT can't serialize all exceptions //GWT can't serialize all exceptions
@ -1764,8 +1720,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
listMessageModels.add(new MessageModel()); listMessageModels.add(new MessageModel());
return listMessageModels; return listMessageModels;
} catch (Exception e) { } catch (Exception e) {
workspaceLogger.error("Error in server getNewMessagesReceived by messageIdentifier ", e); workspaceLogger.error("Error in server getNewMessagesReceived by messageIdentifier ", e);
//GWT can't serialize all exceptions //GWT can't serialize all exceptions
@ -1840,16 +1794,11 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
try { try {
Workspace workspace = getWorkspace(); Workspace workspace = getWorkspace();
WorkspaceItem sourceItem = workspace.getItem(itemId); //GET SOURCE ITEM BEFORE COPY WorkspaceItem sourceItem = workspace.getItem(itemId); //GET SOURCE ITEM BEFORE COPY
String sourceSharedId = sourceItem.getIdSharedFolder(); String sourceSharedId = sourceItem.getIdSharedFolder();
workspaceLogger.trace("copyItem by id: " + itemId); workspaceLogger.trace("copyItem by id: " + itemId);
WorkspaceItem destinationItem = workspace.copy(itemId, destinationFolderId); //copy item WorkspaceItem destinationItem = workspace.copy(itemId, destinationFolderId); //copy item
WorkspaceItem folderDestinationItem = workspace.getItem(destinationFolderId); WorkspaceItem folderDestinationItem = workspace.getItem(destinationFolderId);
checkNotifyAddItemToShare(destinationItem, sourceSharedId, folderDestinationItem); checkNotifyAddItemToShare(destinationItem, sourceSharedId, folderDestinationItem);
if(destinationItem!=null) if(destinationItem!=null)
@ -1889,13 +1838,9 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
WorkspaceItem sourceItem = workspace.getItem(itemId); //GET SOURCE ITEM BEFORE COPY WorkspaceItem sourceItem = workspace.getItem(itemId); //GET SOURCE ITEM BEFORE COPY
String sourceSharedId = sourceItem.getIdSharedFolder(); String sourceSharedId = sourceItem.getIdSharedFolder();
workspaceLogger.trace("copyItem by id: " + itemId); workspaceLogger.trace("copyItem by id: " + itemId);
WorkspaceItem destinationItem = workspace.copy(itemId, destinationFolderId); //copy item WorkspaceItem destinationItem = workspace.copy(itemId, destinationFolderId); //copy item
WorkspaceItem folderDestinationItem = workspace.getItem(destinationFolderId); WorkspaceItem folderDestinationItem = workspace.getItem(destinationFolderId);
checkNotifyAddItemToShare(destinationItem, sourceSharedId, folderDestinationItem); checkNotifyAddItemToShare(destinationItem, sourceSharedId, folderDestinationItem);
if(destinationItem==null){ if(destinationItem==null){
@ -1923,27 +1868,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
} }
} }
/* (non-Javadoc)
* @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#deleteBulk(java.lang.String)
*/
@Override
public boolean deleteBulk(String bulkId) throws Exception {
try {
Workspace workspace = getWorkspace();
workspaceLogger.trace("delete bulk " + bulkId);
workspace.getFolderBulkCreatorManager().getActiveFolderBulkCreator(bulkId).remove();
return true;
} catch (Exception e) {
workspaceLogger.error("Error in getNewFolderBulkCreator ", e);
// workspaceLogger.trace("Error in getNewFolderBulkCreator " + e.getMessage());
throw new Exception(e.getMessage());
}
}
/* (non-Javadoc) /* (non-Javadoc)
* @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#getUrlWebDav(java.lang.String) * @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#getUrlWebDav(java.lang.String)
*/ */
@ -2203,11 +2127,11 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
@Override @Override
public List<FileModel> getListParentsByItemIdentifier(String itemIdentifier, boolean includeItemAsParent) throws Exception { public List<FileModel> getListParentsByItemIdentifier(String itemIdentifier, boolean includeItemAsParent) throws Exception {
List<FileModel> listParents = new ArrayList<FileModel>(); List<FileModel> listParents = new ArrayList<FileModel>();
workspaceLogger.trace("get List Parents By Item Identifier "+ itemIdentifier +", include Item As (Last) Parent: "+includeItemAsParent); workspaceLogger.debug("get List Parents By Item Identifier "+ itemIdentifier +", include Item As (Last) Parent: "+includeItemAsParent);
try { try {
Workspace workspace = getWorkspace(); Workspace workspace = getWorkspace();
WorkspaceItem wsItem = workspace.getItem(itemIdentifier); WorkspaceItem wsItem = workspace.getItem(itemIdentifier);
workspaceLogger.trace("workspace retrieve item name: "+wsItem.getName()); workspaceLogger.debug("workspace retrieve item name: "+wsItem.getName());
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
String nameSpecialFolder = getNameForSpecialFolder(); String nameSpecialFolder = getNameForSpecialFolder();
@ -2230,7 +2154,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
FileModel parent = listParents.get(i); FileModel parent = listParents.get(i);
FileModel fileModel = listParents.get(i+1); FileModel fileModel = listParents.get(i+1);
fileModel.setParentFileModel(parent); fileModel.setParentFileModel(parent);
} }
@ -2261,11 +2184,8 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
} }
Workspace workspace = getWorkspace(); Workspace workspace = getWorkspace();
WorkspaceItem wsItem = workspace.getItem(itemId); WorkspaceItem wsItem = workspace.getItem(itemId);
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
return builder.buildGXTInfoContactModel(wsItem.getOwner()); return builder.buildGXTInfoContactModel(wsItem.getOwner());
} catch (Exception e) { } catch (Exception e) {
@ -2284,15 +2204,11 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
workspaceLogger.info("Get User Manager to shared folder id: "+folderId); workspaceLogger.info("Get User Manager to shared folder id: "+folderId);
Workspace workspace = getWorkspace(); Workspace workspace = getWorkspace();
List<InfoContactModel> listManagers = new ArrayList<InfoContactModel>(); List<InfoContactModel> listManagers = new ArrayList<InfoContactModel>();
workspaceLogger.info("Adding owner.."); workspaceLogger.info("Adding owner..");
InfoContactModel owner = getOwnerByItemId(folderId); //GET OWNER InfoContactModel owner = getOwnerByItemId(folderId); //GET OWNER
workspaceLogger.info("Added owner: "+owner); workspaceLogger.info("Added owner: "+owner);
listManagers.add(owner); listManagers.add(owner);
WorkspaceItem wsItem = workspace.getItem(folderId); WorkspaceItem wsItem = workspace.getItem(folderId);
if(wsItem.isShared() && (wsItem.getType().equals(WorkspaceItemType.SHARED_FOLDER))){ if(wsItem.isShared() && (wsItem.getType().equals(WorkspaceItemType.SHARED_FOLDER))){
@ -2315,9 +2231,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
List<InfoContactModel> adms = builder.buildGxtInfoContactsFromPortalLogins(listLogins); List<InfoContactModel> adms = builder.buildGxtInfoContactsFromPortalLogins(listLogins);
listManagers.addAll(adms); listManagers.addAll(adms);
workspaceLogger.info("Returing" +listManagers.size() +"users managers"); workspaceLogger.info("Returing" +listManagers.size() +"users managers");
return listManagers; return listManagers;
} }
@ -2435,16 +2349,12 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
workspaceLogger.trace("get last modification date ItemId "+ itemId); workspaceLogger.trace("get last modification date ItemId "+ itemId);
try { try {
Workspace workspace = getWorkspace(); Workspace workspace = getWorkspace();
WorkspaceItem wsItem = workspace.getItem(itemId); WorkspaceItem wsItem = workspace.getItem(itemId);
wsItem.getLastModificationTime().getTime(); wsItem.getLastModificationTime().getTime();
Date lastModification =null; Date lastModification =null;
if(wsItem.getLastModificationTime()!=null){ if(wsItem.getLastModificationTime()!=null){
lastModification = wsItem.getLastModificationTime().getTime(); lastModification = wsItem.getLastModificationTime().getTime();
} }
@ -2464,12 +2374,10 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
workspaceLogger.trace("get Parent By Item Identifier "+ identifier); workspaceLogger.trace("get Parent By Item Identifier "+ identifier);
try { try {
Workspace workspace = getWorkspace(); Workspace workspace = getWorkspace();
WorkspaceItem wsItem = workspace.getItem(identifier); WorkspaceItem wsItem = workspace.getItem(identifier);
workspaceLogger.trace("workspace retrieve item name: "+wsItem.getName()); workspaceLogger.trace("workspace retrieve item name: "+wsItem.getName());
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
while(wsItem!=null && wsItem.getParent()!=null){ while(wsItem!=null && wsItem.getParent()!=null){
@ -2498,15 +2406,9 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
try { try {
Workspace workspace = getWorkspace(); Workspace workspace = getWorkspace();
WorkspaceItem wsItem = workspace.getItem(identifier); WorkspaceItem wsItem = workspace.getItem(identifier);
// List<AccountingEntry> accoutings = wsItem.getAccounting();
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
List<GxtAccountingField> listReaders = builder.buildGXTAccountingItemFromReaders(wsItem.getReaders()); List<GxtAccountingField> listReaders = builder.buildGXTAccountingItemFromReaders(wsItem.getReaders());
workspaceLogger.trace("get accounting readers - returning size "+listReaders.size()); workspaceLogger.trace("get accounting readers - returning size "+listReaders.size());
return listReaders; return listReaders;
@ -2527,15 +2429,10 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
try { try {
Workspace workspace = getWorkspace(); Workspace workspace = getWorkspace();
WorkspaceItem wsItem = workspace.getItem(identifier); WorkspaceItem wsItem = workspace.getItem(identifier);
List<AccountingEntry> accoutings = wsItem.getAccounting(); List<AccountingEntry> accoutings = wsItem.getAccounting();
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
List<GxtAccountingField> listReaders = builder.buildGXTAccountingItem(accoutings, GxtAccountingEntryType.ALL); List<GxtAccountingField> listReaders = builder.buildGXTAccountingItem(accoutings, GxtAccountingEntryType.ALL);
workspaceLogger.trace("get accounting readers - returning size "+listReaders.size()); workspaceLogger.trace("get accounting readers - returning size "+listReaders.size());
return listReaders; return listReaders;
@ -2553,10 +2450,9 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
public String getShortUrl(String longUrl) throws Exception { public String getShortUrl(String longUrl) throws Exception {
workspaceLogger.trace("get short url for "+ longUrl); workspaceLogger.trace("get short url for "+ longUrl);
UrlShortener shortener = getUrlShortener(); UrlShortener shortener = getUrlShortener();
try{ try{
if(shortener!=null && shortener.isAvailable()) if(shortener!=null && shortener.isAvailable())
return shortener.shorten(longUrl); return shortener.shorten(longUrl);
@ -2650,33 +2546,24 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
throw new Exception("List identifiers is null"); throw new Exception("List identifiers is null");
Workspace workspace = getWorkspace(); Workspace workspace = getWorkspace();
workspaceLogger.trace("removeItem item for list size: "+ids.size()); workspaceLogger.trace("removeItem item for list size: "+ids.size());
for (String itemId : ids) { for (String itemId : ids) {
//NOTIFICATION //NOTIFICATION
WorkspaceItem wsItem = workspace.getItem(itemId); WorkspaceItem wsItem = workspace.getItem(itemId);
//SAVING ATTRIBUTE FOR NOTIFICATION //SAVING ATTRIBUTE FOR NOTIFICATION
boolean sourceItemIsShared = wsItem.isShared(); boolean sourceItemIsShared = wsItem.isShared();
String itemName = wsItem.getName(); String itemName = wsItem.getName();
String sourceFolderSharedId = null; String sourceFolderSharedId = null;
if(sourceItemIsShared){ if(sourceItemIsShared){
sourceFolderSharedId = wsItem.getIdSharedFolder(); sourceFolderSharedId = wsItem.getIdSharedFolder();
} }
//REMOVE ITEM //REMOVE ITEM
workspace.removeItem(itemId); workspace.removeItem(itemId);
//IF SOURCE SHARED FOLDER IS NOT NULL //IF SOURCE SHARED FOLDER IS NOT NULL
if(sourceFolderSharedId!=null) if(sourceFolderSharedId!=null)
NotificationsUtil.checkSendNotifyRemoveItemToShare(this.getThreadLocalRequest().getSession(), sourceItemIsShared, itemName, itemId, sourceFolderSharedId); NotificationsUtil.checkSendNotifyRemoveItemToShare(this.getThreadLocalRequest().getSession(), sourceItemIsShared, itemName, itemId, sourceFolderSharedId);
} }
} catch (InsufficientPrivilegesException e) { } catch (InsufficientPrivilegesException e) {
workspaceLogger.error("Error in server Item remove", e); workspaceLogger.error("Error in server Item remove", e);
String error = "An error occurred on deleting item. "+e.getMessage(); String error = "An error occurred on deleting item. "+e.getMessage();
@ -2709,8 +2596,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
throw new Exception("List Logins is null or empty"); throw new Exception("List Logins is null or empty");
workspaceLogger.trace("Setting ACL for folder id: "+folderId); workspaceLogger.trace("Setting ACL for folder id: "+folderId);
workspaceLogger.trace("ACL type is: "+aclType); workspaceLogger.trace("ACL type is: "+aclType);
Workspace workspace = getWorkspace(); Workspace workspace = getWorkspace();
WorkspaceItem wsItem = workspace.getItem(folderId); WorkspaceItem wsItem = workspace.getItem(folderId);
@ -2728,9 +2614,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
workspaceLogger.trace("Folder " +ite.getName()+" is a "+WorkspaceFolder.class.getName()); workspaceLogger.trace("Folder " +ite.getName()+" is a "+WorkspaceFolder.class.getName());
// ite = (WorkspaceSharedFolder) workspace.getItem(wsItem.getIdSharedFolder()); // ite = (WorkspaceSharedFolder) workspace.getItem(wsItem.getIdSharedFolder());
} }
// validateACLToUser(ite, listLogins, aclType); // validateACLToUser(ite, listLogins, aclType);
ite.setACL(listLogins, ACLType.valueOf(aclType)); ite.setACL(listLogins, ACLType.valueOf(aclType));
}else }else
throw new Exception("Source item is not shared or shared folder"); throw new Exception("Source item is not shared or shared folder");
@ -2988,7 +2872,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
} }
/** /**
* Gets ACLs Description For WorkspaceItem ById * Gets ACLs Description For WorkspaceItem ById.
* *
* @param workspaceItemId the folder id * @param workspaceItemId the folder id
* @return a description of the ACLs * @return a description of the ACLs
@ -3625,5 +3509,4 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
throw new Exception(error); throw new Exception(error);
} }
} }
} }