|
|
|
@ -25,6 +25,7 @@ import org.gcube.common.storagehub.model.items.nodes.accounting.AccountFolderEnt
|
|
|
|
|
import org.gcube.common.storagehub.model.items.nodes.accounting.AccountFolderEntryRemoval;
|
|
|
|
|
import org.gcube.common.storagehub.model.items.nodes.accounting.AccountFolderEntryRenaming;
|
|
|
|
|
import org.gcube.common.storagehub.model.items.nodes.accounting.AccountingEntryType;
|
|
|
|
|
import org.gcube.common.storagehubwrapper.shared.Member;
|
|
|
|
|
import org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceItem;
|
|
|
|
|
import org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceItemType;
|
|
|
|
|
import org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceSharedFolder;
|
|
|
|
@ -44,6 +45,11 @@ import org.gcube.portlets.user.workspace.shared.accounting.GxtAccountingEntryTyp
|
|
|
|
|
import org.gcube.portlets.user.workspace.shared.accounting.GxtAccountingField;
|
|
|
|
|
import org.gcube.portlets.widgets.workspacesharingwidget.shared.InfoContactModel;
|
|
|
|
|
import org.gcube.usecases.ws.thredds.model.ContainerType;
|
|
|
|
|
import org.gcube.vomanagement.usermanagement.UserManager;
|
|
|
|
|
import org.gcube.vomanagement.usermanagement.exception.GroupRetrievalFault;
|
|
|
|
|
import org.gcube.vomanagement.usermanagement.exception.UserManagementSystemException;
|
|
|
|
|
import org.gcube.vomanagement.usermanagement.exception.UserRetrievalFault;
|
|
|
|
|
import org.gcube.vomanagement.usermanagement.impl.LiferayUserManager;
|
|
|
|
|
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
@ -134,7 +140,8 @@ public class StorageHubToWorkpaceConverter implements Serializable {
|
|
|
|
|
public FileModel toTreeFileModel(org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceItem wrappedItem,
|
|
|
|
|
FileModel parentFolderModel, Boolean isParentShared) throws InternalErrorException {
|
|
|
|
|
|
|
|
|
|
FileModel fileModel = ObjectStorageHubToWorkpaceMapper.toTreeFileModelItem(wrappedItem, parentFolderModel, isParentShared, loggedUser);
|
|
|
|
|
FileModel fileModel = ObjectStorageHubToWorkpaceMapper.toTreeFileModelItem(wrappedItem, parentFolderModel,
|
|
|
|
|
isParentShared, loggedUser);
|
|
|
|
|
return setSynchedWithWsThredds(fileModel, wrappedItem);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -149,11 +156,11 @@ public class StorageHubToWorkpaceConverter implements Serializable {
|
|
|
|
|
public FileGridModel toGridFileModel(org.gcube.common.storagehubwrapper.shared.tohl.WorkspaceItem wrappedItem,
|
|
|
|
|
FileModel parentFolderModel) throws InternalErrorException {
|
|
|
|
|
|
|
|
|
|
FileGridModel fileGridModel = ObjectStorageHubToWorkpaceMapper.toGridFileModelItem(wrappedItem, parentFolderModel, loggedUser);
|
|
|
|
|
FileGridModel fileGridModel = ObjectStorageHubToWorkpaceMapper.toGridFileModelItem(wrappedItem,
|
|
|
|
|
parentFolderModel, loggedUser);
|
|
|
|
|
return (FileGridModel) setSynchedWithWsThredds(fileGridModel, wrappedItem);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected FileModel setSynchedWithWsThredds(FileModel fileModel, WorkspaceItem wrappedItem) {
|
|
|
|
|
logger.debug("called setSynchedThreddsStateFor item id: " + wrappedItem.getId());
|
|
|
|
|
|
|
|
|
@ -297,6 +304,47 @@ public class StorageHubToWorkpaceConverter implements Serializable {
|
|
|
|
|
return new InfoContactModel(portalLogin, portalLogin, fullName, emailDomain, false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static List<InfoContactModel> listMembersToListContact(List<Member> members) {
|
|
|
|
|
logger.info("listMembersToListContact called for " + members.size() + " member/s");
|
|
|
|
|
|
|
|
|
|
List<InfoContactModel> listContacts = new ArrayList<InfoContactModel>();
|
|
|
|
|
UserManager userManager = new LiferayUserManager();
|
|
|
|
|
|
|
|
|
|
for (Member member : members) {
|
|
|
|
|
logger.debug("Resolving member: " + member);
|
|
|
|
|
boolean isGroup = member.getMemberType().equals(Member.TYPE.GROUP) ? true : false;
|
|
|
|
|
|
|
|
|
|
if (!isGroup) {
|
|
|
|
|
InfoContactModel icm = buildGxtInfoContactFromPortalLogin(member.getIdentity());
|
|
|
|
|
// HE/SHE IS A USER
|
|
|
|
|
listContacts.add(icm);
|
|
|
|
|
} else {
|
|
|
|
|
// HE/SHE IS A GROUP
|
|
|
|
|
logger.debug("The member: " + member + " is a group, resolving list of Users from "
|
|
|
|
|
+ LiferayUserManager.class.getSimpleName() + " for the group name: " + member.getName());
|
|
|
|
|
try {
|
|
|
|
|
List<GCubeUser> listUsers = userManager.listUsersByGroupName(member.getName());
|
|
|
|
|
|
|
|
|
|
if (listUsers != null) {
|
|
|
|
|
logger.debug("List of user for groupName are: " + listUsers.size());
|
|
|
|
|
for (GCubeUser user : listUsers) {
|
|
|
|
|
InfoContactModel icm = buildGxtInfoContactFromPortalLogin(user.getUsername());
|
|
|
|
|
listContacts.add(icm);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
logger.warn("List of user for groupName: " + member.getName() + " is null");
|
|
|
|
|
}
|
|
|
|
|
} catch (UserManagementSystemException | GroupRetrievalFault | UserRetrievalFault e) {
|
|
|
|
|
logger.warn("Error occurrend on resolving the member: " + member.getName(), e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
logger.info("Returning " + listContacts.size() + " from members");
|
|
|
|
|
return listContacts;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* TODO ********TEMPORARY SOLUTION HL MUST MANAGE SPECIAL FOLDER AS
|
|
|
|
|
* WORKSPACESPECIALFOLDER**** REMOVE THIS METHOD AND ADDING INSTANCE OF AT
|
|
|
|
@ -346,7 +394,8 @@ public class StorageHubToWorkpaceConverter implements Serializable {
|
|
|
|
|
.isPublicFolder(); // TODO
|
|
|
|
|
FileModel parentModel = null;
|
|
|
|
|
if (parent != null)
|
|
|
|
|
parentModel = ObjectStorageHubToWorkpaceMapper.toTreeFileModelItem(parent, null, parent.isShared(), loggedUser);
|
|
|
|
|
parentModel = ObjectStorageHubToWorkpaceMapper.toTreeFileModelItem(parent, null, parent.isShared(),
|
|
|
|
|
loggedUser);
|
|
|
|
|
|
|
|
|
|
FolderModel folder = new FolderModel(wsFolder.getId(), name, parentModel, true, wsFolder.isShared(), false,
|
|
|
|
|
isPublicDir);
|
|
|
|
@ -881,12 +930,12 @@ public class StorageHubToWorkpaceConverter implements Serializable {
|
|
|
|
|
return hashTestUser;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static List<InfoContactModel> buildGxtInfoContactFromPortalLoginTestMode(List<String> listPortalLogin) {
|
|
|
|
|
public static List<InfoContactModel> buildGxtInfoContactFromPortalLoginTestMode(List<Member> listMemebers) {
|
|
|
|
|
|
|
|
|
|
List<InfoContactModel> listContact = new ArrayList<InfoContactModel>();
|
|
|
|
|
|
|
|
|
|
for (String portalLogin : listPortalLogin)
|
|
|
|
|
listContact.add(getHashTestUsers().get(portalLogin));
|
|
|
|
|
for (Member member : listMemebers)
|
|
|
|
|
listContact.add(getHashTestUsers().get(member.getIdentity()));
|
|
|
|
|
|
|
|
|
|
return listContact;
|
|
|
|
|
}
|
|
|
|
|