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 ba...@apache.org on 2010/06/13 17:07:35 UTC
svn commit: r954239 - in /james/jdkim/trunk: ./ assemble/ mailets/
mailets/src/main/java/org/apache/james/jdkim/mailets/
mailets/src/test/java/org/apache/james/jdkim/mailets/ main/
main/src/main/java/org/apache/james/jdkim/ main/src/main/java/org/apach...
Author: bago
Date: Sun Jun 13 15:07:35 2010
New Revision: 954239
URL: http://svn.apache.org/viewvc?rev=954239&view=rev
Log:
Updated source code to java 5 using generics (JDKIM-16)
Updated mime4j dependency to 0.7-SNAPSHOT to solve some parsing/signing issue (JDKIM-17)
Updated log4j/apache-mailet-base to latest available. Updated dnsjava to 2.0.8.
Modified:
james/jdkim/trunk/assemble/pom.xml
james/jdkim/trunk/mailets/pom.xml
james/jdkim/trunk/mailets/src/main/java/org/apache/james/jdkim/mailets/DKIMSign.java
james/jdkim/trunk/mailets/src/test/java/org/apache/james/jdkim/mailets/DKIMSignTest.java
james/jdkim/trunk/main/pom.xml
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMCommon.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMSigner.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/Headers.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/PublicKeyRecord.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/PublicKeyRecordRetriever.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/SignatureRecord.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/canon/CompoundOutputStream.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/DNSPublicKeyRecordRetriever.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/Message.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/MultiplexingPublicKeyRecordRetriever.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/PublicKeyRecordImpl.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/SignatureRecordImpl.java
james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/TagValue.java
james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MessageTest.java
james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MockPublicKeyRecordRetriever.java
james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MultiplexingPublicKeyRecordRetrieverTest.java
james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/PublicKeyRecordTest.java
james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/canon/CompoundOutputStreamTest.java
james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/tagvalue/TagValueTest.java
james/jdkim/trunk/pom.xml
Modified: james/jdkim/trunk/assemble/pom.xml
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/assemble/pom.xml?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/assemble/pom.xml (original)
+++ james/jdkim/trunk/assemble/pom.xml Sun Jun 13 15:07:35 2010
@@ -54,7 +54,7 @@
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
- <artifactId>apache-mime4j</artifactId>
+ <artifactId>apache-mime4j-core</artifactId>
</dependency>
</dependencies>
Modified: james/jdkim/trunk/mailets/pom.xml
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/mailets/pom.xml?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/mailets/pom.xml (original)
+++ james/jdkim/trunk/mailets/pom.xml Sun Jun 13 15:07:35 2010
@@ -18,16 +18,16 @@
specific language governing permissions and limitations
under the License.
-->
- <parent>
- <artifactId>apache-jdkim-project</artifactId>
- <groupId>org.apache.james.jdkim</groupId>
- <version>0.2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.james.jdkim</groupId>
- <artifactId>apache-jdkim-mailets</artifactId>
- <name>jDKIM Mailets for Apache James</name>
- <version>0.2-SNAPSHOT</version>
+ <parent>
+ <artifactId>apache-jdkim-project</artifactId>
+ <groupId>org.apache.james.jdkim</groupId>
+ <version>0.2-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.james.jdkim</groupId>
+ <artifactId>apache-jdkim-mailets</artifactId>
+ <name>jDKIM Mailets for Apache James</name>
+ <version>0.2-SNAPSHOT</version>
<url>http://james.apache.org/jdkim/mailets/</url>
<description>
Mailets integrating DKIM functions
@@ -84,5 +84,10 @@
<groupId>ca.juliusdavies</groupId>
<artifactId>not-yet-commons-ssl</artifactId>
</dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.4</version>
+ </dependency>
</dependencies>
-</project>
\ No newline at end of file
+</project>
Modified: james/jdkim/trunk/mailets/src/main/java/org/apache/james/jdkim/mailets/DKIMSign.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/mailets/src/main/java/org/apache/james/jdkim/mailets/DKIMSign.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/mailets/src/main/java/org/apache/james/jdkim/mailets/DKIMSign.java (original)
+++ james/jdkim/trunk/mailets/src/main/java/org/apache/james/jdkim/mailets/DKIMSign.java Sun Jun 13 15:07:35 2010
@@ -86,14 +86,15 @@ public class DKIMSign extends GenericMai
*/
private final class MimeMessageHeaders implements Headers {
- private Map/* String, String */headers;
- private List/* String */fields;
+ private Map<String, List<String>> headers;
+ private List<String> fields;
+ @SuppressWarnings("unchecked")
public MimeMessageHeaders(MimeMessage message)
throws MessagingException {
- headers = new HashMap();
- fields = new LinkedList();
- for (Enumeration e = message.getAllHeaderLines(); e
+ headers = new HashMap<String, List<String>>();
+ fields = new LinkedList<String>();
+ for (Enumeration<String> e = message.getAllHeaderLines(); e
.hasMoreElements();) {
String head = (String) e.nextElement();
int p = head.indexOf(':');
@@ -102,21 +103,21 @@ public class DKIMSign extends GenericMai
String headerName = head.substring(0, p).trim();
String headerNameLC = headerName.toLowerCase();
fields.add(headerName);
- List/* String */strings = (List) headers.get(headerNameLC);
+ List<String> strings = (List<String>) headers.get(headerNameLC);
if (strings == null) {
- strings = new LinkedList();
+ strings = new LinkedList<String>();
headers.put(headerNameLC, strings);
}
strings.add(head);
}
}
- public List getFields() {
+ public List<String> getFields() {
return fields;
}
- public List getFields(String name) {
- return (List) headers.get(name);
+ public List<String> getFields(String name) {
+ return headers.get(name);
}
}
@@ -175,25 +176,26 @@ public class DKIMSign extends GenericMai
}
+ @SuppressWarnings("unchecked")
private void prependHeader(MimeMessage message, String signatureHeader)
throws MessagingException {
- List prevHeader = new LinkedList();
+ List<String> prevHeader = new LinkedList<String>();
// read all the headers
- for (Enumeration e = message.getAllHeaderLines(); e.hasMoreElements();) {
- String headerLine = (String) e.nextElement();
+ for (Enumeration<String> e = message.getAllHeaderLines(); e.hasMoreElements();) {
+ String headerLine = e.nextElement();
prevHeader.add(headerLine);
}
// remove all the headers
- for (Enumeration e = message.getAllHeaders(); e.hasMoreElements();) {
- Header header = (Header) e.nextElement();
+ for (Enumeration<Header> e = message.getAllHeaders(); e.hasMoreElements();) {
+ Header header = e.nextElement();
message.removeHeader(header.getName());
}
// add our header
message.addHeaderLine(signatureHeader);
// add the remaining headers using "addHeaderLine" that won't alter the
// insertion order.
- for (Iterator i = prevHeader.iterator(); i.hasNext();) {
- String header = (String) i.next();
+ for (Iterator<String> i = prevHeader.iterator(); i.hasNext();) {
+ String header = i.next();
message.addHeaderLine(header);
}
}
Modified: james/jdkim/trunk/mailets/src/test/java/org/apache/james/jdkim/mailets/DKIMSignTest.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/mailets/src/test/java/org/apache/james/jdkim/mailets/DKIMSignTest.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/mailets/src/test/java/org/apache/james/jdkim/mailets/DKIMSignTest.java (original)
+++ james/jdkim/trunk/mailets/src/test/java/org/apache/james/jdkim/mailets/DKIMSignTest.java Sun Jun 13 15:07:35 2010
@@ -180,7 +180,7 @@ public class DKIMSignTest extends TestCa
MockPublicKeyRecordRetriever mockPublicKeyRecordRetriever = new MockPublicKeyRecordRetriever(
"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYDaYKXzwVYwqWbLhmuJ66aTAN8wmDR+rfHE8HfnkSOax0oIoTM5zquZrTLo30870YMfYzxwfB6j/Nz3QdwrUD/t0YMYJiUKyWJnCKfZXHJBJ+yfRHr7oW+UW3cVo9CG2bBfIxsInwYe175g9UjyntJpWueqdEIo1c2bhv9Mp66QIDAQAB;",
"selector", "example.com");
- List/* SignatureRecord */ rs = new DKIMVerifier(mockPublicKeyRecordRetriever)
+ List<SignatureRecord> rs = new DKIMVerifier(mockPublicKeyRecordRetriever)
.verify(new ByteArrayInputStream(res.getBytes()));
// check we have a valued signatureTimestamp
Modified: james/jdkim/trunk/main/pom.xml
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/pom.xml?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/pom.xml (original)
+++ james/jdkim/trunk/main/pom.xml Sun Jun 13 15:07:35 2010
@@ -91,7 +91,7 @@
<dependency>
<groupId>org.apache.james</groupId>
- <artifactId>apache-mime4j</artifactId>
+ <artifactId>apache-mime4j-core</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMCommon.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMCommon.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMCommon.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMCommon.java Sun Jun 13 15:07:35 2010
@@ -60,7 +60,7 @@ public abstract class DKIMCommon {
}
protected static void signatureCheck(Headers h, SignatureRecord sign,
- List headers, Signature signature)
+ List<CharSequence> headers, Signature signature)
throws SignatureException, PermFailException {
boolean relaxedHeaders = SignatureRecord.RELAXED.equals(sign
@@ -76,19 +76,19 @@ public abstract class DKIMCommon {
// NOTE: this could be improved by using iterators.
// NOTE: this relies on the list returned by Message being in insertion
// order
- Map/* String, Integer */processedHeader = new HashMap();
+ Map<String, Integer> processedHeader = new HashMap<String, Integer>();
- for (Iterator i = headers.iterator(); i.hasNext();) {
- CharSequence header = (CharSequence) i.next();
+ for (Iterator<CharSequence> i = headers.iterator(); i.hasNext();) {
+ CharSequence header = i.next();
// NOTE check this getter is case insensitive
- List hl = h.getFields(header.toString());
+ List<String> hl = h.getFields(header.toString());
if (hl != null && hl.size() > 0) {
- Integer done = (Integer) processedHeader.get(header.toString());
+ Integer done = processedHeader.get(header.toString());
if (done == null)
done = new Integer(0); /* Integer.valueOf(0) */
int doneHeaders = done.intValue() + 1;
if (doneHeaders <= hl.size()) {
- String fv = (String) hl.get(hl.size() - doneHeaders);
+ String fv = hl.get(hl.size() - doneHeaders);
updateSignature(signature, relaxedHeaders, header, fv);
signature.update("\r\n".getBytes());
processedHeader.put(header.toString(), new Integer(
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMSigner.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMSigner.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMSigner.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMSigner.java Sun Jun 13 15:07:35 2010
@@ -91,7 +91,7 @@ public class DKIMSigner extends DKIMComm
bhj.getSignatureRecord().setBodyHash(computedHash);
- List headers = bhj.getSignatureRecord().getHeaders();
+ List<CharSequence> headers = bhj.getSignatureRecord().getHeaders();
try {
// TODO handle b= in SignatureRecord.
// whenever any tag is changed the b should be invalidated and the
@@ -117,7 +117,7 @@ public class DKIMSigner extends DKIMComm
}
}
- private byte[] signatureSign(Headers h, SignatureRecord sign, PrivateKey key, List headers)
+ private byte[] signatureSign(Headers h, SignatureRecord sign, PrivateKey key, List<CharSequence> headers)
throws NoSuchAlgorithmException, InvalidKeyException,
SignatureException, PermFailException {
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/DKIMVerifier.java Sun Jun 13 15:07:35 2010
@@ -82,14 +82,14 @@ public class DKIMVerifier extends DKIMCo
return publicKeyRecordRetriever;
}
- public PublicKeyRecord publicKeySelector(List records)
+ public PublicKeyRecord publicKeySelector(List<String> records)
throws PermFailException {
String lastError = null;
if (records == null || records.size() == 0) {
lastError = "no key for signature";
} else {
- for (Iterator i = records.iterator(); i.hasNext();) {
- String record = (String) i.next();
+ for (Iterator<String> i = records.iterator(); i.hasNext();) {
+ String record = i.next();
try {
PublicKeyRecord pk = newPublicKeyRecord(record);
pk.validate();
@@ -160,12 +160,12 @@ public class DKIMVerifier extends DKIMCo
PublicKeyRecord key = null;
TempFailException lastTempFailure = null;
PermFailException lastPermFailure = null;
- for (Iterator rlm = sign.getRecordLookupMethods().iterator(); key == null
+ for (Iterator<CharSequence> rlm = sign.getRecordLookupMethods().iterator(); key == null
&& rlm.hasNext();) {
- String method = (String) rlm.next();
+ CharSequence method = rlm.next();
try {
PublicKeyRecordRetriever pkrr = getPublicKeyRecordRetriever();
- List records = pkrr.getRecords(method, sign.getSelector()
+ List<String> records = pkrr.getRecords(method, sign.getSelector()
.toString(), sign.getDToken().toString());
PublicKeyRecord tempKey = publicKeySelector(records);
// checks wether the key is applicable to the signature
@@ -208,7 +208,7 @@ public class DKIMVerifier extends DKIMCo
* @throws FailException
* if no signature can be verified
*/
- public List/* SignatureRecord */verify(InputStream is) throws IOException,
+ public List<SignatureRecord> verify(InputStream is) throws IOException,
FailException {
Message message;
try {
@@ -235,10 +235,10 @@ public class DKIMVerifier extends DKIMCo
* @throws FailException
* if no signature can be verified
*/
- public List/* SignatureRecord */verify(Headers messageHeaders,
+ public List<SignatureRecord> verify(Headers messageHeaders,
InputStream bodyInputStream) throws IOException, FailException {
// System.out.println(message.getFields("DKIM-Signature"));
- List fields = messageHeaders.getFields("DKIM-Signature");
+ List<String> fields = messageHeaders.getFields("DKIM-Signature");
// if (fields.size() > 1) throw new RuntimeException("here we are!");
if (fields == null || fields.size() == 0) {
throw new PermFailException("DKIM-Signature field not found");
@@ -247,11 +247,11 @@ public class DKIMVerifier extends DKIMCo
// For each DKIM-signature we prepare an hashjob.
// We calculate all hashes concurrently so to read
// the inputstream only once.
- Map/* String, BodyHashJob */bodyHashJobs = new HashMap();
- List/* OutputStream */outputStreams = new LinkedList();
- Map/* String, Exception */signatureExceptions = new Hashtable();
- for (Iterator i = fields.iterator(); i.hasNext();) {
- String signatureField = (String) i.next();
+ Map<String, BodyHasher> bodyHashJobs = new HashMap<String, BodyHasher>();
+ List<OutputStream> outputStreams = new LinkedList<OutputStream>();
+ Hashtable<String, FailException> signatureExceptions = new Hashtable<String, FailException>();
+ for (Iterator<String> i = fields.iterator(); i.hasNext();) {
+ String signatureField = i.next();
try {
int pos = signatureField.indexOf(':');
if (pos > 0) {
@@ -283,7 +283,7 @@ public class DKIMVerifier extends DKIMCo
// e.g: the canonicalization method could be checked now.
PublicKeyRecord publicKeyRecord = publicRecordLookup(signatureRecord);
- List signedHeadersList = signatureRecord.getHeaders();
+ List<CharSequence> signedHeadersList = signatureRecord.getHeaders();
byte[] decoded = signatureRecord.getSignature();
signatureVerify(messageHeaders, signatureRecord, decoded,
@@ -330,9 +330,9 @@ public class DKIMVerifier extends DKIMCo
// simultaneous computation of all the hashes.
DKIMCommon.streamCopy(bodyInputStream, o);
- List/* SignatureRecord */verifiedSignatures = new LinkedList();
- for (Iterator i = bodyHashJobs.values().iterator(); i.hasNext();) {
- BodyHasher bhj = (BodyHasher) i.next();
+ List<SignatureRecord> verifiedSignatures = new LinkedList<SignatureRecord>();
+ for (Iterator<BodyHasher> i = bodyHashJobs.values().iterator(); i.hasNext();) {
+ BodyHasher bhj = i.next();
byte[] computedHash = bhj.getDigest();
byte[] expectedBodyHash = bhj.getSignatureRecord().getBodyHash();
@@ -373,9 +373,9 @@ public class DKIMVerifier extends DKIMCo
}
- private FailException prepareException(Map signatureExceptions) {
+ private FailException prepareException(Map<String, FailException> signatureExceptions) {
if (signatureExceptions.size() == 1) {
- return (FailException) signatureExceptions.values().iterator()
+ return signatureExceptions.values().iterator()
.next();
} else {
// TODO loops signatureExceptions to give a more complete
@@ -387,7 +387,7 @@ public class DKIMVerifier extends DKIMCo
}
private void signatureVerify(Headers h, SignatureRecord sign,
- byte[] decoded, PublicKeyRecord key, List headers)
+ byte[] decoded, PublicKeyRecord key, List<CharSequence> headers)
throws NoSuchAlgorithmException, InvalidKeyException,
SignatureException, PermFailException {
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/Headers.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/Headers.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/Headers.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/Headers.java Sun Jun 13 15:07:35 2010
@@ -28,7 +28,7 @@ public interface Headers {
*
* @return the list of <code>Field</code> objects.
*/
- public abstract List/* String */getFields();
+ public abstract List<String> getFields();
/**
* Gets all <code>Field</code>s having the specified field name in a case
@@ -38,6 +38,6 @@ public interface Headers {
* the field name (e.g. From, Subject).
* @return the list of fields.
*/
- public abstract List/* String */getFields(final String name);
+ public abstract List<String> getFields(final String name);
}
\ No newline at end of file
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/PublicKeyRecord.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/PublicKeyRecord.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/PublicKeyRecord.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/PublicKeyRecord.java Sun Jun 13 15:07:35 2010
@@ -36,18 +36,18 @@ public interface PublicKeyRecord {
/**
* @return null if "any", otherwise a list of supported methods
*/
- public abstract List/* String */getAcceptableHashMethods();
+ public abstract List<CharSequence> getAcceptableHashMethods();
/**
* @return null if "any", otherwise a list of supported methods
*/
- public abstract List/* String */getAcceptableKeyTypes();
+ public abstract List<CharSequence> getAcceptableKeyTypes();
public abstract Pattern getGranularityPattern();
public abstract PublicKey getPublicKey();
- public abstract List getFlags();
+ public abstract List<CharSequence> getFlags();
public abstract boolean isTesting();
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/PublicKeyRecordRetriever.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/PublicKeyRecordRetriever.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/PublicKeyRecordRetriever.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/PublicKeyRecordRetriever.java Sun Jun 13 15:07:35 2010
@@ -39,7 +39,7 @@ public interface PublicKeyRecordRetrieve
* @throws PermFailException
* in case of unsupported options
*/
- public List/* String */getRecords(CharSequence methodAndOption,
+ public List<String> getRecords(CharSequence methodAndOption,
CharSequence selector, CharSequence token)
throws TempFailException, PermFailException;
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/SignatureRecord.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/SignatureRecord.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/SignatureRecord.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/api/SignatureRecord.java Sun Jun 13 15:07:35 2010
@@ -31,7 +31,7 @@ public interface SignatureRecord {
public final static String SIMPLE = "simple";
public final static String ALL = ";all;";
- public abstract List/* CharSequence */getHeaders();
+ public abstract List<CharSequence> getHeaders();
public abstract CharSequence getIdentityLocalPart();
@@ -55,7 +55,7 @@ public interface SignatureRecord {
public abstract String getBodyCanonicalisationMethod();
- public abstract List getRecordLookupMethods();
+ public abstract List<CharSequence> getRecordLookupMethods();
public abstract void validate();
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/canon/CompoundOutputStream.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/canon/CompoundOutputStream.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/canon/CompoundOutputStream.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/canon/CompoundOutputStream.java Sun Jun 13 15:07:35 2010
@@ -26,35 +26,35 @@ import java.util.List;
public class CompoundOutputStream extends OutputStream {
- List/* OutputStream */outputStreams;
+ List<? extends OutputStream> outputStreams;
- public CompoundOutputStream(List outputStreams) {
+ public CompoundOutputStream(List<? extends OutputStream> outputStreams) {
this.outputStreams = outputStreams;
}
public void close() throws IOException {
- for (Iterator i = outputStreams.iterator(); i.hasNext();)
- ((OutputStream) i.next()).close();
+ for (Iterator<? extends OutputStream> i = outputStreams.iterator(); i.hasNext();)
+ i.next().close();
}
public void flush() throws IOException {
- for (Iterator i = outputStreams.iterator(); i.hasNext();)
- ((OutputStream) i.next()).flush();
+ for (Iterator<? extends OutputStream> i = outputStreams.iterator(); i.hasNext();)
+ i.next().flush();
}
public void write(byte[] b, int off, int len) throws IOException {
- for (Iterator i = outputStreams.iterator(); i.hasNext();)
- ((OutputStream) i.next()).write(b, off, len);
+ for (Iterator<? extends OutputStream> i = outputStreams.iterator(); i.hasNext();)
+ i.next().write(b, off, len);
}
public void write(byte[] b) throws IOException {
- for (Iterator i = outputStreams.iterator(); i.hasNext();)
- ((OutputStream) i.next()).write(b);
+ for (Iterator<? extends OutputStream> i = outputStreams.iterator(); i.hasNext();)
+ i.next().write(b);
}
public void write(int b) throws IOException {
- for (Iterator i = outputStreams.iterator(); i.hasNext();)
- ((OutputStream) i.next()).write(b);
+ for (Iterator<? extends OutputStream> i = outputStreams.iterator(); i.hasNext();)
+ i.next().write(b);
}
}
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/DNSPublicKeyRecordRetriever.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/DNSPublicKeyRecordRetriever.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/DNSPublicKeyRecordRetriever.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/DNSPublicKeyRecordRetriever.java Sun Jun 13 15:07:35 2010
@@ -49,7 +49,7 @@ public class DNSPublicKeyRecordRetriever
/**
* @see org.apache.james.jdkim.api.PublicKeyRecordRetriever#getRecords(java.lang.CharSequence, java.lang.CharSequence, java.lang.CharSequence)
*/
- public List/* String */getRecords(CharSequence methodAndOptions,
+ public List<String> getRecords(CharSequence methodAndOptions,
CharSequence selector, CharSequence token)
throws TempFailException, PermFailException {
if (!"dns/txt".equals(methodAndOptions))
@@ -67,7 +67,7 @@ public class DNSPublicKeyRecordRetriever
throw new TempFailException(query.getErrorString());
}
- List/* String */records = convertRecordsToList(rr);
+ List<String> records = convertRecordsToList(rr);
return records;
} catch (TextParseException e) {
// TODO log
@@ -82,10 +82,11 @@ public class DNSPublicKeyRecordRetriever
* Record array
* @return list
*/
- public static List/* String */convertRecordsToList(Record[] rr) {
- List/* String */records;
+ @SuppressWarnings("unchecked")
+ public static List<String> convertRecordsToList(Record[] rr) {
+ List<String> records;
if (rr != null && rr.length > 0) {
- records = new ArrayList/* String */();
+ records = new ArrayList<String>();
for (int i = 0; i < rr.length; i++) {
switch (rr[i].getType()) {
case Type.TXT:
@@ -99,9 +100,9 @@ public class DNSPublicKeyRecordRetriever
records.add(((String) txt.getStrings().get(0)));
} else {
StringBuffer sb = new StringBuffer();
- for (Iterator/* String */it = txt.getStrings()
+ for (Iterator<String> it = txt.getStrings()
.iterator(); it.hasNext();) {
- String k = (String) it.next();
+ String k = it.next();
// This was required until dnsjava 2.0.6 because
// dnsjava was escaping
// the result like it was doublequoted (JDKIM-7).
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/Message.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/Message.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/Message.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/Message.java Sun Jun 13 15:07:35 2010
@@ -31,16 +31,19 @@ import java.util.Map;
import org.apache.james.jdkim.api.Headers;
import org.apache.james.mime4j.MimeException;
import org.apache.james.mime4j.io.EOLConvertingInputStream;
-import org.apache.james.mime4j.parser.MimeEntityConfig;
-import org.apache.james.mime4j.parser.MimeTokenStream;
+import org.apache.james.mime4j.parser.AbstractContentHandler;
+import org.apache.james.mime4j.parser.MimeStreamParser;
+import org.apache.james.mime4j.stream.BodyDescriptor;
+import org.apache.james.mime4j.stream.MimeEntityConfig;
+import org.apache.james.mime4j.stream.RawField;
/**
* The header of an entity (see RFC 2045).
*/
-public class Message implements Headers {
+public class Message extends AbstractContentHandler implements Headers {
- private List fields = new LinkedList();
- private Map fieldMap = new HashMap();
+ private List<String> fields = new LinkedList<String>();
+ private Map<String, List<String>> fieldMap = new HashMap<String, List<String>>();
private InputStream bodyIs = null;
/**
@@ -63,45 +66,27 @@ public class Message implements Headers
public Message(InputStream is) throws IOException, MimeException {
MimeEntityConfig mec = new MimeEntityConfig();
mec.setMaxLineLen(10000);
- MimeTokenStream stream = new ExtendedMimeTokenStream(mec);
- stream.setRecursionMode(MimeTokenStream.M_FLAT);
- // DKIM requires no isolated CR or LF, so we alter them at source.
- stream.parse(new EOLConvertingInputStream(is));
- for (int state = stream.getState(); state != MimeTokenStream.T_END_OF_STREAM; state = stream
- .next()) {
- switch (state) {
- // a field
- case MimeTokenStream.T_FIELD:
- addField(stream.getFieldName(), stream.getField());
- break;
-
- // expected ignored tokens
- case MimeTokenStream.T_START_MESSAGE:
- case MimeTokenStream.T_END_MESSAGE:
- case MimeTokenStream.T_START_HEADER:
- case MimeTokenStream.T_END_HEADER:
- break;
-
- // the body stream
- case MimeTokenStream.T_BODY:
- this.bodyIs = stream.getInputStream();
- break;
-
- default:
- throw new IllegalStateException("Unexpected stream message: "
- + state);
- }
- // stop parsing after header
- if (bodyIs != null)
- break;
- }
-
+
+ final MimeStreamParser parser = new MimeStreamParser(mec);
+ parser.setFlat(true);
+ parser.setContentDecoding(false);
+ parser.setContentHandler(this);
+ parser.parse(new EOLConvertingInputStream(is));
}
public InputStream getBodyInputStream() {
return bodyIs;
}
+ public void field(RawField rawField) throws MimeException {
+ addField(rawField.getName(), new String(rawField.getRaw().toByteArray()));
+ }
+
+ public void body(BodyDescriptor bd, InputStream is) throws MimeException,
+ IOException {
+ setBodyInputStream(is);
+ }
+
public void setBodyInputStream(InputStream is) {
bodyIs = is;
}
@@ -113,9 +98,9 @@ public class Message implements Headers
* the field to add.
*/
public void addField(String fieldName, String field) {
- List values = (List) fieldMap.get(fieldName.toLowerCase());
+ List<String> values = fieldMap.get(fieldName.toLowerCase());
if (values == null) {
- values = new LinkedList();
+ values = new LinkedList<String>();
fieldMap.put(fieldName.toLowerCase(), values);
}
values.add(field);
@@ -125,17 +110,17 @@ public class Message implements Headers
/**
* @see org.apache.james.jdkim.api.Headers#getFields()
*/
- public List getFields() {
+ public List<String> getFields() {
return Collections.unmodifiableList(fields);
}
/**
* @see org.apache.james.jdkim.api.Headers#getFields(java.lang.String)
*/
- public List getFields(final String name) {
+ public List<String> getFields(final String name) {
final String lowerCaseName = name.toLowerCase();
- final List l = (List) fieldMap.get(lowerCaseName);
- final List results;
+ final List<String> l = fieldMap.get(lowerCaseName);
+ final List<String> results;
if (l == null || l.isEmpty()) {
results = null;
} else {
@@ -152,8 +137,8 @@ public class Message implements Headers
*/
public String toString() {
StringBuffer str = new StringBuffer(128);
- for (Iterator i = fields.iterator(); i.hasNext();) {
- String field = (String) i.next();
+ for (Iterator<String> i = fields.iterator(); i.hasNext();) {
+ String field = i.next();
str.append(field);
}
InputStream is = getBodyInputStream();
@@ -171,14 +156,4 @@ public class Message implements Headers
return str.toString();
}
- /**
- * Extends this to publish the constructor
- */
- private final class ExtendedMimeTokenStream extends MimeTokenStream {
-
- public ExtendedMimeTokenStream(MimeEntityConfig mec) {
- super(mec);
- }
- }
-
}
\ No newline at end of file
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/MultiplexingPublicKeyRecordRetriever.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/MultiplexingPublicKeyRecordRetriever.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/MultiplexingPublicKeyRecordRetriever.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/impl/MultiplexingPublicKeyRecordRetriever.java Sun Jun 13 15:07:35 2010
@@ -30,10 +30,10 @@ import org.apache.james.jdkim.exceptions
public class MultiplexingPublicKeyRecordRetriever implements
PublicKeyRecordRetriever {
- private Map/* String, PublicKeyRecordRetriever */retrievers;
+ private Map<String, PublicKeyRecordRetriever> retrievers;
public MultiplexingPublicKeyRecordRetriever() {
- retrievers = new HashMap();
+ retrievers = new HashMap<String, PublicKeyRecordRetriever>();
}
public MultiplexingPublicKeyRecordRetriever(String methodName,
@@ -46,13 +46,12 @@ public class MultiplexingPublicKeyRecord
retrievers.put(methodName, pkrr);
}
- public List getRecords(CharSequence methodAndOption, CharSequence selector,
+ public List<String> getRecords(CharSequence methodAndOption, CharSequence selector,
CharSequence token) throws TempFailException, PermFailException {
int pos = methodAndOption.toString().indexOf('/');
String method = pos != -1 ? methodAndOption.subSequence(0, pos)
.toString() : methodAndOption.toString();
- PublicKeyRecordRetriever pkrr = (PublicKeyRecordRetriever) retrievers
- .get(method);
+ PublicKeyRecordRetriever pkrr = retrievers.get(method);
if (pkrr != null) {
return pkrr.getRecords(methodAndOption, selector, token);
} else {
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/PublicKeyRecordImpl.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/PublicKeyRecordImpl.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/PublicKeyRecordImpl.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/PublicKeyRecordImpl.java Sun Jun 13 15:07:35 2010
@@ -51,10 +51,10 @@ public class PublicKeyRecordImpl extends
super(data);
}
- protected Map newTagValue() {
+ protected Map<String, CharSequence> newTagValue() {
// extensions may override this to use TreeMaps in order to keep track
// of orders
- return new LinkedHashMap();
+ return new LinkedHashMap<String, CharSequence>();
}
protected void init() {
@@ -90,7 +90,7 @@ public class PublicKeyRecordImpl extends
* @see org.apache.james.jdkim.api.PublicKeyRecord#isHashMethodSupported(java.lang.CharSequence)
*/
public boolean isHashMethodSupported(CharSequence hash) {
- List hashes = getAcceptableHashMethods();
+ List<CharSequence> hashes = getAcceptableHashMethods();
if (hashes == null)
return true;
return isInListCaseInsensitive(hash, hashes);
@@ -100,14 +100,14 @@ public class PublicKeyRecordImpl extends
* @see org.apache.james.jdkim.api.PublicKeyRecord#isKeyTypeSupported(java.lang.CharSequence)
*/
public boolean isKeyTypeSupported(CharSequence hash) {
- List hashes = getAcceptableKeyTypes();
+ List<CharSequence> hashes = getAcceptableKeyTypes();
return isInListCaseInsensitive(hash, hashes);
}
/**
* @see org.apache.james.jdkim.api.PublicKeyRecord#getAcceptableHashMethods()
*/
- public List/* String */getAcceptableHashMethods() {
+ public List<CharSequence> getAcceptableHashMethods() {
if (ANY.equals(getValue("h")))
return null;
return stringToColonSeparatedList(getValue("h").toString(),
@@ -117,7 +117,7 @@ public class PublicKeyRecordImpl extends
/**
* @see org.apache.james.jdkim.api.PublicKeyRecord#getAcceptableKeyTypes()
*/
- public List/* String */getAcceptableKeyTypes() {
+ public List<CharSequence> getAcceptableKeyTypes() {
return stringToColonSeparatedList(getValue("k").toString(),
hyphenatedWordPattern);
}
@@ -155,13 +155,13 @@ public class PublicKeyRecordImpl extends
}
}
- public List getFlags() {
+ public List<CharSequence> getFlags() {
String flags = getValue("t").toString();
String[] flagsStrings = flags.split(":");
- List res = new ArrayList();
+ List<CharSequence> res = new ArrayList<CharSequence>();
for (int i = 0; i < flagsStrings.length; i++) {
res.add(trimFWS(flagsStrings[i], 0, flagsStrings[i].length() - 1,
- true).toString());
+ true));
}
return res;
}
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/SignatureRecordImpl.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/SignatureRecordImpl.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/SignatureRecordImpl.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/SignatureRecordImpl.java Sun Jun 13 15:07:35 2010
@@ -119,7 +119,7 @@ public class SignatureRecordImpl extends
/**
* @see org.apache.james.jdkim.api.SignatureRecord#getHeaders()
*/
- public List/* CharSequence */getHeaders() {
+ public List<CharSequence> getHeaders() {
return stringToColonSeparatedList(getValue("h").toString(),
hdrNamePattern);
}
@@ -305,15 +305,15 @@ public class SignatureRecordImpl extends
}
}
- public List getRecordLookupMethods() {
+ public List<CharSequence> getRecordLookupMethods() {
String flags = getValue("q").toString();
String[] flagsStrings = flags.split(":");
- List res = new LinkedList();
+ List<CharSequence> res = new LinkedList<CharSequence>();
for (int i = 0; i < flagsStrings.length; i++) {
// TODO add validation method[/option]
// if (VALIDATION)
res.add(trimFWS(flagsStrings[i], 0, flagsStrings[i].length() - 1,
- true).toString());
+ true));
}
return res;
}
Modified: james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/TagValue.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/TagValue.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/TagValue.java (original)
+++ james/jdkim/trunk/main/src/main/java/org/apache/james/jdkim/tagvalue/TagValue.java Sun Jun 13 15:07:35 2010
@@ -45,13 +45,13 @@ public class TagValue {
+ "((\r\n[\t ]|[\t ])+" + tval + ")*)?$");
// we may use a TreeMap because we may need to know original order.
- private Map/* String, CharSequence */tagValues;
+ private Map<String, CharSequence> tagValues;
- protected Set/* String */mandatoryTags = new HashSet();
- protected Map/* String, CharSequence */defaults = new HashMap();
+ protected Set<String> mandatoryTags = new HashSet<String>();
+ protected Map<String, CharSequence> defaults = new HashMap<String, CharSequence>();
private String stringRepresentation = null;
- protected Set tagSet() {
+ protected Set<String> tagSet() {
return tagValues.keySet();
}
protected boolean containsTag(String tag) {
@@ -121,10 +121,10 @@ public class TagValue {
parse(data);
}
- protected Map newTagValue() {
+ protected Map<String, CharSequence> newTagValue() {
// extensions may override this to use TreeMaps in order to keep track
// of orders
- return new HashMap();
+ return new HashMap<String, CharSequence>();
}
protected void init() {
@@ -210,7 +210,7 @@ public class TagValue {
return true;
}
- public Set getTags() {
+ public Set<String> getTags() {
return tagValues.keySet();
}
@@ -234,15 +234,15 @@ public class TagValue {
public void validate() {
// check mandatory fields
- for (Iterator i = mandatoryTags.iterator(); i.hasNext();) {
- String tag = (String) i.next();
+ for (Iterator<String> i = mandatoryTags.iterator(); i.hasNext();) {
+ String tag = i.next();
if (getValue(tag) == null)
throw new IllegalStateException("Missing mandatory tag: " + tag);
}
}
- protected List stringToColonSeparatedList(String h, Pattern pattern) {
- List headers = new ArrayList();
+ protected List<CharSequence> stringToColonSeparatedList(String h, Pattern pattern) {
+ List<CharSequence> headers = new ArrayList<CharSequence>();
for (int i = 0; i < h.length(); i++) {
int p = h.indexOf(':', i);
if (p == -1)
@@ -259,9 +259,9 @@ public class TagValue {
return headers;
}
- protected boolean isInListCaseInsensitive(CharSequence hash, List hashes) {
- for (Iterator i = hashes.iterator(); i.hasNext();) {
- CharSequence suppHash = (CharSequence) i.next();
+ protected boolean isInListCaseInsensitive(CharSequence hash, List<CharSequence> hashes) {
+ for (Iterator<CharSequence> i = hashes.iterator(); i.hasNext();) {
+ CharSequence suppHash = i.next();
if (hash.toString().equalsIgnoreCase(suppHash.toString()))
return true;
}
@@ -278,9 +278,9 @@ public class TagValue {
private void updateStringRepresentation() {
// calculate a new string representation
StringBuffer res = new StringBuffer();
- Set s = getTags();
- for (Iterator i = s.iterator(); i.hasNext();) {
- String tag = (String) i.next();
+ Set<String> s = getTags();
+ for (Iterator<String> i = s.iterator(); i.hasNext();) {
+ String tag = i.next();
res.append(" ");
res.append(tag);
res.append("=");
Modified: james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MessageTest.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MessageTest.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MessageTest.java (original)
+++ james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MessageTest.java Sun Jun 13 15:07:35 2010
@@ -61,7 +61,7 @@ public class MessageTest extends TestCas
Message m = new Message();
m.addField("Subject", "Subject: test\r\n");
m.addField("Subject", "Subject: test2\r\n");
- List f = m.getFields("Subject");
+ List<String> f = m.getFields("Subject");
assertEquals(2, f.size());
assertEquals("Subject: test\r\n", f.get(0));
assertEquals("Subject: test2\r\n", f.get(1));
@@ -72,36 +72,29 @@ public class MessageTest extends TestCas
m.addField("Subject", "Subject: test\r\n");
m.addField("Subject", "Subject: test2\r\n");
m.addField("From", "From: test2\r\n");
- List f = m.getFields();
- List expects = new LinkedList();
+ List<String> f = m.getFields();
+ List<String> expects = new LinkedList<String>();
expects.add("Subject: test\r\n");
expects.add("Subject: test2\r\n");
expects.add("From: test2\r\n");
- for (Iterator i = f.iterator(); i.hasNext();) {
- String field = (String) i.next();
+ for (Iterator<String> i = f.iterator(); i.hasNext();) {
+ String field = i.next();
assertTrue(expects.remove(field));
}
assertEquals(0, expects.size());
}
- /*
- * public void testGetField() throws MimeException, IOException { String
- * text = "Subject: test\r\n\r\nbody"; Headers m = new Message(new
- * ByteArrayInputStream(text.getBytes())); Field f = m.getField("Subject");
- * assertEquals(" test", f.getBody()); }
- */
-
public void testGetFieldsString() throws MimeException {
Message m = new Message();
m.addField("Subject", "Subject: test\r\n");
m.addField("subject", "subject: test2\r\n");
m.addField("From", "From: test2\r\n");
- List f = m.getFields("Subject");
- List expects = new LinkedList();
+ List<String> f = m.getFields("Subject");
+ List<String> expects = new LinkedList<String>();
expects.add("Subject: test\r\n");
expects.add("subject: test2\r\n");
- for (Iterator i = f.iterator(); i.hasNext();) {
- String field = (String) i.next();
+ for (Iterator<String> i = f.iterator(); i.hasNext();) {
+ String field = i.next();
assertTrue(expects.remove(field));
}
assertEquals(0, expects.size());
Modified: james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MockPublicKeyRecordRetriever.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MockPublicKeyRecordRetriever.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MockPublicKeyRecordRetriever.java (original)
+++ james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MockPublicKeyRecordRetriever.java Sun Jun 13 15:07:35 2010
@@ -34,13 +34,13 @@ import org.apache.james.jdkim.exceptions
*/
public class MockPublicKeyRecordRetriever implements PublicKeyRecordRetriever {
private static final String _DOMAINKEY = "._domainkey.";
- private Map/* String, List<String> */records = new HashMap();
+ private Map<String, List<String>> records = new HashMap<String, List<String>>();
public void addRecord(String selector, String token, String record) {
String key = selector + _DOMAINKEY + token;
- List l = (List) records.get(key);
+ List<String> l = records.get(key);
if (l == null) {
- l = new LinkedList();
+ l = new LinkedList<String>();
records.put(key, l);
}
if (record != null) {
@@ -57,12 +57,12 @@ public class MockPublicKeyRecordRetrieve
addRecord(selector.toString(), token.toString(), record);
}
- public List getRecords(CharSequence methodAndOptions,
+ public List<String> getRecords(CharSequence methodAndOptions,
CharSequence selector, CharSequence token)
throws TempFailException, PermFailException {
if ("dns/txt".equals(methodAndOptions)) {
String search = selector + _DOMAINKEY + token;
- List res = (List) records.get(search);
+ List<String> res = records.get(search);
if (res == null || res.size() > 0)
return res;
else
Modified: james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MultiplexingPublicKeyRecordRetrieverTest.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MultiplexingPublicKeyRecordRetrieverTest.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MultiplexingPublicKeyRecordRetrieverTest.java (original)
+++ james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/MultiplexingPublicKeyRecordRetrieverTest.java Sun Jun 13 15:07:35 2010
@@ -35,10 +35,10 @@ public class MultiplexingPublicKeyRecord
private PublicKeyRecordRetriever myMethodRetriever = new PublicKeyRecordRetriever() {
- public List getRecords(CharSequence methodAndOption,
+ public List<String> getRecords(CharSequence methodAndOption,
CharSequence selector, CharSequence token)
throws TempFailException, PermFailException {
- List l = new ArrayList();
+ List<String> l = new ArrayList<String>();
l.add(selector.toString());
l.add(token.toString());
return l;
@@ -64,8 +64,8 @@ public class MultiplexingPublicKeyRecord
private void check(MultiplexingPublicKeyRecordRetriever pkrr, String method)
throws TempFailException, PermFailException {
- List l = pkrr.getRecords(method, "selector", "token");
- Iterator i = l.iterator();
+ List<String> l = pkrr.getRecords(method, "selector", "token");
+ Iterator<String> i = l.iterator();
assertEquals("selector", i.next());
assertEquals("token", i.next());
try {
Modified: james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/PublicKeyRecordTest.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/PublicKeyRecordTest.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/PublicKeyRecordTest.java (original)
+++ james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/PublicKeyRecordTest.java Sun Jun 13 15:07:35 2010
@@ -88,7 +88,7 @@ public class PublicKeyRecordTest extends
PublicKeyRecord pkr = new PublicKeyRecordImpl(
"k=rsa; h=sha1:sha256; p=XXXXXXXX=;");
pkr.validate();
- List methods = pkr.getAcceptableHashMethods();
+ List<CharSequence> methods = pkr.getAcceptableHashMethods();
assertEquals("[sha1, sha256]", methods.toString());
pkr = new PublicKeyRecordImpl("k=rsa; p=XXXXXXXX=;");
pkr.validate();
@@ -100,7 +100,7 @@ public class PublicKeyRecordTest extends
PublicKeyRecord pkr = new PublicKeyRecordImpl(
"k=rsa; h=sha1:sha256; p=XXXXXXXX=;");
pkr.validate();
- List methods = pkr.getAcceptableKeyTypes();
+ List<CharSequence> methods = pkr.getAcceptableKeyTypes();
assertEquals("[rsa]", methods.toString());
pkr = new PublicKeyRecordImpl("k=rsa:dsa; p=XXXXXXXX=;");
pkr.validate();
@@ -202,7 +202,7 @@ public class PublicKeyRecordTest extends
PublicKeyRecord pkr = new PublicKeyRecordImpl(
"k=rsa; t=y:s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIhyR3oItOy22ZOaBrIVe9m/iME3RqOJeasANSpg2YTHTYV+Xtp4xwf5gTjCmHQEMOs0qYu0FYiNQPQogJ2t0Mfx9zNu06rfRBDjiIU9tpx2T+NGlWZ8qhbiLo5By8apJavLyqTLavyPSrvsx0B3YzC63T4Age2CDqZYA+OwSMWQIDAQAB");
pkr.validate();
- List flags = pkr.getFlags();
+ List<CharSequence> flags = pkr.getFlags();
assertEquals("[y, s]", flags.toString());
pkr = new PublicKeyRecordImpl(
"k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIhyR3oItOy22ZOaBrIVe9m/iME3RqOJeasANSpg2YTHTYV+Xtp4xwf5gTjCmHQEMOs0qYu0FYiNQPQogJ2t0Mfx9zNu06rfRBDjiIU9tpx2T+NGlWZ8qhbiLo5By8apJavLyqTLavyPSrvsx0B3YzC63T4Age2CDqZYA+OwSMWQIDAQAB");
Modified: james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/canon/CompoundOutputStreamTest.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/canon/CompoundOutputStreamTest.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/canon/CompoundOutputStreamTest.java (original)
+++ james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/canon/CompoundOutputStreamTest.java Sun Jun 13 15:07:35 2010
@@ -38,7 +38,7 @@ public class CompoundOutputStreamTest ex
}
public void testSingleBytes() throws NoSuchAlgorithmException, IOException {
- List/* ByteArrayOutputStream */oss = new LinkedList();
+ List<ByteArrayOutputStream> oss = new LinkedList<ByteArrayOutputStream>();
for (int i = 0; i < 5; i++) {
oss.add(new ByteArrayOutputStream());
}
@@ -47,21 +47,21 @@ public class CompoundOutputStreamTest ex
os.write(testData[i]);
}
os.close();
- for (Iterator i = oss.iterator(); i.hasNext();) {
- ByteArrayOutputStream bos = (ByteArrayOutputStream) i.next();
+ for (Iterator<ByteArrayOutputStream> i = oss.iterator(); i.hasNext();) {
+ ByteArrayOutputStream bos = i.next();
assertArrayEquals(testData, bos.toByteArray());
}
}
public void testChunks() throws NoSuchAlgorithmException, IOException {
- List/* ByteArrayOutputStream */oss = new LinkedList();
+ List<ByteArrayOutputStream> oss = new LinkedList<ByteArrayOutputStream>();
for (int i = 0; i < 5; i++) {
oss.add(new ByteArrayOutputStream());
}
CompoundOutputStream os = new CompoundOutputStream(oss);
chunker(testData, os);
- for (Iterator i = oss.iterator(); i.hasNext();) {
- ByteArrayOutputStream bos = (ByteArrayOutputStream) i.next();
+ for (Iterator<ByteArrayOutputStream> i = oss.iterator(); i.hasNext();) {
+ ByteArrayOutputStream bos = i.next();
assertArrayEquals(testData, bos.toByteArray());
}
}
Modified: james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/tagvalue/TagValueTest.java
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/tagvalue/TagValueTest.java?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/tagvalue/TagValueTest.java (original)
+++ james/jdkim/trunk/main/src/test/java/org/apache/james/jdkim/tagvalue/TagValueTest.java Sun Jun 13 15:07:35 2010
@@ -158,7 +158,7 @@ public class TagValueTest extends TestCa
public void testTagSetWithEquals() {
TagValue tv = new TagValue("t=value; v=encoded=40value");
- Set tags = tv.getTags();
+ Set<String> tags = tv.getTags();
assertEquals(2, tags.size());
assertTrue(tags.contains("t"));
assertTrue(tags.contains("v"));
Modified: james/jdkim/trunk/pom.xml
URL: http://svn.apache.org/viewvc/james/jdkim/trunk/pom.xml?rev=954239&r1=954238&r2=954239&view=diff
==============================================================================
--- james/jdkim/trunk/pom.xml (original)
+++ james/jdkim/trunk/pom.xml Sun Jun 13 15:07:35 2010
@@ -124,19 +124,19 @@
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mailet-base</artifactId>
- <version>1.0</version>
+ <version>1.1</version>
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mailet-base</artifactId>
- <version>1.0</version>
+ <version>1.1</version>
<scope>test</scope>
<classifier>tests</classifier>
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mailet-base</artifactId>
- <version>1.0</version>
+ <version>1.1</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
@@ -149,12 +149,12 @@
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<scope>runtime</scope>
- <version>1.2.14</version>
+ <version>1.2.16</version>
</dependency>
<dependency>
<groupId>dnsjava</groupId>
<artifactId>dnsjava</artifactId>
- <version>2.0.7</version>
+ <version>2.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.james.jdkim</groupId>
@@ -185,8 +185,8 @@
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
- <artifactId>apache-mime4j</artifactId>
- <version>0.5</version>
+ <artifactId>apache-mime4j-core</artifactId>
+ <version>0.7-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
@@ -262,6 +262,15 @@
</executions>
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ <encoding>iso8859-1</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.6.1</version>
<executions>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org