mirror of
https://github.com/moparisthebest/davmail
synced 2025-03-04 03:09:40 -05:00
Reformat and fixes from audit
git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1702 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
parent
551c608812
commit
f89511775d
@ -20,11 +20,11 @@ package davmail;
|
|||||||
|
|
||||||
import davmail.exception.DavMailException;
|
import davmail.exception.DavMailException;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Internationalization message.
|
* Internationalization message.
|
||||||
|
@ -77,7 +77,7 @@ public class DoubleDotInputStream extends PushbackInputStream {
|
|||||||
}
|
}
|
||||||
// push back characters
|
// push back characters
|
||||||
if (index >= 0) {
|
if (index >= 0) {
|
||||||
while(index >= 0) {
|
while (index >= 0) {
|
||||||
unread(buffer[index--]);
|
unread(buffer[index--]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ import java.io.OutputStream;
|
|||||||
public class DoubleDotOutputStream extends FilterOutputStream {
|
public class DoubleDotOutputStream extends FilterOutputStream {
|
||||||
|
|
||||||
// remember last 2 bytes written
|
// remember last 2 bytes written
|
||||||
int[] buf = {0, 0};
|
final int[] buf = {0, 0};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @inheritDoc
|
* @inheritDoc
|
||||||
|
@ -658,7 +658,7 @@ public abstract class ExchangeSession {
|
|||||||
public abstract void deleteMessage(Message message) throws IOException;
|
public abstract void deleteMessage(Message message) throws IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send message to recipients, properties contains bcc recipients and other non MIME flags.
|
* Send message.
|
||||||
*
|
*
|
||||||
* @param messageBody MIME message body
|
* @param messageBody MIME message body
|
||||||
* @throws IOException on error
|
* @throws IOException on error
|
||||||
@ -1435,7 +1435,7 @@ public abstract class ExchangeSession {
|
|||||||
messages = ExchangeSession.this.searchMessages(folderPath, null);
|
messages = ExchangeSession.this.searchMessages(folderPath, null);
|
||||||
fixUids(messages);
|
fixUids(messages);
|
||||||
recent = 0;
|
recent = 0;
|
||||||
for (Message message:messages) {
|
for (Message message : messages) {
|
||||||
if (message.recent) {
|
if (message.recent) {
|
||||||
recent++;
|
recent++;
|
||||||
}
|
}
|
||||||
|
@ -95,6 +95,15 @@ public final class ExchangeSessionFactory {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create authenticated Exchange session
|
||||||
|
*
|
||||||
|
* @param baseUrl OWA base URL
|
||||||
|
* @param userName user login
|
||||||
|
* @param password user password
|
||||||
|
* @return authenticated session
|
||||||
|
* @throws IOException on error
|
||||||
|
*/
|
||||||
public static ExchangeSession getInstance(String baseUrl, String userName, String password) throws IOException {
|
public static ExchangeSession getInstance(String baseUrl, String userName, String password) throws IOException {
|
||||||
ExchangeSession session = null;
|
ExchangeSession session = null;
|
||||||
try {
|
try {
|
||||||
@ -129,7 +138,7 @@ public final class ExchangeSessionFactory {
|
|||||||
try {
|
try {
|
||||||
session = new DavExchangeSession(poolKey.url, poolKey.userName, poolKey.password);
|
session = new DavExchangeSession(poolKey.url, poolKey.userName, poolKey.password);
|
||||||
} catch (WebdavNotAvailableException e) {
|
} catch (WebdavNotAvailableException e) {
|
||||||
ExchangeSession.LOGGER.debug(e.getMessage()+", retry with EWS");
|
ExchangeSession.LOGGER.debug(e.getMessage() + ", retry with EWS");
|
||||||
session = new EwsExchangeSession(poolKey.url, poolKey.userName, poolKey.password);
|
session = new EwsExchangeSession(poolKey.url, poolKey.userName, poolKey.password);
|
||||||
// success, enable EWS flag
|
// success, enable EWS flag
|
||||||
ExchangeSession.LOGGER.debug("EWS found, changing davmail.enableEws setting");
|
ExchangeSession.LOGGER.debug("EWS found, changing davmail.enableEws setting");
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
package davmail.exchange;
|
package davmail.exchange;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.Reader;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.Reader;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ICS Buffered Reader.
|
* ICS Buffered Reader.
|
||||||
@ -32,6 +32,7 @@ public class ICSBufferedReader extends BufferedReader {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an ICS reader on the provided reader
|
* Create an ICS reader on the provided reader
|
||||||
|
*
|
||||||
* @param in input reader
|
* @param in input reader
|
||||||
* @throws IOException on error
|
* @throws IOException on error
|
||||||
*/
|
*/
|
||||||
|
@ -19,10 +19,13 @@
|
|||||||
package davmail.exchange;
|
package davmail.exchange;
|
||||||
|
|
||||||
import javax.mail.internet.MimeUtility;
|
import javax.mail.internet.MimeUtility;
|
||||||
import java.io.*;
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.io.OutputStreamWriter;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mime OutputStreamWriter to build in memory Mime message.
|
* Mime OutputStreamWriter to build in memory Mime message.
|
||||||
|
@ -26,6 +26,7 @@ import davmail.exception.DavMailException;
|
|||||||
public class NetworkDownException extends DavMailException {
|
public class NetworkDownException extends DavMailException {
|
||||||
/**
|
/**
|
||||||
* Build a network down exception with the provided BundleMessage key.
|
* Build a network down exception with the provided BundleMessage key.
|
||||||
|
*
|
||||||
* @param key message key
|
* @param key message key
|
||||||
*/
|
*/
|
||||||
public NetworkDownException(String key) {
|
public NetworkDownException(String key) {
|
||||||
@ -34,6 +35,7 @@ public class NetworkDownException extends DavMailException {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Build a network down exception with the provided BundleMessage key.
|
* Build a network down exception with the provided BundleMessage key.
|
||||||
|
*
|
||||||
* @param key message key
|
* @param key message key
|
||||||
* @param message detailed message
|
* @param message detailed message
|
||||||
*/
|
*/
|
||||||
|
@ -108,6 +108,11 @@ public class VCalendar extends VObject {
|
|||||||
return "TRUE".equals(vObject.getPropertyValue("X-MICROSOFT-CDO-ALLDAYEVENT"));
|
return "TRUE".equals(vObject.getPropertyValue("X-MICROSOFT-CDO-ALLDAYEVENT"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if vCalendar is CDO allday.
|
||||||
|
*
|
||||||
|
* @return true if vCalendar has X-MICROSOFT-CDO-ALLDAYEVENT property set to TRUE
|
||||||
|
*/
|
||||||
public boolean isCdoAllDay() {
|
public boolean isCdoAllDay() {
|
||||||
return firstVevent != null && isCdoAllDay(firstVevent);
|
return firstVevent != null && isCdoAllDay(firstVevent);
|
||||||
}
|
}
|
||||||
@ -147,7 +152,7 @@ public class VCalendar extends VObject {
|
|||||||
String tzid = null;
|
String tzid = null;
|
||||||
if (fromServer) {
|
if (fromServer) {
|
||||||
// get current tzid
|
// get current tzid
|
||||||
VObject vObject = getVTimezone();
|
VObject vObject = vTimezone;
|
||||||
if (vObject != null) {
|
if (vObject != null) {
|
||||||
String currentTzid = vObject.getPropertyValue("TZID");
|
String currentTzid = vObject.getPropertyValue("TZID");
|
||||||
// fix TZID with \n (Exchange 2010 bug)
|
// fix TZID with \n (Exchange 2010 bug)
|
||||||
@ -460,10 +465,14 @@ public class VCalendar extends VObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove VAlarm from VCalendar.
|
||||||
|
*/
|
||||||
public void removeVAlarm() {
|
public void removeVAlarm() {
|
||||||
if (vObjects != null) {
|
if (vObjects != null) {
|
||||||
for (VObject vObject : vObjects) {
|
for (VObject vObject : vObjects) {
|
||||||
if ("VEVENT".equals(vObject.type)) {
|
if ("VEVENT".equals(vObject.type)) {
|
||||||
|
// As VALARM is the only possible inner object, just drop all objects
|
||||||
if (vObject.vObjects != null) {
|
if (vObject.vObjects != null) {
|
||||||
vObject.vObjects = null;
|
vObject.vObjects = null;
|
||||||
}
|
}
|
||||||
@ -472,6 +481,11 @@ public class VCalendar extends VObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if VCalendar has a VALARM item.
|
||||||
|
*
|
||||||
|
* @return true if VCalendar has a VALARM
|
||||||
|
*/
|
||||||
public boolean hasVAlarm() {
|
public boolean hasVAlarm() {
|
||||||
if (vObjects != null) {
|
if (vObjects != null) {
|
||||||
for (VObject vObject : vObjects) {
|
for (VObject vObject : vObjects) {
|
||||||
@ -485,18 +499,39 @@ public class VCalendar extends VObject {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if this VCalendar is a meeting.
|
||||||
|
*
|
||||||
|
* @return true if this VCalendar has attendees
|
||||||
|
*/
|
||||||
public boolean isMeeting() {
|
public boolean isMeeting() {
|
||||||
return getFirstVeventProperty("ATTENDEE") != null;
|
return getFirstVeventProperty("ATTENDEE") != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if current user is meeting organizer.
|
||||||
|
*
|
||||||
|
* @return true it user email matched organizer email
|
||||||
|
*/
|
||||||
public boolean isMeetingOrganizer() {
|
public boolean isMeetingOrganizer() {
|
||||||
return email.equals(getEmailValue(getFirstVeventProperty("ORGANIZER")));
|
return email.equalsIgnoreCase(getEmailValue(getFirstVeventProperty("ORGANIZER")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set property value on first VEVENT.
|
||||||
|
*
|
||||||
|
* @param propertyName property name
|
||||||
|
* @param propertyValue property value
|
||||||
|
*/
|
||||||
public void setFirstVeventPropertyValue(String propertyName, String propertyValue) {
|
public void setFirstVeventPropertyValue(String propertyName, String propertyValue) {
|
||||||
firstVevent.setPropertyValue(propertyName, propertyValue);
|
firstVevent.setPropertyValue(propertyName, propertyValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add property on first VEVENT.
|
||||||
|
*
|
||||||
|
* @param vProperty property object
|
||||||
|
*/
|
||||||
public void addFirstVeventProperty(VProperty vProperty) {
|
public void addFirstVeventProperty(VProperty vProperty) {
|
||||||
firstVevent.addProperty(vProperty);
|
firstVevent.addProperty(vProperty);
|
||||||
}
|
}
|
||||||
@ -505,8 +540,19 @@ public class VCalendar extends VObject {
|
|||||||
* VCalendar recipients for notifications
|
* VCalendar recipients for notifications
|
||||||
*/
|
*/
|
||||||
public static class Recipients {
|
public static class Recipients {
|
||||||
|
/**
|
||||||
|
* attendee list
|
||||||
|
*/
|
||||||
public String attendees;
|
public String attendees;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* optional attendee list
|
||||||
|
*/
|
||||||
public String optionalAttendees;
|
public String optionalAttendees;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* vCalendar organizer
|
||||||
|
*/
|
||||||
public String organizer;
|
public String organizer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -573,10 +619,15 @@ public class VCalendar extends VObject {
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get recurring VCalendar occurence exceptions.
|
||||||
|
*
|
||||||
|
* @return event occurences
|
||||||
|
*/
|
||||||
public List<VObject> getModifiedOccurrences() {
|
public List<VObject> getModifiedOccurrences() {
|
||||||
boolean first = true;
|
boolean first = true;
|
||||||
ArrayList<VObject> results = new ArrayList<VObject>();
|
ArrayList<VObject> results = new ArrayList<VObject>();
|
||||||
for (VObject vObject:vObjects) {
|
for (VObject vObject : vObjects) {
|
||||||
if ("VEVENT".equals(vObject.type)) {
|
if ("VEVENT".equals(vObject.type)) {
|
||||||
if (first) {
|
if (first) {
|
||||||
first = false;
|
first = false;
|
||||||
|
@ -84,6 +84,9 @@ public class VObject {
|
|||||||
this(new ICSBufferedReader(new StringReader(itemBody)));
|
this(new ICSBufferedReader(new StringReader(itemBody)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create empty VCalendar object;
|
||||||
|
*/
|
||||||
public VObject() {
|
public VObject() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,6 +104,11 @@ public class VObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add vObject.
|
||||||
|
*
|
||||||
|
* @param vObject inner object
|
||||||
|
*/
|
||||||
public void addVObject(VObject vObject) {
|
public void addVObject(VObject vObject) {
|
||||||
if (vObjects == null) {
|
if (vObjects == null) {
|
||||||
vObjects = new ArrayList<VObject>();
|
vObjects = new ArrayList<VObject>();
|
||||||
@ -108,6 +116,11 @@ public class VObject {
|
|||||||
vObjects.add(vObject);
|
vObjects.add(vObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add vProperty.
|
||||||
|
*
|
||||||
|
* @param property vProperty
|
||||||
|
*/
|
||||||
public void addProperty(VProperty property) {
|
public void addProperty(VProperty property) {
|
||||||
if (property.getValue() != null) {
|
if (property.getValue() != null) {
|
||||||
if (properties == null) {
|
if (properties == null) {
|
||||||
@ -154,6 +167,12 @@ public class VObject {
|
|||||||
return properties;
|
return properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get vProperty by name.
|
||||||
|
*
|
||||||
|
* @param name property name
|
||||||
|
* @return property object
|
||||||
|
*/
|
||||||
public VProperty getProperty(String name) {
|
public VProperty getProperty(String name) {
|
||||||
if (properties != null) {
|
if (properties != null) {
|
||||||
for (VProperty property : properties) {
|
for (VProperty property : properties) {
|
||||||
@ -166,6 +185,12 @@ public class VObject {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get multivalued vProperty by name.
|
||||||
|
*
|
||||||
|
* @param name property name
|
||||||
|
* @return property list
|
||||||
|
*/
|
||||||
public List<VProperty> getProperties(String name) {
|
public List<VProperty> getProperties(String name) {
|
||||||
List<VProperty> result = null;
|
List<VProperty> result = null;
|
||||||
if (properties != null) {
|
if (properties != null) {
|
||||||
@ -182,6 +207,12 @@ public class VObject {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get vProperty value by name.
|
||||||
|
*
|
||||||
|
* @param name property name
|
||||||
|
* @return property value
|
||||||
|
*/
|
||||||
public String getPropertyValue(String name) {
|
public String getPropertyValue(String name) {
|
||||||
VProperty property = getProperty(name);
|
VProperty property = getProperty(name);
|
||||||
if (property != null) {
|
if (property != null) {
|
||||||
@ -191,6 +222,12 @@ public class VObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set vProperty value on vObject, remove property if value is null.
|
||||||
|
*
|
||||||
|
* @param name property name
|
||||||
|
* @param value property value
|
||||||
|
*/
|
||||||
public void setPropertyValue(String name, String value) {
|
public void setPropertyValue(String name, String value) {
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
removeProperty(name);
|
removeProperty(name);
|
||||||
@ -205,6 +242,12 @@ public class VObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add vProperty value on vObject.
|
||||||
|
*
|
||||||
|
* @param name property name
|
||||||
|
* @param value property value
|
||||||
|
*/
|
||||||
public void addPropertyValue(String name, String value) {
|
public void addPropertyValue(String name, String value) {
|
||||||
if (value != null) {
|
if (value != null) {
|
||||||
VProperty property = new VProperty(name, value);
|
VProperty property = new VProperty(name, value);
|
||||||
@ -212,6 +255,11 @@ public class VObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove vProperty from vObject.
|
||||||
|
*
|
||||||
|
* @param name property name
|
||||||
|
*/
|
||||||
public void removeProperty(String name) {
|
public void removeProperty(String name) {
|
||||||
if (properties != null) {
|
if (properties != null) {
|
||||||
VProperty property = getProperty(name);
|
VProperty property = getProperty(name);
|
||||||
@ -221,6 +269,11 @@ public class VObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove vProperty object from vObject.
|
||||||
|
*
|
||||||
|
* @param property object
|
||||||
|
*/
|
||||||
public void removeProperty(VProperty property) {
|
public void removeProperty(VProperty property) {
|
||||||
if (properties != null) {
|
if (properties != null) {
|
||||||
properties.remove(property);
|
properties.remove(property);
|
||||||
|
@ -234,6 +234,12 @@ public class VProperty {
|
|||||||
addParam(paramName, (String) null);
|
addParam(paramName, (String) null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set param value on property.
|
||||||
|
*
|
||||||
|
* @param paramName param name
|
||||||
|
* @param paramValue param value
|
||||||
|
*/
|
||||||
public void setParam(String paramName, String paramValue) {
|
public void setParam(String paramName, String paramValue) {
|
||||||
Param currentParam = getParam(paramName);
|
Param currentParam = getParam(paramName);
|
||||||
if (currentParam != null) {
|
if (currentParam != null) {
|
||||||
@ -242,6 +248,12 @@ public class VProperty {
|
|||||||
addParam(paramName, paramValue);
|
addParam(paramName, paramValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add param value on property.
|
||||||
|
*
|
||||||
|
* @param paramName param name
|
||||||
|
* @param paramValue param value
|
||||||
|
*/
|
||||||
public void addParam(String paramName, String paramValue) {
|
public void addParam(String paramName, String paramValue) {
|
||||||
List<String> paramValues = new ArrayList<String>();
|
List<String> paramValues = new ArrayList<String>();
|
||||||
paramValues.add(paramValue);
|
paramValues.add(paramValue);
|
||||||
|
@ -35,7 +35,7 @@ import java.util.Map;
|
|||||||
* XmlStreamReader utility methods
|
* XmlStreamReader utility methods
|
||||||
*/
|
*/
|
||||||
public final class XMLStreamUtil {
|
public final class XMLStreamUtil {
|
||||||
protected static final Logger LOGGER = Logger.getLogger(XMLStreamUtil.class);
|
private static final Logger LOGGER = Logger.getLogger(XMLStreamUtil.class);
|
||||||
|
|
||||||
private XMLStreamUtil() {
|
private XMLStreamUtil() {
|
||||||
}
|
}
|
||||||
@ -167,6 +167,12 @@ public final class XMLStreamUtil {
|
|||||||
return xmlInputFactory.createXMLStreamReader(inputStream);
|
return xmlInputFactory.createXMLStreamReader(inputStream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get element text.
|
||||||
|
*
|
||||||
|
* @param reader stream reader
|
||||||
|
* @return element text
|
||||||
|
*/
|
||||||
public static String getElementText(XMLStreamReader reader) {
|
public static String getElementText(XMLStreamReader reader) {
|
||||||
String value = null;
|
String value = null;
|
||||||
try {
|
try {
|
||||||
|
@ -2577,7 +2577,8 @@ public class DavExchangeSession extends ExchangeSession {
|
|||||||
int totalCount;
|
int totalCount;
|
||||||
int lastLogCount;
|
int lastLogCount;
|
||||||
|
|
||||||
public int read(byte buffer[], int offset, int length) throws IOException {
|
@Override
|
||||||
|
public int read(byte[] buffer, int offset, int length) throws IOException {
|
||||||
int count = super.read(buffer, offset, length);
|
int count = super.read(buffer, offset, length);
|
||||||
totalCount += count;
|
totalCount += count;
|
||||||
if (totalCount - lastLogCount > 1024 * 1024) {
|
if (totalCount - lastLogCount > 1024 * 1024) {
|
||||||
|
@ -199,7 +199,6 @@ public class Field {
|
|||||||
createField(URN_SCHEMAS_CALENDAR, "timezone"); // DistinguishedPropertySetType.PublicStrings/urn:schemas:calendar:timezone/String
|
createField(URN_SCHEMAS_CALENDAR, "timezone"); // DistinguishedPropertySetType.PublicStrings/urn:schemas:calendar:timezone/String
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
createField(SCHEMAS_EXCHANGE, "sensitivity"); // PR_SENSITIVITY 0x0036 Integer
|
createField(SCHEMAS_EXCHANGE, "sensitivity"); // PR_SENSITIVITY 0x0036 Integer
|
||||||
createField(URN_SCHEMAS_CALENDAR, "timezoneid"); // DistinguishedPropertySetType.PublicStrings/urn:schemas:calendar:timezoneid/Integer
|
createField(URN_SCHEMAS_CALENDAR, "timezoneid"); // DistinguishedPropertySetType.PublicStrings/urn:schemas:calendar:timezoneid/Integer
|
||||||
// should use PidLidServerProcessed ?
|
// should use PidLidServerProcessed ?
|
||||||
|
@ -21,7 +21,7 @@ package davmail.exchange.ews;
|
|||||||
/**
|
/**
|
||||||
* Item update conflict resolution
|
* Item update conflict resolution
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings({"JavaDoc"})
|
@SuppressWarnings({"JavaDoc", "UnusedDeclaration"})
|
||||||
public final class ConflictResolution extends AttributeOption {
|
public final class ConflictResolution extends AttributeOption {
|
||||||
private ConflictResolution(String value) {
|
private ConflictResolution(String value) {
|
||||||
super("ConflictResolution", value);
|
super("ConflictResolution", value);
|
||||||
|
@ -21,7 +21,7 @@ package davmail.exchange.ews;
|
|||||||
/**
|
/**
|
||||||
* DeleteItem disposal type.
|
* DeleteItem disposal type.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings({"JavaDoc"})
|
@SuppressWarnings({"JavaDoc", "UnusedDeclaration"})
|
||||||
public class DeleteType extends AttributeOption {
|
public class DeleteType extends AttributeOption {
|
||||||
private DeleteType(String value) {
|
private DeleteType(String value) {
|
||||||
super("DeleteType", value);
|
super("DeleteType", value);
|
||||||
|
@ -21,7 +21,7 @@ package davmail.exchange.ews;
|
|||||||
/**
|
/**
|
||||||
* Disposal.
|
* Disposal.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings({"JavaDoc"})
|
@SuppressWarnings({"JavaDoc", "UnusedDeclaration"})
|
||||||
public final class Disposal extends AttributeOption {
|
public final class Disposal extends AttributeOption {
|
||||||
private Disposal(String value) {
|
private Disposal(String value) {
|
||||||
super("DeleteType", value);
|
super("DeleteType", value);
|
||||||
|
@ -43,7 +43,7 @@ public final class DistinguishedFolderId extends FolderId {
|
|||||||
publicfoldersroot, root, junkemail, searchfolders, voicemail
|
publicfoldersroot, root, junkemail, searchfolders, voicemail
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static final Map<Name, DistinguishedFolderId> folderIdMap = new HashMap<Name, DistinguishedFolderId>();
|
private static final Map<Name, DistinguishedFolderId> folderIdMap = new HashMap<Name, DistinguishedFolderId>();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
for (Name name : Name.values()) {
|
for (Name name : Name.values()) {
|
||||||
|
@ -447,6 +447,9 @@ public abstract class EWSMethod extends PostMethod {
|
|||||||
* Recurring event occurrence
|
* Recurring event occurrence
|
||||||
*/
|
*/
|
||||||
public static class Occurrence {
|
public static class Occurrence {
|
||||||
|
/**
|
||||||
|
* Original occurence start date
|
||||||
|
*/
|
||||||
public String originalStart;
|
public String originalStart;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -625,7 +628,7 @@ public abstract class EWSMethod extends PostMethod {
|
|||||||
/**
|
/**
|
||||||
* Add occurrence.
|
* Add occurrence.
|
||||||
*
|
*
|
||||||
* @param attendee attendee object
|
* @param occurrence event occurence
|
||||||
*/
|
*/
|
||||||
public void addOccurrence(Occurrence occurrence) {
|
public void addOccurrence(Occurrence occurrence) {
|
||||||
if (occurrences == null) {
|
if (occurrences == null) {
|
||||||
@ -634,6 +637,11 @@ public abstract class EWSMethod extends PostMethod {
|
|||||||
occurrences.add(occurrence);
|
occurrences.add(occurrence);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get occurences.
|
||||||
|
*
|
||||||
|
* @return event occurences
|
||||||
|
*/
|
||||||
public List<Occurrence> getOccurrences() {
|
public List<Occurrence> getOccurrences() {
|
||||||
return occurrences;
|
return occurrences;
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ import java.util.Map;
|
|||||||
* EWS MAPI fields;
|
* EWS MAPI fields;
|
||||||
*/
|
*/
|
||||||
public final class Field {
|
public final class Field {
|
||||||
protected static final Map<String, FieldURI> FIELD_MAP = new HashMap<String, FieldURI>();
|
private static final Map<String, FieldURI> FIELD_MAP = new HashMap<String, FieldURI>();
|
||||||
|
|
||||||
private Field() {
|
private Field() {
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,6 @@ public class GetUserConfigurationMethod extends EWSMethod {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get User Configuration method.
|
* Get User Configuration method.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public GetUserConfigurationMethod() {
|
public GetUserConfigurationMethod() {
|
||||||
super("UserConfiguration", "GetUserConfiguration");
|
super("UserConfiguration", "GetUserConfiguration");
|
||||||
|
@ -34,6 +34,8 @@ public class IndexedFieldURI implements FieldURI {
|
|||||||
*
|
*
|
||||||
* @param fieldURI base field uri
|
* @param fieldURI base field uri
|
||||||
* @param fieldIndex field name
|
* @param fieldIndex field name
|
||||||
|
* @param fieldItemType field item type
|
||||||
|
* @param collectionName collection name
|
||||||
*/
|
*/
|
||||||
public IndexedFieldURI(String fieldURI, String fieldIndex, String fieldItemType, String collectionName) {
|
public IndexedFieldURI(String fieldURI, String fieldIndex, String fieldItemType, String collectionName) {
|
||||||
this.fieldURI = fieldURI;
|
this.fieldURI = fieldURI;
|
||||||
|
@ -229,9 +229,8 @@ public final class DavGatewayHttpClientFacade {
|
|||||||
* @param httpClient httpClient instance
|
* @param httpClient httpClient instance
|
||||||
* @param url url string
|
* @param url url string
|
||||||
* @return HttpStatus code
|
* @return HttpStatus code
|
||||||
* @throws IOException on error
|
|
||||||
*/
|
*/
|
||||||
public static int getHttpStatus(HttpClient httpClient, String url) throws IOException {
|
public static int getHttpStatus(HttpClient httpClient, String url) {
|
||||||
int status = 0;
|
int status = 0;
|
||||||
HttpMethod testMethod = new GetMethod(url);
|
HttpMethod testMethod = new GetMethod(url);
|
||||||
testMethod.setDoAuthentication(false);
|
testMethod.setDoAuthentication(false);
|
||||||
|
@ -30,6 +30,7 @@ public final class DavGatewayOTPPrompt {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Ask user token password
|
* Ask user token password
|
||||||
|
*
|
||||||
* @return user provided one time password
|
* @return user provided one time password
|
||||||
*/
|
*/
|
||||||
public static String getOneTimePassword() {
|
public static String getOneTimePassword() {
|
||||||
|
@ -18,23 +18,23 @@
|
|||||||
*/
|
*/
|
||||||
package davmail.http;
|
package davmail.http;
|
||||||
|
|
||||||
import davmail.Settings;
|
|
||||||
import davmail.BundleMessage;
|
import davmail.BundleMessage;
|
||||||
import davmail.ui.tray.DavGatewayTray;
|
import davmail.Settings;
|
||||||
import davmail.ui.AcceptCertificateDialog;
|
import davmail.ui.AcceptCertificateDialog;
|
||||||
|
import davmail.ui.tray.DavGatewayTray;
|
||||||
|
|
||||||
import javax.net.ssl.TrustManager;
|
import javax.net.ssl.TrustManager;
|
||||||
import javax.net.ssl.TrustManagerFactory;
|
import javax.net.ssl.TrustManagerFactory;
|
||||||
import javax.net.ssl.X509TrustManager;
|
import javax.net.ssl.X509TrustManager;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
import java.security.*;
|
import java.security.*;
|
||||||
import java.security.cert.CertificateEncodingException;
|
import java.security.cert.CertificateEncodingException;
|
||||||
import java.security.cert.CertificateException;
|
import java.security.cert.CertificateException;
|
||||||
import java.security.cert.X509Certificate;
|
import java.security.cert.X509Certificate;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.InputStreamReader;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom Trust Manager, let user accept or deny.
|
* Custom Trust Manager, let user accept or deny.
|
||||||
|
@ -20,9 +20,9 @@ package davmail.http;
|
|||||||
|
|
||||||
import sun.security.pkcs11.SunPKCS11;
|
import sun.security.pkcs11.SunPKCS11;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
import java.security.Provider;
|
import java.security.Provider;
|
||||||
import java.security.Security;
|
import java.security.Security;
|
||||||
import java.io.ByteArrayInputStream;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add the SunPKCS11 Provider.
|
* Add the SunPKCS11 Provider.
|
||||||
|
@ -622,6 +622,7 @@ public class ImapConnection extends AbstractConnection {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Detect infinite loop on the client side.
|
* Detect infinite loop on the client side.
|
||||||
|
*
|
||||||
* @param line IMAP command line
|
* @param line IMAP command line
|
||||||
* @throws IOException on infinite loop
|
* @throws IOException on infinite loop
|
||||||
*/
|
*/
|
||||||
@ -637,7 +638,7 @@ public class ImapConnection extends AbstractConnection {
|
|||||||
lastCommandCount++;
|
lastCommandCount++;
|
||||||
if (lastCommandCount > 100 && !"NOOP".equalsIgnoreCase(lastCommand)) {
|
if (lastCommandCount > 100 && !"NOOP".equalsIgnoreCase(lastCommand)) {
|
||||||
// more than a hundred times the same command => this is a client infinite loop, close connection
|
// more than a hundred times the same command => this is a client infinite loop, close connection
|
||||||
throw new IOException("Infinite loop on command "+command+" detected");
|
throw new IOException("Infinite loop on command " + command + " detected");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// new command, reset
|
// new command, reset
|
||||||
|
@ -487,7 +487,7 @@ public class LdapConnection extends AbstractConnection {
|
|||||||
} finally {
|
} finally {
|
||||||
// cancel all search threads
|
// cancel all search threads
|
||||||
synchronized (searchThreadMap) {
|
synchronized (searchThreadMap) {
|
||||||
for (SearchRunnable searchRunnable:searchThreadMap.values()) {
|
for (SearchRunnable searchRunnable : searchThreadMap.values()) {
|
||||||
searchRunnable.abandon();
|
searchRunnable.abandon();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -93,7 +93,7 @@ public class PopConnection extends AbstractConnection {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
ExchangeSessionFactory.checkConfig();
|
ExchangeSessionFactory.checkConfig();
|
||||||
sendOK("DavMail "+ DavGateway.getCurrentVersion()+" POP ready at " + new Date());
|
sendOK("DavMail " + DavGateway.getCurrentVersion() + " POP ready at " + new Date());
|
||||||
|
|
||||||
for (; ;) {
|
for (; ;) {
|
||||||
line = readClient();
|
line = readClient();
|
||||||
|
@ -37,6 +37,7 @@ public class PopServer extends AbstractServer {
|
|||||||
/**
|
/**
|
||||||
* Create a ServerSocket to listen for connections.
|
* Create a ServerSocket to listen for connections.
|
||||||
* Start the thread.
|
* Start the thread.
|
||||||
|
*
|
||||||
* @param port pop listen port, 110 if not defined (0)
|
* @param port pop listen port, 110 if not defined (0)
|
||||||
*/
|
*/
|
||||||
public PopServer(int port) {
|
public PopServer(int port) {
|
||||||
|
@ -62,7 +62,7 @@ public class SmtpConnection extends AbstractConnection {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
ExchangeSessionFactory.checkConfig();
|
ExchangeSessionFactory.checkConfig();
|
||||||
sendClient("220 DavMail "+ DavGateway.getCurrentVersion()+" SMTP ready at " + new Date());
|
sendClient("220 DavMail " + DavGateway.getCurrentVersion() + " SMTP ready at " + new Date());
|
||||||
for (; ;) {
|
for (; ;) {
|
||||||
line = readClient();
|
line = readClient();
|
||||||
// unable to read line, connection closed ?
|
// unable to read line, connection closed ?
|
||||||
|
@ -36,6 +36,7 @@ public class SmtpServer extends AbstractServer {
|
|||||||
/**
|
/**
|
||||||
* Create a ServerSocket to listen for connections.
|
* Create a ServerSocket to listen for connections.
|
||||||
* Start the thread.
|
* Start the thread.
|
||||||
|
*
|
||||||
* @param port smtp port
|
* @param port smtp port
|
||||||
*/
|
*/
|
||||||
public SmtpServer(int port) {
|
public SmtpServer(int port) {
|
||||||
|
@ -18,10 +18,10 @@
|
|||||||
*/
|
*/
|
||||||
package davmail.ui;
|
package davmail.ui;
|
||||||
|
|
||||||
import davmail.DavGateway;
|
|
||||||
import davmail.BundleMessage;
|
import davmail.BundleMessage;
|
||||||
import davmail.ui.tray.DavGatewayTray;
|
import davmail.DavGateway;
|
||||||
import davmail.ui.browser.DesktopBrowser;
|
import davmail.ui.browser.DesktopBrowser;
|
||||||
|
import davmail.ui.tray.DavGatewayTray;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
@ -18,9 +18,9 @@
|
|||||||
*/
|
*/
|
||||||
package davmail.ui;
|
package davmail.ui;
|
||||||
|
|
||||||
|
import davmail.BundleMessage;
|
||||||
import davmail.http.DavGatewayX509TrustManager;
|
import davmail.http.DavGatewayX509TrustManager;
|
||||||
import davmail.ui.tray.DavGatewayTray;
|
import davmail.ui.tray.DavGatewayTray;
|
||||||
import davmail.BundleMessage;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
@ -32,7 +32,7 @@ import java.awt.event.ActionListener;
|
|||||||
*/
|
*/
|
||||||
public class NotificationDialog extends JDialog {
|
public class NotificationDialog extends JDialog {
|
||||||
|
|
||||||
protected boolean sendNotification = false;
|
protected boolean sendNotification;
|
||||||
|
|
||||||
protected JTextField toField;
|
protected JTextField toField;
|
||||||
protected JTextField ccField;
|
protected JTextField ccField;
|
||||||
@ -56,6 +56,13 @@ public class NotificationDialog extends JDialog {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notification dialog to let user edit message body or cancel notification.
|
||||||
|
*
|
||||||
|
* @param to main recipients
|
||||||
|
* @param cc copy recipients
|
||||||
|
* @param subject notification subject
|
||||||
|
*/
|
||||||
public NotificationDialog(String to, String cc, String subject) {
|
public NotificationDialog(String to, String cc, String subject) {
|
||||||
setModal(true);
|
setModal(true);
|
||||||
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
|
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
|
||||||
@ -157,22 +164,47 @@ public class NotificationDialog extends JDialog {
|
|||||||
return bodyPanel;
|
return bodyPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cancel notification flag.
|
||||||
|
*
|
||||||
|
* @return false if user chose to cancel notification
|
||||||
|
*/
|
||||||
public boolean getSendNotification() {
|
public boolean getSendNotification() {
|
||||||
return sendNotification;
|
return sendNotification;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get edited recipients.
|
||||||
|
*
|
||||||
|
* @return recipients string
|
||||||
|
*/
|
||||||
public String getTo() {
|
public String getTo() {
|
||||||
return toField.getText();
|
return toField.getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get edited copy recipients.
|
||||||
|
*
|
||||||
|
* @return copy recipients string
|
||||||
|
*/
|
||||||
public String getCc() {
|
public String getCc() {
|
||||||
return ccField.getText();
|
return ccField.getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get edited subject.
|
||||||
|
*
|
||||||
|
* @return subject
|
||||||
|
*/
|
||||||
public String getSubject() {
|
public String getSubject() {
|
||||||
return subjectField.getText();
|
return subjectField.getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get edited body.
|
||||||
|
*
|
||||||
|
* @return edited notification body
|
||||||
|
*/
|
||||||
public String getBody() {
|
public String getBody() {
|
||||||
return bodyField.getText();
|
return bodyField.getText();
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,10 @@
|
|||||||
*/
|
*/
|
||||||
package davmail.ui;
|
package davmail.ui;
|
||||||
|
|
||||||
import java.lang.reflect.*;
|
import java.lang.reflect.InvocationHandler;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
import java.lang.reflect.Proxy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reflection based MacOS handler
|
* Reflection based MacOS handler
|
||||||
@ -195,6 +198,7 @@ public class OSXAdapter implements InvocationHandler {
|
|||||||
|
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compare the method that was called to the intended method when the OSXAdapter instance was created
|
* Compare the method that was called to the intended method when the OSXAdapter instance was created
|
||||||
* (e.g. handleAbout, handleQuit, handleOpenFile, etc.).
|
* (e.g. handleAbout, handleQuit, handleOpenFile, etc.).
|
||||||
|
@ -18,9 +18,9 @@
|
|||||||
*/
|
*/
|
||||||
package davmail.ui.browser;
|
package davmail.ui.browser;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wrapper class to call Java6 Desktop class to launch default browser.
|
* Wrapper class to call Java6 Desktop class to launch default browser.
|
||||||
|
@ -18,9 +18,9 @@
|
|||||||
*/
|
*/
|
||||||
package davmail.ui.browser;
|
package davmail.ui.browser;
|
||||||
|
|
||||||
import davmail.ui.tray.DavGatewayTray;
|
|
||||||
import davmail.ui.AboutFrame;
|
|
||||||
import davmail.BundleMessage;
|
import davmail.BundleMessage;
|
||||||
|
import davmail.ui.AboutFrame;
|
||||||
|
import davmail.ui.tray.DavGatewayTray;
|
||||||
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
|
@ -36,6 +36,6 @@ public final class OSXDesktopBrowser {
|
|||||||
* @throws IOException on error
|
* @throws IOException on error
|
||||||
*/
|
*/
|
||||||
public static void browse(URI location) throws IOException {
|
public static void browse(URI location) throws IOException {
|
||||||
Runtime.getRuntime().exec("open "+location.toString());
|
Runtime.getRuntime().exec("open " + location.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,13 +18,13 @@
|
|||||||
*/
|
*/
|
||||||
package davmail.ui.tray;
|
package davmail.ui.tray;
|
||||||
|
|
||||||
import davmail.Settings;
|
|
||||||
import davmail.BundleMessage;
|
import davmail.BundleMessage;
|
||||||
import davmail.DavGateway;
|
import davmail.DavGateway;
|
||||||
|
import davmail.Settings;
|
||||||
import davmail.ui.AboutFrame;
|
import davmail.ui.AboutFrame;
|
||||||
import davmail.ui.SettingsFrame;
|
import davmail.ui.SettingsFrame;
|
||||||
import org.apache.log4j.Logger;
|
|
||||||
import org.apache.log4j.Level;
|
import org.apache.log4j.Level;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
import org.apache.log4j.lf5.LF5Appender;
|
import org.apache.log4j.lf5.LF5Appender;
|
||||||
import org.apache.log4j.lf5.LogLevel;
|
import org.apache.log4j.lf5.LogLevel;
|
||||||
import org.apache.log4j.lf5.viewer.LogBrokerMonitor;
|
import org.apache.log4j.lf5.viewer.LogBrokerMonitor;
|
||||||
|
@ -18,11 +18,11 @@
|
|||||||
*/
|
*/
|
||||||
package davmail.ui.tray;
|
package davmail.ui.tray;
|
||||||
|
|
||||||
import davmail.Settings;
|
|
||||||
import davmail.BundleMessage;
|
import davmail.BundleMessage;
|
||||||
|
import davmail.Settings;
|
||||||
import davmail.exchange.NetworkDownException;
|
import davmail.exchange.NetworkDownException;
|
||||||
import org.apache.log4j.Logger;
|
|
||||||
import org.apache.log4j.Level;
|
import org.apache.log4j.Level;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
@ -18,13 +18,13 @@
|
|||||||
*/
|
*/
|
||||||
package davmail.ui.tray;
|
package davmail.ui.tray;
|
||||||
|
|
||||||
import davmail.Settings;
|
|
||||||
import davmail.BundleMessage;
|
import davmail.BundleMessage;
|
||||||
import davmail.DavGateway;
|
import davmail.DavGateway;
|
||||||
|
import davmail.Settings;
|
||||||
import davmail.ui.AboutFrame;
|
import davmail.ui.AboutFrame;
|
||||||
import davmail.ui.SettingsFrame;
|
import davmail.ui.SettingsFrame;
|
||||||
import org.apache.log4j.Logger;
|
|
||||||
import org.apache.log4j.Level;
|
import org.apache.log4j.Level;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
import org.apache.log4j.lf5.LF5Appender;
|
import org.apache.log4j.lf5.LF5Appender;
|
||||||
import org.apache.log4j.lf5.LogLevel;
|
import org.apache.log4j.lf5.LogLevel;
|
||||||
import org.apache.log4j.lf5.viewer.LogBrokerMonitor;
|
import org.apache.log4j.lf5.viewer.LogBrokerMonitor;
|
||||||
|
@ -18,9 +18,9 @@
|
|||||||
*/
|
*/
|
||||||
package davmail.ui.tray;
|
package davmail.ui.tray;
|
||||||
|
|
||||||
import davmail.ui.OSXAdapter;
|
|
||||||
import davmail.BundleMessage;
|
import davmail.BundleMessage;
|
||||||
import davmail.DavGateway;
|
import davmail.DavGateway;
|
||||||
|
import davmail.ui.OSXAdapter;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
@ -18,15 +18,15 @@
|
|||||||
*/
|
*/
|
||||||
package davmail.web;
|
package davmail.web;
|
||||||
|
|
||||||
import davmail.Settings;
|
|
||||||
import davmail.DavGateway;
|
|
||||||
import davmail.BundleMessage;
|
import davmail.BundleMessage;
|
||||||
|
import davmail.DavGateway;
|
||||||
|
import davmail.Settings;
|
||||||
import davmail.ui.tray.DavGatewayTray;
|
import davmail.ui.tray.DavGatewayTray;
|
||||||
|
|
||||||
import javax.servlet.ServletContextListener;
|
|
||||||
import javax.servlet.ServletContextEvent;
|
import javax.servlet.ServletContextEvent;
|
||||||
import java.io.InputStream;
|
import javax.servlet.ServletContextListener;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Context Listener to start/stop DavMail
|
* Context Listener to start/stop DavMail
|
||||||
|
Loading…
x
Reference in New Issue
Block a user