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() { public Dialog getSharingDialog() {
return sharingDialog; 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.client.view.sharing.SmartShare;
import org.gcube.portlets.widgets.workspacesharingwidget.shared.CredentialModel; import org.gcube.portlets.widgets.workspacesharingwidget.shared.CredentialModel;
import org.gcube.portlets.widgets.workspacesharingwidget.shared.FileModel; 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.BaseEvent;
import com.extjs.gxt.ui.client.event.Events; import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener; import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.widget.Dialog; import com.extjs.gxt.ui.client.widget.Dialog;
import com.extjs.gxt.ui.client.widget.Window;
import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT;
/** /**
@ -43,14 +43,14 @@ public class WorkspaceSmartSharingController {
this.listAlreadySharedContact = listAlreadySharedContact; this.listAlreadySharedContact = listAlreadySharedContact;
this.fileModel = file; this.fileModel = file;
smartShare = new SmartShare(); smartShare = new SmartShare();
smartShare.setSize(ConstantsSharing.WIDTH_DIALOG+20, ConstantsSharing.HEIGHT_DIALOG-150); smartShare.setSize(ConstantsSharing.WIDTH_DIALOG+20, ConstantsSharing.HEIGHT_DIALOG-170);
updateSharingDialog(); updateSharingDialog();
addListenersSharingDialog(); addListenersSharingDialog();
} }
/** /**
* Example of listners * Example of listeners
*/ */
private void addListenersSharingDialog(){ private void addListenersSharingDialog(){
@ -61,6 +61,19 @@ public class WorkspaceSmartSharingController {
if(smartShare.isValidForm(true)){ if(smartShare.isValidForm(true)){
//THAT'S OK //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; return smartShare;
} }

View File

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

View File

@ -39,4 +39,11 @@ public class Resources {
return AbstractImagePrototype.create(ICONS.info()); 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 java.util.List;
import org.gcube.portlets.widgets.workspacesharingwidget.client.ConstantsSharing; 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.MultiDragContact;
import org.gcube.portlets.widgets.workspacesharingwidget.client.view.sharing.multisuggest.MultiValuePanel; import org.gcube.portlets.widgets.workspacesharingwidget.client.view.sharing.multisuggest.MultiValuePanel;
import org.gcube.portlets.widgets.workspacesharingwidget.shared.CredentialModel; 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){ public void updateSharingDialog(FileModel fileModel, List<CredentialModel> listAlreadySharedContact){
this.fileToShare = fileModel; this.fileToShare = fileModel;
setButtons(Dialog.OKCANCEL);
String heading = "Share"; String heading = "Share";
if(fileModel.isDirectory()) if(fileModel.isDirectory())
heading+=" folder: "; heading+=" folder: ";
@ -186,17 +185,60 @@ public class SmartShare extends Dialog{
setResizable(true); setResizable(true);
setButtonAlign(HorizontalAlignment.CENTER); setButtonAlign(HorizontalAlignment.CENTER);
setButtons(Dialog.OKCANCEL); setButtons(Dialog.OKCANCEL);
setIcon(Resources.getIconShare());
} }
/**
*
* @return the selected contacts (as InfoContactModel)
*/
public List<InfoContactModel> getSharedListUsers() { public List<InfoContactModel> getSharedListUsers() {
// printSelectedUser(); // 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() { 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 * @return
*/ */
public boolean isValidForm(boolean displayAlert){ 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) { private void removeListItem(ListItem displayItem, BulletList list) {
GWT.log("Removing: " + displayItem.getWidget(0).getElement().getInnerHTML(), null); GWT.log("Removing: " + displayItem.getWidget(0).getElement().getInnerHTML(), null);
itemsSelected.remove(displayItem.getWidget(0).getElement().getInnerHTML()); itemsSelected.remove(displayItem.getWidget(0).getElement().getInnerHTML());

View File

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

View File

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

View File

@ -156,8 +156,9 @@ public class WsUtil {
GWTWorkspaceSharingBuilder builder = new GWTWorkspaceSharingBuilder(); GWTWorkspaceSharingBuilder builder = new GWTWorkspaceSharingBuilder();
//ADDED 03/09/2013 //ADDED 03/09/2013
builder.setUserLogged(new InfoContactModel(session.getUsername(), session.getUsername(), session.getUserFullName())); //TODO IS GROUP?
builder.setUserLogged(new InfoContactModel(session.getUsername(), session.getUsername(), session.getUserFullName(), false));
session.setAttribute(WORKSPACEBUILDER_ATTRIBUTE, builder); 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"; protected static final String ID = "id";
@ -28,17 +28,18 @@ public class InfoContactModel extends BaseModelData implements Serializable {
public InfoContactModel() {} public InfoContactModel() {}
public InfoContactModel(String id, String login, String fullName) { public InfoContactModel(String id, String login, String fullName, boolean isGroup) {
setId(id); setId(id);
setLogin(login); setLogin(login);
setName(fullName); setName(fullName);
setIsGroup(isGroup);
} }
public void setIsGroup(boolean isGroup){ public void setIsGroup(boolean isGroup){
set(ISGROUP, isGroup); set(ISGROUP, isGroup);
} }
public Boolean isGroup(boolean isGroup){ public Boolean isGroup(){
return (Boolean) get(ISGROUP); return (Boolean) get(ISGROUP);
} }
@ -93,8 +94,8 @@ public class InfoContactModel extends BaseModelData implements Serializable {
@Override @Override
public String toString() { public String toString() {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.append("InfoContactModel [referenceCredential="); builder.append("InfoContactModel [isGroup()=");
builder.append(referenceCredential); builder.append(isGroup());
builder.append(", getName()="); builder.append(", getName()=");
builder.append(getName()); builder.append(getName());
builder.append(", getId()="); builder.append(", getId()=");
@ -106,5 +107,4 @@ public class InfoContactModel extends BaseModelData implements Serializable {
builder.append("]"); builder.append("]");
return builder.toString(); return builder.toString();
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B