[GitHub] james-project pull request: James 1653 Solving Java 6 compilation

2016-01-13 Thread chibenwa
GitHub user chibenwa opened a pull request:

https://github.com/apache/james-project/pull/28

James 1653 Solving Java 6 compilation



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/chibenwa/james-project JAMES-1653

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/james-project/pull/28.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #28


commit 6e1bf398616b4c857486de36a49015e785dc8428
Author: Benoit Tellier 
Date:   2016-01-11T15:48:17Z

JAMES-1653 Code is not java-6 compliant - contributed by Raphael Rouazana

commit bc955ba170bad7805fc9e1601da490ba54cc9e26
Author: Benoit Tellier 
Date:   2016-01-11T16:12:47Z

JAMES-1653 We should not depend on cassandra jars if the cassandra profile 
is not used

commit 0f68903edff941313671c872629c2facf8d59dc6
Author: Benoit Tellier 
Date:   2016-01-11T16:21:46Z

JAMES-1653 Solves docker compilation image creation issue

commit 314f401560ae572605ad1910c1105b10c542f69e
Author: Benoit Tellier 
Date:   2016-01-11T16:56:42Z

JAMES-1653 Fixes ClassNotFound errors when using assertj-guava with Java 6

commit 6702f2ed610784c29b6460d8f5f712ddc6d3fe53
Author: Benoit Tellier 
Date:   2016-01-11T17:07:30Z

JAMES-1653 Sieve announced capability string is not deterministic




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[jira] [Commented] (JAMES-1640) Cant recive emails

2016-01-13 Thread Gaurav Talwar (JIRA)

[ 
https://issues.apache.org/jira/browse/JAMES-1640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15095877#comment-15095877
 ] 

Gaurav Talwar commented on JAMES-1640:
--

Thanks Matthieu,

Will try with the latest version of mailbox store. 

I used the zip from the location -
https://repository.apache.org/content/repositories/snapshots/org/apache/james/james-server-app/3.0.0-beta5-SNAPSHOT/james-server-app-3.0.0-beta5-20150626.101708-1075-app.zip




> Cant recive emails
> --
>
> Key: JAMES-1640
> URL: https://issues.apache.org/jira/browse/JAMES-1640
> Project: James Server
>  Issue Type: Bug
>  Components: MailStore & MailRepository
>Affects Versions: 3.0.0-beta5
> Environment: Debian 8, Java 1.8.0_65
>Reporter: Lukas A
>
> When send a message from an other emailaccount like gmail. I'll get the 
> following error:
> ERROR 22:46:13,893 | james.mailspooler | Exception processing mail while 
> spooling Unable to process mail 
> Mail1447537572407-c475eae9-9a54-484e-9567-1845df6ea235 
> (org.apache.camel.CamelExecutionException: Exception occurred during 
> execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba])
> javax.mail.MessagingException: Unable to process mail 
> Mail1447537572407-c475eae9-9a54-484e-9567-1845df6ea235 
> (org.apache.camel.CamelExecutionException: Exception occurred during 
> execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba])
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:65)
>   at 
> org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:98)
>   at 
> org.apache.james.mailetcontainer.impl.JamesMailSpooler$1.run(JamesMailSpooler.java:166)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>   at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.camel.CamelExecutionException: Exception occurred 
> during execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba]
>   at 
> org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1287)
>   at 
> org.apache.camel.util.ExchangeHelper.extractResultBody(ExchangeHelper.java:618)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:454)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:450)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:126)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:131)
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:62)
>   ... 5 more
> Caused by: javax.mail.MessagingException: Unable to process mail 
> Mail1447537572407-c475eae9-9a54-484e-9567-1845df6ea235 
> (org.apache.camel.CamelExecutionException: Exception occurred during 
> execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba])
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:65)
>   at 
> org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:98)
>   at 
> org.apache.james.mailetcontainer.impl.JamesMailetContext.sendMail(JamesMailetContext.java:409)
>   at 
> org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.toProcessor(AbstractStateMailetProcessor.java:160)
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.access$1000(CamelMailetProcessor.java:48)
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor$MailetContainerRouteBuilder$StateChangedProcessor.process(CamelMailetProcessor.java:207)
>   at 
> org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
>   at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>   at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>   at 
> 

[jira] [Created] (JAMES-1655) JWT implementation

2016-01-13 Thread Antoine Duprat (JIRA)
Antoine Duprat created JAMES-1655:
-

 Summary: JWT implementation
 Key: JAMES-1655
 URL: https://issues.apache.org/jira/browse/JAMES-1655
 Project: James Server
  Issue Type: Sub-task
Reporter: Antoine Duprat


Add JWT implementation in JMAP



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Created] (JAMES-1654) Public key configuration

2016-01-13 Thread Antoine Duprat (JIRA)
Antoine Duprat created JAMES-1654:
-

 Summary: Public key configuration
 Key: JAMES-1654
 URL: https://issues.apache.org/jira/browse/JAMES-1654
 Project: James Server
  Issue Type: Sub-task
Reporter: Antoine Duprat


Add public key in JMAP configuration



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Resolved] (JAMES-1654) Public key configuration

2016-01-13 Thread Antoine Duprat (JIRA)

 [ 
https://issues.apache.org/jira/browse/JAMES-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Antoine Duprat resolved JAMES-1654.
---
Resolution: Fixed

> Public key configuration
> 
>
> Key: JAMES-1654
> URL: https://issues.apache.org/jira/browse/JAMES-1654
> Project: James Server
>  Issue Type: Sub-task
>Reporter: Antoine Duprat
>
> Add public key in JMAP configuration



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



svn commit: r1724385 - in /james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods: GetMailboxesMethodTest.java GetMessageListMethodTest.java GetMessa

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 10:12:01 2016
New Revision: 1724385

URL: http://svn.apache.org/viewvc?rev=1724385=rev
Log:
JAMES-1648 Make json assertion more robust. Contributed by Baechler 


Modified:

james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java

james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessageListMethodTest.java

james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java

Modified: 
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java?rev=1724385=1724384=1724385=diff
==
--- 
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java
 Wed Jan 13 10:12:01 2016
@@ -23,7 +23,6 @@ import static com.jayway.restassured.Res
 import static com.jayway.restassured.config.EncoderConfig.encoderConfig;
 import static com.jayway.restassured.config.RestAssuredConfig.newConfig;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.hamcrest.Matchers.endsWith;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.startsWith;
 
@@ -34,8 +33,6 @@ import java.util.Map;
 
 import javax.mail.Flags;
 
-import com.google.common.collect.ImmutableMap;
-import com.jayway.jsonpath.JsonPath;
 import org.apache.james.backends.cassandra.EmbeddedCassandra;
 import org.apache.james.jmap.JmapAuthentication;
 import org.apache.james.jmap.JmapServer;
@@ -50,6 +47,8 @@ import org.junit.rules.RuleChain;
 import org.junit.rules.TemporaryFolder;
 
 import com.google.common.base.Charsets;
+import com.google.common.collect.ImmutableMap;
+import com.jayway.jsonpath.JsonPath;
 import com.jayway.restassured.RestAssured;
 import com.jayway.restassured.http.ContentType;
 
@@ -142,7 +141,7 @@ public abstract class GetMailboxesMethod
 
 @Test
 public void getMailboxesShouldReturnEmptyListWhenNoMailboxes() throws 
Exception {
-given()
+String response = given()
 .accept(ContentType.JSON)
 .contentType(ContentType.JSON)
 .header("Authorization", accessToken.serialize())
@@ -151,7 +150,12 @@ public abstract class GetMailboxesMethod
 .post("/jmap")
 .then()
 .statusCode(200)
-
.content(equalTo("[[\"mailboxes\",{\"accountId\":null,\"state\":null,\"list\":[],\"notFound\":null},\"#0\"]]"));
+.content(startsWith("[[\"mailboxes\","))
+.extract()
+.asString();
+
+String firstResponsePath = "$.[0].[1]";
+assertThat(JsonPath.parse(response).read(firstResponsePath + 
".list.length()")).isEqualTo(0);
 }
 
 @Test
@@ -162,7 +166,7 @@ public abstract class GetMailboxesMethod
 jmapServer.serverProbe().appendMessage(user, new 
MailboxPath(MailboxConstants.USER_NAMESPACE, user, "name"), 
 new ByteArrayInputStream("Subject: 
test\r\n\r\ntestmail".getBytes()), new Date(), false, new Flags());
 
-given()
+String response = given()
 .accept(ContentType.JSON)
 .contentType(ContentType.JSON)
 .header("Authorization", accessToken.serialize())
@@ -171,8 +175,25 @@ public abstract class GetMailboxesMethod
 .post("/jmap")
 .then()
 .statusCode(200)
-
.content(startsWith("[[\"mailboxes\",{\"accountId\":null,\"state\":null,\"list\":[{\"id\":\""),
 
-
endsWith("\",\"name\":\"name\",\"parentId\":null,\"role\":null,\"sortOrder\":1000,\"mustBeOnlyMailbox\":false,\"mayReadItems\":false,\"mayAddItems\":false,\"mayRemoveItems\":false,\"mayCreateChild\":false,\"mayRename\":false,\"mayDelete\":false,\"totalMessages\":1,\"unreadMessages\":1,\"totalThreads\":0,\"unreadThreads\":0}],\"notFound\":null},\"#0\"]]"));
+.content(startsWith("[[\"mailboxes\","))
+.extract()
+.asString();
+
+String firstMailboxPath = "$.[0].[1].list.[0]";
+assertThat(JsonPath.parse(response).read(firstMailboxPath + 
".name")).isEqualTo("name");
+assertThat(JsonPath.parse(response).read(firstMailboxPath + 
".parentId")).isNull();
+assertThat(JsonPath.parse(response).read(firstMailboxPath + 
".role")).isNull();
+assertThat(JsonPath.parse(response).read(firstMailboxPath 

svn commit: r1724384 - in /james/project/trunk/server/protocols/jmap/src: main/java/org/apache/james/jmap/ main/java/org/apache/james/jmap/methods/ test/java/org/apache/james/jmap/ test/java/org/apach

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 10:11:53 2016
New Revision: 1724384

URL: http://svn.apache.org/viewvc?rev=1724384=rev
Log:
JAMES-1648 Method can return a response Stream. Contributed by Baechler 


Modified:

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPServlet.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessageListMethod.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriter.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/Method.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/RequestHandler.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/JMAPServletTest.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/RequestHandlerTest.java

Modified: 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPServlet.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPServlet.java?rev=1724384=1724383=1724384=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPServlet.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPServlet.java
 Wed Jan 13 10:11:53 2016
@@ -63,7 +63,7 @@ public class JMAPServlet extends HttpSer
 requestAsJsonStream(req)
 .map(ProtocolRequest::deserialize)
 .map(x -> AuthenticatedProtocolRequest.decorate(x, req))
-.map(requestHandler::handle)
+.flatMap(requestHandler::handle)
 .map(ProtocolResponse::asProtocolSpecification)
 .collect(Collectors.toList());
 

Modified: 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java?rev=1724384=1724383=1724384=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java
 Wed Jan 13 10:11:53 2016
@@ -20,9 +20,11 @@
 package org.apache.james.jmap.methods;
 
 import java.util.Optional;
+import java.util.stream.Stream;
 
 import javax.inject.Inject;
 
+import org.apache.james.jmap.model.ClientId;
 import org.apache.james.jmap.model.GetMailboxesRequest;
 import org.apache.james.jmap.model.GetMailboxesResponse;
 import org.apache.james.jmap.model.mailbox.Mailbox;
@@ -65,35 +67,31 @@ public class GetMailboxesMethod requestType() {
 return GetMailboxesRequest.class;
 }
-
-@Override
-public GetMailboxesResponse process(JmapRequest request, MailboxSession 
mailboxSession) {
+
+public Stream process(JmapRequest request, ClientId 
clientId, MailboxSession mailboxSession) {
 Preconditions.checkArgument(request instanceof GetMailboxesRequest);
+return Stream.of(
+JmapResponse.builder().clientId(clientId)
+.response(getMailboxesResponse(mailboxSession))
+.responseName(RESPONSE_NAME)
+.build());
+}
+
+private GetMailboxesResponse getMailboxesResponse(MailboxSession 
mailboxSession) {
+GetMailboxesResponse.Builder builder = GetMailboxesResponse.builder();
 try {
-return getMailboxesResponse(mailboxSession);
+mailboxManager.list(mailboxSession)
+.stream()
+.map(mailboxPath -> mailboxFromMailboxPath(mailboxPath, 
mailboxSession))
+.forEach(mailbox -> builder.add(mailbox.get()));
+return builder.build();
 } catch (MailboxException e) {
 throw Throwables.propagate(e);

svn commit: r1724387 - in /james/project/trunk/server/container/util-java8/src: main/java/org/apache/james/util/streams/Collectors.java test/java/org/apache/james/util/streams/CollectorsTest.java

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 10:12:16 2016
New Revision: 1724387

URL: http://svn.apache.org/viewvc?rev=1724387=rev
Log:
JAMES-1648 Implement Collectors.toImmutableSet. Contributed by Baechler 


Modified:

james/project/trunk/server/container/util-java8/src/main/java/org/apache/james/util/streams/Collectors.java

james/project/trunk/server/container/util-java8/src/test/java/org/apache/james/util/streams/CollectorsTest.java

Modified: 
james/project/trunk/server/container/util-java8/src/main/java/org/apache/james/util/streams/Collectors.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/util-java8/src/main/java/org/apache/james/util/streams/Collectors.java?rev=1724387=1724386=1724387=diff
==
--- 
james/project/trunk/server/container/util-java8/src/main/java/org/apache/james/util/streams/Collectors.java
 (original)
+++ 
james/project/trunk/server/container/util-java8/src/main/java/org/apache/james/util/streams/Collectors.java
 Wed Jan 13 10:12:16 2016
@@ -21,11 +21,13 @@ package org.apache.james.util.streams;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 import java.util.function.Function;
 import java.util.stream.Collector;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
 
 public class Collectors {
 
@@ -35,7 +37,14 @@ public class Collectors {
 return left;
 }, ImmutableList::copyOf);
 }
-
+
+public static  Collector 
toImmutableSet() {
+return Collector.of(ImmutableSet::builder, ImmutableSet.Builder::add, 
(left, right) -> {
+left.addAll(right.build());
+return left;
+}, ImmutableSet.Builder::build);
+}
+
 public static  Collector, 
ImmutableMap> toImmutableMap(
 Function keyMapper,
 Function valueMapper) {

Modified: 
james/project/trunk/server/container/util-java8/src/test/java/org/apache/james/util/streams/CollectorsTest.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/util-java8/src/test/java/org/apache/james/util/streams/CollectorsTest.java?rev=1724387=1724386=1724387=diff
==
--- 
james/project/trunk/server/container/util-java8/src/test/java/org/apache/james/util/streams/CollectorsTest.java
 (original)
+++ 
james/project/trunk/server/container/util-java8/src/test/java/org/apache/james/util/streams/CollectorsTest.java
 Wed Jan 13 10:12:16 2016
@@ -25,13 +25,16 @@ import static org.assertj.core.data.MapE
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
+import com.google.common.collect.ImmutableSet;
 import org.junit.Test;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 
 public class CollectorsTest {
+
 @Test
 public void 
immutableListCollectorShouldReturnEmptyImmutableListWhenEmptyStream() {
 String[] data = {};
@@ -58,7 +61,35 @@ public class CollectorsTest {
 assertThat(actual).isInstanceOf(ImmutableList.class);
 assertThat(actual).containsExactly("a", "b", "c");
 }
-
+
+@Test
+public void 
immutableSetCollectorShouldReturnEmptyImmutableSetWhenEmptyStream() {
+String[] data = {};
+Set actual = Arrays.stream(data)
+.collect(Collectors.toImmutableSet());
+assertThat(actual).isInstanceOf(ImmutableSet.class);
+assertThat(actual).isEmpty();
+}
+
+@Test
+public void 
immutableSetCollectorShouldReturnImmutableSetWhenOneElementStream() {
+String[] data = {"a"};
+Set actual = Arrays.stream(data)
+.collect(Collectors.toImmutableSet());
+assertThat(actual).isInstanceOf(ImmutableSet.class);
+assertThat(actual).containsExactly("a");
+}
+
+@Test
+public void 
immutableSetCollectorShouldReturnImmutableSetWhen3ElementsStream() {
+String[] data = {"a", "b", "c"};
+Set actual = Arrays.stream(data)
+.collect(Collectors.toImmutableSet());
+assertThat(actual).isInstanceOf(ImmutableSet.class);
+assertThat(actual).containsExactly("a", "b", "c");
+}
+
+
 @Test
 public void 
immutableMapCollectorShouldReturnEmptyImmutableMapWhenEmptyStream() {
 String[] data = {};



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



svn commit: r1724388 - /james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 10:12:22 2016
New Revision: 1724388

URL: http://svn.apache.org/viewvc?rev=1724388=rev
Log:
JAMES-1648 Refactor toFieldNames lambda. Contributed by Baechler 


Modified:

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java

Modified: 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java?rev=1724388=1724387=1724388=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java
 Wed Jan 13 10:12:22 2016
@@ -27,6 +27,7 @@ import javax.inject.Inject;
 
 import org.apache.james.jmap.model.Property;
 import org.apache.james.jmap.model.ProtocolResponse;
+import org.apache.james.util.streams.Collectors;
 
 import com.fasterxml.jackson.databind.Module;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -57,16 +58,6 @@ public class JmapResponseWriterImpl impl
 });
 }
 
-private FilterProvider buildPropertiesFilter(Optional> properties) {
-PropertyFilter filter = properties
-.map(x -> x.stream()
-.map(Property::asFieldName)
-.collect(java.util.stream.Collectors.toSet()))
-.map(SimpleBeanPropertyFilter::filterOutAllExcept)
-.orElse(SimpleBeanPropertyFilter.serializeAll());
-return new SimpleFilterProvider().addFilter("propertiesFilter", 
filter);
-}
-
 private ObjectMapper newConfiguredObjectMapper(JmapResponse jmapResponse) {
 ObjectMapper objectMapper = new 
ObjectMapper().registerModules(jacksonModules)
 .configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, 
false);
@@ -75,4 +66,18 @@ public class JmapResponseWriterImpl impl
 
 return objectMapper;
 }
+
+private FilterProvider buildPropertiesFilter(Optional> properties) {
+PropertyFilter filter = properties
+.map(this::toFieldNames)
+.map(SimpleBeanPropertyFilter::filterOutAllExcept)
+.orElse(SimpleBeanPropertyFilter.serializeAll());
+return new SimpleFilterProvider().addFilter("propertiesFilter", 
filter);
+}
+
+private Set toFieldNames(Set properties) {
+return properties.stream()
+.map(Property::asFieldName)
+.collect(Collectors.toImmutableSet());
+}
 }



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



svn commit: r1724386 - in /james/project/trunk/server/protocols: jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/ jmap/src/main/java/org/apache/james/jmap/methods/ jmap/src/main/j

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 10:12:10 2016
New Revision: 1724386

URL: http://svn.apache.org/viewvc?rev=1724386=rev
Log:
JAMES-1648 Finally implement filters on json output. Contributed by Baechler 


Added:

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperty.java
Modified:

james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMessagesRequest.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Message.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Property.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMessagesRequestTest.java

Modified: 
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java?rev=1724386=1724385=1724386=diff
==
--- 
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap-integration-testing/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
 Wed Jan 13 10:12:10 2016
@@ -204,5 +204,4 @@ public abstract class GetMessagesMethodT
 assertThat(JsonPath.parse(response).>read(firstMessagePath + 
".headers")).containsExactly(MapEntry.entry("subject", "my test subject"));
 assertThat(JsonPath.parse(response).read(firstMessagePath + 
".date")).isEqualTo("2014-10-30T14:12:00Z");
 }
-
 }

Modified: 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java?rev=1724386=1724385=1724386=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java
 Wed Jan 13 10:12:10 2016
@@ -84,6 +84,7 @@ public class GetMessagesMethodhttp://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java?rev=1724386=1724385=1724386=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java
 Wed Jan 13 10:12:10 2016
@@ -23,6 +23,7 @@ import java.util.Optional;
 import java.util.Set;
 
 import org.apache.james.jmap.model.ClientId;
+import org.apache.james.jmap.model.Property;
 
 import com.google.common.annotations.VisibleForTesting;
 
@@ -37,7 +38,7 @@ public class JmapResponse {
 private Method.Response.Name responseName;
 private ClientId id;
 private Method.Response response;
-private Set properties;
+private Optional> properties = 
Optional.empty();
 
 private Builder() {
 }
@@ -57,11 +58,16 @@ public class JmapResponse {
 return this;
 }
 
-public Builder properties(Set properties) {
+public Builder properties(Optional> 
properties) {
 this.properties = properties;
 return this;
 }
 
+public Builder properties(Set properties) {
+this.properties = Optional.ofNullable(properties);
+return this;
+}
+
 public Builder error() {
 return error(DEFAULT_ERROR_MESSAGE);
 }
@@ -74,7 +80,7 @@ public class JmapResponse {
 
 
 public JmapResponse build() {
-return new 

svn commit: r1724382 - in /james/project/trunk/server/protocols/jmap/src: main/java/org/apache/james/jmap/methods/ test/java/org/apache/james/jmap/methods/

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 10:11:33 2016
New Revision: 1724382

URL: http://svn.apache.org/viewvc?rev=1724382=rev
Log:
JAMES-1648 Implement generic JSON properties filtering. Contributed by Ouazana 


Modified:

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java

Modified: 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java?rev=1724382=1724381=1724382=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java
 Wed Jan 13 10:11:33 2016
@@ -19,6 +19,9 @@
 
 package org.apache.james.jmap.methods;
 
+import java.util.Optional;
+import java.util.Set;
+
 import org.apache.james.jmap.model.ClientId;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -34,6 +37,7 @@ public class JmapResponse {
 private Method.Response.Name responseName;
 private ClientId id;
 private Method.Response response;
+private Set properties;
 
 private Builder() {
 }
@@ -53,6 +57,11 @@ public class JmapResponse {
 return this;
 }
 
+public Builder properties(Set properties) {
+this.properties = properties;
+return this;
+}
+
 public Builder error() {
 return error(DEFAULT_ERROR_MESSAGE);
 }
@@ -65,7 +74,7 @@ public class JmapResponse {
 
 
 public JmapResponse build() {
-return new JmapResponse(responseName, id, response);
+return new JmapResponse(responseName, id, response, 
Optional.ofNullable(properties));
 }
 }
 
@@ -89,11 +98,13 @@ public class JmapResponse {
 private final Method.Response.Name method;
 private final ClientId clientId;
 private final Method.Response response;
+private Optional properties;
 
-private JmapResponse(Method.Response.Name method, ClientId clientId, 
Method.Response response) {
+private JmapResponse(Method.Response.Name method, ClientId clientId, 
Method.Response response, Optional properties) {
 this.method = method;
 this.clientId = clientId;
 this.response = response;
+this.properties = properties;
 }
 
 public Method.Response.Name getResponseName() {
@@ -107,4 +118,8 @@ public class JmapResponse {
 public ClientId getClientId() {
 return clientId;
 }
+
+public Optional getProperties() {
+return properties;
+}
 }

Modified: 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java?rev=1724382=1724381=1724382=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java
 Wed Jan 13 10:11:33 2016
@@ -19,15 +19,18 @@
 
 package org.apache.james.jmap.methods;
 
+import java.util.Optional;
 import java.util.Set;
 
 import javax.inject.Inject;
 
-import com.fasterxml.jackson.databind.SerializationFeature;
 import org.apache.james.jmap.model.ProtocolResponse;
 
 import com.fasterxml.jackson.databind.Module;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
+import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
 
 public class JmapResponseWriterImpl implements JmapResponseWriter {
 
@@ -41,9 +44,18 @@ public class JmapResponseWriterImpl impl
 
 @Override
 public ProtocolResponse formatMethodResponse(JmapResponse jmapResponse) {
+buildPropertiesFilter(jmapResponse.getProperties())
+.ifPresent(x -> objectMapper.setFilterProvider(x));
+
 return new ProtocolResponse(
 jmapResponse.getResponseName(), 
 objectMapper.valueToTree(jmapResponse.getResponse()), 
 jmapResponse.getClientId());
 }
+
+private Optional 

svn commit: r1724383 - in /james/project/trunk/server/protocols/jmap/src: main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java test/java/org/apache/james/jmap/methods/JmapResponseWriter

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 10:11:40 2016
New Revision: 1724383

URL: http://svn.apache.org/viewvc?rev=1724383=rev
Log:
JAMES-1648 Instanciate Object Mapper at each request to avoid side-effects. 
Contributed by Ouazana 

Modified:

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java

Modified: 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java?rev=1724383=1724382=1724383=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java
 Wed Jan 13 10:11:40 2016
@@ -29,23 +29,23 @@ import org.apache.james.jmap.model.Proto
 import com.fasterxml.jackson.databind.Module;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.databind.ser.FilterProvider;
+import com.fasterxml.jackson.databind.ser.PropertyFilter;
 import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
 import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
 
 public class JmapResponseWriterImpl implements JmapResponseWriter {
 
-private final ObjectMapper objectMapper;
+private final Set jacksonModules;
 
 @Inject
 public JmapResponseWriterImpl(Set jacksonModules) {
-this.objectMapper = new ObjectMapper().registerModules(jacksonModules)
-.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
+this.jacksonModules = jacksonModules;
 }
 
 @Override
 public ProtocolResponse formatMethodResponse(JmapResponse jmapResponse) {
-buildPropertiesFilter(jmapResponse.getProperties())
-.ifPresent(x -> objectMapper.setFilterProvider(x));
+ObjectMapper objectMapper = newConfiguredObjectMapper(jmapResponse);
 
 return new ProtocolResponse(
 jmapResponse.getResponseName(), 
@@ -53,9 +53,19 @@ public class JmapResponseWriterImpl impl
 jmapResponse.getClientId());
 }
 
-private Optional 
buildPropertiesFilter(Optional properties) {
-return properties
-.map(x -> SimpleBeanPropertyFilter.filterOutAllExcept(x))
-.map(x -> new 
SimpleFilterProvider().addFilter("propertiesFilter", x));
+private FilterProvider buildPropertiesFilter(Optional 
properties) {
+PropertyFilter filter = properties
+.map(SimpleBeanPropertyFilter::filterOutAllExcept)
+.orElse(SimpleBeanPropertyFilter.serializeAll());
+return new SimpleFilterProvider().addFilter("propertiesFilter", 
filter);
+}
+
+private ObjectMapper newConfiguredObjectMapper(JmapResponse jmapResponse) {
+ObjectMapper objectMapper = new 
ObjectMapper().registerModules(jacksonModules)
+.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, 
false);
+
+
objectMapper.setFilterProvider(buildPropertiesFilter(jmapResponse.getProperties()));
+
+return objectMapper;
 }
 }

Modified: 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java?rev=1724383=1724382=1724383=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java
 Wed Jan 13 10:11:40 2016
@@ -107,6 +107,35 @@ public class JmapResponseWriterImplTest
 assertThat(firstObject.get("name")).isNull();
 }
 
+
+@Test
+public void 
formatMethodResponseShouldNotFilterFieldsWhenSecondCallWithoutProperties() {
+ObjectResponseClass responseClass = new ObjectResponseClass();
+responseClass.list = ImmutableList.of(new 
ObjectResponseClass.Foo("id", "name"));
+
+JmapResponseWriterImpl jmapResponseWriterImpl = new 
JmapResponseWriterImpl(ImmutableSet.of(new Jdk8Module()));
+jmapResponseWriterImpl.formatMethodResponse(
+JmapResponse
+.builder()
+

svn commit: r1724389 - in /james/project/trunk/server/protocols/jmap/src: main/java/org/apache/james/jmap/methods/GetMessagesMethod.java test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.j

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 10:12:28 2016
New Revision: 1724389

URL: http://svn.apache.org/viewvc?rev=1724389=rev
Log:
JAMES-1648 Handle id case. Contributed by Ouazana 

Modified:

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java

Modified: 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java?rev=1724389=1724388=1724389=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java
 Wed Jan 13 10:12:28 2016
@@ -21,6 +21,7 @@ package org.apache.james.jmap.methods;
 
 import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -34,6 +35,7 @@ import org.apache.james.jmap.model.GetMe
 import org.apache.james.jmap.model.GetMessagesResponse;
 import org.apache.james.jmap.model.Message;
 import org.apache.james.jmap.model.MessageId;
+import org.apache.james.jmap.model.MessageProperty;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MessageRange;
@@ -48,6 +50,8 @@ import org.javatuples.Pair;
 import com.github.fge.lambdas.Throwing;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Sets;
 
 public class GetMessagesMethod implements Method {
 
@@ -84,10 +88,22 @@ public class GetMessagesMethod handleSpecificProperties(Set 
input) {
+return ensureContainsId(input);
+}
+
+private Set ensureContainsId(Set input) {
+if (!input.contains(MessageProperty.id)) {
+return Sets.union(input, ImmutableSet.of(MessageProperty.id))
+.immutableCopy();
+}
+return input;
+}
+
 private GetMessagesResponse getMessagesResponse(MailboxSession 
mailboxSession, GetMessagesRequest getMessagesRequest) {
 
getMessagesRequest.getAccountId().ifPresent(GetMessagesMethod::notImplemented);
 

Modified: 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java?rev=1724389=1724388=1724389=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
 Wed Jan 13 10:12:28 2016
@@ -26,6 +26,7 @@ import java.io.ByteArrayInputStream;
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 import org.apache.commons.lang.NotImplementedException;
@@ -185,13 +186,10 @@ public class GetMessagesMethodTest {
 List result = testee.process(request, clientId, 
session).collect(Collectors.toList());
 
 assertThat(result).hasSize(1)
-.extracting(JmapResponse::getResponse)
-.hasOnlyElementsOfType(GetMessagesResponse.class)
-.extracting(GetMessagesResponse.class::cast)
-.flatExtracting(GetMessagesResponse::list)
-.extracting(message -> message.getId().getUid(), 
Message::getSubject)
-.containsOnly(
-Tuple.tuple(message1Uid, "message 1 subject"));
+.extracting(JmapResponse::getProperties)
+.flatExtracting(Optional::get)
+.asList()
+.containsOnly(MessageProperty.id);
 }
 
 @Test
@@ -210,37 +208,9 @@ public class GetMessagesMethodTest {
 List result = testee.process(request, clientId, 
session).collect(Collectors.toList());
 
 assertThat(result).hasSize(1)
-.extracting(JmapResponse::getResponse)
-.hasOnlyElementsOfType(GetMessagesResponse.class)
-.extracting(GetMessagesResponse.class::cast)
-.flatExtracting(GetMessagesResponse::list)
-.extracting(message -> message.getId().getUid(), 
Message::getSubject)
-.containsOnly(
-Tuple.tuple(message1Uid, 

svn commit: r1724381 - in /james/project/trunk/server/protocols/jmap/src: main/java/org/apache/james/jmap/methods/JmapResponse.java test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.j

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 10:11:27 2016
New Revision: 1724381

URL: http://svn.apache.org/viewvc?rev=1724381=rev
Log:
JAMES-1648 Stronger typing for Response in JmapResponse. Contributed by Ouazana 


Modified:

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java

Modified: 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java?rev=1724381=1724380=1724381=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponse.java
 Wed Jan 13 10:11:27 2016
@@ -33,7 +33,7 @@ public class JmapResponse {
 
 private Method.Response.Name responseName;
 private ClientId id;
-private Object response;
+private Method.Response response;
 
 private Builder() {
 }
@@ -48,7 +48,7 @@ public class JmapResponse {
 return this;
 }
 
-public Builder response(Object response) {
+public Builder response(Method.Response response) {
 this.response = response;
 return this;
 }
@@ -69,7 +69,7 @@ public class JmapResponse {
 }
 }
 
-public static class ErrorResponse {
+public static class ErrorResponse implements Method.Response {
 
 private final String type;
 
@@ -88,9 +88,9 @@ public class JmapResponse {
 
 private final Method.Response.Name method;
 private final ClientId clientId;
-private final Object response;
+private final Method.Response response;
 
-private JmapResponse(Method.Response.Name method, ClientId clientId, 
Object response) {
+private JmapResponse(Method.Response.Name method, ClientId clientId, 
Method.Response response) {
 this.method = method;
 this.clientId = clientId;
 this.response = response;

Modified: 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java?rev=1724381=1724380=1724381=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/JmapResponseWriterImplTest.java
 Wed Jan 13 10:11:27 2016
@@ -89,7 +89,7 @@ public class JmapResponseWriterImplTest
 
assertThat(response.getClientId()).isEqualTo(ClientId.of(expectedClientId));
 }
 
-private static class ResponseClass {
+private static class ResponseClass implements Method.Response {
 
 @SuppressWarnings("unused")
 public String id;



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



[jira] [Commented] (JAMES-1640) Cant recive emails

2016-01-13 Thread Matthieu Baechler (JIRA)

[ 
https://issues.apache.org/jira/browse/JAMES-1640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15095814#comment-15095814
 ] 

Matthieu Baechler commented on JAMES-1640:
--

Hi,

You are using an old mailbox-store 
{code}./lib/apache-james-mailbox-store-0.6-20150508.041003-704.jar{code} with a 
not so old mime4j 
{code}./lib/apache-mime4j-core-0.8.0-20150617.024907-738.jar{code}

How did you build your james server ?

> Cant recive emails
> --
>
> Key: JAMES-1640
> URL: https://issues.apache.org/jira/browse/JAMES-1640
> Project: James Server
>  Issue Type: Bug
>  Components: MailStore & MailRepository
>Affects Versions: 3.0.0-beta5
> Environment: Debian 8, Java 1.8.0_65
>Reporter: Lukas A
>
> When send a message from an other emailaccount like gmail. I'll get the 
> following error:
> ERROR 22:46:13,893 | james.mailspooler | Exception processing mail while 
> spooling Unable to process mail 
> Mail1447537572407-c475eae9-9a54-484e-9567-1845df6ea235 
> (org.apache.camel.CamelExecutionException: Exception occurred during 
> execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba])
> javax.mail.MessagingException: Unable to process mail 
> Mail1447537572407-c475eae9-9a54-484e-9567-1845df6ea235 
> (org.apache.camel.CamelExecutionException: Exception occurred during 
> execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba])
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:65)
>   at 
> org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:98)
>   at 
> org.apache.james.mailetcontainer.impl.JamesMailSpooler$1.run(JamesMailSpooler.java:166)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>   at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.camel.CamelExecutionException: Exception occurred 
> during execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba]
>   at 
> org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1287)
>   at 
> org.apache.camel.util.ExchangeHelper.extractResultBody(ExchangeHelper.java:618)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:454)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:450)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:126)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:131)
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:62)
>   ... 5 more
> Caused by: javax.mail.MessagingException: Unable to process mail 
> Mail1447537572407-c475eae9-9a54-484e-9567-1845df6ea235 
> (org.apache.camel.CamelExecutionException: Exception occurred during 
> execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba])
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:65)
>   at 
> org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:98)
>   at 
> org.apache.james.mailetcontainer.impl.JamesMailetContext.sendMail(JamesMailetContext.java:409)
>   at 
> org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.toProcessor(AbstractStateMailetProcessor.java:160)
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.access$1000(CamelMailetProcessor.java:48)
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor$MailetContainerRouteBuilder$StateChangedProcessor.process(CamelMailetProcessor.java:207)
>   at 
> org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
>   at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>   at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>   at 
> 

[GitHub] james-project pull request: James 1653 Solving Java 6 compilation

2016-01-13 Thread rouazana
Github user rouazana commented on the pull request:

https://github.com/apache/james-project/pull/28#issuecomment-171224873
  
test this please


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



svn commit: r1724377 - in /james/project/trunk: dockerfiles/run/guice/destination/conf/ server/ server/container/cassandra-guice/sample-configuration/ server/container/cassandra-guice/src/main/java/or

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 09:38:41 2016
New Revision: 1724377

URL: http://svn.apache.org/viewvc?rev=1724377=rev
Log:
JAMES-1654 Add JWT PublicKey in JMAP configuration. Contributed by Duprat 


Added:
james/project/trunk/dockerfiles/run/guice/destination/conf/jwt_publickey

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/JMAPConfigurationTest.java
Modified:
james/project/trunk/dockerfiles/run/guice/destination/conf/jmap.properties

james/project/trunk/server/container/cassandra-guice/sample-configuration/jmap.properties

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/jmap/JMAPModule.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/modules/TestJMAPServerModule.java
james/project/trunk/server/container/jetty/pom.xml
james/project/trunk/server/pom.xml
james/project/trunk/server/protocols/jmap/pom.xml

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPConfiguration.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/JamesSignatureHandlerProvider.java

Modified: 
james/project/trunk/dockerfiles/run/guice/destination/conf/jmap.properties
URL: 
http://svn.apache.org/viewvc/james/project/trunk/dockerfiles/run/guice/destination/conf/jmap.properties?rev=1724377=1724376=1724377=diff
==
--- james/project/trunk/dockerfiles/run/guice/destination/conf/jmap.properties 
(original)
+++ james/project/trunk/dockerfiles/run/guice/destination/conf/jmap.properties 
Wed Jan 13 09:38:41 2016
@@ -1,4 +1,11 @@
 # Configuration file for JMAP
 
 tls.keystoreURL=file://conf/keystore
-tls.secret=james72laBalle
\ No newline at end of file
+tls.secret=james72laBalle
+
+#
+# If you wish to use OAuth authentication, you should provide a valid JWT 
public key.
+# The following entry specify the link to the URL of the public key file,
+# which should be a PEM format file.
+#
+jwt.publickeypem.url=file://conf/jwt_publickey

Added: james/project/trunk/dockerfiles/run/guice/destination/conf/jwt_publickey
URL: 
http://svn.apache.org/viewvc/james/project/trunk/dockerfiles/run/guice/destination/conf/jwt_publickey?rev=1724377=auto
==
--- james/project/trunk/dockerfiles/run/guice/destination/conf/jwt_publickey 
(added)
+++ james/project/trunk/dockerfiles/run/guice/destination/conf/jwt_publickey 
Wed Jan 13 09:38:41 2016
@@ -0,0 +1,9 @@
+-BEGIN PUBLIC KEY-
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtlChO/nlVP27MpdkG0Bh
+16XrMRf6M4NeyGa7j5+1UKm42IKUf3lM28oe82MqIIRyvskPc11NuzSor8HmvH8H
+lhDs5DyJtx2qp35AT0zCqfwlaDnlDc/QDlZv1CoRZGpQk1Inyh6SbZwYpxxwh0fi
++d/4RpE3LBVo8wgOaXPylOlHxsDizfkL8QwXItyakBfMO6jWQRrj7/9WDhGf4Hi+
+GQur1tPGZDl9mvCoRHjFrD5M/yypIPlfMGWFVEvV5jClNMLAQ9bYFuOc7H1fEWw6
+U1LZUUbJW9/CH45YXz82CYqkrfbnQxqRb2iVbVjs/sHopHd1NTiCfUtwvcYJiBVj
+kwIDAQAB
+-END PUBLIC KEY-

Modified: 
james/project/trunk/server/container/cassandra-guice/sample-configuration/jmap.properties
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/sample-configuration/jmap.properties?rev=1724377=1724376=1724377=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/sample-configuration/jmap.properties
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/sample-configuration/jmap.properties
 Wed Jan 13 09:38:41 2016
@@ -1,4 +1,11 @@
 # Configuration file for JMAP
 
 tls.keystoreURL=file://conf/keystore
-tls.secret=james72laBalle
\ No newline at end of file
+tls.secret=james72laBalle
+
+#
+# If you wish to use OAuth authentication, you should provide a valid JWT 
public key.
+# The following entry specify the link to the URL of the public key file,
+# which should be a PEM format file.
+#
+jwt.publickeypem.url=
\ No newline at end of file

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/jmap/JMAPModule.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/jmap/JMAPModule.java?rev=1724377=1724376=1724377=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/jmap/JMAPModule.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/jmap/JMAPModule.java
 Wed Jan 13 09:38:41 2016
@@ -19,12 +19,16 @@
 package org.apache.james.jmap;
 
 import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Optional;
 
 import org.apache.commons.configuration.ConfigurationException;
 import 

svn commit: r1724390 - in /james/project/trunk/server/protocols/jmap/src: main/java/org/apache/james/jmap/methods/GetMessagesMethod.java test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.j

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 10:12:34 2016
New Revision: 1724390

URL: http://svn.apache.org/viewvc?rev=1724390=rev
Log:
JAMES-1648 Handle body property - ignore html case for now. Contributed by 
Ouazana 

Modified:

james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java

james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java

Modified: 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java?rev=1724390=1724389=1724390=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java
 Wed Jan 13 10:12:34 2016
@@ -19,6 +19,7 @@
 
 package org.apache.james.jmap.methods;
 
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
@@ -50,7 +51,6 @@ import org.javatuples.Pair;
 import com.github.fge.lambdas.Throwing;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Sets;
 
 public class GetMessagesMethod implements Method {
@@ -93,15 +93,24 @@ public class GetMessagesMethod handleSpecificProperties(Set 
input) {
-return ensureContainsId(input);
+Set toAdd = new HashSet();
+Set toRemove = new HashSet();
+ensureContainsId(input, toAdd);
+handleBody(input, toAdd, toRemove);
+return Sets.union(Sets.difference(input, toRemove), 
toAdd).immutableCopy();
 }
-
-private Set ensureContainsId(Set input) {
+
+private void ensureContainsId(Set input, 
Set toAdd) {
 if (!input.contains(MessageProperty.id)) {
-return Sets.union(input, ImmutableSet.of(MessageProperty.id))
-.immutableCopy();
+toAdd.add(MessageProperty.id);
+}
+}
+
+private void handleBody(Set input, Set 
toAdd, Set toRemove) {
+if (input.contains(MessageProperty.body)) {
+toAdd.add(MessageProperty.textBody);
+toRemove.add(MessageProperty.body);
 }
-return input;
 }
 
 private GetMessagesResponse getMessagesResponse(MailboxSession 
mailboxSession, GetMessagesRequest getMessagesRequest) {

Modified: 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java?rev=1724390=1724389=1724390=diff
==
--- 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
 Wed Jan 13 10:12:34 2016
@@ -213,4 +213,26 @@ public class GetMessagesMethodTest {
 .asList()
 .containsOnly(MessageProperty.id, MessageProperty.subject);
 }
+
+@Test
+public void 
processShouldReturnTextBodyWhenBodyInPropertyListAndEmptyHtmlBody() throws 
MailboxException {
+MessageManager inbox = mailboxManager.getMailbox(inboxPath, session);
+Date now = new Date();
+ByteArrayInputStream message1Content = new 
ByteArrayInputStream("Subject: message 1 subject\r\n\r\nmy 
message".getBytes(Charsets.UTF_8));
+long message1Uid = inbox.appendMessage(message1Content, now, session, 
false, null);
+
+GetMessagesRequest request = GetMessagesRequest.builder()
+.ids(new MessageId(ROBERT, inboxPath, message1Uid))
+.properties(MessageProperty.body)
+.build();
+
+GetMessagesMethod testee = new 
GetMessagesMethod<>(mailboxSessionMapperFactory, mailboxSessionMapperFactory);
+List result = testee.process(request, clientId, 
session).collect(Collectors.toList());
+
+assertThat(result).hasSize(1)
+.extracting(JmapResponse::getProperties)
+.flatExtracting(Optional::get)
+.asList()
+.containsOnly(MessageProperty.id, MessageProperty.textBody);
+}
 }



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



svn commit: r1724424 - in /james/project/trunk: mailet/base/src/test/java/org/apache/mailet/base/test/ mailet/crypto/src/main/java/org/apache/james/transport/ mailet/crypto/src/main/java/org/apache/ja

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 13:55:29 2016
New Revision: 1724424

URL: http://svn.apache.org/viewvc?rev=1724424=rev
Log:
Explicitly silent deprecation warnings. Contributed by Ouazana 


Modified:

james/project/trunk/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailContext.java

james/project/trunk/mailet/crypto/src/main/java/org/apache/james/transport/KeyStoreHolder.java

james/project/trunk/mailet/crypto/src/main/java/org/apache/james/transport/SMIMEKeyHolder.java

james/project/trunk/mailet/crypto/src/main/java/org/apache/james/transport/mailet/SMIMEDecrypt.java

james/project/trunk/mailet/standard/src/test/java/org/apache/james/transport/matchers/HostIsLocalTest.java

james/project/trunk/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java

james/project/trunk/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailetcontainer/AbstractLoaderBeanFactory.java

james/project/trunk/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java

james/project/trunk/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/protocols/ProtocolHandlerLoaderBeanFactory.java

james/project/trunk/server/data/data-file/src/test/java/org/apache/james/user/file/UsersFileRepositoryTest.java

james/project/trunk/server/data/data-hbase/src/main/java/org/apache/james/system/hbase/TablePool.java

james/project/trunk/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java

james/project/trunk/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTableTest.java

james/project/trunk/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCStepdefs.java

james/project/trunk/server/data/data-jdbc/src/test/java/org/apache/james/user/jdbc/DefaultUsersJdbcRepositoryTest.java

james/project/trunk/server/data/data-jdbc/src/test/java/org/apache/james/user/jdbc/JamesUsersJdbcRepositoryTest.java

james/project/trunk/server/data/data-library/src/main/java/org/apache/james/user/lib/UsersRepositoryManagement.java

james/project/trunk/server/data/data-library/src/test/java/org/apache/james/user/lib/mock/InMemoryUsersRepository.java

james/project/trunk/server/dns-service/dnsservice-library/src/main/java/org/apache/james/dnsservice/library/MXHostAddressIterator.java

james/project/trunk/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMailetContext.java

james/project/trunk/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java

james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRedirect.java

james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java

james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/WhiteListManager.java

james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/AbstractSQLWhitelistMatcher.java

james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/SenderInFakeDomain.java

james/project/trunk/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java

james/project/trunk/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyImapSession.java

james/project/trunk/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveChannelUpstreamHandler.java

james/project/trunk/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java

james/project/trunk/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/mailet/MockMailContext.java

Modified: 
james/project/trunk/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailContext.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailContext.java?rev=1724424=1724423=1724424=diff
==
--- 
james/project/trunk/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailContext.java
 (original)
+++ 
james/project/trunk/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailContext.java
 Wed Jan 13 13:55:29 2016
@@ -36,6 +36,7 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 
+@SuppressWarnings("deprecation")
 public class FakeMailContext implements MailetContext {
 
 public static class SentMail {

Modified: 

[GitHub] james-project pull request: James 1653 Solving Java 6 compilation

2016-01-13 Thread aduprat
Github user aduprat commented on the pull request:

https://github.com/apache/james-project/pull/28#issuecomment-171272620
  
ok to test


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[GitHub] james-project pull request: James 1653 Solving Java 6 compilation

2016-01-13 Thread aduprat
Github user aduprat commented on the pull request:

https://github.com/apache/james-project/pull/28#issuecomment-171295305
  
:+1: 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



svn commit: r1724425 - /james/project/trunk/server/container/util-java8/src/main/java/org/apache/james/util/streams/Collectors.java

2016-01-13 Thread aduprat
Author: aduprat
Date: Wed Jan 13 13:55:35 2016
New Revision: 1724425

URL: http://svn.apache.org/viewvc?rev=1724425=rev
Log:
Fix unused warning. Contributed by Ouazana 

Modified:

james/project/trunk/server/container/util-java8/src/main/java/org/apache/james/util/streams/Collectors.java

Modified: 
james/project/trunk/server/container/util-java8/src/main/java/org/apache/james/util/streams/Collectors.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/util-java8/src/main/java/org/apache/james/util/streams/Collectors.java?rev=1724425=1724424=1724425=diff
==
--- 
james/project/trunk/server/container/util-java8/src/main/java/org/apache/james/util/streams/Collectors.java
 (original)
+++ 
james/project/trunk/server/container/util-java8/src/main/java/org/apache/james/util/streams/Collectors.java
 Wed Jan 13 13:55:35 2016
@@ -21,7 +21,6 @@ package org.apache.james.util.streams;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
 import java.util.function.Function;
 import java.util.stream.Collector;
 



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



[jira] [Commented] (JAMES-1640) Cant recive emails

2016-01-13 Thread Gaurav Talwar (JIRA)

[ 
https://issues.apache.org/jira/browse/JAMES-1640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15097395#comment-15097395
 ] 

Gaurav Talwar commented on JAMES-1640:
--

Couldn't find a new mailbox-store jar, so tried with an older version of mime4j 
jar, but it doesn't work with that either. Tried to use v2.3.2 and it works 
fine. 

I think the zip should have the working/compatible copies of the mentioned 
jars, isn't it? Can you specify/update the versions that should be used? 

> Cant recive emails
> --
>
> Key: JAMES-1640
> URL: https://issues.apache.org/jira/browse/JAMES-1640
> Project: James Server
>  Issue Type: Bug
>  Components: MailStore & MailRepository
>Affects Versions: 3.0.0-beta5
> Environment: Debian 8, Java 1.8.0_65
>Reporter: Lukas A
>
> When send a message from an other emailaccount like gmail. I'll get the 
> following error:
> ERROR 22:46:13,893 | james.mailspooler | Exception processing mail while 
> spooling Unable to process mail 
> Mail1447537572407-c475eae9-9a54-484e-9567-1845df6ea235 
> (org.apache.camel.CamelExecutionException: Exception occurred during 
> execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba])
> javax.mail.MessagingException: Unable to process mail 
> Mail1447537572407-c475eae9-9a54-484e-9567-1845df6ea235 
> (org.apache.camel.CamelExecutionException: Exception occurred during 
> execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba])
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:65)
>   at 
> org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:98)
>   at 
> org.apache.james.mailetcontainer.impl.JamesMailSpooler$1.run(JamesMailSpooler.java:166)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>   at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.camel.CamelExecutionException: Exception occurred 
> during execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba]
>   at 
> org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1287)
>   at 
> org.apache.camel.util.ExchangeHelper.extractResultBody(ExchangeHelper.java:618)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:454)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:450)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:126)
>   at 
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:131)
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:62)
>   ... 5 more
> Caused by: javax.mail.MessagingException: Unable to process mail 
> Mail1447537572407-c475eae9-9a54-484e-9567-1845df6ea235 
> (org.apache.camel.CamelExecutionException: Exception occurred during 
> execution on the exchange: Exchange[Message: 
> org.apache.james.core.MailImpl@7c4938ba])
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:65)
>   at 
> org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:98)
>   at 
> org.apache.james.mailetcontainer.impl.JamesMailetContext.sendMail(JamesMailetContext.java:409)
>   at 
> org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.toProcessor(AbstractStateMailetProcessor.java:160)
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.access$1000(CamelMailetProcessor.java:48)
>   at 
> org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor$MailetContainerRouteBuilder$StateChangedProcessor.process(CamelMailetProcessor.java:207)
>   at 
> org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
>   at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>   at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
>   at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
>   at