From 3c0fc67a1220de3840a7fe748c8185d38164fc1a Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Tue, 23 Feb 2021 10:56:03 +0000 Subject: [PATCH] git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portal/liferay62-plugins/mail-reader-lr62@185080 82a268e6-3cf1-43bd-a215-b396298e98cf --- .classpath | 11 ++-- .settings/org.eclipse.core.resources.prefs | 1 + .settings/org.eclipse.jdt.core.prefs | 9 ++- .settings/org.eclipse.wst.common.component | 9 +++ ....eclipse.wst.common.project.facet.core.xml | 2 +- pom.xml | 52 ++++++++++------- src/main/java/org/gcube/portal/Gateway.java | 29 ++++++++++ src/main/java/org/gcube/portal/GetCaller.java | 8 --- .../java/org/gcube/portal/ServletTrigger.java | 56 +++++++++++++++---- 9 files changed, 128 insertions(+), 49 deletions(-) create mode 100644 src/main/java/org/gcube/portal/Gateway.java diff --git a/.classpath b/.classpath index 0f4a4c2..47de373 100644 --- a/.classpath +++ b/.classpath @@ -15,11 +15,7 @@ - - - - - + @@ -28,5 +24,10 @@ + + + + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index abdea9a..839d647 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,4 +1,5 @@ eclipse.preferences.version=1 encoding//src/main/java=UTF-8 encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 69c31cd..cac0df4 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,11 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 3886be4..c374c70 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,10 +1,19 @@ + + + + + + + + + diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml index 1e1fabd..a2e86a5 100644 --- a/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -1,8 +1,8 @@ - + diff --git a/pom.xml b/pom.xml index 8e255b8..b975a9a 100644 --- a/pom.xml +++ b/pom.xml @@ -5,15 +5,31 @@ maven-parent org.gcube.tools - 1.0.0 + 1.1.0 org.gcube.portal.liferay - mail-reader-lr62 + mailreader-lr62-hook war mail-reader-lr62 Hook - 1.0.0-SNAPSHOT + 2.0.0-SNAPSHOT + + 6.2.5 + 6.2.5 + /Users/massi/portal/liferay-portal-6.2-ce-ga6/deploy + /Users/massi/portal/liferay-portal-6.2-ce-ga6/tomcat-7.0.62/webapps + /Users/massi/portal/liferay-portal-6.2-ce-ga6/tomcat-7.0.62/lib/ext + /Users/massi/portal/liferay-portal-6.2-ce-ga6/tomcat-7.0.62/webapps/ROOT + + + + src/main/java + + **/*.properties + + + com.liferay.maven.plugins @@ -30,11 +46,10 @@ maven-compiler-plugin - 2.5 UTF-8 - 1.6 - 1.6 + 1.8 + 1.8 @@ -51,13 +66,23 @@ org.gcube.distribution maven-portal-bom - LATEST + 3.6.0-SNAPSHOT pom import + + org.gcube.dvos + usermanagement-core + provided + + + org.gcube.common.portal + portal-manager + provided + com.liferay.portal portal-service @@ -101,17 +126,4 @@ slf4j-api - - - Liferay-v6.2-CE-(Tomcat-7)-(2) - - 6.2.5 - 6.2.5 - /Users/massi/portal/liferay-portal-6.2-ce-ga6/deploy - /Users/massi/portal/liferay-portal-6.2-ce-ga6/tomcat-7.0.62/webapps - /Users/massi/portal/liferay-portal-6.2-ce-ga6/tomcat-7.0.62/lib/ext - /Users/massi/portal/liferay-portal-6.2-ce-ga6/tomcat-7.0.62/webapps/ROOT - - - \ No newline at end of file diff --git a/src/main/java/org/gcube/portal/Gateway.java b/src/main/java/org/gcube/portal/Gateway.java new file mode 100644 index 0000000..a6ddfc8 --- /dev/null +++ b/src/main/java/org/gcube/portal/Gateway.java @@ -0,0 +1,29 @@ +package org.gcube.portal; + + +import com.liferay.portal.model.Group; + +public class Gateway { + private Group site; + + public Gateway(Group site) { + super(); + this.site = site; + + } + public Group getSite() { + return site; + } + public void setSite(Group site) { + this.site = site; + } + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("Gateway [site="); + builder.append(site); + builder.append("]"); + return builder.toString(); + } + +} diff --git a/src/main/java/org/gcube/portal/GetCaller.java b/src/main/java/org/gcube/portal/GetCaller.java index 635fa68..3080f14 100644 --- a/src/main/java/org/gcube/portal/GetCaller.java +++ b/src/main/java/org/gcube/portal/GetCaller.java @@ -13,7 +13,6 @@ public class GetCaller extends Thread { private final static String USER_AGENT = "Mozilla/5.0"; protected static final String SERVLET_CONTEXT_MAIL = "/social-mail-servlet/start-email-reader"; - protected static final String SERVLET_URL_LDAP = "/ldap-export-servlet/start-ldap-export"; private List urlsToContact; @@ -28,18 +27,11 @@ public class GetCaller extends Thread { public void run() { try { System.out.println("********** READING MAILS THREAD Waiting ... starting in " + WAITING_MILLISECONDS/60000 + " minutes"); - System.out.println("********** LDAP EXPORT THREAD Waiting ... starting in " + WAITING_MILLISECONDS/60000 + " minutes"); Thread.sleep(WAITING_MILLISECONDS); for (String url : urlsToContact) { String response = sendHTTPsGet(url+SERVLET_CONTEXT_MAIL); System.out.println("**********\n\n"+ "Called URL=" + url + " correctly, response:" + response); } - if (!urlsToContact.isEmpty()) { - String response_ldap = sendHTTPsGet(urlsToContact.get(0)+SERVLET_URL_LDAP); - System.out.println("**********\n\n"+ "Called URL=" + urlsToContact.get(0)+SERVLET_URL_LDAP + " correctly, response: " + response_ldap); - } else { - System.out.println("The list of virtualHost was empty"); - } } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/java/org/gcube/portal/ServletTrigger.java b/src/main/java/org/gcube/portal/ServletTrigger.java index 4a56aba..01efd1b 100644 --- a/src/main/java/org/gcube/portal/ServletTrigger.java +++ b/src/main/java/org/gcube/portal/ServletTrigger.java @@ -3,13 +3,19 @@ package org.gcube.portal; import java.util.ArrayList; import java.util.List; +import org.gcube.vomanagement.usermanagement.GroupManager; +import org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager; +import org.gcube.vomanagement.usermanagement.util.ManagementUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.liferay.portal.kernel.events.ActionException; import com.liferay.portal.kernel.events.SimpleAction; -import com.liferay.portal.model.VirtualHost; +import com.liferay.portal.model.Group; +import com.liferay.portal.model.LayoutSet; +import com.liferay.portal.service.GroupLocalServiceUtil; import com.liferay.portal.service.VirtualHostLocalServiceUtil; +import com.liferay.portal.util.PortalUtil; public class ServletTrigger extends SimpleAction { private static final Logger _log = LoggerFactory.getLogger(ServletTrigger.class); @@ -41,22 +47,48 @@ public class ServletTrigger extends SimpleAction { * @return */ private List getVirtualHostURLs() { - _log.info("MAIL_PARSER STARTING ... getVirtualHostURLs() "); - List toReturn = new ArrayList(); - List vHosts = null; + List toReturn = new ArrayList<>(); + _log.info("MAIL_PARSER STARTING ... getGateways() "); + GroupManager gm = new LiferayGroupManager(); + List gateways = getGateways(gm); try { - vHosts = VirtualHostLocalServiceUtil.getVirtualHosts(0, VirtualHostLocalServiceUtil.getVirtualHostsCount()); - for (VirtualHost virtualHost : vHosts) { - if (virtualHost.getHostname().compareTo("localhost") != 0 && virtualHost.getLayoutSetId() != 0) { - String hostToContact = PROTOCOL+virtualHost.getHostname(); - toReturn.add(hostToContact); - _log.info("Added host to contact: " + hostToContact); - } + for (Gateway gateway : gateways) { + LayoutSet layoutSet = null; + Group childGroup = gateway.getSite(); + if (childGroup.hasPublicLayouts()) + layoutSet = childGroup.getPublicLayoutSet(); + else + layoutSet = childGroup.getPrivateLayoutSet(); + final long companyId = PortalUtil.getDefaultCompanyId(); + long layoutSetId = layoutSet.getLayoutSetId(); + String virtualHost = VirtualHostLocalServiceUtil.getVirtualHost(companyId, layoutSetId).getHostname(); + String hostToContact = PROTOCOL+virtualHost; + toReturn.add(hostToContact); + _log.info("\n*** MAILReader - Added host to contact: " + hostToContact); } - } catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); } return toReturn; } + public List getGateways(GroupManager groupsManager) { + List toReturn = new ArrayList<>(); + try{ + List candidateGateways = GroupLocalServiceUtil.getGroups(ManagementUtils.getCompany().getCompanyId(), 0, true); + // real gateways have no children as well + for (Group group : candidateGateways) { + List children = group.getChildren(true); + if(children == null || children.isEmpty()) + if(! (group.getFriendlyURL().equals("/guest") || group.getFriendlyURL().equals("/global") )) {// skipping these sites + toReturn.add(new Gateway(group)); + } + } + } catch(Exception e){ + _log.error("Failed to retrieve the list of gateways", e); + return null; + } + return toReturn; + } + } \ No newline at end of file