From b968e59e5a31f2991d6319b7a56a6f6b79555498 Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Thu, 22 Oct 2015 16:27:04 +0000 Subject: [PATCH] moved getVirtualGroups method in this library git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portal/custom-portal-handler@119975 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../impl/OrganizationManagerImpl.java | 47 ++++++++++++++++--- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/gcube/portal/custom/communitymanager/impl/OrganizationManagerImpl.java b/src/main/java/org/gcube/portal/custom/communitymanager/impl/OrganizationManagerImpl.java index d988033..1bbc0d7 100644 --- a/src/main/java/org/gcube/portal/custom/communitymanager/impl/OrganizationManagerImpl.java +++ b/src/main/java/org/gcube/portal/custom/communitymanager/impl/OrganizationManagerImpl.java @@ -6,6 +6,8 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.util.Arrays; +import java.util.List; import org.gcube.portal.custom.communitymanager.OrganizationsUtil; import org.gcube.portal.custom.communitymanager.PortletsIdManager; @@ -39,6 +41,8 @@ import com.liferay.portal.service.LayoutSetLocalServiceUtil; import com.liferay.portal.service.OrganizationLocalServiceUtil; import com.liferay.portal.service.ThemeLocalServiceUtil; import com.liferay.portal.service.UserLocalServiceUtil; +import com.liferay.portlet.expando.model.ExpandoBridge; +import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil; /** * * @author Massimiliano Assante, massimiliano.assante@isti.cnr.it @@ -52,10 +56,42 @@ public class OrganizationManagerImpl extends OrganizationsUtil { * FIXME public as generic resource */ protected static final String ORGANIZATION_DEFAULT_LOGO = "/org/gcube/portal/custom/communitymanager/resources/default_logo.png"; - /** - * - */ - private static OrganizationManagerImpl singleton; + private static final String CATEGORY = "Virtualgroup"; + + public static List getVirtualGroups() throws PortalException, SystemException { + try { + ExpandoBridge expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(OrganizationsUtil.getCompany().getCompanyId(), Organization.class.getName()); + String[] groups = (String[]) expandoBridge.getAttributeDefault("Virtualgroup"); + return Arrays.asList(groups); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + + public static String getVirtualGroupName(Organization organization){ + try { + long companyId = OrganizationsUtil.getCompany().getCompanyId(); + _log.debug("Setting Thread Permission"); + User user = UserLocalServiceUtil.getUserByScreenName(companyId, ScopeHelper.getAdministratorUsername()); + PermissionChecker permissionChecker = PermissionCheckerFactoryUtil.create(user, false); + PermissionThreadLocal.setPermissionChecker(permissionChecker); + _log.debug("Setting Permission ok!"); + + if (organization.getExpandoBridge().getAttribute(CATEGORY) == null || organization.getExpandoBridge().getAttribute(CATEGORY).equals("")) { + _log.warn(String.format("Attribute %s not initialized.", CATEGORY)); + return null; + } else { + String[] values = (String[]) organization.getExpandoBridge().getAttribute(CATEGORY); + return values[0]; + } + } catch (Exception e) { + e.printStackTrace(); + return "Exception "; + } + } + /** * * @param rootVoName the voName @@ -63,11 +99,8 @@ public class OrganizationManagerImpl extends OrganizationsUtil { * @return the organizationid of the created VO */ public static long createVO(String username, String voName, String voDesc, long parentid, GCUBESiteLayout siteLayout, String themeid) { - String email = ""; Group voToCreate = null; try { - email = validateUser(username).getEmailAddress(); - //create the Group User creator = validateUser(username); GroupManager gm = new LiferayGroupManager();