diff --git a/account-dao/pom.xml b/account-dao/pom.xml index ee9934d..0cced5a 100644 --- a/account-dao/pom.xml +++ b/account-dao/pom.xml @@ -14,6 +14,7 @@ shared-account-dao + com.google.code.gson gson @@ -21,8 +22,11 @@ com.fasterxml.jackson.core jackson-annotations - 2.9.8 + + com.fasterxml.jackson.core + jackson-databind + de.muehlencord.shared shared-util @@ -45,11 +49,5 @@ 5.3.1 test - - com.fasterxml.jackson.core - jackson-databind - 2.9.8 - jar - \ No newline at end of file diff --git a/account-ui/src/main/java/de/muehlencord/shared/account/web/PersistenceContextFactory.java b/account-ui/src/main/java/de/muehlencord/shared/account/web/PersistenceContextFactory.java index bce1718..64fb739 100644 --- a/account-ui/src/main/java/de/muehlencord/shared/account/web/PersistenceContextFactory.java +++ b/account-ui/src/main/java/de/muehlencord/shared/account/web/PersistenceContextFactory.java @@ -1,7 +1,7 @@ package de.muehlencord.shared.account.web; import de.muehlencord.shared.account.util.AccountPU; -import de.muehlencord.shared.account.util.ApplicationPU; +import de.muehlencord.shared.db.ApplicationPU; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.context.RequestScoped; import javax.enterprise.inject.Disposes; diff --git a/network/src/main/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReader.java b/network/src/main/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReader.java index 5d47f67..228aa67 100644 --- a/network/src/main/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReader.java +++ b/network/src/main/java/de/muehlencord/shared/network/mail/exchange/ExchangeMailReader.java @@ -7,12 +7,14 @@ import de.muehlencord.shared.network.mail.MailReaderConnectionException; import de.muehlencord.shared.network.mail.MailReaderException; import java.net.URI; import java.util.ArrayList; +import java.util.EnumSet; import java.util.Iterator; import java.util.List; import microsoft.exchange.webservices.data.autodiscover.IAutodiscoverRedirectionUrl; import microsoft.exchange.webservices.data.core.ExchangeService; import microsoft.exchange.webservices.data.core.PropertySet; import microsoft.exchange.webservices.data.core.enumeration.misc.ExchangeVersion; +import microsoft.exchange.webservices.data.core.enumeration.misc.TraceFlags; import microsoft.exchange.webservices.data.core.enumeration.property.BasePropertySet; import microsoft.exchange.webservices.data.core.enumeration.property.WellKnownFolderName; import microsoft.exchange.webservices.data.core.exception.service.local.ServiceLocalException; @@ -21,6 +23,7 @@ import microsoft.exchange.webservices.data.core.service.item.Item; import microsoft.exchange.webservices.data.core.service.schema.EmailMessageSchema; import microsoft.exchange.webservices.data.credential.ExchangeCredentials; import microsoft.exchange.webservices.data.credential.WebCredentials; +import microsoft.exchange.webservices.data.misc.ITraceListener; import microsoft.exchange.webservices.data.property.complex.InternetMessageHeaderCollection; import microsoft.exchange.webservices.data.search.FindFoldersResults; import microsoft.exchange.webservices.data.search.FindItemsResults; @@ -35,7 +38,7 @@ import org.slf4j.LoggerFactory; * @author Joern Muehlencord */ public class ExchangeMailReader implements MailReader { - + private static final Logger LOGGER = LoggerFactory.getLogger(ExchangeMailReader.class); private final MailReaderConfiguration configuration; private ExchangeService service = null; @@ -53,10 +56,21 @@ public class ExchangeMailReader implements MailReader { String emailAddress = getConfiguration().getEmailAddress(); service = new ExchangeService(ExchangeVersion.Exchange2010_SP2); + // enable trace logging + service.setTraceEnabled(true); + service.setTraceFlags(EnumSet.allOf(TraceFlags.class)); // can also be restricted + service.setTraceListener(new ITraceListener() { + public void trace(String traceType, String traceMessage) { + if (LOGGER.isTraceEnabled()) { + LOGGER.trace("Type: {}, Message: {}", traceType, traceMessage); + } + } + }); + service.getHttpHeaders().put("cookie-policy", "standard"); ExchangeCredentials credentials = new WebCredentials(userName, password); service.setCredentials(credentials); - if ((hostName == null) || (hostName.trim().equals (""))) { + if ((hostName == null) || (hostName.trim().equals(""))) { service.autodiscoverUrl(emailAddress, new RedirectionUrlCallback()); } else { service.setUrl(new URI(hostName)); @@ -245,15 +259,15 @@ public class ExchangeMailReader implements MailReader { } class RedirectionUrlCallback implements IAutodiscoverRedirectionUrl { - + private static final Logger LOGGER = LoggerFactory.getLogger(RedirectionUrlCallback.class); @Override public boolean autodiscoverRedirectionUrlValidationCallback(String redirectionUrl) { if (LOGGER.isDebugEnabled()) { - LOGGER.debug("redirectUrl found: {}", redirectionUrl); - } - + LOGGER.debug("redirectUrl found: {}", redirectionUrl); + } + return redirectionUrl.toLowerCase().startsWith("https://"); } } diff --git a/network/src/test/resources/log4j.xml b/network/src/test/resources/log4j.xml index 2f69c97..ef9e1bb 100644 --- a/network/src/test/resources/log4j.xml +++ b/network/src/test/resources/log4j.xml @@ -1,17 +1,17 @@ - + + - - - - + + + - + @@ -19,13 +19,12 @@ - + - - - + + + - diff --git a/pom.xml b/pom.xml index 6d5ef30..4f1d477 100644 --- a/pom.xml +++ b/pom.xml @@ -141,6 +141,12 @@ jackson-annotations 2.9.8 jar + + + com.fasterxml.jackson.core + jackson-databind + 2.9.8 + jar org.apache.shiro