update sharing..
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@69138 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
6b81912a63
commit
7fa36d874d
|
@ -115,6 +115,7 @@ import com.extjs.gxt.ui.client.event.Events;
|
|||
import com.extjs.gxt.ui.client.event.Listener;
|
||||
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
|
||||
import com.extjs.gxt.ui.client.widget.Dialog;
|
||||
import com.extjs.gxt.ui.client.widget.Info;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.event.shared.EventHandler;
|
||||
import com.google.gwt.event.shared.HandlerManager;
|
||||
|
@ -155,7 +156,6 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
|||
// }
|
||||
|
||||
public GWTWorkspaceServiceAsync getRpcWorkspaceService() {
|
||||
|
||||
return rpcWorkspaceService;
|
||||
}
|
||||
|
||||
|
@ -216,6 +216,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
|||
//IF ITEM IS SHAREABLE
|
||||
if(sourceFileModel.isShareable()){
|
||||
|
||||
//DEBUG
|
||||
System.out.println("create shared folderEvent - sourceFileModel id "+sourceFileModel.getIdentifier());
|
||||
|
||||
final FileModel parentFileModel= createSharedFolderEvent.getParentFileModel();
|
||||
|
@ -248,6 +249,8 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
|||
final DialogShareFolder finalDialog = dialogSharedFolder;
|
||||
final FileModel parentModel = parent;
|
||||
|
||||
|
||||
|
||||
finalDialog.getButtonById(Dialog.OK).addListener(Events.Select, new Listener<BaseEvent>() {
|
||||
|
||||
@Override
|
||||
|
@ -269,18 +272,21 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
|||
}
|
||||
|
||||
//DEBUG
|
||||
System.out.println("FileModel id "+fileModel.getIdentifier() + " name: "+fileModel.getName() + " parent " + fileModel.getParentFileModel());
|
||||
for(InfoContactModel contact:finalDialog.getSharedListUsers() ){
|
||||
System.out.println("Share with Contact "+contact) ;
|
||||
// System.out.println("FileModel id "+fileModel.getIdentifier() + " name: "+fileModel.getName() + " parent " + fileModel.getParentFileModel());
|
||||
// for(InfoContactModel contact:finalDialog.getSharedListUsers() ){
|
||||
// System.out.println("Share with Contact "+contact) ;
|
||||
//
|
||||
// }
|
||||
|
||||
}
|
||||
Info.display("Info", "An operation of sharing was submitted");
|
||||
explorerPanel.mask("Submitting operation");
|
||||
|
||||
rpcWorkspaceService.shareFolder(fileModel, finalDialog.getSharedListUsers(), isNewFolder, new AsyncCallback<Boolean>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR+" creating shared folder. "+ caught.getMessage(), null);
|
||||
|
||||
explorerPanel.unmask();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -288,6 +294,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt
|
|||
if(result)
|
||||
eventBus.fireEvent(new RefreshFolderEvent(parentFileModel));
|
||||
|
||||
explorerPanel.unmask();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -45,12 +45,4 @@ public class CreateSharedFolderEvent extends GwtEvent<CreateSharedFolderEventHan
|
|||
public FileModel getParentFileModel() {
|
||||
return parentFileModel;
|
||||
}
|
||||
|
||||
// public void setNewFolder(FolderModel folder){
|
||||
// this.newFolder = folder;
|
||||
// }
|
||||
//
|
||||
// public FolderModel getNewFolder() {
|
||||
// return newFolder;
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ public class FileModel extends BaseModelData implements Serializable {
|
|||
private void initDefaultProperties(){
|
||||
setMarkAsRead(false);
|
||||
setShortcutCategory("");
|
||||
setShareable(false);
|
||||
setShareable(true);
|
||||
}
|
||||
|
||||
public void setShareable(boolean bool) {
|
||||
|
@ -268,44 +268,24 @@ public class FileModel extends BaseModelData implements Serializable {
|
|||
return (GXTFolderItemTypeEnum) get(ConstantsExplorer.FOLDERITEMTYPE);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("FileModel [isMarkAsRead()=");
|
||||
builder.append(isMarkAsRead());
|
||||
builder.append(", getOwner()=");
|
||||
builder.append(getOwner());
|
||||
builder.append(", getListUserSharing()=");
|
||||
builder.append(getListUserSharing());
|
||||
builder.append("FileModel [isShareable()=");
|
||||
builder.append(isShareable());
|
||||
builder.append(", isShared()=");
|
||||
builder.append(isShared());
|
||||
builder.append(", isRoot()=");
|
||||
builder.append(isRoot());
|
||||
builder.append(", getIcon()=");
|
||||
builder.append(getIcon());
|
||||
builder.append(", getAbstractPrototypeIcon()=");
|
||||
builder.append(getAbstractPrototypeIcon());
|
||||
builder.append(", getStatus()=");
|
||||
builder.append(getStatus());
|
||||
builder.append(", getIdentifier()=");
|
||||
builder.append(getIdentifier());
|
||||
builder.append(", getShortcutCategory()=");
|
||||
builder.append(getShortcutCategory());
|
||||
builder.append(", getName()=");
|
||||
builder.append(getName());
|
||||
builder.append(", getParentFileModel()=");
|
||||
builder.append(getParentFileModel());
|
||||
builder.append(", isDirectory()=");
|
||||
builder.append(isDirectory());
|
||||
builder.append(", getType()=");
|
||||
builder.append(getType());
|
||||
builder.append(", getGXTFolderItemType()=");
|
||||
builder.append(getGXTFolderItemType());
|
||||
builder.append("]");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -24,49 +24,7 @@ public class FolderModel extends FileModel {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("FolderModel [isMarkAsRead()=");
|
||||
builder.append(isMarkAsRead());
|
||||
builder.append(", getOwner()=");
|
||||
builder.append(getOwner());
|
||||
builder.append(", getListUserSharing()=");
|
||||
builder.append(getListUserSharing());
|
||||
builder.append(", isShared()=");
|
||||
builder.append(isShared());
|
||||
builder.append(", getIcon()=");
|
||||
builder.append(getIcon());
|
||||
builder.append(", getAbstractPrototypeIcon()=");
|
||||
builder.append(getAbstractPrototypeIcon());
|
||||
builder.append(", getStatus()=");
|
||||
builder.append(getStatus());
|
||||
builder.append(", getIdentifier()=");
|
||||
builder.append(getIdentifier());
|
||||
builder.append(", getShortcutCategory()=");
|
||||
builder.append(getShortcutCategory());
|
||||
builder.append(", getName()=");
|
||||
builder.append(getName());
|
||||
builder.append(", getParentFileModel()=");
|
||||
builder.append(getParentFileModel());
|
||||
builder.append(", isDirectory()=");
|
||||
builder.append(isDirectory());
|
||||
builder.append(", getType()=");
|
||||
builder.append(getType());
|
||||
builder.append(", getGXTFolderItemType()=");
|
||||
builder.append(getGXTFolderItemType());
|
||||
builder.append(", getProperties()=");
|
||||
builder.append(getProperties());
|
||||
builder.append(", getPropertyNames()=");
|
||||
builder.append(getPropertyNames());
|
||||
builder.append(", isAllowNestedValues()=");
|
||||
builder.append(isAllowNestedValues());
|
||||
builder.append(", getClass()=");
|
||||
builder.append(getClass());
|
||||
builder.append(", hashCode()=");
|
||||
builder.append(hashCode());
|
||||
builder.append(", toString()=");
|
||||
builder.append(super.toString());
|
||||
builder.append("]");
|
||||
return builder.toString();
|
||||
return super.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -550,12 +550,14 @@ public class AsyncTreePanel extends LayoutContainer {
|
|||
else
|
||||
folderItemType = null;
|
||||
|
||||
|
||||
//DEBUG
|
||||
if(fileModel.getParentFileModel()!=null)
|
||||
System.out.println("Item selected " + fileModel.getName() + " Id " + fileModel.getIdentifier() + " Parent " + fileModel.getParentFileModel().getName() + " with id " + fileModel.getParentFileModel().getIdentifier() + " IsDirectory " + ""+fileModel.isDirectory() + " type "+ type + " HLFolderItemType "+folderItemType);
|
||||
else
|
||||
System.out.println("Item selected " + fileModel.getName() + " Id " + fileModel.getIdentifier() + " Parent null " + " IsDirectory " + ""+fileModel.isDirectory()+ " type "+ type +" HLFolderItemType "+folderItemType );
|
||||
|
||||
System.out.println("Item selected" + fileModel);
|
||||
|
||||
eventBus.fireEvent(new SelectedItemEvent(fileModel));
|
||||
|
||||
// treePanel.findNode(getFileModelByIdentifier(fileModel.getIdentifier()));
|
||||
|
|
|
@ -631,7 +631,7 @@ public class ContextMenuTree {
|
|||
contextMenu.getItemByItemId(ConstantsExplorer.USHR).setVisible(true);
|
||||
}else if(selectedItem.isRoot()){ //IS ROOT
|
||||
contextMenu.getItemByItemId(ConstantsExplorer.SHR).setVisible(false); //SHARE
|
||||
contextMenu.getItemByItemId(ConstantsExplorer.ISHF).setVisible(false); //insert shared folder
|
||||
contextMenu.getItemByItemId(ConstantsExplorer.ISHF).setVisible(true); //insert shared folder
|
||||
contextMenu.getItemByItemId(ConstantsExplorer.USHR).setVisible(false); //UNSHARE
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,43 +100,6 @@ public class GWTWorkspaceBuilder {
|
|||
this.logger = logger;
|
||||
}
|
||||
|
||||
// protected GWTWorkspaceFolder buildWorkspaceTree(WorkspaceFolder workspace) throws InternalErrorException
|
||||
// {
|
||||
// logger.trace("buildWorkspaceTree workspace: "+workspace);
|
||||
// return buildGWTWorkspace(workspace, null);
|
||||
// }
|
||||
//
|
||||
// protected GWTWorkspaceFolder buildGWTWorkspace(WorkspaceFolder workspace, GWTWorkspaceFolder parent) throws InternalErrorException
|
||||
// {
|
||||
// GWTProperties gwtProperties = buildGWTProperties(workspace.getProperties());
|
||||
//
|
||||
// List<GWTWorkspaceItem> children = new LinkedList<GWTWorkspaceItem>();
|
||||
//
|
||||
// GWTWorkspaceFolder gwtWorkspace = new GWTWorkspaceFolder(
|
||||
// workspace.getId(),
|
||||
// workspace.getName(),
|
||||
// workspace.getDescription(),
|
||||
// workspace.getOwner().getPortalLogin(),
|
||||
// toDate(workspace.getCreationTime()),
|
||||
// gwtProperties,
|
||||
// toDate(workspace.getLastModificationTime()),
|
||||
// GWTWorkspaceItemAction.valueOf(workspace.getLastAction().toString()),
|
||||
// parent,
|
||||
// children);
|
||||
//
|
||||
// gwtWorkspace.setShared(workspace.getCapabilities().isShared());
|
||||
//
|
||||
// for (WorkspaceItem folder : workspace.getChildren()){
|
||||
// GWTWorkspaceItem gwtFolder = buildGWTWorkspaceItem(folder, gwtWorkspace);
|
||||
// if (gwtFolder!=null) children.add(gwtFolder);
|
||||
// else{
|
||||
// logger.error("gwt conversion return null for folder "+folder);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// return gwtWorkspace;
|
||||
// }
|
||||
|
||||
protected Date toDate(Calendar calendar)
|
||||
{
|
||||
if (calendar == null) return new Date(0);
|
||||
|
@ -186,20 +149,6 @@ public class GWTWorkspaceBuilder {
|
|||
|
||||
}
|
||||
|
||||
// protected GWTWorkspaceItem buildGWTWorkspaceItem(WorkspaceItem item, GWTWorkspaceItem parent) throws InternalErrorException
|
||||
// {
|
||||
// logger.trace("buildGWTWorkspaceItem item: "+item);
|
||||
// switch (item.getType())
|
||||
// {
|
||||
// case FOLDER: return buildGWTWorkspace((WorkspaceFolder) item, (GWTWorkspaceFolder) parent);
|
||||
// case FOLDER_ITEM: return buildGWTFolderItem((FolderItem) item, (GWTWorkspaceFolder) parent);
|
||||
// }
|
||||
//
|
||||
// logger.error("Unknown item type: "+item.getType());
|
||||
//
|
||||
// return null;
|
||||
// }
|
||||
|
||||
protected GWTProperties buildGWTProperties(Properties metadata) throws InternalErrorException
|
||||
{
|
||||
//FIXME temp solution
|
||||
|
@ -208,33 +157,6 @@ public class GWTWorkspaceBuilder {
|
|||
}
|
||||
|
||||
|
||||
// protected GWTFolderItem buildGWTFolderItem(FolderItem item, GWTWorkspaceFolder parent) throws InternalErrorException
|
||||
// {
|
||||
// switch(item.getFolderItemType())
|
||||
// {
|
||||
// case EXTERNAL_IMAGE: return buildGWTExternalImage((ExternalImage) item, parent);
|
||||
// case EXTERNAL_FILE: return buildGWTExternalFile((ExternalFile) item, parent);
|
||||
// case EXTERNAL_PDF_FILE: return buildGWTExternalPDFFile((ExternalPDFFile) item, parent);
|
||||
// case EXTERNAL_URL: return buildGWTExternalUrl((ExternalUrl)item, parent);
|
||||
// case REPORT_TEMPLATE: return buildGWTReportTemplate((ReportTemplate)item, parent);
|
||||
// case REPORT: return buildGWTReport((Report)item, parent);
|
||||
// case QUERY: return buildGWTQuery((Query) item, parent);
|
||||
// case TIME_SERIES: return buildGWTTimeSeries((TimeSeries)item, parent);
|
||||
// case AQUAMAPS_ITEM: return buildGWTAquaMapsItem((AquaMapsItem)item, parent);
|
||||
// case PDF_DOCUMENT: return buildGWTPDFDocument((PDFDocument) item, parent);
|
||||
// case IMAGE_DOCUMENT: return buildGWTImageDocument((ImageDocument) item, parent);
|
||||
// case DOCUMENT: return buildGWTDocument((Document) item, parent);
|
||||
// case URL_DOCUMENT: return buildGWTUrlDocument((UrlDocument) item, parent);
|
||||
// case METADATA: return buildGWTMetadata((Metadata) item, parent);
|
||||
// case WORKFLOW_REPORT: return buildGWTWorkflowReport((WorkflowReport) item, parent);
|
||||
// case WORKFLOW_TEMPLATE: return buildGWTWorkflowTemplate((WorkflowTemplate) item, parent);
|
||||
// }
|
||||
//
|
||||
// logger.error("Unknown folder item type: "+item.getFolderItemType());
|
||||
//
|
||||
// return null;
|
||||
// }
|
||||
|
||||
protected String buildImageUrl(String id)
|
||||
{
|
||||
return buildImageServiceUrl(id, ImageRequestType.IMAGE);
|
||||
|
@ -831,6 +753,7 @@ public class GWTWorkspaceBuilder {
|
|||
|
||||
FolderModel root = new FolderModel(workspaceRoot.getId(),workspaceRoot.getName(),null, true, workspaceRoot.isShared());
|
||||
root.setIsRoot(true);
|
||||
// root.setShareable(true);
|
||||
|
||||
// root.setOwner(new InfoContactModel(workspaceRoot.getOwner().getId(), workspaceRoot.getOwner().getPortalLogin(), "name"));
|
||||
// root.setShared(workspaceRoot.isShared());
|
||||
|
@ -845,22 +768,6 @@ public class GWTWorkspaceBuilder {
|
|||
}
|
||||
|
||||
|
||||
// public GWTWorkspaceItem buildWorkspaceFileModelItems(WorkspaceFolder workspace) throws InternalErrorException {
|
||||
//
|
||||
// List<GWTWorkspaceItem> children = new LinkedList<GWTWorkspaceItem>();
|
||||
//
|
||||
// for (WorkspaceItem folder : workspace.getChildren()){
|
||||
// GWTWorkspaceItem gwtFolder = buildGWTWorkspaceItem(folder, gwtWorkspace);
|
||||
// if (gwtFolder!=null) children.add(gwtFolder);
|
||||
// else{
|
||||
// logger.error("gwt conversion return null for folder "+folder);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// return root;
|
||||
// }
|
||||
|
||||
|
||||
protected List<FileModel> buildGXTListFileModelItem(WorkspaceItem workspaceFolder, FileModel parentFolderModel) throws InternalErrorException
|
||||
{
|
||||
|
||||
|
@ -962,6 +869,7 @@ public class GWTWorkspaceBuilder {
|
|||
fileModel = new FileModel(item.getId(), item.getName(), (FolderModel) parentFolderModel, false, false);
|
||||
FolderItem folderItem = (FolderItem) item;
|
||||
fileModel = setFolderItemType(fileModel, folderItem);
|
||||
fileModel.setShareable(true);
|
||||
break;
|
||||
|
||||
case SHARED_FOLDER:
|
||||
|
|
|
@ -1281,41 +1281,38 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
|||
|
||||
try {
|
||||
|
||||
System.out.println("quiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
|
||||
|
||||
Workspace workspace = getWorkspace();
|
||||
|
||||
// workspaceLogger.trace("shareFolder "+ folder.getIdentifier()
|
||||
// + " name: "+ folder.getName()
|
||||
// + " parent name: " + folder.getParentFileModel().getName()
|
||||
// + " listContacts size: " + listContacts.size());
|
||||
workspaceLogger.trace("shareFolder "+ folder.getIdentifier()
|
||||
+ " name: "+ folder.getName()
|
||||
+ " parent name: " + folder.getParentFileModel().getName()
|
||||
+ " listContacts size: " + listContacts.size());
|
||||
|
||||
// //DEBUG
|
||||
// System.out.println("shareFolder "+ folder.getIdentifier()
|
||||
// + " name: "+ folder.getName()
|
||||
// + " parent name: " + folder.getParentFileModel().getName()
|
||||
// + " listContacts size: " + listContacts.size());
|
||||
//
|
||||
// for (InfoContactModel infoContactModel : listContacts) {
|
||||
// System.out.println("share with "+ infoContactModel.getLogin());
|
||||
// }
|
||||
System.out.println("shareFolder "+ folder.getIdentifier()
|
||||
+ " name: "+ folder.getName()
|
||||
+ " parent name: " + folder.getParentFileModel().getName()
|
||||
+ " listContacts size: " + listContacts.size());
|
||||
|
||||
for (InfoContactModel infoContactModel : listContacts) {
|
||||
System.out.println("share with "+ infoContactModel.getLogin());
|
||||
}
|
||||
|
||||
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
||||
|
||||
List<String> listLogin = builder.getListLoginByInfoContactModel(listContacts);
|
||||
|
||||
// GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
||||
//
|
||||
// List<String> listLogin = builder.getListLoginByInfoContactModel(listContacts);
|
||||
//
|
||||
WorkspaceSharedFolder sharedFolder = null;
|
||||
//
|
||||
// if(listLogin.size()>0){
|
||||
//
|
||||
// if(!isNewFolder)
|
||||
// sharedFolder = workspace.shareFolder(listLogin, folder.getIdentifier());
|
||||
// else
|
||||
// sharedFolder = workspace.createSharedFolder(folder.getName(), "description", listLogin, folder.getParentFileModel().getIdentifier());
|
||||
// }
|
||||
|
||||
if(listLogin.size()>0){
|
||||
|
||||
if(!isNewFolder)
|
||||
sharedFolder = workspace.shareFolder(listLogin, folder.getIdentifier());
|
||||
else
|
||||
sharedFolder = workspace.createSharedFolder(folder.getName(), "description", listLogin, folder.getParentFileModel().getIdentifier());
|
||||
}
|
||||
|
||||
boolean created = sharedFolder==null?false:true;
|
||||
//
|
||||
return created;
|
||||
|
||||
} catch (Exception e) {
|
||||
|
|
Loading…
Reference in New Issue