diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..0f4a4c2
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.project b/.project
new file mode 100644
index 0000000..fa6bc59
--- /dev/null
+++ b/.project
@@ -0,0 +1,42 @@
+
+
+ mail-reader-lr62
+
+
+
+
+
+ org.eclipse.wst.jsdt.core.javascriptValidator
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.wst.common.project.facet.core.builder
+
+
+
+
+ org.eclipse.wst.validation.validationbuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jem.workbench.JavaEMFNature
+ org.eclipse.wst.common.modulecore.ModuleCoreNature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+ org.eclipse.wst.common.project.facet.core.nature
+ org.eclipse.wst.jsdt.core.jsNature
+
+
diff --git a/.settings/.jsdtscope b/.settings/.jsdtscope
new file mode 100644
index 0000000..b72a6a4
--- /dev/null
+++ b/.settings/.jsdtscope
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..abdea9a
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding/=UTF-8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..69c31cd
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+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.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..e6f7678
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=Liferay-v6.2-CE-(Tomcat-7)-(2)
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..3886be4
--- /dev/null
+++ b/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..1e1fabd
--- /dev/null
+++ b/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.container b/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 0000000..3bd5d0a
--- /dev/null
+++ b/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.name b/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 0000000..05bd71b
--- /dev/null
+++ b/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window
\ No newline at end of file
diff --git a/.settings/org.eclipse.wst.validation.prefs b/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..04cad8c
--- /dev/null
+++ b/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..8e255b8
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,117 @@
+
+
+
+ 4.0.0
+
+ maven-parent
+ org.gcube.tools
+ 1.0.0
+
+
+ org.gcube.portal.liferay
+ mail-reader-lr62
+ war
+ mail-reader-lr62 Hook
+ 1.0.0-SNAPSHOT
+
+
+
+ com.liferay.maven.plugins
+ liferay-maven-plugin
+ ${liferay.maven.plugin.version}
+
+ ${liferay.auto.deploy.dir}
+ ${liferay.app.server.deploy.dir}
+ ${liferay.app.server.lib.global.dir}
+ ${liferay.app.server.portal.dir}
+ ${liferay.version}
+ hook
+
+
+
+ maven-compiler-plugin
+ 2.5
+
+ UTF-8
+
+ 1.6
+
+
+
+ maven-resources-plugin
+ 2.5
+
+ UTF-8
+
+
+
+
+
+
+
+ org.gcube.distribution
+ maven-portal-bom
+ LATEST
+ pom
+ import
+
+
+
+
+
+ com.liferay.portal
+ portal-service
+ ${liferay.version}
+ provided
+
+
+ com.liferay.portal
+ util-java
+ ${liferay.version}
+ provided
+
+
+ javax.portlet
+ portlet-api
+ 2.0
+ provided
+
+
+ javax.servlet
+ servlet-api
+ 2.4
+ provided
+
+
+ javax.servlet.jsp
+ jsp-api
+ 2.0
+ provided
+
+
+ org.gcube.dvos
+ usermanagement-core
+
+
+ org.slf4j
+ slf4j-log4j12
+
+
+ org.slf4j
+ 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/GetCaller.java b/src/main/java/org/gcube/portal/GetCaller.java
new file mode 100644
index 0000000..c98c6e6
--- /dev/null
+++ b/src/main/java/org/gcube/portal/GetCaller.java
@@ -0,0 +1,60 @@
+package org.gcube.portal;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.List;
+
+public class GetCaller extends Thread {
+ private final int MINUTES_4_MILLISECONDS = 240000;
+
+ private final static String USER_AGENT = "Mozilla/5.0";
+
+ private List urlsToContact;
+
+ public GetCaller(List urlsToContact) {
+ super();
+ this.urlsToContact = urlsToContact;
+ }
+
+
+
+ @Override
+ public void run() {
+ try {
+ System.out.println("********** READING MAILS THREAD Waiting ... starting in " + MINUTES_4_MILLISECONDS/60000 + " minutes");
+ System.out.println("********** LDAP EXPORT THREAD Waiting ... starting in " + MINUTES_4_MILLISECONDS/60000 + " minutes");
+ Thread.sleep(MINUTES_4_MILLISECONDS);
+ for (String url : urlsToContact) {
+ String response = sendGet(url);
+ System.out.println("**********\n\n"+ "Called URL=" + url + " correctly, response:" + response);
+ }
+ String response_ldap = sendGet(ServletTrigger.SERVLET_URL_LDAP);
+ System.out.println("**********\n\n"+ "Called URL=" + ServletTrigger.SERVLET_URL_LDAP + " correctly, response: " + response_ldap);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ private String sendGet(String url) throws Exception {
+ URL obj = new URL(url);
+ HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+ con.setRequestProperty("User-Agent", USER_AGENT);
+ int responseCode = con.getResponseCode();
+ System.out.println("\nSending 'GET' request to URL : " + url);
+ System.out.println("Response Code : " + responseCode);
+
+ BufferedReader in = new BufferedReader(
+ new InputStreamReader(con.getInputStream()));
+ String inputLine;
+ StringBuffer response = new StringBuffer();
+
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
+ in.close();
+ return response.toString();
+ }
+}
diff --git a/src/main/java/org/gcube/portal/ServletTrigger.java b/src/main/java/org/gcube/portal/ServletTrigger.java
new file mode 100644
index 0000000..e2e38a9
--- /dev/null
+++ b/src/main/java/org/gcube/portal/ServletTrigger.java
@@ -0,0 +1,65 @@
+package org.gcube.portal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+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.service.VirtualHostLocalServiceUtil;
+
+public class ServletTrigger extends SimpleAction {
+ private static final Logger _log = LoggerFactory.getLogger(ServletTrigger.class);
+
+ protected static final String SERVLET_CONTEXT_MAIL = "/social-mail-servlet/start-email-reader";
+ protected static final String SERVLET_URL_LDAP = "http://localhost:9090/ldap-export-servlet/start-ldap-export";
+
+ private final String PROTOCOL = "http://";
+ private final String PORT = "9090";
+
+ /* (non-Java-doc)
+ * @see com.liferay.portal.kernel.events.SimpleAction#SimpleAction()
+ */
+ public ServletTrigger() {
+ super();
+ }
+
+ /* (non-Java-doc)
+ * @see com.liferay.portal.kernel.events.SimpleAction#run(String[] arg0)
+ */
+ public void run(String[] arg0) throws ActionException {
+ try {
+ List urlsToContact = getVirtualHostURLs();
+ GetCaller gc = new GetCaller(urlsToContact);
+ gc.start();
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ /**
+ * I am containg the same servlet for each vHost
+ * @return
+ */
+ private List getVirtualHostURLs() {
+ List toReturn = new ArrayList();
+ List vHosts = null;
+ 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()+":"+PORT;
+ toReturn.add(hostToContact+SERVLET_CONTEXT_MAIL);
+ _log.debug("Added host to contact: " + hostToContact);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return toReturn;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/portal.properties b/src/main/java/portal.properties
new file mode 100644
index 0000000..4016151
--- /dev/null
+++ b/src/main/java/portal.properties
@@ -0,0 +1,3 @@
+#
+#Wed May 18 17:18:08 CEST 2016
+application.startup.events=org.gcube.portal.ServletTrigger
diff --git a/src/main/webapp/WEB-INF/liferay-hook.xml b/src/main/webapp/WEB-INF/liferay-hook.xml
new file mode 100644
index 0000000..944195a
--- /dev/null
+++ b/src/main/webapp/WEB-INF/liferay-hook.xml
@@ -0,0 +1,6 @@
+
+
+
+
+ portal.properties
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/liferay-plugin-package.properties b/src/main/webapp/WEB-INF/liferay-plugin-package.properties
new file mode 100644
index 0000000..72fbb5f
--- /dev/null
+++ b/src/main/webapp/WEB-INF/liferay-plugin-package.properties
@@ -0,0 +1,9 @@
+name=mail-reader-lr62
+module-group-id=liferay
+module-incremental-version=1
+tags=
+short-description=
+change-log=
+page-url=http://www.liferay.com
+author=Liferay, Inc.
+licenses=LGPL
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..7d8c082
--- /dev/null
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file