You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/09/11 02:36:58 UTC
[14/23] james-project git commit: JAMES-2138 move MailAddress to a
new james-core project
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 20ddced..a5f045b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -525,6 +525,7 @@
<modules>
<module>backends-common</module>
+ <module>core</module>
<module>mailbox</module>
<module>mailet</module>
<module>mdn</module>
@@ -945,6 +946,11 @@
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
+ <artifactId>james-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
<artifactId>james-mdn</artifactId>
<version>${project.version}</version>
</dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/core/DataLineMessageHookHandler.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/core/DataLineMessageHookHandler.java b/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/core/DataLineMessageHookHandler.java
index 5df57f9..51251de 100644
--- a/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/core/DataLineMessageHookHandler.java
+++ b/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/core/DataLineMessageHookHandler.java
@@ -23,11 +23,11 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.List;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.api.Response;
import org.apache.james.protocols.api.handler.WiringException;
import org.apache.james.protocols.lmtp.LMTPMultiResponse;
import org.apache.james.protocols.lmtp.hook.DeliverToRecipientHook;
-import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.MailEnvelopeImpl;
import org.apache.james.protocols.smtp.SMTPResponse;
import org.apache.james.protocols.smtp.SMTPRetCode;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/hook/DeliverToRecipientHook.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/hook/DeliverToRecipientHook.java b/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/hook/DeliverToRecipientHook.java
index abfde07..7053cf8 100644
--- a/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/hook/DeliverToRecipientHook.java
+++ b/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/hook/DeliverToRecipientHook.java
@@ -19,7 +19,7 @@
package org.apache.james.protocols.lmtp.hook;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.MailEnvelope;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.hook.Hook;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
index dee82d3..b2978c2 100644
--- a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
+++ b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
@@ -34,6 +34,7 @@ import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.net.smtp.RelayPath;
import org.apache.commons.net.smtp.SMTPClient;
import org.apache.commons.net.smtp.SMTPReply;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.api.Protocol;
import org.apache.james.protocols.api.ProtocolServer;
import org.apache.james.protocols.api.handler.ProtocolHandler;
@@ -41,7 +42,6 @@ import org.apache.james.protocols.api.handler.WiringException;
import org.apache.james.protocols.api.utils.ProtocolServerUtils;
import org.apache.james.protocols.lmtp.hook.DeliverToRecipientHook;
import org.apache.james.protocols.smtp.AbstractSMTPServerTest;
-import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.MailEnvelope;
import org.apache.james.protocols.smtp.SMTPProtocol;
import org.apache.james.protocols.smtp.SMTPSession;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/pom.xml
----------------------------------------------------------------------
diff --git a/protocols/pom.xml b/protocols/pom.xml
index 7110834..0f58e8b 100644
--- a/protocols/pom.xml
+++ b/protocols/pom.xml
@@ -83,6 +83,11 @@
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
+ <artifactId>james-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.james</groupId>
<artifactId>james-server-data-api</artifactId>
<version>${project.version}</version>
</dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/pom.xml
----------------------------------------------------------------------
diff --git a/protocols/smtp/pom.xml b/protocols/smtp/pom.xml
index 497ff47..14af535 100644
--- a/protocols/smtp/pom.xml
+++ b/protocols/smtp/pom.xml
@@ -35,6 +35,10 @@
<dependencies>
<dependency>
+ <groupId>org.apache.james</groupId>
+ <artifactId>james-core</artifactId>
+ </dependency>
+ <dependency>
<groupId>${project.groupId}</groupId>
<artifactId>protocols-api</artifactId>
</dependency>
@@ -59,7 +63,6 @@
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailAddress.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailAddress.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailAddress.java
index 8cdd964..d420602 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailAddress.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailAddress.java
@@ -17,10 +17,10 @@
* under the License. *
****************************************************************/
-
package org.apache.james.protocols.smtp;
-import java.util.Locale;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
/**
* A representation of an email address.
@@ -57,465 +57,24 @@ import java.util.Locale;
* http://www.freesoft.org/CIE/RFC/821/15.htm</p>
*
* <strong>This version is copied from mailet-api with a few changes to not make it depend on javamail</strong>
+ *
+ * @Deprecated Use james-core {@link org.apache.james.core.MailAddress} instead.
*/
-public class MailAddress {
-
- private final static char[] SPECIAL =
- {'<', '>', '(', ')', '[', ']', '\\', '.', ',', ';', ':', '@', '\"'};
-
- private String localPart = null;
- private String domain = null;
-
- private static final MailAddress NULL_SENDER = new MailAddress() {
-
- @Override
- public String getDomain() {
- return "";
- }
-
- @Override
- public String getLocalPart() {
- return "";
- }
-
- @Override
- public String toString() {
- return "";
- }
-
- @Override
- public boolean isNullSender() {
- return true;
- }
-
- };
-
- /**
- * Strips source routing. According to RFC-2821 it is a valid approach
- * to handle mails containing RFC-821 source-route information.
- *
- * @param address the address to strip
- * @param pos current position
- * @return new pos
- */
- private int stripSourceRoute(String address, int pos) {
- if (pos < address.length()) {
- if (address.charAt(pos)=='@') {
- int i = address.indexOf(':');
- if (i != -1) {
- pos = i+1;
- }
- }
- }
- return pos;
- }
-
- public static MailAddress nullSender() {
- return NULL_SENDER;
- }
-
- private MailAddress() {
-
- }
- /**
- * Constructs a MailAddress by parsing the provided address.
- *
- * @param address the email address, compliant to the RFC2822 3.4.1. addr-spec specification
- * @throws MailAddressException if the parse failed
- */
- public MailAddress(String address) throws MailAddressException {
- address = address.trim();
- int pos = 0;
-
- // Test if mail address has source routing information (RFC-821) and get rid of it!!
- //must be called first!! (or at least prior to updating pos)
- stripSourceRoute(address, pos);
-
- StringBuffer localPartSB = new StringBuffer();
- StringBuffer domainSB = new StringBuffer();
- //Begin parsing
- //<mailbox> ::= <local-part> "@" <domain>
-
- try {
- //parse local-part
- //<local-part> ::= <dot-string> | <quoted-string>
- if (address.charAt(pos) == '\"') {
- pos = parseQuotedLocalPart(localPartSB, address, pos);
- if (localPartSB.toString().length() == 2) {
- throw new MailAddressException("No quoted local-part (user account) found at position " + (pos + 2) + " in '" + address + "'",address,pos+2);
- }
- } else {
- pos = parseUnquotedLocalPart(localPartSB, address, pos);
- if (localPartSB.toString().length() == 0) {
- throw new MailAddressException("No local-part (user account) found at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- }
-
- //find @
- if (pos >= address.length() || address.charAt(pos) != '@') {
- throw new MailAddressException("Did not find @ between local-part and domain at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- pos++;
-
- //parse domain
- //<domain> ::= <element> | <element> "." <domain>
- //<element> ::= <name> | "#" <number> | "[" <dotnum> "]"
- while (true) {
- if (address.charAt(pos) == '#') {
- pos = parseNumber(domainSB, address, pos);
- } else if (address.charAt(pos) == '[') {
- pos = parseDomainLiteral(domainSB, address, pos);
- } else {
- pos = parseDomain(domainSB, address, pos);
- }
- if (pos >= address.length()) {
- break;
- }
- if (address.charAt(pos) == '.') {
- domainSB.append('.');
- pos++;
- continue;
- }
- break;
- }
-
- if (domainSB.toString().length() == 0) {
- throw new MailAddressException("No domain found at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- } catch (IndexOutOfBoundsException ioobe) {
- throw new MailAddressException("Out of data at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
-
- localPart = localPartSB.toString();
- domain = domainSB.toString();
- }
-
- /**
- * Constructs a MailAddress with the provided local part and domain.
- *
- * @param localPart the local-part portion. This is a domain dependent string.
- * In addresses, it is simply interpreted on the particular host as a
- * name of a particular mailbox. per RFC2822 3.4.1. addr-spec specification
- * @param domain the domain portion. This identifies the point to which the mail
- * is delivered per RFC2822 3.4.1. addr-spec specification
- * @throws AddressException if the parse failed
- */
- public MailAddress(String localPart, String domain) throws MailAddressException {
- this(localPart+"@"+domain);
+@Deprecated
+public class MailAddress extends org.apache.james.core.MailAddress {
+ public MailAddress(String address) throws AddressException {
+ super(address);
}
-
-
- /**
- * Returns the domain part per RFC2822 3.4.1. addr-spec specification.
- *
- * @return the domain part of this email address. If the domain is of
- * the domain-literal form (e.g. [yyy.yyy.yyy.yyy]), the braces will
- * have been stripped returning the raw IP address.
- *
- */
- public String getDomain() {
- if (!(domain.startsWith("[") && domain.endsWith("]"))) {
- return domain;
- }
- return domain.substring(1, domain.length() -1);
- }
-
-
-
- /**
- * Returns the local-part per RFC2822 3.4.1. addr-spec specification.
- *
- * @return the local-part of this email address as defined by the
- * RFC2822 3.4.1. addr-spec specification.
- * The local-part portion is a domain dependent string.
- * In addresses, it is simply interpreted on the particular
- * host as a name of a particular mailbox
- * (the part before the "@" character)
- *
- * @since Mailet API 2.4
- */
- public String getLocalPart() {
- return localPart;
- }
-
- @Override
- public String toString() {
- StringBuffer addressBuffer =
- new StringBuffer(128)
- .append(localPart)
- .append("@")
- .append(domain);
- return addressBuffer.toString();
- }
-
-
- /**
- * Indicates whether some other object is "equal to" this one.
- *
- * Note that this implementation breaks the general contract of the
- * <code>equals</code> method by allowing an instance to equal to a
- * <code>String</code>. It is recommended that implementations avoid
- * relying on this design which may be removed in a future release.
- *
- * @returns true if the given object is equal to this one, false otherwise
- */
- @Override
- public boolean equals(Object obj) {
- if (obj == null) {
- return false;
- } else if (obj instanceof String) {
- String theString = (String)obj;
- return toString().equalsIgnoreCase(theString);
- } else if (obj instanceof MailAddress) {
- MailAddress addr = (MailAddress)obj;
- return getLocalPart().equalsIgnoreCase(addr.getLocalPart()) && getDomain().equalsIgnoreCase(addr.getDomain());
- }
- return false;
- }
-
- /**
- * Returns a hash code value for this object.
- * <p>
- * This method is implemented by returning the hash code of the canonical
- * string representation of this address, so that all instances representing
- * the same address will return an identical hash code.
- *
- * @return the hashcode.
- */
- @Override
- public int hashCode() {
- return toString().toLowerCase(Locale.US).hashCode();
- }
-
- private int parseQuotedLocalPart(StringBuffer lpSB, String address, int pos) throws MailAddressException {
- StringBuffer resultSB = new StringBuffer();
- resultSB.append('\"');
- pos++;
- //<quoted-string> ::= """ <qtext> """
- //<qtext> ::= "\" <x> | "\" <x> <qtext> | <q> | <q> <qtext>
- while (true) {
- if (address.charAt(pos) == '\"') {
- resultSB.append('\"');
- //end of quoted string... move forward
- pos++;
- break;
- }
- if (address.charAt(pos) == '\\') {
- resultSB.append('\\');
- pos++;
- //<x> ::= any one of the 128 ASCII characters (no exceptions)
- char x = address.charAt(pos);
- if (x < 0 || x > 127) {
- throw new MailAddressException("Invalid \\ syntaxed character at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- resultSB.append(x);
- pos++;
- } else {
- //<q> ::= any one of the 128 ASCII characters except <CR>,
- //<LF>, quote ("), or backslash (\)
- char q = address.charAt(pos);
- if (q <= 0 || q == '\n' || q == '\r' || q == '\"' || q == '\\') {
- throw new MailAddressException("Unquoted local-part (user account) must be one of the 128 ASCI characters exception <CR>, <LF>, quote (\"), or backslash (\\) at position " + (pos + 1) + " in '" + address + "'", address, pos+1);
- }
- resultSB.append(q);
- pos++;
- }
- }
- lpSB.append(resultSB);
- return pos;
- }
-
- private int parseUnquotedLocalPart(StringBuffer lpSB, String address, int pos) throws MailAddressException {
- StringBuffer resultSB = new StringBuffer();
- //<dot-string> ::= <string> | <string> "." <dot-string>
- boolean lastCharDot = false;
- while (true) {
- //<string> ::= <char> | <char> <string>
- //<char> ::= <c> | "\" <x>
- if (address.charAt(pos) == '\\') {
- resultSB.append('\\');
- pos++;
- //<x> ::= any one of the 128 ASCII characters (no exceptions)
- char x = address.charAt(pos);
- if (x < 0 || x > 127) {
- throw new MailAddressException("Invalid \\ syntaxed character at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- resultSB.append(x);
- pos++;
- lastCharDot = false;
- } else if (address.charAt(pos) == '.') {
- resultSB.append('.');
- pos++;
- lastCharDot = true;
- } else if (address.charAt(pos) == '@') {
- //End of local-part
- break;
- } else {
- //<c> ::= any one of the 128 ASCII characters, but not any
- // <special> or <SP>
- //<special> ::= "<" | ">" | "(" | ")" | "[" | "]" | "\" | "."
- // | "," | ";" | ":" | "@" """ | the control
- // characters (ASCII codes 0 through 31 inclusive and
- // 127)
- //<SP> ::= the space character (ASCII code 32)
- char c = address.charAt(pos);
- if (c <= 31 || c >= 127 || c == ' ') {
- throw new MailAddressException("Invalid character in local-part (user account) at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- for (char aChar : SPECIAL) {
- if (c == aChar) {
- throw new MailAddressException("Invalid character in local-part (user account) at position " + (pos + 1) + " in '" + address + "'", address, pos + 1);
- }
- }
- resultSB.append(c);
- pos++;
- lastCharDot = false;
- }
- }
- if (lastCharDot) {
- throw new MailAddressException("local-part (user account) ended with a \".\", which is invalid in address '" + address + "'",address,pos);
- }
- lpSB.append(resultSB);
- return pos;
- }
-
- private int parseNumber(StringBuffer dSB, String address, int pos) throws MailAddressException {
- //<number> ::= <d> | <d> <number>
-
- StringBuffer resultSB = new StringBuffer();
- //We keep the position from the class level pos field
- while (true) {
- if (pos >= address.length()) {
- break;
- }
- //<d> ::= any one of the ten digits 0 through 9
- char d = address.charAt(pos);
- if (d == '.') {
- break;
- }
- if (d < '0' || d > '9') {
- throw new MailAddressException("In domain, did not find a number in # address at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- resultSB.append(d);
- pos++;
- }
- dSB.append(resultSB);
- return pos;
+ public MailAddress(String localPart, String domain) throws AddressException {
+ super(localPart, domain);
}
- private int parseDomainLiteral(StringBuffer dSB, String address, int pos) throws MailAddressException {
- //throw away all irrelevant '\' they're not necessary for escaping of '.' or digits, and are illegal as part of the domain-literal
- while(address.contains("\\")){
- address= address.substring(0,address.indexOf("\\")) + address.substring(address.indexOf("\\")+1);
- }
- StringBuffer resultSB = new StringBuffer();
- //we were passed the string with pos pointing the the [ char.
- // take the first char ([), put it in the result buffer and increment pos
- resultSB.append(address.charAt(pos));
- pos++;
-
- //<dotnum> ::= <snum> "." <snum> "." <snum> "." <snum>
- for (int octet = 0; octet < 4; octet++) {
- //<snum> ::= one, two, or three digits representing a decimal
- // integer value in the range 0 through 255
- //<d> ::= any one of the ten digits 0 through 9
- StringBuffer snumSB = new StringBuffer();
- for (int digits = 0; digits < 3; digits++) {
- char d = address.charAt(pos);
- if (d == '.') {
- break;
- }
- if (d == ']') {
- break;
- }
- if (d < '0' || d > '9') {
- throw new MailAddressException("Invalid number at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- snumSB.append(d);
- pos++;
- }
- if (snumSB.toString().length() == 0) {
- throw new MailAddressException("Number not found at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- try {
- int snum = Integer.parseInt(snumSB.toString());
- if (snum > 255) {
- throw new MailAddressException("Invalid number at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- } catch (NumberFormatException nfe) {
- throw new MailAddressException("Invalid number at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- resultSB.append(snumSB.toString());
- if (address.charAt(pos) == ']') {
- if (octet < 3) {
- throw new MailAddressException("End of number reached too quickly at " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- break;
- }
- if (address.charAt(pos) == '.') {
- resultSB.append('.');
- pos++;
- }
- }
- if (address.charAt(pos) != ']') {
- throw new MailAddressException("Did not find closing bracket \"]\" in domain at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- resultSB.append(']');
- pos++;
- dSB.append(resultSB);
- return pos;
+ public MailAddress(InternetAddress address) throws AddressException {
+ super(address);
}
- private int parseDomain(StringBuffer dSB, String address, int pos) throws MailAddressException {
- StringBuffer resultSB = new StringBuffer();
- //<name> ::= <a> <ldh-str> <let-dig>
- //<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
- //<let-dig> ::= <a> | <d>
- //<let-dig-hyp> ::= <a> | <d> | "-"
- //<a> ::= any one of the 52 alphabetic characters A through Z
- // in upper case and a through z in lower case
- //<d> ::= any one of the ten digits 0 through 9
-
- // basically, this is a series of letters, digits, and hyphens,
- // but it can't start with a digit or hypthen
- // and can't end with a hyphen
-
- // in practice though, we should relax this as domain names can start
- // with digits as well as letters. So only check that doesn't start
- // or end with hyphen.
- while (true) {
- if (pos >= address.length()) {
- break;
- }
- char ch = address.charAt(pos);
- if ((ch >= '0' && ch <= '9') ||
- (ch >= 'a' && ch <= 'z') ||
- (ch >= 'A' && ch <= 'Z') ||
- (ch == '-')) {
- resultSB.append(ch);
- pos++;
- continue;
- }
- if (ch == '.') {
- break;
- }
- throw new MailAddressException("Invalid character at " + pos + " in '" + address + "'",address,pos);
- }
- String result = resultSB.toString();
- if (result.startsWith("-") || result.endsWith("-")) {
- throw new MailAddressException("Domain name cannot begin or end with a hyphen \"-\" at position " + (pos + 1) + " in '" + address + "'",address,pos+1);
- }
- dSB.append(result);
- return pos;
- }
-
- /**
- * Return <code>true</code> if the {@link MailAddress} should represent a null sender (<>)
- *
- * @return nullsender
- */
- public boolean isNullSender() {
- return false;
+ public MailAddress(org.apache.james.core.MailAddress address) throws AddressException {
+ super(address.asString());
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailAddressException.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailAddressException.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailAddressException.java
index e3a3b29..dc94811 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailAddressException.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailAddressException.java
@@ -17,20 +17,17 @@
* under the License. *
****************************************************************/
-
package org.apache.james.protocols.smtp;
+/**
+ * @Deprecated see {@link org.apache.james.protocols.smtp.MailAddress} for more details.
+ */
+@Deprecated
public class MailAddressException extends Exception{
-
- /**
- *
- */
private static final long serialVersionUID = -2845113080526615146L;
private final String address;
private final int pos;
-
-
public MailAddressException(String message, String address, int pos) {
super(message);
this.address = address;
@@ -45,5 +42,4 @@ public class MailAddressException extends Exception{
return pos;
}
-
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailEnvelope.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailEnvelope.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailEnvelope.java
index b463ed1..f85d861 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailEnvelope.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailEnvelope.java
@@ -24,6 +24,8 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
+import org.apache.james.core.MailAddress;
+
/**
* The MailEnvelope of a SMTP-Transaction
*
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailEnvelopeImpl.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailEnvelopeImpl.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailEnvelopeImpl.java
index a3a0342..c30d81e 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailEnvelopeImpl.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/MailEnvelopeImpl.java
@@ -26,6 +26,8 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
+import org.apache.james.core.MailAddress;
+
/**
* MailEnvelope implementation which stores everything in memory
*
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSessionImpl.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSessionImpl.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSessionImpl.java
index c5fad00..570075b 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSessionImpl.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSessionImpl.java
@@ -20,6 +20,7 @@ package org.apache.james.protocols.smtp;
import java.util.Collection;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.api.ProtocolSessionImpl;
import org.apache.james.protocols.api.ProtocolTransport;
import org.apache.james.protocols.api.Response;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAuthRequiredToRelayRcptHook.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAuthRequiredToRelayRcptHook.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAuthRequiredToRelayRcptHook.java
index 1ea59ec..57dde32 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAuthRequiredToRelayRcptHook.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAuthRequiredToRelayRcptHook.java
@@ -18,7 +18,7 @@
****************************************************************/
package org.apache.james.protocols.smtp.core;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPRetCode;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractSenderAuthIdentifyVerificationRcptHook.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractSenderAuthIdentifyVerificationRcptHook.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractSenderAuthIdentifyVerificationRcptHook.java
index f625f2b..baa390f 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractSenderAuthIdentifyVerificationRcptHook.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractSenderAuthIdentifyVerificationRcptHook.java
@@ -20,8 +20,8 @@ package org.apache.james.protocols.smtp.core;
import java.util.Locale;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.api.ProtocolSession;
-import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.SMTPRetCode;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AcceptRecipientIfRelayingIsAllowed.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AcceptRecipientIfRelayingIsAllowed.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AcceptRecipientIfRelayingIsAllowed.java
index 373a133..70289bf 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AcceptRecipientIfRelayingIsAllowed.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AcceptRecipientIfRelayingIsAllowed.java
@@ -20,7 +20,7 @@ package org.apache.james.protocols.smtp.core;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.hook.HookResult;
import org.apache.james.protocols.smtp.hook.RcptHook;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
index d20c1d0..485cb21 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
@@ -30,6 +30,7 @@ import javax.inject.Inject;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.core.MailAddress;
import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.metrics.api.TimeMetric;
import org.apache.james.protocols.api.ProtocolSession;
@@ -39,7 +40,6 @@ import org.apache.james.protocols.api.handler.CommandHandler;
import org.apache.james.protocols.api.handler.ExtensibleHandler;
import org.apache.james.protocols.api.handler.LineHandler;
import org.apache.james.protocols.api.handler.WiringException;
-import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.MailEnvelope;
import org.apache.james.protocols.smtp.MailEnvelopeImpl;
import org.apache.james.protocols.smtp.SMTPResponse;
@@ -49,7 +49,6 @@ import org.apache.james.protocols.smtp.dsn.DSNStatus;
import org.apache.james.util.MDCBuilder;
import com.google.common.base.Throwables;
-
import com.google.common.collect.ImmutableSet;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java
index a47726f..4d3cb54 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java
@@ -30,11 +30,11 @@ import javax.inject.Inject;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.core.MailAddress;
import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.protocols.api.ProtocolSession.State;
import org.apache.james.protocols.api.Request;
import org.apache.james.protocols.api.Response;
-import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.SMTPResponse;
import org.apache.james.protocols.smtp.SMTPRetCode;
import org.apache.james.protocols.smtp.SMTPSession;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/PostmasterAbuseRcptHook.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/PostmasterAbuseRcptHook.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/PostmasterAbuseRcptHook.java
index 6c9f54e..dcc9151 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/PostmasterAbuseRcptHook.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/PostmasterAbuseRcptHook.java
@@ -20,7 +20,7 @@ package org.apache.james.protocols.smtp.core;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.hook.HookResult;
import org.apache.james.protocols.smtp.hook.RcptHook;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java
index 719cabc..7e00dc8 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java
@@ -28,11 +28,11 @@ import javax.inject.Inject;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.core.MailAddress;
import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.protocols.api.ProtocolSession.State;
import org.apache.james.protocols.api.Response;
import org.apache.james.protocols.api.handler.CommandHandler;
-import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.SMTPResponse;
import org.apache.james.protocols.smtp.SMTPRetCode;
import org.apache.james.protocols.smtp.SMTPSession;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java
index af4cac2..6960d6d 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java
@@ -28,8 +28,8 @@ import java.util.Locale;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.api.ProtocolSession.State;
-import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.SMTPSession;
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/AbstractGreylistHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/AbstractGreylistHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/AbstractGreylistHandler.java
index 2fe36b0..c69b5f2 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/AbstractGreylistHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/AbstractGreylistHandler.java
@@ -21,7 +21,7 @@ package org.apache.james.protocols.smtp.core.fastfail;
import java.util.Iterator;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPRetCode;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/AbstractValidRcptHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/AbstractValidRcptHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/AbstractValidRcptHandler.java
index 8a148ba..54233ec 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/AbstractValidRcptHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/AbstractValidRcptHandler.java
@@ -17,12 +17,9 @@
* under the License. *
****************************************************************/
-
-
-
package org.apache.james.protocols.smtp.core.fastfail;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPRetCode;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
@@ -32,7 +29,6 @@ import org.apache.james.protocols.smtp.hook.RcptHook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
/**
* Handler which want todo an recipient check should extend this
*
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandler.java
index 312708e..bd2b65f 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandler.java
@@ -26,8 +26,8 @@ import java.util.StringTokenizer;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.api.ProtocolSession.State;
-import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
import org.apache.james.protocols.smtp.hook.HookResult;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandler.java
index 43c4b5b..de38ac1 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandler.java
@@ -24,7 +24,7 @@ package org.apache.james.protocols.smtp.core.fastfail;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPRetCode;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandler.java
index b3a47eb..5450773 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandler.java
@@ -22,11 +22,10 @@ package org.apache.james.protocols.smtp.core.fastfail;
import java.net.InetAddress;
import java.net.UnknownHostException;
-
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.api.ProtocolSession.State;
-import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.SMTPRetCode;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java
index 73df529..4b77129 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java
@@ -28,7 +28,7 @@ import java.util.Map;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.hook.HookResult;
import org.apache.james.protocols.smtp.hook.RcptHook;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SupressDuplicateRcptHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SupressDuplicateRcptHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SupressDuplicateRcptHandler.java
index 69c823e..8424f48 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SupressDuplicateRcptHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SupressDuplicateRcptHandler.java
@@ -17,17 +17,14 @@
* under the License. *
****************************************************************/
-
-
-
package org.apache.james.protocols.smtp.core.fastfail;
import java.util.Collection;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.api.ProtocolSession.State;
-import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.SMTPRetCode;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
@@ -38,7 +35,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- *
* This handler can be used to just ignore duplicated recipients.
*/
public class SupressDuplicateRcptHandler implements RcptHook {
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandler.java
index 1118f3f..c1341bb 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandler.java
@@ -18,7 +18,7 @@
****************************************************************/
package org.apache.james.protocols.smtp.core.fastfail;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPRetCode;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/MailHook.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/MailHook.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/MailHook.java
index 8548ef0..a0feafa 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/MailHook.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/MailHook.java
@@ -17,13 +17,9 @@
* under the License. *
****************************************************************/
-
-
-
-
package org.apache.james.protocols.smtp.hook;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPSession;
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/RcptHook.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/RcptHook.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/RcptHook.java
index 8ab2b2f..bbc65b1 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/RcptHook.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/RcptHook.java
@@ -18,7 +18,7 @@
****************************************************************/
package org.apache.james.protocols.smtp.hook;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPSession;
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/SimpleHook.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/SimpleHook.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/SimpleHook.java
index ffc3bc6..fd43d40 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/SimpleHook.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/SimpleHook.java
@@ -19,9 +19,9 @@
package org.apache.james.protocols.smtp.hook;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.james.protocols.smtp.MailAddress;
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.MailEnvelope;
import org.apache.james.protocols.smtp.SMTPSession;
@@ -34,16 +34,16 @@ import org.apache.james.protocols.smtp.SMTPSession;
*/
public class SimpleHook implements HeloHook, MailHook, RcptHook, MessageHook {
- @Override
- public void init(Configuration config) throws ConfigurationException {
-
- }
-
- @Override
- public void destroy() {
-
- }
-
+ @Override
+ public void init(Configuration config) throws ConfigurationException {
+
+ }
+
+ @Override
+ public void destroy() {
+
+ }
+
/**
* Return {@link HookResult} with {@link HookReturnCode#OK}
*/
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
index bae1991..e92676b 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
@@ -35,6 +35,7 @@ import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.net.smtp.SMTPClient;
import org.apache.commons.net.smtp.SMTPReply;
+import org.apache.james.core.MailAddress;
import org.apache.james.metrics.api.NoopMetricFactory;
import org.apache.james.protocols.api.Protocol;
import org.apache.james.protocols.api.ProtocolServer;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandlerTest.java
index fb798e4..8496bee 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandlerTest.java
@@ -31,9 +31,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.api.ProtocolSession.State;
-import org.apache.james.protocols.smtp.MailAddress;
-import org.apache.james.protocols.smtp.MailAddressException;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
import org.junit.Before;
@@ -172,7 +171,7 @@ public class DNSRBLHandlerTest {
// ip is blacklisted and has txt details
@Test
- public void testBlackListedTextPresent() throws MailAddressException {
+ public void testBlackListedTextPresent() throws Exception {
DNSRBLHandler rbl = createHandler();
setupMockedSMTPSession(new MailAddress("any@domain"));
@@ -187,7 +186,7 @@ public class DNSRBLHandlerTest {
// ip is blacklisted and has txt details but we don'T want to retrieve the txt record
@Test
- public void testGetNoDetail() throws MailAddressException {
+ public void testGetNoDetail() throws Exception {
DNSRBLHandler rbl = createHandler();
setupMockedSMTPSession(new MailAddress("any@domain"));
@@ -200,7 +199,7 @@ public class DNSRBLHandlerTest {
// ip is allowed to relay
@Test
- public void testRelayAllowed() throws MailAddressException {
+ public void testRelayAllowed() throws Exception {
DNSRBLHandler rbl = createHandler();
setRelayingAllowed(true);
setupMockedSMTPSession(new MailAddress("any@domain"));
@@ -214,7 +213,7 @@ public class DNSRBLHandlerTest {
// ip not on blacklist
@Test
- public void testNotBlackListed() throws MailAddressException {
+ public void testNotBlackListed() throws Exception {
DNSRBLHandler rbl = createHandler();
setRemoteIp("192.168.0.1");
@@ -229,7 +228,7 @@ public class DNSRBLHandlerTest {
// ip on blacklist without txt details
@Test
- public void testBlackListedNoTxt() throws MailAddressException {
+ public void testBlackListedNoTxt() throws Exception {
DNSRBLHandler rbl = createHandler();
setRemoteIp("127.0.0.3");
@@ -244,7 +243,7 @@ public class DNSRBLHandlerTest {
// ip on whitelist
@Test
- public void testWhiteListed() throws MailAddressException {
+ public void testWhiteListed() throws Exception {
DNSRBLHandler rbl = createHandler();
setRemoteIp("127.0.0.2");
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandlerTest.java
index 345cf09..b715049 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandlerTest.java
@@ -24,8 +24,7 @@ import static org.junit.Assert.assertEquals;
import java.util.HashMap;
import java.util.Map;
-import org.apache.james.protocols.smtp.MailAddress;
-import org.apache.james.protocols.smtp.MailAddressException;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.hook.HookReturnCode;
import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
@@ -53,7 +52,7 @@ public class MaxRcptHandlerTest {
}
@Test
- public void testRejectMaxRcpt() throws MailAddressException {
+ public void testRejectMaxRcpt() throws Exception {
SMTPSession session = setupMockedSession(3);
MaxRcptHandler handler = new MaxRcptHandler();
@@ -65,7 +64,7 @@ public class MaxRcptHandlerTest {
@Test
- public void testNotRejectMaxRcpt() throws MailAddressException {
+ public void testNotRejectMaxRcpt() throws Exception {
SMTPSession session = setupMockedSession(3);
MaxRcptHandler handler = new MaxRcptHandler();
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandlerTest.java
index 70606f9..9f5f68c 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandlerTest.java
@@ -25,7 +25,6 @@ import static org.junit.Assert.assertEquals;
import java.util.HashMap;
import java.util.Map;
-import org.apache.james.protocols.smtp.MailAddressException;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.hook.HookReturnCode;
import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
@@ -35,7 +34,7 @@ public class MaxUnknownCmdHandlerTest {
@Test
- public void testRejectAndClose() throws MailAddressException {
+ public void testRejectAndClose() throws Exception {
SMTPSession session = new BaseFakeSMTPSession() {
private final HashMap<String,Object> map = new HashMap<>();
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandlerTest.java
index ec7ea8a..e5cee47 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandlerTest.java
@@ -28,9 +28,8 @@ import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Map;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.api.ProtocolSession.State;
-import org.apache.james.protocols.smtp.MailAddress;
-import org.apache.james.protocols.smtp.MailAddressException;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.hook.HookReturnCode;
import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
@@ -120,7 +119,7 @@ public class ResolvableEhloHeloHandlerTest {
}
@Test
- public void testRejectInvalidHelo() throws MailAddressException {
+ public void testRejectInvalidHelo() throws Exception {
MailAddress mailAddress = new MailAddress("test@localhost");
SMTPSession session = setupMockSession(INVALID_HOST,false,false,null,mailAddress);
ResolvableEhloHeloHandler handler = createHandler();
@@ -133,7 +132,7 @@ public class ResolvableEhloHeloHandlerTest {
}
@Test
- public void testNotRejectValidHelo() throws MailAddressException {
+ public void testNotRejectValidHelo() throws Exception {
MailAddress mailAddress = new MailAddress("test@localhost");
SMTPSession session = setupMockSession(VALID_HOST,false,false,null,mailAddress);
ResolvableEhloHeloHandler handler = createHandler();
@@ -147,7 +146,7 @@ public class ResolvableEhloHeloHandlerTest {
}
@Test
- public void testRejectInvalidHeloAuthUser() throws MailAddressException {
+ public void testRejectInvalidHeloAuthUser() throws Exception {
MailAddress mailAddress = new MailAddress("test@localhost");
SMTPSession session = setupMockSession(INVALID_HOST,false,true,"valid@user",mailAddress);
ResolvableEhloHeloHandler handler = createHandler();
@@ -163,7 +162,7 @@ public class ResolvableEhloHeloHandlerTest {
@Test
- public void testRejectRelay() throws MailAddressException {
+ public void testRejectRelay() throws Exception {
MailAddress mailAddress = new MailAddress("test@localhost");
SMTPSession session = setupMockSession(INVALID_HOST,true,false,null,mailAddress);
ResolvableEhloHeloHandler handler = createHandler();
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandlerTest.java
index c12df5a..8eff79e 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandlerTest.java
@@ -17,7 +17,6 @@
* under the License. *
****************************************************************/
-
package org.apache.james.protocols.smtp.core.fastfail;
import static org.junit.Assert.assertEquals;
@@ -26,8 +25,7 @@ import static org.junit.Assert.fail;
import java.net.InetSocketAddress;
import java.util.ArrayList;
-import org.apache.james.protocols.smtp.MailAddress;
-import org.apache.james.protocols.smtp.MailAddressException;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.hook.HookReturnCode;
import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
@@ -52,7 +50,7 @@ public class SpamTrapHandlerTest {
}
@Test
- public void testSpamTrap() throws MailAddressException {
+ public void testSpamTrap() throws Exception {
String ip = "192.168.100.1";
String ip2 = "192.168.100.2";
long blockTime = 2000;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java
index 9dee55c..794cc5b 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java
@@ -26,9 +26,8 @@ import java.util.Map;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.core.MailAddress;
import org.apache.james.protocols.api.ProtocolSession.State;
-import org.apache.james.protocols.smtp.MailAddress;
-import org.apache.james.protocols.smtp.MailAddressException;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.hook.HookReturnCode;
import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
@@ -116,7 +115,7 @@ public class ValidSenderDomainHandlerTest {
}
@Test
- public void testInvalidSenderDomainReject() throws MailAddressException {
+ public void testInvalidSenderDomainReject() throws Exception {
ValidSenderDomainHandler handler = createHandler();
SMTPSession session = setupMockedSession(new MailAddress("invalid@invalid"));
int response = handler.doMail(session,(MailAddress) session.getAttachment(SMTPSession.SENDER, State.Transaction)).getResult();
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/core/src/main/java/org/apache/james/core/InternetHeadersInputStream.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/core/InternetHeadersInputStream.java b/server/container/core/src/main/java/org/apache/james/core/InternetHeadersInputStream.java
deleted file mode 100644
index a94dd5e..0000000
--- a/server/container/core/src/main/java/org/apache/james/core/InternetHeadersInputStream.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one *
- * or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information *
- * regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the *
- * "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, *
- * software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
- * KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations *
- * under the License. *
- ****************************************************************/
-
-package org.apache.james.core;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Enumeration;
-
-import javax.mail.internet.InternetHeaders;
-
-/**
- * Provide an {@link InputStream} over an {@link InternetHeaders} instance. When
- * the end of {@link InternetHeaders} are reached a {@link #LINE_SEPERATOR} is
- * append
- */
-public class InternetHeadersInputStream extends InputStream {
-
- private final static String LINE_SEPERATOR = "\r\n";
-
- private final Enumeration<String> headerLines;
- private byte[] currLine;
- private int pos = 0;
-
- @SuppressWarnings("unchecked")
- public InternetHeadersInputStream(InternetHeaders headers) {
- this(headers.getAllHeaderLines());
- }
-
- public InternetHeadersInputStream(Enumeration<String> headerLines) {
- this.headerLines = headerLines;
- }
-
- @Override
- public int read() throws IOException {
- if (currLine == null || pos == currLine.length) {
- if (!readNextLine()) {
- return -1;
- }
- }
- return currLine[pos++];
- }
-
- /**
- * Load the next header line if possible
- *
- * @return true if there was an headerline which could be read
- *
- * @throws IOException
- */
- private boolean readNextLine() throws IOException {
- if (headerLines.hasMoreElements()) {
- try {
- pos = 0;
- String line = (headerLines.nextElement() + LINE_SEPERATOR);
- // Add seperator to show that headers are complete
- if (!headerLines.hasMoreElements()) {
- line += LINE_SEPERATOR;
- }
- currLine = line.getBytes("US-ASCII");
- return true;
- } catch (UnsupportedEncodingException e) {
- // should never happen
- throw new IOException("US-ASCII encoding not supported by this platform ?!");
- }
- } else {
- return false;
- }
- }
-
- @Override
- public void close() throws IOException {
- currLine = null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/core/src/main/java/org/apache/james/core/JamesServerResourceLoader.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/core/JamesServerResourceLoader.java b/server/container/core/src/main/java/org/apache/james/core/JamesServerResourceLoader.java
deleted file mode 100644
index 4b3e5cb..0000000
--- a/server/container/core/src/main/java/org/apache/james/core/JamesServerResourceLoader.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one *
- * or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information *
- * regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the *
- * "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, *
- * software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
- * KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations *
- * under the License. *
- ****************************************************************/
-package org.apache.james.core;
-
-import org.apache.james.filesystem.api.JamesDirectoriesProvider;
-
-public class JamesServerResourceLoader implements JamesDirectoriesProvider {
-
- private final String rootDirectory;
-
- public JamesServerResourceLoader(String rootDirectory) {
- this.rootDirectory = rootDirectory;
- }
-
- /**
- * @see org.apache.james.container.spring.resource.JamesResourceLoader#getAbsoluteDirectory()
- */
- public String getAbsoluteDirectory() {
- return "/";
- }
-
- /**
- * @see
- * org.apache.james.container.spring.resource.JamesResourceLoader#getConfDirectory()
- */
- public String getConfDirectory() {
- return getRootDirectory() + "/conf/";
- }
-
- /**
- * @see
- * org.apache.james.container.spring.resource.JamesResourceLoader#getVarDirectory()
- */
- public String getVarDirectory() {
- return getRootDirectory() + "/var/";
- }
-
- /**
- * Return the directory where the external jar libraries must be placed
- * by the administrator. The jars may contain mailets, jdbc drivers,...
- *
- * @return externalLibraryDirectory
- */
- public String getExternalLibraryDirectory() {
- return getRootDirectory() + "/conf/lib/";
- }
-
- /**
- * @see
- * org.apache.james.container.spring.resource.JamesResourceLoader#getRootDirectory()
- */
- public String getRootDirectory() {
- return rootDirectory;
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/core/src/main/java/org/apache/james/core/MailHeaders.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/core/MailHeaders.java b/server/container/core/src/main/java/org/apache/james/core/MailHeaders.java
deleted file mode 100644
index 9603bc2..0000000
--- a/server/container/core/src/main/java/org/apache/james/core/MailHeaders.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one *
- * or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information *
- * regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the *
- * "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, *
- * software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
- * KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations *
- * under the License. *
- ****************************************************************/
-
-package org.apache.james.core;
-
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Serializable;
-import java.util.Enumeration;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.InternetHeaders;
-
-import org.apache.mailet.base.RFC2822Headers;
-
-/**
- * This interface defines a container for mail headers. Each header must use
- * MIME format:
- *
- * <pre>
- * name: value
- * </pre>
- */
-public class MailHeaders extends InternetHeaders implements Serializable, Cloneable {
-
- private static final long serialVersionUID = 238748126601L;
- private boolean modified = false;
- private long size = -1;
-
- /**
- * No argument constructor
- *
- * @throws MessagingException
- * if the super class cannot be properly instantiated
- */
- public MailHeaders() {
- super();
- }
-
- /**
- * Constructor that takes an InputStream containing the contents of the set
- * of mail headers.
- *
- * @param in
- * the InputStream containing the header data
- *
- * @throws MessagingException
- * if the super class cannot be properly instantiated based on
- * the stream
- */
- public MailHeaders(InputStream in) throws MessagingException {
- super();
- load(in);
- }
-
- /**
- * Write the headers to an output stream
- *
- * @param out
- * the OutputStream to which to write the headers
- */
- @SuppressWarnings("unchecked")
- public void writeTo(OutputStream out) throws MessagingException {
- MimeMessageUtil.writeHeadersTo(getAllHeaderLines(), out);
- }
-
- /**
- * Generate a representation of the headers as a series of bytes.
- *
- * @return the byte array containing the headers
- */
- public byte[] toByteArray() throws MessagingException {
- ByteArrayOutputStream headersBytes = new ByteArrayOutputStream();
- writeTo(headersBytes);
- return headersBytes.toByteArray();
- }
-
- /**
- * Check if a particular header is present.
- *
- * @return true if the header is present, false otherwise
- */
- public boolean isSet(String name) {
- String[] value = super.getHeader(name);
- return (value != null && value.length != 0);
- }
-
- /**
- * If the new header is a Return-Path we get sure that we add it to the top
- * Javamail, at least until 1.4.0 does the wrong thing if it loaded a stream
- * with a return-path in the middle.
- *
- * @see javax.mail.internet.InternetHeaders#addHeader(java.lang.String,
- * java.lang.String)
- */
- @SuppressWarnings("unchecked")
- public synchronized void addHeader(String arg0, String arg1) {
- if (RFC2822Headers.RETURN_PATH.equalsIgnoreCase(arg0)) {
- headers.add(0, new InternetHeader(arg0, arg1));
- } else {
- super.addHeader(arg0, arg1);
- }
- modified();
- }
-
- /**
- * If the new header is a Return-Path we get sure that we add it to the top
- * Javamail, at least until 1.4.0 does the wrong thing if it loaded a stream
- * with a return-path in the middle.
- *
- * @see javax.mail.internet.InternetHeaders#setHeader(java.lang.String,
- * java.lang.String)
- */
- public synchronized void setHeader(String arg0, String arg1) {
- if (RFC2822Headers.RETURN_PATH.equalsIgnoreCase(arg0)) {
- super.removeHeader(arg0);
- }
- super.setHeader(arg0, arg1);
-
- modified();
- }
-
- @Override
- public synchronized void removeHeader(String name) {
- super.removeHeader(name);
- modified();
- }
-
- @Override
- public synchronized void addHeaderLine(String line) {
- super.addHeaderLine(line);
- modified();
- }
-
- private void modified() {
- modified = true;
- size = -1;
- }
-
- /**
- * Check if all REQUIRED headers fields as specified in RFC 822 are present.
- *
- * @return true if the headers are present, false otherwise
- */
- public boolean isValid() {
- return (isSet(RFC2822Headers.DATE) && isSet(RFC2822Headers.TO) && isSet(RFC2822Headers.FROM));
- }
-
- /**
- * Return the size of the headers
- *
- * @return size
- */
- @SuppressWarnings("unchecked")
- public synchronized long getSize() {
- if (size == -1 || modified) {
- long c = 0;
- Enumeration<String> headerLines = getAllHeaderLines();
- while (headerLines.hasMoreElements()) {
- c += headerLines.nextElement().length();
- // CRLF
- c += 2;
- }
- size = c;
- modified = false;
- }
- return size;
-
- }
-}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org