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 folder_parent_id = ConstantsWorkspaceUploader.FOLDER_PARENT_ID;
|
||||||
private String item_name = ConstantsWorkspaceUploader.ITEM_NAME;
|
private String item_name = ConstantsWorkspaceUploader.ITEM_NAME;
|
||||||
private String scopeGroupId = "";
|
private String scopeGroupId = ConstantsWorkspaceUploader.CURR_GROUP_ID;
|
||||||
|
|
||||||
public static final String FILE_DELEMITER = ";";
|
public static final String FILE_DELEMITER = ";";
|
||||||
private Widget onlyChild;
|
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 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 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 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);
|
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);
|
console.log("params: " + params);
|
||||||
var response = isFileOverwrite(wsUtil, params, "");
|
var response = isFileOverwrite(wsUtil, params, "");
|
||||||
console.log("response overwrite: " + response);
|
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.home.workspace.folder.items.ReportTemplate;
|
||||||
import org.gcube.common.homelibrary.util.Extensions;
|
import org.gcube.common.homelibrary.util.Extensions;
|
||||||
import org.gcube.common.homelibrary.util.WorkspaceUtil;
|
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.client.ConstantsWorkspaceUploader;
|
||||||
import org.gcube.portlets.widgets.workspaceuploader.server.notification.NotificationsWorkspaceUploader;
|
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.notification.NotificationsWorkspaceUploaderProducer;
|
||||||
import org.gcube.portlets.widgets.workspaceuploader.server.util.WsUtil;
|
import org.gcube.portlets.widgets.workspaceuploader.server.util.WsUtil;
|
||||||
import org.gcube.portlets.widgets.workspaceuploader.shared.HandlerResultMessage;
|
import org.gcube.portlets.widgets.workspaceuploader.shared.HandlerResultMessage;
|
||||||
import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem;
|
import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem;
|
||||||
|
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
/**
|
/**
|
||||||
|
@ -375,7 +377,8 @@ public class WorkspaceUploadServlet extends HttpServlet {
|
||||||
* @param isOverwrite the is overwrite
|
* @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){
|
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;
|
boolean requestIsNull = request==null;
|
||||||
logger.trace("[2] HttpServletRequest is: null? "+requestIsNull+", URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
logger.trace("[2] HttpServletRequest is: null? "+requestIsNull+", URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
||||||
final NotificationsWorkspaceUploaderProducer np = new NotificationsWorkspaceUploaderProducer(scopeGroupId, httpSession,request);
|
final NotificationsWorkspaceUploaderProducer np = new NotificationsWorkspaceUploaderProducer(scopeGroupId, httpSession,request);
|
||||||
|
@ -387,7 +390,7 @@ public class WorkspaceUploadServlet extends HttpServlet {
|
||||||
String sourceSharedId = sourceItem.getIdSharedFolder();
|
String sourceSharedId = sourceItem.getIdSharedFolder();
|
||||||
WorkspaceItem folderDestinationItem = workspace.getItem(destinationFolderId);
|
WorkspaceItem folderDestinationItem = workspace.getItem(destinationFolderId);
|
||||||
logger.trace("[3] HttpServletRequest is: URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
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) {
|
} catch (Exception e) {
|
||||||
logger.error("Error in notifyUploadInSharedFolder", 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.WorkspaceUploadFile;
|
||||||
import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem;
|
import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem;
|
||||||
import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem.UPLOAD_STATUS;
|
import org.gcube.portlets.widgets.workspaceuploader.shared.WorkspaceUploaderItem.UPLOAD_STATUS;
|
||||||
|
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
@ -165,8 +166,6 @@ public class WorkspaceUploadServletStream extends HttpServlet implements Servlet
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||||
|
|
||||||
System.out.println("POST on UploadServlet");
|
|
||||||
logger.info("POST on UploadServlet");
|
logger.info("POST on UploadServlet");
|
||||||
boolean requestIsNull = request==null;
|
boolean requestIsNull = request==null;
|
||||||
logger.trace("[1] HttpServletRequest is: null? "+requestIsNull+", URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
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
|
* @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){
|
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());
|
logger.trace("[2] HttpServletRequest is: URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
||||||
final NotificationsWorkspaceUploaderProducer np = new NotificationsWorkspaceUploaderProducer(scopeGroupId, httpSession,request);
|
final NotificationsWorkspaceUploaderProducer np = new NotificationsWorkspaceUploaderProducer(scopeGroupId, httpSession,request);
|
||||||
new Thread(){
|
new Thread(){
|
||||||
|
@ -673,7 +673,7 @@ public class WorkspaceUploadServletStream extends HttpServlet implements Servlet
|
||||||
String sourceSharedId = sourceItem.getIdSharedFolder();
|
String sourceSharedId = sourceItem.getIdSharedFolder();
|
||||||
WorkspaceItem folderDestinationItem = workspace.getItem(destinationFolderId);
|
WorkspaceItem folderDestinationItem = workspace.getItem(destinationFolderId);
|
||||||
logger.trace("[3] HttpServletRequest is: URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
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) {
|
} catch (Exception e) {
|
||||||
logger.error("Error in notifyUploadInSharedFolder", e);
|
logger.error("Error in notifyUploadInSharedFolder", e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,12 +6,10 @@ import javax.servlet.ServletException;
|
||||||
import javax.servlet.http.HttpServlet;
|
import javax.servlet.http.HttpServlet;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
|
|
||||||
import org.gcube.common.homelibary.model.items.type.WorkspaceItemType;
|
import org.gcube.common.homelibary.model.items.type.WorkspaceItemType;
|
||||||
import org.gcube.common.homelibrary.home.workspace.Workspace;
|
import org.gcube.common.homelibrary.home.workspace.Workspace;
|
||||||
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
|
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.client.ConstantsWorkspaceUploader;
|
||||||
import org.gcube.portlets.widgets.workspaceuploader.server.util.WsUtil;
|
import org.gcube.portlets.widgets.workspaceuploader.server.util.WsUtil;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -35,10 +33,13 @@ public class WorkspaceUploaderWsUtil extends HttpServlet {
|
||||||
throws ServletException, IOException {
|
throws ServletException, IOException {
|
||||||
String folderParentId = req.getParameter(ConstantsWorkspaceUploader.FOLDER_PARENT_ID);
|
String folderParentId = req.getParameter(ConstantsWorkspaceUploader.FOLDER_PARENT_ID);
|
||||||
String itemName = req.getParameter(ConstantsWorkspaceUploader.ITEM_NAME);
|
String itemName = req.getParameter(ConstantsWorkspaceUploader.ITEM_NAME);
|
||||||
|
String currGroupId = req.getParameter(ConstantsWorkspaceUploader.CURR_GROUP_ID);
|
||||||
logger.debug("folderParentId: "+folderParentId);
|
logger.debug("folderParentId: "+folderParentId);
|
||||||
logger.debug("itemName: "+itemName);
|
logger.debug("itemName: "+itemName);
|
||||||
|
logger.debug("currGroupId: "+currGroupId);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String itemId = itemExistsInWorkpaceFolder(req, folderParentId, itemName);
|
String itemId = itemExistsInWorkpaceFolder(currGroupId, req, folderParentId, itemName);
|
||||||
sendOKMessage(resp, itemId);
|
sendOKMessage(resp, itemId);
|
||||||
}
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
|
@ -60,11 +61,10 @@ public class WorkspaceUploaderWsUtil extends HttpServlet {
|
||||||
* @return the string
|
* @return the string
|
||||||
* @throws Exception the exception
|
* @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);
|
logger.trace("get itemExistsInWorkpace for name: "+itemName+", by parentId: "+parentId);
|
||||||
try {
|
try {
|
||||||
String scopeGroupId = PortalContext.getConfiguration().getCurrentScope(req);
|
Workspace workspace = WsUtil.getWorkspace(req, currGroupId);
|
||||||
Workspace workspace = WsUtil.getWorkspace(req, scopeGroupId);
|
|
||||||
WorkspaceItem wsItem = workspace.getItem(parentId); //GET PARENT
|
WorkspaceItem wsItem = workspace.getItem(parentId); //GET PARENT
|
||||||
|
|
||||||
if(wsItem.getType().equals(WorkspaceItemType.FOLDER) || wsItem.getType().equals(WorkspaceItemType.SHARED_FOLDER)){
|
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.UserUtil;
|
||||||
import org.gcube.portlets.widgets.workspaceuploader.server.util.WsUtil;
|
import org.gcube.portlets.widgets.workspaceuploader.server.util.WsUtil;
|
||||||
import org.gcube.portlets.widgets.workspaceuploader.shared.ContactModel;
|
import org.gcube.portlets.widgets.workspaceuploader.shared.ContactModel;
|
||||||
|
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||||
|
@ -35,7 +36,7 @@ public class NotificationsWorkspaceUploader {
|
||||||
* @param sourceSharedId
|
* @param sourceSharedId
|
||||||
* @param folderDestinationItem
|
* @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");
|
logger.trace("checkSendNotifyAddItemToShare");
|
||||||
|
|
||||||
|
@ -56,14 +57,12 @@ public class NotificationsWorkspaceUploader {
|
||||||
//if shareChangeCondition is true.. notifies added item to sharing
|
//if shareChangeCondition is true.. notifies added item to sharing
|
||||||
if(shareChangeCondition){
|
if(shareChangeCondition){
|
||||||
|
|
||||||
Workspace workspace = WsUtil.getWorkspace(request, scopeGroupId);
|
Workspace workspace = WsUtil.getWorkspace(currUser.getUsername(), scopeGroupId);
|
||||||
|
|
||||||
List<ContactModel> listContacts = getListUserSharedByFolderSharedId(workspace, folderDestinationItem.getIdSharedFolder());
|
List<ContactModel> listContacts = getListUserSharedByFolderSharedId(workspace, folderDestinationItem.getIdSharedFolder());
|
||||||
|
|
||||||
WorkspaceItem destinationSharedFolder = workspace.getItem(folderDestinationItem.getIdSharedFolder());
|
WorkspaceItem destinationSharedFolder = workspace.getItem(folderDestinationItem.getIdSharedFolder());
|
||||||
|
|
||||||
logger.trace("[4] HttpServletRequest is: URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
|
||||||
|
|
||||||
if(destinationSharedFolder instanceof WorkspaceSharedFolder){
|
if(destinationSharedFolder instanceof WorkspaceSharedFolder){
|
||||||
|
|
||||||
//SWITCH BEETWEEN ADDED OR UPDATED
|
//SWITCH BEETWEEN ADDED OR UPDATED
|
||||||
|
|
|
@ -75,6 +75,26 @@ public class WsUtil {
|
||||||
ScopeProvider.instance.set(scope);
|
ScopeProvider.instance.set(scope);
|
||||||
return HomeLibrary.getUserWorkspace(username);
|
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