workspace-sharing-widget/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/WorkspaceSharingController....

98 lines
2.2 KiB
Java

/**
*
*/
package org.gcube.portlets.widgets.workspacesharingwidget.client;
import org.gcube.portlets.widgets.workspacesharingwidget.client.rpc.WorkspaceSharingService;
import org.gcube.portlets.widgets.workspacesharingwidget.client.rpc.WorkspaceSharingServiceAsync;
import org.gcube.portlets.widgets.workspacesharingwidget.shared.ACL_TYPE;
import com.extjs.gxt.ui.client.widget.Window;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
/**
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
* @Feb 25, 2014
*
*/
public class WorkspaceSharingController {
public static final WorkspaceSharingServiceAsync rpcWorkspaceSharingService = (WorkspaceSharingServiceAsync) GWT.create(WorkspaceSharingService.class);
private static String myLogin;
private String workspaceItemId;
private boolean shareOnlyOwner;
private ACL_TYPE defaultPermission;
/**
* This dialog doesn't show setting permissions, it use default server permissions
* @param workspace itemId to share
*/
public WorkspaceSharingController(String itemId) {
}
/**
* This dialog show setting permissions
* @param itemId workace item id
* @param shareOnlyOwner if true, only owner can share
* @param defaultPermission ACL_TYPE default permission
*/
public WorkspaceSharingController(String itemId, boolean shareOnlyOwner, ACL_TYPE defaultPermission) {
this.workspaceItemId = itemId;
this.shareOnlyOwner = shareOnlyOwner;
this.defaultPermission = defaultPermission;
if(shareOnlyOwner){
loadMyLogin();
Window win = new Window();
// win.setSize(c, height)
}
}
private void loadMyLogin() {
rpcWorkspaceSharingService.getMyLogin(new AsyncCallback<String>() {
@Override
public void onFailure(Throwable caught) {
GWT.log("Error on loading my login is empty");
myLogin = "";
}
@Override
public void onSuccess(String result) {
GWT.log("My login is: " + result);
myLogin = result;
}
});
}
public static String getMyLogin() {
return myLogin;
}
public String getWorkspaceItemId() {
return workspaceItemId;
}
public boolean isShareOnlyOwner() {
return shareOnlyOwner;
}
public ACL_TYPE getDefaultPermission() {
return defaultPermission;
}
}