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.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