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 Stefano Bagnara <ap...@bago.org> on 2006/05/28 16:51:19 UTC

Re: [jira] Updated: (JAMES-461) Javamail Store based MailRepository support

Hi Joachim,

At a first look you did a really good job!

I have 2 questions:

1) Why you introduced the StoreAware interface? It seems it is not used 
in the code.

2) Is there any javamail store implementation (even not maildir) under a 
compatible license that we can use for the examples in the config.xml 
and for the default tests? Imho the code you provided in the src folder 
can be included in James, but the patch to config.xml and the tests 
references the "maildir store" and the only known (to me) implementation 
of the maildir store is GPL, so it would be safer for us to avoid even 
this "virtual" references in our codebase.

Stefano

Joachim Draeger (JIRA) wrote:
>      [ http://issues.apache.org/jira/browse/JAMES-461?page=all ]
> 
> Joachim Draeger updated JAMES-461:
> ----------------------------------
> 
>     Attachment: JavamailStoreMailRepository2.zip
> 
> 
> This proposal has no other dependencies than Javamail (i think even before 1.4) and James.
> 
> HashJavamailStoreMailRepository  should work with every JavamailStore implementation that has deterministic
> message content. (checksum save).  Performance could be quite good because after storing/listing it tries to get the messages by the last seen message number.
> 
> UIDPlusFolderMailRepository depends on javamail Folders that have a public long[] addUIDMessages(Message[] msgs); method which returns the uids of the added messages. This method is called via reflection, and in the future even the message name might be configureable form config.xml.
> At the moment there is no known Javamail store implementation that provides such a method, but it should come soon.
> 
> The Javamail store url is not configureable in the unit tests at the moment. Nearly all tests depend on getNativeMessageCount(), and getNativeMessages() at the moment. I plan to write a few more general tests in the future.
> 
> This implementation should be considered as EXPERIMENTAL, but I think it's not so far from being stable.
> 
> Joachim


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: [jira] Updated: (JAMES-461) Javamail Store based MailRepository support

Posted by Stefano Bagnara <ap...@bago.org>.
Joachim Draeger wrote:
>> 1) Why you introduced the StoreAware interface? It seems it is not 
>> used in the code.
> 
> (Formally know as  FolderAware) This exposes the underlaying Javamail 
> store. The IMAP server will depend on that until James has an own solution.

Ok, now I remember! ;-)

>> 2) Is there any javamail store implementation (even not maildir) under 
>> a compatible license that we can use for the examples in the 
>> config.xml and for the default tests? 
> 
> I fear not. There is a LGPL one but I know there are uncertainties with 
> LGPL, too. But I agree we need something for testing. Creating an in 
> memory MOCK should be very easy. (ArrayList of MimeMessages with easy 
> operations) We could uses a memory://blah url for that.
> Another thing I have in mind is offering a javamail implementation for 
> James storing methods. This should be no problem, when we have made the 
> extensions needed for Imap. A JDBC javamail store could be in demand.

This is a problem.

I'm a bit busy at the moment, but the most ASL friendly store 
implementation I heard of is under the MPL.

AFAIK MPL has been declared compatible with ASL (to be confirmed).
The MPL store is inside the sources of Grendel 
(http://wiki.mozilla.org/Grendel)
"storage/BerkeleyStore" found in their repository seems to be a BDB 
based store implementation under the MPL.

Maybe we should try a deeper search for any other store under a 
compliant license.

>> Imho the code you provided in the src folder can be included in James, 
>> but the patch to config.xml and the tests references the "maildir 
>> store" and the only known (to me) implementation of the maildir store 
>> is GPL, so it would be safer for us to avoid even this "virtual" 
>> references in our codebase.
> 
> That sounds like "persecution mania". :-) But of course it would be 
> dissatisfying to have untestable code. The tests should run the MOCK by 
> default and be configurable by a properties file.
> How to actually use javamaildir could be explained on the website/faq/wiki.
> BTW: classpathx has a maildir implementation, as well but it's also GPL 
> and has less features.

The important thing, imho, is that we now have a javamail store 
mailrepository "adapter". We can't bundle the tests, but we know we have 
tests: this is better than nothing.

Btw if we want to add IMAP support to James we'll need to create our own 
(JDBC) store, sooner or later....

Stefano


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: [jira] Updated: (JAMES-461) Javamail Store based MailRepository support

Posted by Joachim Draeger <jd...@joachim-draeger.de>.
Hi Stefano,

> At a first look you did a really good job!

Thank you.

> 1) Why you introduced the StoreAware interface? It seems it is not used 
> in the code.

(Formally know as  FolderAware) This exposes the underlaying Javamail 
store. The IMAP server will depend on that until James has an own solution.

> 2) Is there any javamail store implementation (even not maildir) under a 
> compatible license that we can use for the examples in the config.xml 
> and for the default tests? 

I fear not. There is a LGPL one but I know there are uncertainties with 
LGPL, too. But I agree we need something for testing. Creating an in 
memory MOCK should be very easy. (ArrayList of MimeMessages with easy 
operations) We could uses a memory://blah url for that.
Another thing I have in mind is offering a javamail implementation for 
James storing methods. This should be no problem, when we have made the 
extensions needed for Imap. A JDBC javamail store could be in demand.

> Imho the code you provided in the src folder 
> can be included in James, but the patch to config.xml and the tests 
> references the "maildir store" and the only known (to me) implementation 
> of the maildir store is GPL, so it would be safer for us to avoid even 
> this "virtual" references in our codebase.

That sounds like "persecution mania". :-) But of course it would be 
dissatisfying to have untestable code. The tests should run the MOCK by 
default and be configurable by a properties file.
How to actually use javamaildir could be explained on the website/faq/wiki.
BTW: classpathx has a maildir implementation, as well but it's also GPL 
and has less features.

Joachim

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org