mailreader-lr62-hook/src/main/java/org/gcube/portal/ServletTrigger.java

62 lines
1.8 KiB
Java

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);
private final String PROTOCOL = "https://";
/* (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<String> 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<String> getVirtualHostURLs() {
_log.info("MAIL_PARSER STARTING ... getVirtualHostURLs() ");
List<String> toReturn = new ArrayList<String>();
List<VirtualHost> 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();
toReturn.add(hostToContact);
_log.info("Added host to contact: " + hostToContact);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return toReturn;
}
}