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 rc...@apache.org on 2019/12/06 09:06:25 UTC
[james-project] branch master updated (86ca492 -> e9e97e0)
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git.
from 86ca492 JAMES-2991 Add tests for hasAttachment compute property
new 2397b99 [refactoring] clean up array copy
new e9e97e0 JAMES-3000 bump scala version to 2.13.1
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../eventstore/memory/InMemoryEventStore.scala | 6 +++---
.../src/main/scala/org/apache/james/event/json/DTOs.scala | 2 +-
.../org/apache/james/event/json/EventSerializer.scala | 14 +++++++-------
pom.xml | 4 ++--
.../netty/AbstractSSLAwareChannelPipelineFactory.java | 11 +++--------
.../CassandraTaskExecutionDetailsProjection.scala | 2 +-
.../task/eventsourcing/EventSourcingTaskManager.scala | 2 +-
.../task/eventsourcing/ScalaEventSourcingSystem.scala | 2 +-
.../apache/james/task/eventsourcing/TaskAggregate.scala | 3 ++-
.../eventsourcing/TaskExecutionDetailsProjection.scala | 2 +-
.../TaskExecutionDetailsProjectionContract.java | 8 ++++----
11 files changed, 26 insertions(+), 30 deletions(-)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[james-project] 01/02: [refactoring] clean up array copy
Posted by rc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 2397b99a0f71aecce23ee557a76e41e1b78718c5
Author: Rémi KOWALSKI <rk...@linagora.com>
AuthorDate: Thu Dec 5 15:54:02 2019 +0100
[refactoring] clean up array copy
---
.../netty/AbstractSSLAwareChannelPipelineFactory.java | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
index 5dee691..4631f28 100644
--- a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
+++ b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
@@ -21,6 +21,7 @@ package org.apache.james.protocols.netty;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLEngine;
+import org.apache.commons.lang3.ArrayUtils;
import org.jboss.netty.channel.ChannelPipeline;
import org.jboss.netty.channel.group.ChannelGroup;
import org.jboss.netty.handler.execution.ExecutionHandler;
@@ -46,17 +47,11 @@ public abstract class AbstractSSLAwareChannelPipelineFactory extends AbstractCha
ChannelHandlerFactory frameHandlerFactory, HashedWheelTimer hashedWheelTimer) {
this(timeout, maxConnections, maxConnectsPerIp, group, eHandler, frameHandlerFactory, hashedWheelTimer);
- // We need to copy the String array becuase of possible security issues.
+ // We need to copy the String array because of possible security issues.
// See https://issues.apache.org/jira/browse/PROTOCOLS-18
- if (enabledCipherSuites != null) {
- this.enabledCipherSuites = new String[enabledCipherSuites.length];
- for (int i = 0; i < enabledCipherSuites.length; i++) {
- this.enabledCipherSuites[i] = new String(enabledCipherSuites[i]);
- }
- }
+ this.enabledCipherSuites = ArrayUtils.clone(enabledCipherSuites);
}
-
@Override
public ChannelPipeline getPipeline() throws Exception {
ChannelPipeline pipeline = super.getPipeline();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[james-project] 02/02: JAMES-3000 bump scala version to 2.13.1
Posted by rc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit e9e97e07dafdcd4c7bbbb6972999766bcfb33fd1
Author: Rémi KOWALSKI <rk...@linagora.com>
AuthorDate: Thu Dec 5 12:01:33 2019 +0100
JAMES-3000 bump scala version to 2.13.1
---
.../eventstore/memory/InMemoryEventStore.scala | 6 +++---
.../src/main/scala/org/apache/james/event/json/DTOs.scala | 2 +-
.../org/apache/james/event/json/EventSerializer.scala | 14 +++++++-------
pom.xml | 4 ++--
.../CassandraTaskExecutionDetailsProjection.scala | 2 +-
.../task/eventsourcing/EventSourcingTaskManager.scala | 2 +-
.../task/eventsourcing/ScalaEventSourcingSystem.scala | 2 +-
.../apache/james/task/eventsourcing/TaskAggregate.scala | 3 ++-
.../eventsourcing/TaskExecutionDetailsProjection.scala | 2 +-
.../TaskExecutionDetailsProjectionContract.java | 8 ++++----
10 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/event-sourcing/event-store-memory/src/main/scala/org/apache/james/eventsourcing/eventstore/memory/InMemoryEventStore.scala b/event-sourcing/event-store-memory/src/main/scala/org/apache/james/eventsourcing/eventstore/memory/InMemoryEventStore.scala
index d7bf451..155d90b 100644
--- a/event-sourcing/event-store-memory/src/main/scala/org/apache/james/eventsourcing/eventstore/memory/InMemoryEventStore.scala
+++ b/event-sourcing/event-store-memory/src/main/scala/org/apache/james/eventsourcing/eventstore/memory/InMemoryEventStore.scala
@@ -25,12 +25,12 @@ import com.google.common.base.Preconditions
import org.apache.james.eventsourcing.eventstore.{EventStore, History}
import org.apache.james.eventsourcing.{AggregateId, Event}
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters._
class InMemoryEventStore() extends EventStore {
private val storeRef: AtomicReference[Map[AggregateId, History]] = new AtomicReference(Map().withDefault(_ => History.empty()))
- override def appendAll(events: util.List[Event]): Unit = if (!events.isEmpty) appendAll(events.asScala)
+ override def appendAll(events: util.List[Event]): Unit = if (!events.isEmpty) appendAll(events.asScala.toSeq)
override def getEventsOfAggregate(aggregateId: AggregateId): History = {
Preconditions.checkNotNull(aggregateId)
@@ -40,7 +40,7 @@ class InMemoryEventStore() extends EventStore {
def appendAll(events: Seq[Event]): Unit = {
val aggregateId: AggregateId = getAggregateId(events)
storeRef.updateAndGet(store => {
- val updatedHistory = History.of((store(aggregateId).getEvents.asScala ++ events).asJava)
+ val updatedHistory = History.of((store(aggregateId).getEvents.asScala.toSeq ++ events).asJava)
store.updated(aggregateId, updatedHistory)
})
}
diff --git a/mailbox/event/json/src/main/scala/org/apache/james/event/json/DTOs.scala b/mailbox/event/json/src/main/scala/org/apache/james/event/json/DTOs.scala
index f18690a..97318f8 100644
--- a/mailbox/event/json/src/main/scala/org/apache/james/event/json/DTOs.scala
+++ b/mailbox/event/json/src/main/scala/org/apache/james/event/json/DTOs.scala
@@ -31,7 +31,7 @@ import org.apache.james.mailbox.acl.{ACLDiff => JavaACLDiff}
import org.apache.james.mailbox.model.{MailboxACL, MessageId, MailboxPath => JavaMailboxPath, MessageMetaData => JavaMessageMetaData, Quota => JavaQuota, UpdatedFlags => JavaUpdatedFlags}
import org.apache.james.mailbox.{FlagsBuilder, MessageUid, ModSeq}
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters._
object DTOs {
diff --git a/mailbox/event/json/src/main/scala/org/apache/james/event/json/EventSerializer.scala b/mailbox/event/json/src/main/scala/org/apache/james/event/json/EventSerializer.scala
index e2001dc..062b6c3 100644
--- a/mailbox/event/json/src/main/scala/org/apache/james/event/json/EventSerializer.scala
+++ b/mailbox/event/json/src/main/scala/org/apache/james/event/json/EventSerializer.scala
@@ -37,7 +37,7 @@ import org.apache.james.mailbox.quota.QuotaRootDeserializer
import org.apache.james.mailbox.{MessageUid, ModSeq}
import play.api.libs.json._
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters._
private sealed trait Event {
def toJava: JavaEvent
@@ -162,7 +162,7 @@ private object ScalaConverter {
user = event.getUsername,
path = MailboxPath.fromJava(event.getMailboxPath),
mailboxId = event.getMailboxId,
- added = event.getAdded.asScala.mapValues(DTOs.MessageMetaData.fromJava).toMap)
+ added = event.getAdded.asScala.view.mapValues(DTOs.MessageMetaData.fromJava).toMap)
private def toScala(event: JavaExpunged): DTO.Expunged = DTO.Expunged(
eventId = event.getEventId,
@@ -170,14 +170,14 @@ private object ScalaConverter {
user = event.getUsername,
path = MailboxPath.fromJava(event.getMailboxPath),
mailboxId = event.getMailboxId,
- expunged = event.getExpunged.asScala.mapValues(DTOs.MessageMetaData.fromJava).toMap)
+ expunged = event.getExpunged.asScala.view.mapValues(DTOs.MessageMetaData.fromJava).toMap)
private def toScala(event: JavaMessageMoveEvent): DTO.MessageMoveEvent = DTO.MessageMoveEvent(
eventId = event.getEventId,
user = event.getUsername,
- previousMailboxIds = event.getMessageMoves.getPreviousMailboxIds.asScala,
- targetMailboxIds = event.getMessageMoves.getTargetMailboxIds.asScala,
- messageIds = event.getMessageIds.asScala)
+ previousMailboxIds = event.getMessageMoves.getPreviousMailboxIds.asScala.toSet,
+ targetMailboxIds = event.getMessageMoves.getTargetMailboxIds.asScala.toSet,
+ messageIds = event.getMessageIds.asScala.toSet)
private def toScala(event: JavaFlagsUpdated): DTO.FlagsUpdated = DTO.FlagsUpdated(
eventId = event.getEventId,
@@ -185,7 +185,7 @@ private object ScalaConverter {
user = event.getUsername,
path = DTOs.MailboxPath.fromJava(event.getMailboxPath),
mailboxId = event.getMailboxId,
- updatedFlags = event.getUpdatedFlags.asScala.map(DTOs.UpdatedFlags.toUpdatedFlags).toList)
+ updatedFlags = event.getUpdatedFlags.asScala.toList.map(DTOs.UpdatedFlags.toUpdatedFlags))
def toScala(javaEvent: JavaEvent): Event = javaEvent match {
case e: JavaAdded => toScala(e)
diff --git a/pom.xml b/pom.xml
index 1f02df5..e674629 100644
--- a/pom.xml
+++ b/pom.xml
@@ -648,8 +648,8 @@
<bouncycastle.version>1.62</bouncycastle.version>
- <scala.base>2.12</scala.base>
- <scala.version>${scala.base}.8</scala.version>
+ <scala.base>2.13</scala.base>
+ <scala.version>${scala.base}.1</scala.version>
<doclint>none</doclint>
</properties>
diff --git a/server/task/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/cassandra/CassandraTaskExecutionDetailsProjection.scala b/server/task/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/cassandra/CassandraTaskExecutionDetailsProjection.scala
index dfbb71c..51ae992 100644
--- a/server/task/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/cassandra/CassandraTaskExecutionDetailsProjection.scala
+++ b/server/task/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/cassandra/CassandraTaskExecutionDetailsProjection.scala
@@ -23,8 +23,8 @@ import javax.inject.Inject
import org.apache.james.task.eventsourcing.TaskExecutionDetailsProjection
import org.apache.james.task.{TaskExecutionDetails, TaskId}
-import scala.collection.JavaConverters._
import scala.compat.java8.OptionConverters._
+import scala.jdk.CollectionConverters._
class CassandraTaskExecutionDetailsProjection @Inject()(cassandraTaskExecutionDetailsProjectionDAO: CassandraTaskExecutionDetailsProjectionDAO) extends TaskExecutionDetailsProjection {
diff --git a/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/EventSourcingTaskManager.scala b/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/EventSourcingTaskManager.scala
index fe2d869..41eeb88 100644
--- a/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/EventSourcingTaskManager.scala
+++ b/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/EventSourcingTaskManager.scala
@@ -50,7 +50,7 @@ class EventSourcingTaskManager @Inject @VisibleForTesting private[eventsourcing]
case _ =>
}
- import scala.collection.JavaConverters._
+ import scala.jdk.CollectionConverters._
private val loadHistory: AggregateId => History = eventStore.getEventsOfAggregate _
private val eventSourcingSystem = ScalaEventSourcingSystem(
diff --git a/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/ScalaEventSourcingSystem.scala b/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/ScalaEventSourcingSystem.scala
index 16178b3..2271854 100644
--- a/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/ScalaEventSourcingSystem.scala
+++ b/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/ScalaEventSourcingSystem.scala
@@ -22,7 +22,7 @@ import org.apache.james.eventsourcing.eventstore.EventStore
import org.apache.james.eventsourcing.{CommandHandler, EventSourcingSystem, Subscriber}
object ScalaEventSourcingSystem {
- import scala.collection.JavaConverters._
+ import scala.jdk.CollectionConverters._
def apply(handlers: Set[CommandHandler[_]], subscribers: Set[Subscriber], eventStore: EventStore): EventSourcingSystem =
new EventSourcingSystem(handlers.asJava, subscribers.asJava, eventStore)
}
diff --git a/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/TaskAggregate.scala b/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/TaskAggregate.scala
index d73cf65..9ea48fe 100644
--- a/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/TaskAggregate.scala
+++ b/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/TaskAggregate.scala
@@ -27,7 +27,7 @@ import org.apache.james.task.TaskExecutionDetails.AdditionalInformation
import org.apache.james.task.TaskManager.Status
import org.apache.james.task.{Hostname, Task}
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters._
class TaskAggregate private(val aggregateId: TaskAggregateId, private val history: History) {
@@ -39,6 +39,7 @@ class TaskAggregate private(val aggregateId: TaskAggregateId, private val histor
private val currentDecisionProjection: DecisionProjection = history
.getEvents
.asScala
+ .toSeq
.tail
.foldLeft(DecisionProjection.initial(initialEvent))((decision, event) => decision.update(event))
diff --git a/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/TaskExecutionDetailsProjection.scala b/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/TaskExecutionDetailsProjection.scala
index df28da4..2986410 100644
--- a/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/TaskExecutionDetailsProjection.scala
+++ b/server/task/task-memory/src/main/scala/org/apache/james/task/eventsourcing/TaskExecutionDetailsProjection.scala
@@ -24,7 +24,7 @@ import org.apache.james.eventsourcing.Subscriber
import org.apache.james.task.{Hostname, TaskExecutionDetails, TaskId}
import scala.compat.java8.OptionConverters._
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters._
trait TaskExecutionDetailsProjection {
def asSubscriber(hostname: Hostname): Subscriber = {
diff --git a/server/task/task-memory/src/test/java/org/apache/james/task/eventsourcing/TaskExecutionDetailsProjectionContract.java b/server/task/task-memory/src/test/java/org/apache/james/task/eventsourcing/TaskExecutionDetailsProjectionContract.java
index 0d0fefb..6cfd024 100644
--- a/server/task/task-memory/src/test/java/org/apache/james/task/eventsourcing/TaskExecutionDetailsProjectionContract.java
+++ b/server/task/task-memory/src/test/java/org/apache/james/task/eventsourcing/TaskExecutionDetailsProjectionContract.java
@@ -26,6 +26,7 @@ import static org.apache.james.task.TaskExecutionDetailsFixture.TASK_EXECUTION_D
import static org.apache.james.task.TaskExecutionDetailsFixture.TASK_EXECUTION_DETAILS_WITH_ADDITIONAL_INFORMATION;
import static org.apache.james.task.TaskExecutionDetailsFixture.TASK_ID;
import static org.assertj.core.api.Assertions.assertThat;
+import static scala.jdk.javaapi.CollectionConverters.asJava;
import java.util.List;
import java.util.Optional;
@@ -33,7 +34,6 @@ import java.util.Optional;
import org.apache.james.task.TaskExecutionDetails;
import org.junit.jupiter.api.Test;
-import scala.collection.JavaConverters;
import scala.compat.java8.OptionConverters;
public interface TaskExecutionDetailsProjectionContract {
@@ -79,7 +79,7 @@ public interface TaskExecutionDetailsProjectionContract {
@Test
default void listShouldReturnEmptyWhenNone() {
TaskExecutionDetailsProjection testee = testee();
- List<TaskExecutionDetails> taskExecutionDetails = JavaConverters.seqAsJavaList(testee.list());
+ List<TaskExecutionDetails> taskExecutionDetails = asJava(testee.list());
assertThat(taskExecutionDetails).isEmpty();
}
@@ -89,7 +89,7 @@ public interface TaskExecutionDetailsProjectionContract {
testee.update(TASK_EXECUTION_DETAILS());
testee.update(TASK_EXECUTION_DETAILS_2());
- List<TaskExecutionDetails> taskExecutionDetails = JavaConverters.seqAsJavaList(testee.list());
+ List<TaskExecutionDetails> taskExecutionDetails = asJava(testee.list());
assertThat(taskExecutionDetails).containsOnly(TASK_EXECUTION_DETAILS(), TASK_EXECUTION_DETAILS_2());
}
@@ -99,7 +99,7 @@ public interface TaskExecutionDetailsProjectionContract {
testee.update(TASK_EXECUTION_DETAILS());
testee.update(TASK_EXECUTION_DETAILS_UPDATED());
- List<TaskExecutionDetails> taskExecutionDetails = JavaConverters.seqAsJavaList(testee.list());
+ List<TaskExecutionDetails> taskExecutionDetails = asJava(testee.list());
assertThat(taskExecutionDetails).containsOnly(TASK_EXECUTION_DETAILS_UPDATED());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org