test passed
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-uploader@134694 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
6d9f995a01
commit
139e1094aa
|
@ -41,7 +41,7 @@ public class MultipleDNDUpload extends LayoutPanel implements HasWorskpaceUpload
|
|||
|
||||
private String folder_parent_id = ConstantsWorkspaceUploader.FOLDER_PARENT_ID;
|
||||
private String item_name = ConstantsWorkspaceUploader.ITEM_NAME;
|
||||
private String scopeGroupId = "";
|
||||
private String scopeGroupId = ConstantsWorkspaceUploader.CURR_GROUP_ID;
|
||||
|
||||
public static final String FILE_DELEMITER = ";";
|
||||
private Widget onlyChild;
|
||||
|
@ -667,9 +667,10 @@ public class MultipleDNDUpload extends LayoutPanel implements HasWorskpaceUpload
|
|||
var wsUtil = instance.@org.gcube.portlets.widgets.workspaceuploader.client.uploader.dragdrop.MultipleDNDUpload::workspaceUtil;
|
||||
var folder_parent_id = instance.@org.gcube.portlets.widgets.workspaceuploader.client.uploader.dragdrop.MultipleDNDUpload::folder_parent_id;
|
||||
var item_name = instance.@org.gcube.portlets.widgets.workspaceuploader.client.uploader.dragdrop.MultipleDNDUpload::item_name;
|
||||
var scopegroupid = instance.@org.gcube.portlets.widgets.workspaceuploader.client.uploader.dragdrop.MultipleDNDUpload::scopeGroupId;
|
||||
|
||||
console.log("item_name: " + item_name);
|
||||
var params = folder_parent_id+"="+idfolder+"&"+item_name+"="+files[i].name
|
||||
var params = folder_parent_id+"="+idfolder+"&"+item_name+"="+files[i].name+"&currGroupId="+scopeGroupId;
|
||||
console.log("params: " + params);
|
||||
var response = isFileOverwrite(wsUtil, params, "");
|
||||
console.log("response overwrite: " + response);
|
||||
|
|
|
@ -32,12 +32,14 @@ import org.gcube.common.homelibrary.home.workspace.folder.items.Report;
|
|||
import org.gcube.common.homelibrary.home.workspace.folder.items.ReportTemplate;
|
||||
import org.gcube.common.homelibrary.util.Extensions;
|
||||
import org.gcube.common.homelibrary.util.WorkspaceUtil;
|
||||
import org.gcube.common.portal.PortalContext;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.client.ConstantsWorkspaceUploader;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.server.notification.NotificationsWorkspaceUploader;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.server.notification.NotificationsWorkspaceUploaderProducer;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.server.util.WsUtil;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.shared.HandlerResultMessage;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem;
|
||||
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
/**
|
||||
|
@ -375,7 +377,8 @@ public class WorkspaceUploadServlet extends HttpServlet {
|
|||
* @param isOverwrite the is overwrite
|
||||
*/
|
||||
public static void notifyUploadInSharedFolder(final String scopeGroupId, final HttpServletRequest request, final HttpSession httpSession, final Workspace workspace, final String itemId, final String destinationFolderId, final boolean isOverwrite){
|
||||
|
||||
final GCubeUser currUser = PortalContext.getConfiguration().getCurrentUser(request);
|
||||
System.out.println("\n\n*****\n\n notifyUploadInSharedFolder currUser=" + currUser.toString());
|
||||
boolean requestIsNull = request==null;
|
||||
logger.trace("[2] HttpServletRequest is: null? "+requestIsNull+", URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
||||
final NotificationsWorkspaceUploaderProducer np = new NotificationsWorkspaceUploaderProducer(scopeGroupId, httpSession,request);
|
||||
|
@ -387,7 +390,7 @@ public class WorkspaceUploadServlet extends HttpServlet {
|
|||
String sourceSharedId = sourceItem.getIdSharedFolder();
|
||||
WorkspaceItem folderDestinationItem = workspace.getItem(destinationFolderId);
|
||||
logger.trace("[3] HttpServletRequest is: URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
||||
NotificationsWorkspaceUploader.checkSendNotifyChangedItemToShare(scopeGroupId, np, request, httpSession, sourceItem, sourceSharedId, folderDestinationItem,isOverwrite);
|
||||
NotificationsWorkspaceUploader.checkSendNotifyChangedItemToShare(currUser, scopeGroupId, np, httpSession, sourceItem, sourceSharedId, folderDestinationItem,isOverwrite);
|
||||
} catch (Exception e) {
|
||||
logger.error("Error in notifyUploadInSharedFolder", e);
|
||||
}
|
||||
|
|
|
@ -61,6 +61,7 @@ import org.gcube.portlets.widgets.workspaceuploader.shared.HandlerResultMessage;
|
|||
import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploadFile;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem.UPLOAD_STATUS;
|
||||
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
@ -165,8 +166,6 @@ public class WorkspaceUploadServletStream extends HttpServlet implements Servlet
|
|||
* {@inheritDoc}
|
||||
*/
|
||||
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||
|
||||
System.out.println("POST on UploadServlet");
|
||||
logger.info("POST on UploadServlet");
|
||||
boolean requestIsNull = request==null;
|
||||
logger.trace("[1] HttpServletRequest is: null? "+requestIsNull+", URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
||||
|
@ -662,7 +661,8 @@ public class WorkspaceUploadServletStream extends HttpServlet implements Servlet
|
|||
* @param isOverwrite the is overwrite
|
||||
*/
|
||||
public static void notifyUploadInSharedFolder(final String scopeGroupId, final HttpServletRequest request, final HttpSession httpSession, final Workspace workspace, final String itemId, final String destinationFolderId, final boolean isOverwrite){
|
||||
|
||||
final GCubeUser currUser = PortalContext.getConfiguration().getCurrentUser(request);
|
||||
System.out.println("**currUser="+currUser.toString());
|
||||
logger.trace("[2] HttpServletRequest is: URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
||||
final NotificationsWorkspaceUploaderProducer np = new NotificationsWorkspaceUploaderProducer(scopeGroupId, httpSession,request);
|
||||
new Thread(){
|
||||
|
@ -673,7 +673,7 @@ public class WorkspaceUploadServletStream extends HttpServlet implements Servlet
|
|||
String sourceSharedId = sourceItem.getIdSharedFolder();
|
||||
WorkspaceItem folderDestinationItem = workspace.getItem(destinationFolderId);
|
||||
logger.trace("[3] HttpServletRequest is: URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
||||
NotificationsWorkspaceUploader.checkSendNotifyChangedItemToShare(scopeGroupId, np, request, httpSession, sourceItem, sourceSharedId, folderDestinationItem,isOverwrite);
|
||||
NotificationsWorkspaceUploader.checkSendNotifyChangedItemToShare(currUser, scopeGroupId, np, httpSession, sourceItem, sourceSharedId, folderDestinationItem,isOverwrite);
|
||||
} catch (Exception e) {
|
||||
logger.error("Error in notifyUploadInSharedFolder", e);
|
||||
}
|
||||
|
|
|
@ -6,12 +6,10 @@ import javax.servlet.ServletException;
|
|||
import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.gcube.common.homelibary.model.items.type.WorkspaceItemType;
|
||||
import org.gcube.common.homelibrary.home.workspace.Workspace;
|
||||
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
|
||||
import org.gcube.common.portal.PortalContext;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.client.ConstantsWorkspaceUploader;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.server.util.WsUtil;
|
||||
import org.slf4j.Logger;
|
||||
|
@ -35,10 +33,13 @@ public class WorkspaceUploaderWsUtil extends HttpServlet {
|
|||
throws ServletException, IOException {
|
||||
String folderParentId = req.getParameter(ConstantsWorkspaceUploader.FOLDER_PARENT_ID);
|
||||
String itemName = req.getParameter(ConstantsWorkspaceUploader.ITEM_NAME);
|
||||
String currGroupId = req.getParameter(ConstantsWorkspaceUploader.CURR_GROUP_ID);
|
||||
logger.debug("folderParentId: "+folderParentId);
|
||||
logger.debug("itemName: "+itemName);
|
||||
logger.debug("currGroupId: "+currGroupId);
|
||||
|
||||
try {
|
||||
String itemId = itemExistsInWorkpaceFolder(req, folderParentId, itemName);
|
||||
String itemId = itemExistsInWorkpaceFolder(currGroupId, req, folderParentId, itemName);
|
||||
sendOKMessage(resp, itemId);
|
||||
}
|
||||
catch (Exception e) {
|
||||
|
@ -60,11 +61,10 @@ public class WorkspaceUploaderWsUtil extends HttpServlet {
|
|||
* @return the string
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
public String itemExistsInWorkpaceFolder(HttpServletRequest req, String parentId, String itemName) throws Exception {
|
||||
public String itemExistsInWorkpaceFolder(String currGroupId, HttpServletRequest req, String parentId, String itemName) throws Exception {
|
||||
logger.trace("get itemExistsInWorkpace for name: "+itemName+", by parentId: "+parentId);
|
||||
try {
|
||||
String scopeGroupId = PortalContext.getConfiguration().getCurrentScope(req);
|
||||
Workspace workspace = WsUtil.getWorkspace(req, scopeGroupId);
|
||||
Workspace workspace = WsUtil.getWorkspace(req, currGroupId);
|
||||
WorkspaceItem wsItem = workspace.getItem(parentId); //GET PARENT
|
||||
|
||||
if(wsItem.getType().equals(WorkspaceItemType.FOLDER) || wsItem.getType().equals(WorkspaceItemType.SHARED_FOLDER)){
|
||||
|
|
|
@ -17,6 +17,7 @@ import org.gcube.common.homelibrary.home.workspace.WorkspaceSharedFolder;
|
|||
import org.gcube.portlets.widgets.workspaceuploader.server.util.UserUtil;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.server.util.WsUtil;
|
||||
import org.gcube.portlets.widgets.workspaceuploader.shared.ContactModel;
|
||||
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
||||
|
||||
/**
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
|
@ -35,7 +36,7 @@ public class NotificationsWorkspaceUploader {
|
|||
* @param sourceSharedId
|
||||
* @param folderDestinationItem
|
||||
*/
|
||||
public static void checkSendNotifyChangedItemToShare(String scopeGroupId, NotificationsWorkspaceUploaderProducer np, HttpServletRequest request, HttpSession httpSession, final WorkspaceItem sourceItem, final String sourceSharedId, final WorkspaceItem folderDestinationItem, boolean isOverwrite) {
|
||||
public static void checkSendNotifyChangedItemToShare(GCubeUser currUser, String scopeGroupId, NotificationsWorkspaceUploaderProducer np, HttpSession httpSession, final WorkspaceItem sourceItem, final String sourceSharedId, final WorkspaceItem folderDestinationItem, boolean isOverwrite) {
|
||||
|
||||
logger.trace("checkSendNotifyAddItemToShare");
|
||||
|
||||
|
@ -56,14 +57,12 @@ public class NotificationsWorkspaceUploader {
|
|||
//if shareChangeCondition is true.. notifies added item to sharing
|
||||
if(shareChangeCondition){
|
||||
|
||||
Workspace workspace = WsUtil.getWorkspace(request, scopeGroupId);
|
||||
Workspace workspace = WsUtil.getWorkspace(currUser.getUsername(), scopeGroupId);
|
||||
|
||||
List<ContactModel> listContacts = getListUserSharedByFolderSharedId(workspace, folderDestinationItem.getIdSharedFolder());
|
||||
|
||||
WorkspaceItem destinationSharedFolder = workspace.getItem(folderDestinationItem.getIdSharedFolder());
|
||||
|
||||
logger.trace("[4] HttpServletRequest is: URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
||||
|
||||
if(destinationSharedFolder instanceof WorkspaceSharedFolder){
|
||||
|
||||
//SWITCH BEETWEEN ADDED OR UPDATED
|
||||
|
|
|
@ -75,6 +75,26 @@ public class WsUtil {
|
|||
ScopeProvider.instance.set(scope);
|
||||
return HomeLibrary.getUserWorkspace(username);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the workspace.
|
||||
*
|
||||
* @param httpSession the http session
|
||||
* @return the workspace
|
||||
* @throws InternalErrorException the internal error exception
|
||||
* @throws HomeNotFoundException the home not found exception
|
||||
* @throws WorkspaceFolderNotFoundException the workspace folder not found exception
|
||||
*/
|
||||
public static Workspace getWorkspace(String username, String scopeGroupId) throws InternalErrorException, HomeNotFoundException, WorkspaceFolderNotFoundException{
|
||||
|
||||
logger.trace("Get Workspace for user = " + username);
|
||||
PortalContext pContext = PortalContext.getConfiguration();
|
||||
String scope = pContext.getCurrentScope(scopeGroupId);
|
||||
logger.trace("Client context scope: "+ scope + " username: "+username);
|
||||
|
||||
ScopeProvider.instance.set(scope);
|
||||
return HomeLibrary.getUserWorkspace(username);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue