completed object CredentialModel and InfoContactModel

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-sharing-widget@92602 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2014-03-04 11:12:03 +00:00
parent fb45cb20b4
commit 899b99274b
13 changed files with 118 additions and 71 deletions

View File

@ -286,7 +286,7 @@ public class WorkspaceSharingController {
/**
*
* @return
* @return gxt 2.2.5 Dialog
*/
public Dialog getSharingDialog() {
return sharingDialog;

View File

@ -10,12 +10,12 @@ import org.gcube.portlets.widgets.workspacesharingwidget.client.rpc.WorkspaceSha
import org.gcube.portlets.widgets.workspacesharingwidget.client.view.sharing.SmartShare;
import org.gcube.portlets.widgets.workspacesharingwidget.shared.CredentialModel;
import org.gcube.portlets.widgets.workspacesharingwidget.shared.FileModel;
import org.gcube.portlets.widgets.workspacesharingwidget.shared.InfoContactModel;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.widget.Dialog;
import com.extjs.gxt.ui.client.widget.Window;
import com.google.gwt.core.client.GWT;
/**
@ -43,14 +43,14 @@ public class WorkspaceSmartSharingController {
this.listAlreadySharedContact = listAlreadySharedContact;
this.fileModel = file;
smartShare = new SmartShare();
smartShare.setSize(ConstantsSharing.WIDTH_DIALOG+20, ConstantsSharing.HEIGHT_DIALOG-150);
smartShare.setSize(ConstantsSharing.WIDTH_DIALOG+20, ConstantsSharing.HEIGHT_DIALOG-170);
updateSharingDialog();
addListenersSharingDialog();
}
/**
* Example of listners
* Example of listeners
*/
private void addListenersSharingDialog(){
@ -61,6 +61,19 @@ public class WorkspaceSmartSharingController {
if(smartShare.isValidForm(true)){
//THAT'S OK
smartShare.getSharedListUsers(); //@return the selected contacts (as InfoContactModel)
smartShare.getSharedListUsersCredential(); //@return tthe selected contacts (as CredentialModel)
for (InfoContactModel contact : smartShare.getSharedListUsers()) {
System.out.println(contact);
}
for (CredentialModel credential : smartShare.getSharedListUsersCredential()) {
System.out.println(credential);
}
}
}
@ -83,9 +96,9 @@ public class WorkspaceSmartSharingController {
/**
*
* @return
* @return gxt 2.2.5 Dialog
*/
public Window getSharingDialog() {
public Dialog getSharingDialog() {
return smartShare;
}

View File

@ -22,5 +22,8 @@ public interface Icons extends ClientBundle {
@Source("info-icon.png")
ImageResource info();
@Source("share.png")
ImageResource share();
}

View File

@ -39,4 +39,11 @@ public class Resources {
return AbstractImagePrototype.create(ICONS.info());
}
/**
* @return
*/
public static AbstractImagePrototype getIconShare() {
return AbstractImagePrototype.create(ICONS.share());
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B

View File

@ -7,6 +7,7 @@ import java.util.ArrayList;
import java.util.List;
import org.gcube.portlets.widgets.workspacesharingwidget.client.ConstantsSharing;
import org.gcube.portlets.widgets.workspacesharingwidget.client.resources.Resources;
import org.gcube.portlets.widgets.workspacesharingwidget.client.view.sharing.multisuggest.MultiDragContact;
import org.gcube.portlets.widgets.workspacesharingwidget.client.view.sharing.multisuggest.MultiValuePanel;
import org.gcube.portlets.widgets.workspacesharingwidget.shared.CredentialModel;
@ -89,9 +90,7 @@ public class SmartShare extends Dialog{
public void updateSharingDialog(FileModel fileModel, List<CredentialModel> listAlreadySharedContact){
this.fileToShare = fileModel;
setButtons(Dialog.OKCANCEL);
String heading = "Share";
if(fileModel.isDirectory())
heading+=" folder: ";
@ -186,17 +185,60 @@ public class SmartShare extends Dialog{
setResizable(true);
setButtonAlign(HorizontalAlignment.CENTER);
setButtons(Dialog.OKCANCEL);
setIcon(Resources.getIconShare());
}
/**
*
* @return the selected contacts (as InfoContactModel)
*/
public List<InfoContactModel> getSharedListUsers() {
// printSelectedUser();
return suggestPanel.getSelectedUser();
List<InfoContactModel> contacts = new ArrayList<InfoContactModel>();
for (InfoContactModel wsuser : suggestPanel.getSelectedUser()) {
CredentialModel credential = getCredentialModelFromInfoContactModel(wsuser);
wsuser.setReferenceCredential(credential);
contacts.add(wsuser);
}
return contacts;
}
/**
*
* @return the selected contacts (as CredentialModel)
*/
public List<CredentialModel> getSharedListUsersCredential() {
return suggestPanel.getSelectedUserCredential();
List<CredentialModel> toReturn = new ArrayList<CredentialModel>();
for (InfoContactModel wsuser : suggestPanel.getSelectedUser()) {
CredentialModel credential = wsuser.getReferenceCredential();
if(credential==null)
credential = new CredentialModel(null, "UNKWNOWN LOGIN", wsuser.isGroup());
toReturn.add(credential);
}
return toReturn;
}
private CredentialModel getCredentialModelFromInfoContactModel(InfoContactModel infoContact){
if(infoContact==null)
return null;
if(infoContact.getReferenceCredential()==null){
return new CredentialModel(null, infoContact.getLogin(), infoContact.isGroup());
}else if(infoContact.getReferenceCredential()!=null)
return infoContact.getReferenceCredential();
return null;
}
@ -309,7 +351,7 @@ public class SmartShare extends Dialog{
/**
*
* @param displayAlert
* @param displayAlert in case of error
* @return
*/
public boolean isValidForm(boolean displayAlert){

View File

@ -157,26 +157,6 @@ public class MultiValuePanel extends Composite {
}
}
/**
*
* @return the selected contacts (user logins e.g. pino.pini)
*/
public List<CredentialModel> getSelectedUserCredential() {
if (users == null)
return new ArrayList<CredentialModel>();
else {
List<CredentialModel> toReturn = new ArrayList<CredentialModel>();
for (String login : itemsSelected) {
InfoContactModel wsuser = users.get(login);
if(wsuser!= null && !toReturn.contains(wsuser))
toReturn.add(wsuser.getReferenceCredential());
}
return toReturn;
}
}
private void removeListItem(ListItem displayItem, BulletList list) {
GWT.log("Removing: " + displayItem.getWidget(0).getElement().getInnerHTML(), null);
itemsSelected.remove(displayItem.getWidget(0).getElement().getInnerHTML());

View File

@ -56,39 +56,39 @@ public class GWTWorkspaceSharingBuilder {
hashTestUser.put("federico.defaveri",
new InfoContactModel(
"federico.defaveri", "federico.defaveri",
"Federico de Faveri"));
"Federico de Faveri", false));
hashTestUser.put("antonio.gioia",
new InfoContactModel(
"antonio.gioia", "antonio.gioia", "Antonio Gioia"));
"antonio.gioia", "antonio.gioia", "Antonio Gioia", false));
hashTestUser.put("fabio.sinibaldi",
new InfoContactModel(
"fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi"));
"fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi",false));
hashTestUser.put("pasquale.pagano",
new InfoContactModel(
"pasquale.pagano", "pasquale.pagano", "Pasquale Pagano"));
"pasquale.pagano", "pasquale.pagano", "Pasquale Pagano",false));
hashTestUser.put("francesco.mangiacrapa",
new InfoContactModel(
"francesco.mangiacrapa", "francesco.mangiacrapa",
"Francesco Mangiacrapa"));
"Francesco Mangiacrapa",false));
hashTestUser.put("massimiliano.assante",
new InfoContactModel(
"massimiliano.assante", "massimiliano.assante",
"Massimiliano Assante"));
"Massimiliano Assante",false));
hashTestUser.put("leonardo.candela",
new InfoContactModel(
"leonardo.candela", "leonardo.candela",
"Leonardo Candela"));
"Leonardo Candela",false));
hashTestUser.put("valentina.marioli",
new InfoContactModel(
"valentina.marioli", "valentina.marioli",
"Valentina Marioli"));
"Valentina Marioli",false));
// hashTestUser.put(WsUtil.TEST_USER.toString(),
// new InfoContactModel(
@ -127,10 +127,9 @@ public class GWTWorkspaceSharingBuilder {
for (UserModel userModel : listUsers) {
String fullName = userModel.getFullname();
//TODO ISGROUP?
if (fullName != null && !fullName.isEmpty())
listContactsModel
.add(new InfoContactModel(userModel.getUserId() + "",
userModel.getScreenName(), fullName));
listContactsModel.add(new InfoContactModel(userModel.getUserId() + "",userModel.getScreenName(), fullName,false));
else
logger.info("buildGXTListContactsModel doesn't return user: "
+ userModel.getScreenName()
@ -169,7 +168,8 @@ public class GWTWorkspaceSharingBuilder {
portalLogin = "";
}
return new InfoContactModel(portalLogin, portalLogin,UserUtil.getUserFullName(portalLogin));
//TODO ISGROUP
return new InfoContactModel(portalLogin, portalLogin,UserUtil.getUserFullName(portalLogin), false);
}
@ -199,8 +199,9 @@ public class GWTWorkspaceSharingBuilder {
public InfoContactModel buildGXTInfoContactModel(User user)
throws InternalErrorException {
//TODO ISGROUP
if (user != null)
return new InfoContactModel(user.getId(), user.getPortalLogin(), UserUtil.getUserFullName(user.getPortalLogin()));
return new InfoContactModel(user.getId(), user.getPortalLogin(), UserUtil.getUserFullName(user.getPortalLogin()),false);
return new InfoContactModel();
}

View File

@ -89,15 +89,15 @@ public class WorkspaceSharingServiceImpl extends RemoteServiceServlet implements
logger.warn("WORKSPACE PORTLET IS IN TEST MODE - RETURN TEST USERS");
List<InfoContactModel> listContactsModel = new ArrayList<InfoContactModel>();
// //TEST USERS
listContactsModel.add(new InfoContactModel("federico.defaveri", "federico.defaveri", "Federico de Faveri"));
listContactsModel.add(new InfoContactModel("antonio.gioia", "antonio.gioia", "Antonio Gioia"));
listContactsModel.add(new InfoContactModel("fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi"));
listContactsModel.add(new InfoContactModel("pasquale.pagano", "pasquale.pagano", "Pasquale Pagano"));
listContactsModel.add(new InfoContactModel("federico.defaveri", "federico.defaveri", "Federico de Faveri", false));
listContactsModel.add(new InfoContactModel("antonio.gioia", "antonio.gioia", "Antonio Gioia", false));
listContactsModel.add(new InfoContactModel("fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi", false));
listContactsModel.add(new InfoContactModel("pasquale.pagano", "pasquale.pagano", "Pasquale Pagano", false));
// listContactsModel.add(new InfoContactModel(WsUtil.TEST_USER, WsUtil.TEST_USER, WsUtil.TEST_USER_FULL_NAME));
listContactsModel.add(new InfoContactModel("francesco.mangiacrapa", "francesco.mangiacrapa", "Francesco Mangiacrapa"));
listContactsModel.add(new InfoContactModel("massimiliano.assante", "massimiliano.assante", "Massimiliano Assante"));
listContactsModel.add(new InfoContactModel("valentina.marioli", "valentina.marioli", "Valentina Marioli"));
listContactsModel.add(new InfoContactModel("leonardo.candela", "leonardo.candela", "Leonardo Candela"));
listContactsModel.add(new InfoContactModel("francesco.mangiacrapa", "francesco.mangiacrapa", "Francesco Mangiacrapa", false));
listContactsModel.add(new InfoContactModel("massimiliano.assante", "massimiliano.assante", "Massimiliano Assante", false));
listContactsModel.add(new InfoContactModel("valentina.marioli", "valentina.marioli", "Valentina Marioli", false));
listContactsModel.add(new InfoContactModel("leonardo.candela", "leonardo.candela", "Leonardo Candela", false));
return listContactsModel;
}

View File

@ -90,19 +90,19 @@ public class DiffereceBeetweenInfoContactModel {
public static void main(String[] args) {
List<InfoContactModel> listA = new ArrayList<InfoContactModel>();
listA.add(new InfoContactModel("federico.defaveri", "federico.defaveri", "Federico de Faveri"));
listA.add(new InfoContactModel("antonio.gioia", "antonio.gioia", "Antonio Gioia"));
listA.add(new InfoContactModel("fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi"));
listA.add(new InfoContactModel("pasquale.pagano", "pasquale.pagano", "Pasquale Pagano"));
listA.add(new InfoContactModel("francesco.mangiacrapa", "francesco.mangiacrapa", "Francesco Mangiacrapa"));
listA.add(new InfoContactModel("massimiliano.assante", "massimiliano.assante", "Massimiliano Assante"));
listA.add(new InfoContactModel("federico.defaveri", "federico.defaveri", "Federico de Faveri", false));
listA.add(new InfoContactModel("antonio.gioia", "antonio.gioia", "Antonio Gioia",false));
listA.add(new InfoContactModel("fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi",false));
listA.add(new InfoContactModel("pasquale.pagano", "pasquale.pagano", "Pasquale Pagano",false));
listA.add(new InfoContactModel("francesco.mangiacrapa", "francesco.mangiacrapa", "Francesco Mangiacrapa",false));
listA.add(new InfoContactModel("massimiliano.assante", "massimiliano.assante", "Massimiliano Assante",false));
List<InfoContactModel> listB = new ArrayList<InfoContactModel>();
listB.add(new InfoContactModel("federico.defaveri", "federico.defaveri", "Federico de Faveri"));
listB.add(new InfoContactModel("fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi"));
listB.add(new InfoContactModel("antonio.gioia", "antonio.gioia", "Antonio Gioia"));
listB.add(new InfoContactModel("pasquale.pagano", "pasquale.pagano", "Pasquale Pagano"));
listB.add(new InfoContactModel("federico.defaveri", "federico.defaveri", "Federico de Faveri",false));
listB.add(new InfoContactModel("fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi",false));
listB.add(new InfoContactModel("antonio.gioia", "antonio.gioia", "Antonio Gioia",false));
listB.add(new InfoContactModel("pasquale.pagano", "pasquale.pagano", "Pasquale Pagano",false));
DiffereceBeetweenInfoContactModel diff = new DiffereceBeetweenInfoContactModel(listA, listB);

View File

@ -156,8 +156,9 @@ public class WsUtil {
GWTWorkspaceSharingBuilder builder = new GWTWorkspaceSharingBuilder();
//ADDED 03/09/2013
builder.setUserLogged(new InfoContactModel(session.getUsername(), session.getUsername(), session.getUserFullName()));
//ADDED 03/09/2013
//TODO IS GROUP?
builder.setUserLogged(new InfoContactModel(session.getUsername(), session.getUsername(), session.getUserFullName(), false));
session.setAttribute(WORKSPACEBUILDER_ATTRIBUTE, builder);
}

View File

@ -15,7 +15,7 @@ public class InfoContactModel extends BaseModelData implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1598054293247763508L;
private static final long serialVersionUID = -4098652774574958363L;
protected static final String ID = "id";
@ -28,17 +28,18 @@ public class InfoContactModel extends BaseModelData implements Serializable {
public InfoContactModel() {}
public InfoContactModel(String id, String login, String fullName) {
public InfoContactModel(String id, String login, String fullName, boolean isGroup) {
setId(id);
setLogin(login);
setName(fullName);
setIsGroup(isGroup);
}
public void setIsGroup(boolean isGroup){
set(ISGROUP, isGroup);
}
public Boolean isGroup(boolean isGroup){
public Boolean isGroup(){
return (Boolean) get(ISGROUP);
}
@ -93,8 +94,8 @@ public class InfoContactModel extends BaseModelData implements Serializable {
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("InfoContactModel [referenceCredential=");
builder.append(referenceCredential);
builder.append("InfoContactModel [isGroup()=");
builder.append(isGroup());
builder.append(", getName()=");
builder.append(getName());
builder.append(", getId()=");
@ -106,5 +107,4 @@ public class InfoContactModel extends BaseModelData implements Serializable {
builder.append("]");
return builder.toString();
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B