Merge origin/master

This commit is contained in:
2019-06-16 21:56:47 +02:00
5 changed files with 42 additions and 25 deletions

View File

@ -14,6 +14,7 @@
<name>shared-account-dao</name>
<dependencies>
<!-- TODO - remove dependencies from GSON and Jackson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
@ -21,8 +22,11 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>de.muehlencord.shared</groupId>
<artifactId>shared-util</artifactId>
@ -45,11 +49,5 @@
<version>5.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
<type>jar</type>
</dependency>
</dependencies>
</project>

View File

@ -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;

View File

@ -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://");
}
}

View File

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="true">
<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p [%c] %m%n" />
</layout>
</appender>
<category name="de.muehlencord">
</appender>
<category name="com.dieboldnixdorf">
<priority value="DEBUG"/>
</category>
</category>
<category name="com.sun">
<priority value="WARN"/>
@ -19,13 +19,12 @@
<category name="javax.xml">
<priority value="WARN"/>
</category>
</category>
<category name="org.apache.commons">
<priority value="WARN"/>
</category>
<logger name="org.hibernate">
<level value="INFO"/>
</logger>
<root>
<level value="DEBUG" />
<appender-ref ref="consoleAppender" />

View File

@ -141,6 +141,12 @@
<artifactId>jackson-annotations</artifactId>
<version>2.9.8</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>