sharing with groups completed
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@92885 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
0deded17bf
commit
649fbf79d4
|
@ -0,0 +1,47 @@
|
|||
package org.gcube.portlets.user.workspace.client.model;
|
||||
|
||||
import org.gcube.portlets.user.workspace.client.resources.Resources;
|
||||
|
||||
import com.google.gwt.user.client.ui.Image;
|
||||
|
||||
/**
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
*
|
||||
*/
|
||||
public class ExtendedInfoContactModel extends InfoContactModel {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -9115514914951357467L;
|
||||
|
||||
public static final String ICON = "icon";
|
||||
|
||||
|
||||
public ExtendedInfoContactModel() {}
|
||||
|
||||
public ExtendedInfoContactModel(String id, String login, String fullName, boolean isGroup) {
|
||||
super(id, login, fullName, isGroup);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return use this client side
|
||||
*/
|
||||
public void setIcon() {
|
||||
set(ICON, getIcon());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return use this client side
|
||||
*/
|
||||
public Image getIcon() {
|
||||
|
||||
if (!this.isGroup()) // NOT IS GROUP
|
||||
return Resources.getIconShareUser().createImage();
|
||||
else
|
||||
return Resources.getIconShareGroup().createImage();
|
||||
}
|
||||
|
||||
}
|
|
@ -12,29 +12,48 @@ import com.extjs.gxt.ui.client.data.BaseModelData;
|
|||
public class InfoContactModel extends BaseModelData implements Serializable {
|
||||
|
||||
|
||||
protected static final String ID = "id";
|
||||
public static final String FULLNAME = "fullname";
|
||||
public static final String LOGIN = "login";
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static final long serialVersionUID = 5439804025263802843L;
|
||||
|
||||
protected static final String ID = "id";
|
||||
public static final String FULLNAME = "fullname";
|
||||
public static final String LOGIN = "login";
|
||||
public static final String ISGROUP = "isgroup";
|
||||
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param isGroup
|
||||
*/
|
||||
public void setIsGroup(boolean isGroup) {
|
||||
set(ISGROUP,isGroup);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param isGroup
|
||||
*/
|
||||
public boolean isGroup() {
|
||||
return (Boolean) get(ISGROUP);
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
set(FULLNAME,name);
|
||||
|
||||
}
|
||||
|
||||
public String getName(){
|
||||
return get(FULLNAME);
|
||||
String name = (String) (get(FULLNAME)!=null?get(FULLNAME):"");
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
|
@ -64,7 +83,9 @@ public class InfoContactModel extends BaseModelData implements Serializable {
|
|||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("InfoContactModel [getName()=");
|
||||
builder.append("InfoContactModel [isGroup()=");
|
||||
builder.append(isGroup());
|
||||
builder.append(", getName()=");
|
||||
builder.append(getName());
|
||||
builder.append(", getId()=");
|
||||
builder.append(getId());
|
||||
|
@ -73,6 +94,4 @@ public class InfoContactModel extends BaseModelData implements Serializable {
|
|||
builder.append("]");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -307,5 +307,11 @@ public interface Icons extends ClientBundle {
|
|||
|
||||
@Source("icons/specialfolder2.png")
|
||||
ImageResource specialFolder();
|
||||
|
||||
@Source("icons/shareuser.png")
|
||||
ImageResource user();
|
||||
|
||||
@Source("icons/sharegroup.png")
|
||||
ImageResource groupusers();
|
||||
}
|
||||
|
||||
|
|
|
@ -80,6 +80,16 @@ public class Resources {
|
|||
return AbstractImagePrototype.create(ICONS.users());
|
||||
}
|
||||
|
||||
public static AbstractImagePrototype getIconShareUser(){
|
||||
|
||||
return AbstractImagePrototype.create(ICONS.user());
|
||||
}
|
||||
|
||||
public static AbstractImagePrototype getIconShareGroup(){
|
||||
|
||||
return AbstractImagePrototype.create(ICONS.groupusers());
|
||||
}
|
||||
|
||||
public static AbstractImagePrototype getIconSpecialFolder(){
|
||||
|
||||
return AbstractImagePrototype.create(ICONS.specialFolder());
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 854 B |
Binary file not shown.
After Width: | Height: | Size: 760 B |
|
@ -175,14 +175,17 @@ public class DialogShareFolder extends Dialog {
|
|||
userStore.getListSharedUserByFolderId(folder.getIdentifier(), new AsyncCallback<List<InfoContactModel>>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<InfoContactModel> result) {
|
||||
public void onSuccess(List<InfoContactModel> listContacts) {
|
||||
|
||||
for (InfoContactModel infoContactModel : result) {
|
||||
if(infoContactModel.getName()!=null){
|
||||
listAlreadyShared.add(infoContactModel);
|
||||
suggestPanel.addRecipient(infoContactModel.getName(),false);
|
||||
}
|
||||
}
|
||||
if(listContacts!=null){
|
||||
for (InfoContactModel infoContactModel : listContacts) {
|
||||
System.out.println(infoContactModel);
|
||||
if(infoContactModel!=null && infoContactModel.getName()!=null){
|
||||
listAlreadyShared.add(infoContactModel);
|
||||
suggestPanel.addRecipient(infoContactModel.getName(),false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lc.unmask();
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
|
||||
import org.gcube.portlets.user.workspace.client.model.ExtendedInfoContactModel;
|
||||
import org.gcube.portlets.user.workspace.client.model.InfoContactModel;
|
||||
import org.gcube.portlets.user.workspace.client.resources.Resources;
|
||||
|
||||
|
@ -18,6 +19,7 @@ import com.extjs.gxt.ui.client.event.ButtonEvent;
|
|||
import com.extjs.gxt.ui.client.event.SelectionListener;
|
||||
import com.extjs.gxt.ui.client.store.ListStore;
|
||||
import com.extjs.gxt.ui.client.store.Store;
|
||||
import com.extjs.gxt.ui.client.store.StoreSorter;
|
||||
import com.extjs.gxt.ui.client.util.Margins;
|
||||
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
||||
import com.extjs.gxt.ui.client.widget.Dialog;
|
||||
|
@ -29,8 +31,10 @@ import com.extjs.gxt.ui.client.widget.button.Button;
|
|||
import com.extjs.gxt.ui.client.widget.form.StoreFilterField;
|
||||
import com.extjs.gxt.ui.client.widget.form.TextArea;
|
||||
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
|
||||
import com.extjs.gxt.ui.client.widget.grid.ColumnData;
|
||||
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
|
||||
import com.extjs.gxt.ui.client.widget.grid.Grid;
|
||||
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
|
||||
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
||||
import com.extjs.gxt.ui.client.widget.layout.RowData;
|
||||
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
|
||||
|
@ -40,11 +44,11 @@ public class MultiDragContact extends Dialog {
|
|||
|
||||
private GridDropTarget dropSource;
|
||||
private GridDropTarget dropTarget;
|
||||
private ListStore<InfoContactModel> storeSource = new ListStore<InfoContactModel>();
|
||||
private ListStore<InfoContactModel> storeTarget = new ListStore<InfoContactModel>();
|
||||
private ListStore<ExtendedInfoContactModel> storeSource = new ListStore<ExtendedInfoContactModel>();
|
||||
private ListStore<ExtendedInfoContactModel> storeTarget = new ListStore<ExtendedInfoContactModel>();
|
||||
private TextArea textAreaAlreadyShared;
|
||||
private Grid<InfoContactModel> gridAllContacts;
|
||||
private Grid<InfoContactModel> gridShareWith;
|
||||
private Grid<ExtendedInfoContactModel> gridAllContacts;
|
||||
private Grid<ExtendedInfoContactModel> gridShareWith;
|
||||
|
||||
public MultiDragContact() {
|
||||
setStyleAttribute("margin", "10px");
|
||||
|
@ -57,6 +61,10 @@ public class MultiDragContact extends Dialog {
|
|||
setResizable(true);
|
||||
setButtonAlign(HorizontalAlignment.CENTER);
|
||||
setButtons(Dialog.OKCANCEL);
|
||||
//SORTING STORE
|
||||
setGropUserStoreSorter(storeSource);
|
||||
setGropUserStoreSorter(storeTarget);
|
||||
|
||||
|
||||
ContentPanel cpAlreadyShared = new ContentPanel();
|
||||
cpAlreadyShared.setSize(530, 60);
|
||||
|
@ -115,7 +123,7 @@ public class MultiDragContact extends Dialog {
|
|||
VerticalPanel vp = new VerticalPanel();
|
||||
vp.setHorizontalAlign(HorizontalAlignment.CENTER);
|
||||
vp.add(new Label("All Contacts"));
|
||||
gridAllContacts = new Grid<InfoContactModel>(storeSource, createColumnModel());
|
||||
gridAllContacts = new Grid<ExtendedInfoContactModel>(storeSource, createColumnModel());
|
||||
|
||||
storeSource.setDefaultSort(InfoContactModel.FULLNAME, SortDir.ASC);
|
||||
storeSource.sort(InfoContactModel.FULLNAME, SortDir.ASC);
|
||||
|
@ -124,11 +132,11 @@ public class MultiDragContact extends Dialog {
|
|||
storeTarget.sort(InfoContactModel.FULLNAME, SortDir.ASC);
|
||||
|
||||
|
||||
StoreFilterField<InfoContactModel> filter = new StoreFilterField<InfoContactModel>() {
|
||||
StoreFilterField<ExtendedInfoContactModel> filter = new StoreFilterField<ExtendedInfoContactModel>() {
|
||||
|
||||
@Override
|
||||
protected boolean doSelect(Store<InfoContactModel> store,
|
||||
InfoContactModel parent, InfoContactModel record,
|
||||
protected boolean doSelect(Store<ExtendedInfoContactModel> store,
|
||||
ExtendedInfoContactModel parent, ExtendedInfoContactModel record,
|
||||
String property, String filter) {
|
||||
|
||||
String name = record.getName();
|
||||
|
@ -151,8 +159,9 @@ public class MultiDragContact extends Dialog {
|
|||
filter.bind(storeSource);
|
||||
|
||||
gridAllContacts.setSize(250,310);
|
||||
gridAllContacts.setBorders(false);
|
||||
gridAllContacts.setAutoExpandColumn(InfoContactModel.FULLNAME);
|
||||
gridAllContacts.setBorders(false);
|
||||
gridAllContacts.getView().setAutoFill(true);
|
||||
// gridAllContacts.setAutoExpandColumn(InfoContactModel.FULLNAME);
|
||||
gridAllContacts.setBorders(true);
|
||||
|
||||
vp.add(hp);
|
||||
|
@ -167,13 +176,13 @@ public class MultiDragContact extends Dialog {
|
|||
vp = new VerticalPanel();
|
||||
vp.setHorizontalAlign(HorizontalAlignment.CENTER);
|
||||
vp.add(new Label("Share with..."));
|
||||
gridShareWith = new Grid<InfoContactModel>(storeTarget, createColumnModel());
|
||||
gridShareWith = new Grid<ExtendedInfoContactModel>(storeTarget, createColumnModel());
|
||||
|
||||
StoreFilterField<InfoContactModel> filter2 = new StoreFilterField<InfoContactModel>() {
|
||||
StoreFilterField<ExtendedInfoContactModel> filter2 = new StoreFilterField<ExtendedInfoContactModel>() {
|
||||
|
||||
@Override
|
||||
protected boolean doSelect(Store<InfoContactModel> store,
|
||||
InfoContactModel parent, InfoContactModel record,
|
||||
protected boolean doSelect(Store<ExtendedInfoContactModel> store,
|
||||
ExtendedInfoContactModel parent, ExtendedInfoContactModel record,
|
||||
String property, String filter) {
|
||||
|
||||
String name = record.getName();
|
||||
|
@ -199,7 +208,8 @@ public class MultiDragContact extends Dialog {
|
|||
|
||||
gridShareWith.setSize(250, 310);
|
||||
gridShareWith.setBorders(false);
|
||||
gridShareWith.setAutoExpandColumn(InfoContactModel.FULLNAME);
|
||||
gridShareWith.getView().setAutoFill(true);
|
||||
// gridShareWith.setAutoExpandColumn(InfoContactModel.FULLNAME);
|
||||
gridShareWith.setBorders(true);
|
||||
vp.add(hp);
|
||||
vp.add(gridShareWith);
|
||||
|
@ -239,34 +249,51 @@ public class MultiDragContact extends Dialog {
|
|||
|
||||
private ColumnModel createColumnModel() {
|
||||
List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
|
||||
|
||||
ColumnConfig column = new ColumnConfig();
|
||||
column.setId(InfoContactModel.FULLNAME);
|
||||
column.setHeader("Name");
|
||||
column.setWidth(200);
|
||||
configs.add(column);
|
||||
|
||||
// column = new ColumnConfig();
|
||||
// column.setId("symbol");
|
||||
// column.setHeader("Symbol");
|
||||
// column.setWidth(100);
|
||||
// configs.add(column);
|
||||
|
||||
return new ColumnModel(configs);
|
||||
|
||||
ColumnConfig icon = new ColumnConfig(ExtendedInfoContactModel.ICON, "", 25);
|
||||
configs.add(icon);
|
||||
|
||||
ColumnConfig columnName = new ColumnConfig(ExtendedInfoContactModel.FULLNAME, "Name", 150);
|
||||
configs.add(columnName);
|
||||
|
||||
ColumnConfig type = new ColumnConfig(ExtendedInfoContactModel.ISGROUP, "Type", 50);
|
||||
configs.add(type);
|
||||
|
||||
|
||||
GridCellRenderer<ExtendedInfoContactModel> typeRender = new GridCellRenderer<ExtendedInfoContactModel>() {
|
||||
@Override
|
||||
public String render(ExtendedInfoContactModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ExtendedInfoContactModel> store, Grid<ExtendedInfoContactModel> grid) {
|
||||
Boolean isGroup = (Boolean) model.get(property);
|
||||
String color = "#0F4FA8";
|
||||
String val = "";
|
||||
if(isGroup){
|
||||
val = "Group";
|
||||
color = "#05316D";
|
||||
return "<span style='font-weight: bold; color:" + color + "'>" + val + "</span>";
|
||||
}else{
|
||||
val = "User";
|
||||
return "<span style='font-weight: bold; color:" + color + "'>" + val + "</span>";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
type.setRenderer(typeRender);
|
||||
return new ColumnModel(configs);
|
||||
}
|
||||
|
||||
public void addSourceContacts(List<InfoContactModel> listContact){
|
||||
|
||||
gridAllContacts.mask("", ConstantsExplorer.LOADINGSTYLE);
|
||||
if(listContact!=null && listContact.size()>0){
|
||||
List<ExtendedInfoContactModel> listExtended = new ArrayList<ExtendedInfoContactModel>();
|
||||
//SETTING ICONS
|
||||
for (InfoContactModel infoContactModel : listContact) {
|
||||
ExtendedInfoContactModel ext = new ExtendedInfoContactModel(infoContactModel.getId(), infoContactModel.getLogin(), infoContactModel.getName(), infoContactModel.isGroup());
|
||||
ext.setIcon();
|
||||
listExtended.add(ext);
|
||||
}
|
||||
|
||||
// for (InfoContactModel infoContactModel : listContact) {
|
||||
//
|
||||
// if(infoContactModel.getName()!=null && !infoContactModel.getName().isEmpty())
|
||||
// storeSource.add(infoContactModel);
|
||||
// }
|
||||
|
||||
storeSource.add(listContact);
|
||||
storeSource.add(listExtended);
|
||||
}
|
||||
gridAllContacts.unmask();
|
||||
}
|
||||
|
@ -289,17 +316,64 @@ public class MultiDragContact extends Dialog {
|
|||
}
|
||||
|
||||
public void addTargetContacts(List<InfoContactModel> listContact){
|
||||
if(listContact!=null && listContact.size()>0)
|
||||
storeTarget.add(listContact);
|
||||
if(listContact!=null && listContact.size()>0){
|
||||
storeTarget.add(convetFromInfoContactModel(listContact));
|
||||
}
|
||||
}
|
||||
|
||||
private List<ExtendedInfoContactModel> convetFromInfoContactModel(List<InfoContactModel> listContact){
|
||||
|
||||
if(listContact!=null){
|
||||
List<ExtendedInfoContactModel> listExtended = new ArrayList<ExtendedInfoContactModel>(listContact.size());
|
||||
//SETTING ICONS
|
||||
for (InfoContactModel infoContactModel : listContact) {
|
||||
listExtended.add(convetFromInfoContactModel(infoContactModel));
|
||||
}
|
||||
return listExtended;
|
||||
}
|
||||
return new ArrayList<ExtendedInfoContactModel>();
|
||||
}
|
||||
|
||||
private ExtendedInfoContactModel convetFromInfoContactModel(InfoContactModel infoContactModel){
|
||||
if(infoContactModel!=null){
|
||||
ExtendedInfoContactModel ext = new ExtendedInfoContactModel(infoContactModel.getId(), infoContactModel.getLogin(), infoContactModel.getName(), infoContactModel.isGroup());
|
||||
ext.setIcon();
|
||||
return ext;
|
||||
}
|
||||
return new ExtendedInfoContactModel();
|
||||
}
|
||||
|
||||
public void addTargetContact(InfoContactModel contact){
|
||||
if(contact!=null)
|
||||
storeTarget.add(contact);
|
||||
storeTarget.add(convetFromInfoContactModel(contact));
|
||||
}
|
||||
|
||||
public List<InfoContactModel> getTargetListContact(){
|
||||
return storeTarget.getModels();
|
||||
|
||||
List<? extends InfoContactModel> infoContacts = storeTarget.getModels();
|
||||
return (List<InfoContactModel>) infoContacts;
|
||||
}
|
||||
|
||||
|
||||
private void setGropUserStoreSorter(ListStore<ExtendedInfoContactModel> store){
|
||||
|
||||
// Sorting files
|
||||
store.setStoreSorter(new StoreSorter<ExtendedInfoContactModel>() {
|
||||
|
||||
@Override
|
||||
public int compare(Store<ExtendedInfoContactModel> store, ExtendedInfoContactModel m1, ExtendedInfoContactModel m2, String property) {
|
||||
boolean m1Folder = m1.isGroup();
|
||||
boolean m2Folder = m2.isGroup();
|
||||
|
||||
if (m1Folder && !m2Folder) {
|
||||
return -1;
|
||||
} else if (!m1Folder && m2Folder) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return m1.getName().compareToIgnoreCase(m2.getName());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -148,8 +148,9 @@ public class MultiValuePanel extends Composite {
|
|||
|
||||
for (String login : itemsSelected) {
|
||||
InfoContactModel wsuser = users.get(login);
|
||||
if(wsuser!= null && !toReturn.contains(wsuser))
|
||||
if(wsuser!= null && !toReturn.contains(wsuser)){
|
||||
toReturn.add(wsuser);
|
||||
}
|
||||
}
|
||||
return toReturn;
|
||||
}
|
||||
|
|
|
@ -59,6 +59,7 @@ import org.gcube.common.homelibrary.home.workspace.search.SearchItem;
|
|||
import org.gcube.common.homelibrary.home.workspace.sharing.WorkspaceMessage;
|
||||
import org.gcube.common.homelibrary.home.workspace.trash.WorkspaceTrashFolder;
|
||||
import org.gcube.common.homelibrary.home.workspace.trash.WorkspaceTrashItem;
|
||||
import org.gcube.common.homelibrary.home.workspace.usermanager.GCubeGroup;
|
||||
import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
|
||||
import org.gcube.portlets.user.workspace.client.interfaces.GXTCategoryItemInterface;
|
||||
import org.gcube.portlets.user.workspace.client.interfaces.GXTFolderItemTypeEnum;
|
||||
|
@ -134,13 +135,15 @@ public class GWTWorkspaceBuilder {
|
|||
|
||||
if(hashTestUser==null){
|
||||
hashTestUser = new HashMap<String, InfoContactModel>();
|
||||
hashTestUser.put("federico.defaveri", new InfoContactModel("federico.defaveri", "federico.defaveri", "Federico de Faveri"));
|
||||
hashTestUser.put("antonio.gioia", new InfoContactModel("antonio.gioia", "antonio.gioia", "Antonio Gioia"));
|
||||
hashTestUser.put("fabio.sinibaldi", new InfoContactModel("fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi"));
|
||||
hashTestUser.put("pasquale.pagano", new InfoContactModel("pasquale.pagano", "pasquale.pagano", "Pasquale Pagano"));
|
||||
hashTestUser.put(WsUtil.TEST_USER.toString(), new InfoContactModel(WsUtil.TEST_USER, WsUtil.TEST_USER, WsUtil.TEST_USER_FULL_NAME));
|
||||
hashTestUser.put("francesco.mangiacrapa", new InfoContactModel("francesco.mangiacrapa", "francesco.mangiacrapa", "Francesco Mangiacrapa"));
|
||||
hashTestUser.put("massimiliano.assante", new InfoContactModel("massimiliano.assante", "massimiliano.assante", "Massimiliano Assante"));
|
||||
hashTestUser.put("federico.defaveri", new InfoContactModel("federico.defaveri", "federico.defaveri", "Federico de Faveri",false));
|
||||
hashTestUser.put("antonio.gioia", new InfoContactModel("antonio.gioia", "antonio.gioia", "Antonio Gioia",false));
|
||||
hashTestUser.put("fabio.sinibaldi", new InfoContactModel("fabio.sinibaldi", "fabio.sinibaldi", "Fabio Sinibaldi",false));
|
||||
hashTestUser.put("pasquale.pagano", new InfoContactModel("pasquale.pagano", "pasquale.pagano", "Pasquale Pagano",false));
|
||||
hashTestUser.put("valentina.marioli", new InfoContactModel("valentina.marioli", "valentina.marioli", "Valentina Marioli",false));
|
||||
hashTestUser.put("roberto.cirillo", new InfoContactModel("roberto.cirillo", "roberto.cirillo", "Roberto Cirillo",false));
|
||||
hashTestUser.put(WsUtil.TEST_USER.toString(), new InfoContactModel(WsUtil.TEST_USER, WsUtil.TEST_USER, WsUtil.TEST_USER_FULL_NAME,false));
|
||||
hashTestUser.put("francesco.mangiacrapa", new InfoContactModel("francesco.mangiacrapa", "francesco.mangiacrapa", "Francesco Mangiacrapa",false));
|
||||
hashTestUser.put("massimiliano.assante", new InfoContactModel("massimiliano.assante", "massimiliano.assante", "Massimiliano Assante",false));
|
||||
|
||||
}
|
||||
|
||||
|
@ -913,7 +916,7 @@ public class GWTWorkspaceBuilder {
|
|||
portalLogin = "";
|
||||
}
|
||||
|
||||
return new InfoContactModel(portalLogin, portalLogin, UserUtil.getUserFullName(portalLogin));
|
||||
return new InfoContactModel(portalLogin, portalLogin, UserUtil.getUserFullName(portalLogin), false);
|
||||
|
||||
}
|
||||
|
||||
|
@ -1615,7 +1618,7 @@ public class GWTWorkspaceBuilder {
|
|||
|
||||
}
|
||||
|
||||
public List<InfoContactModel> buildGXTListContactsModel(List<UserModel> listUsers) throws InternalErrorException {
|
||||
public List<InfoContactModel> buildGXTListContactsModelFromUserModel(List<UserModel> listUsers) throws InternalErrorException {
|
||||
|
||||
List<InfoContactModel> listContactsModel = new ArrayList<InfoContactModel>();
|
||||
|
||||
|
@ -1629,23 +1632,40 @@ public class GWTWorkspaceBuilder {
|
|||
String fullName = userModel.getFullname();
|
||||
|
||||
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.trace("buildGXTListContactsModel doesn't return user: "+userModel.getScreenName()+ "because name is null or empty");
|
||||
}
|
||||
logger.trace("List contact model completed, return " +listContactsModel.size()+" contacts");
|
||||
// for(User user: listUsers){
|
||||
// String fullName = UserUtil.getUserFullName(user.getPortalLogin());
|
||||
//
|
||||
// if(fullName!=null && !fullName.isEmpty())
|
||||
// listContactsModel.add(new InfoContactModel(user.getId(), user.getPortalLogin(), fullName));
|
||||
// else
|
||||
// logger.trace("buildGXTListContactsModel doesn't return user: "+user.getPortalLogin()+ "because name is null or empty");
|
||||
// }
|
||||
|
||||
return listContactsModel;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param list
|
||||
* @return
|
||||
* @throws InternalErrorException
|
||||
*/
|
||||
public List<InfoContactModel> buildGXTListContactsModelFromGcubeGroup(List<GCubeGroup> list) throws InternalErrorException {
|
||||
|
||||
List<InfoContactModel> listContactsModel = new ArrayList<InfoContactModel>();
|
||||
|
||||
if(list==null)
|
||||
return listContactsModel;
|
||||
|
||||
logger.trace("List<GCubeGroup> size returned from GcubeGroup is: "+ list.size());
|
||||
|
||||
logger.trace("Building list contact model...");
|
||||
for (GCubeGroup group : list) {
|
||||
listContactsModel.add(new InfoContactModel(group.getName(), group.getName(), group.getName(), true));
|
||||
}
|
||||
logger.trace("List GCubeGroup contact model completed, return " +listContactsModel.size()+" contacts");
|
||||
|
||||
return listContactsModel;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param listContactsModel
|
||||
|
@ -1719,7 +1739,7 @@ public class GWTWorkspaceBuilder {
|
|||
public InfoContactModel buildGXTInfoContactModel(User user) throws InternalErrorException{
|
||||
|
||||
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();
|
||||
}
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
package org.gcube.portlets.user.workspace.server;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
|
@ -1381,27 +1378,33 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
|||
|
||||
try {
|
||||
|
||||
Workspace workspace = getWorkspace();
|
||||
// Workspace workspace = getWorkspace();
|
||||
|
||||
workspaceLogger.trace("get all contacts");
|
||||
workspaceLogger.trace("Get all contacts from server...");
|
||||
|
||||
// WorkspaceItem parent = workspace.getItem(parentFileModel.getIdentifier()); //get item from workspace
|
||||
// workspace.getAllScope();
|
||||
|
||||
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
||||
|
||||
org.gcube.common.homelibrary.home.workspace.usermanager.UserManager hlUserManager = HomeLibrary.getHomeManagerFactory().getUserManager();
|
||||
|
||||
if(isTestMode()){
|
||||
|
||||
workspaceLogger.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(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("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,false));
|
||||
listContactsModel.add(new InfoContactModel("francesco.mangiacrapa", "francesco.mangiacrapa", "Francesco Mangiacrapa",false));
|
||||
listContactsModel.add(new InfoContactModel("massimiliano.assante", "massimiliano.assante", "Massimiliano Assante",false));
|
||||
|
||||
workspaceLogger.trace("Home Library User Manager getting list Gcube Group");
|
||||
listContactsModel.addAll(builder.buildGXTListContactsModelFromGcubeGroup(hlUserManager.getGroups()));
|
||||
|
||||
return listContactsModel;
|
||||
|
||||
}
|
||||
|
@ -1409,8 +1412,14 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
|||
UserManager userManag = new LiferayUserManager();
|
||||
GroupManager gm = new LiferayGroupManager();
|
||||
String groupId = gm.getRootVO().getGroupId();
|
||||
workspaceLogger.trace("user manager getting list users by group: "+groupId);
|
||||
return builder.buildGXTListContactsModel(userManag.listUsersByGroup(groupId));
|
||||
|
||||
workspaceLogger.trace("Liferay User Manager getting list users by group: "+groupId);
|
||||
List<InfoContactModel> listContactsModel = builder.buildGXTListContactsModelFromUserModel(userManag.listUsersByGroup(groupId));
|
||||
|
||||
workspaceLogger.trace("Home Library User Manager getting list Gcube Group");
|
||||
listContactsModel.addAll(builder.buildGXTListContactsModelFromGcubeGroup(hlUserManager.getGroups()));
|
||||
|
||||
return listContactsModel;
|
||||
|
||||
} catch (Exception e) {
|
||||
workspaceLogger.error("Error in server get all contacts ", e);
|
||||
|
|
|
@ -89,19 +89,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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue