added trace logging
This commit is contained in:
@ -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 <joern at muehlencord.de>
|
||||
*/
|
||||
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://");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user