You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2020/12/28 07:43:34 UTC
[james-project] 02/16: JAMES-3469 Pojoify */changes State & Limit
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 626b74041b6e240c221cf917d56c0a20a3a50b2c
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Dec 21 10:57:52 2020 +0700
JAMES-3469 Pojoify */changes State & Limit
This enable reuse of these POJOs for Email/changes.
Also, add unit tests for these POJOs
Move data validation from *ChangeRepository into the POJOs themselves.
Other improvements includes:
- toString method for state
- State.INITIAL constant should be final
- State.of should reject null values
- Limit.of should reject negative or zero values
---
.../james/modules/mailbox/MemoryMailboxModule.java | 2 +-
.../change/CassandraMailboxChangeRepository.java | 15 ++--
.../Limit.java} | 22 +++---
.../james/jmap/api/change/MailboxChange.java | 65 -----------------
.../jmap/api/change/MailboxChangeRepository.java | 2 -
.../james/jmap/api/change/MailboxChanges.java | 18 ++---
.../org/apache/james/jmap/api/change/State.java | 81 ++++++++++++++++++++++
.../api/exception/ChangeNotFoundException.java | 8 +--
.../change/MemoryMailboxChangeRepository.java | 6 +-
.../apache/james/jmap/api/change/LimitTest.java} | 44 ++++++------
.../change/MailboxChangeRepositoryContract.java | 2 -
.../apache/james/jmap/api/change/StateTest.java} | 49 +++++++------
.../change/MemoryMailboxChangeRepositoryTest.java | 8 +--
.../contract/MailboxChangesMethodContract.scala | 2 +-
.../memory/MemoryMailboxChangesMethodTest.java | 6 +-
.../scala/org/apache/james/jmap/core/Session.scala | 4 +-
.../apache/james/jmap/json/MailboxSerializer.scala | 2 +-
.../org/apache/james/jmap/mail/MailboxGet.scala | 2 +-
.../james/jmap/method/MailboxChangesMethod.scala | 2 +-
.../jmap/change/MailboxChangeListenerTest.scala | 3 +-
20 files changed, 185 insertions(+), 158 deletions(-)
diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/mailbox/MemoryMailboxModule.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/mailbox/MemoryMailboxModule.java
index 6bd4002..da8950e 100644
--- a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/mailbox/MemoryMailboxModule.java
+++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/mailbox/MemoryMailboxModule.java
@@ -25,8 +25,8 @@ import javax.inject.Singleton;
import org.apache.james.adapter.mailbox.UserRepositoryAuthenticator;
import org.apache.james.adapter.mailbox.UserRepositoryAuthorizator;
-import org.apache.james.jmap.api.change.MailboxChange.State;
import org.apache.james.jmap.api.change.MailboxChangeRepository;
+import org.apache.james.jmap.api.change.State;
import org.apache.james.jmap.memory.change.MemoryMailboxChangeRepository;
import org.apache.james.mailbox.AttachmentContentLoader;
import org.apache.james.mailbox.AttachmentManager;
diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/change/CassandraMailboxChangeRepository.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/change/CassandraMailboxChangeRepository.java
index b17175a..4fe0c0e 100644
--- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/change/CassandraMailboxChangeRepository.java
+++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/change/CassandraMailboxChangeRepository.java
@@ -21,10 +21,11 @@ package org.apache.james.jmap.cassandra.change;
import java.util.Optional;
+import org.apache.james.jmap.api.change.Limit;
import org.apache.james.jmap.api.change.MailboxChange;
-import org.apache.james.jmap.api.change.MailboxChange.Limit;
import org.apache.james.jmap.api.change.MailboxChangeRepository;
import org.apache.james.jmap.api.change.MailboxChanges;
+import org.apache.james.jmap.api.change.State;
import org.apache.james.jmap.api.model.AccountId;
import reactor.core.publisher.Mono;
@@ -37,22 +38,22 @@ public class CassandraMailboxChangeRepository implements MailboxChangeRepository
}
@Override
- public Mono<MailboxChanges> getSinceState(AccountId accountId, MailboxChange.State state, Optional<Limit> maxChanges) {
+ public Mono<MailboxChanges> getSinceState(AccountId accountId, State state, Optional<Limit> maxChanges) {
return Mono.empty();
}
@Override
- public Mono<MailboxChanges> getSinceStateWithDelegation(AccountId accountId, MailboxChange.State state, Optional<Limit> maxChanges) {
+ public Mono<MailboxChanges> getSinceStateWithDelegation(AccountId accountId, State state, Optional<Limit> maxChanges) {
return Mono.empty();
}
@Override
- public Mono<MailboxChange.State> getLatestState(AccountId accountId) {
- return Mono.just(MailboxChange.State.INITIAL);
+ public Mono<State> getLatestState(AccountId accountId) {
+ return Mono.just(State.INITIAL);
}
@Override
- public Mono<MailboxChange.State> getLatestStateWithDelegation(AccountId accountId) {
- return Mono.just(MailboxChange.State.INITIAL);
+ public Mono<State> getLatestStateWithDelegation(AccountId accountId) {
+ return Mono.just(State.INITIAL);
}
}
diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/exception/ChangeNotFoundException.java b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/Limit.java
similarity index 74%
copy from server/data/data-jmap/src/main/java/org/apache/james/jmap/api/exception/ChangeNotFoundException.java
copy to server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/Limit.java
index 9fcc4a0..ebec8db 100644
--- a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/exception/ChangeNotFoundException.java
+++ b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/Limit.java
@@ -17,19 +17,23 @@
* under the License. *
****************************************************************/
-package org.apache.james.jmap.api.exception;
+package org.apache.james.jmap.api.change;
-import org.apache.james.jmap.api.change.MailboxChange;
+import com.google.common.base.Preconditions;
-public class ChangeNotFoundException extends RuntimeException {
- private final MailboxChange.State state;
+public class Limit {
+ public static Limit of(int value) {
+ Preconditions.checkArgument(value > 0, "'limit' needs to be strictly positive");
+ return new Limit(value);
+ }
+
+ private final int value;
- public ChangeNotFoundException(MailboxChange.State state, String msg) {
- super(msg);
- this.state = state;
+ private Limit(int value) {
+ this.value = value;
}
- public MailboxChange.State getState() {
- return state;
+ public int getValue() {
+ return value;
}
}
diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChange.java b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChange.java
index 4bdcb2c..f242cc0 100644
--- a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChange.java
+++ b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChange.java
@@ -22,9 +22,7 @@ package org.apache.james.jmap.api.change;
import java.time.Clock;
import java.time.ZonedDateTime;
import java.util.List;
-import java.util.Objects;
import java.util.Optional;
-import java.util.UUID;
import java.util.stream.Stream;
import javax.inject.Inject;
@@ -51,69 +49,6 @@ import com.github.steveash.guavate.Guavate;
import com.google.common.collect.ImmutableList;
public class MailboxChange {
-
- public static class State {
- public static State INITIAL = of(UUID.fromString("2c9f1b12-b35a-43e6-9af2-0106fb53a943"));
-
- public interface Factory {
- State generate();
- }
-
- public static class DefaultFactory implements Factory {
-
- @Override
- public State generate() {
- return of(UUID.randomUUID());
- }
- }
-
- public static State of(UUID value) {
- return new State(value);
- }
-
- private final UUID value;
-
- private State(UUID value) {
- this.value = value;
- }
-
- public UUID getValue() {
- return value;
- }
-
- @Override
- public final boolean equals(Object o) {
- if (o instanceof State) {
- State state = (State) o;
-
- return Objects.equals(this.value, state.value);
- }
- return false;
- }
-
- @Override
- public final int hashCode() {
- return Objects.hash(value);
- }
- }
-
- public static class Limit {
-
- public static Limit of(int value) {
- return new Limit(value);
- }
-
- private final int value;
-
- private Limit(int value) {
- this.value = value;
- }
-
- public int getValue() {
- return value;
- }
- }
-
@FunctionalInterface
public interface RequiredAccountId {
RequiredState accountId(AccountId accountId);
diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChangeRepository.java b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChangeRepository.java
index 39779b6..d90b968 100644
--- a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChangeRepository.java
+++ b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChangeRepository.java
@@ -21,8 +21,6 @@ package org.apache.james.jmap.api.change;
import java.util.Optional;
-import org.apache.james.jmap.api.change.MailboxChange.Limit;
-import org.apache.james.jmap.api.change.MailboxChange.State;
import org.apache.james.jmap.api.model.AccountId;
import reactor.core.publisher.Mono;
diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChanges.java b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChanges.java
index a3f9366..cbd1deb 100644
--- a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChanges.java
+++ b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChanges.java
@@ -39,10 +39,10 @@ public class MailboxChanges {
public static class MailboxChangesBuilder {
public static class MailboxChangeCollector implements Collector<MailboxChange, MailboxChangesBuilder, MailboxChanges> {
- private final MailboxChange.Limit limit;
- private final MailboxChange.State state;
+ private final Limit limit;
+ private final State state;
- public MailboxChangeCollector(MailboxChange.State state, MailboxChange.Limit limit) {
+ public MailboxChangeCollector(State state, Limit limit) {
this.limit = limit;
this.state = state;
}
@@ -72,15 +72,15 @@ public class MailboxChanges {
}
}
- private MailboxChange.State state;
+ private State state;
private boolean hasMoreChanges;
private boolean canAddMoreItem;
- private MailboxChange.Limit limit;
+ private Limit limit;
private Set<MailboxId> created;
private Set<MailboxId> updated;
private Set<MailboxId> destroyed;
- public MailboxChangesBuilder(MailboxChange.State state, MailboxChange.Limit limit) {
+ public MailboxChangesBuilder(State state, Limit limit) {
this.limit = limit;
this.state = state;
this.hasMoreChanges = false;
@@ -121,13 +121,13 @@ public class MailboxChanges {
}
}
- private MailboxChange.State newState;
+ private State newState;
private final boolean hasMoreChanges;
private final Set<MailboxId> created;
private final Set<MailboxId> updated;
private final Set<MailboxId> destroyed;
- private MailboxChanges(MailboxChange.State newState, boolean hasMoreChanges, Set<MailboxId> created, Set<MailboxId> updated, Set<MailboxId> destroyed) {
+ private MailboxChanges(State newState, boolean hasMoreChanges, Set<MailboxId> created, Set<MailboxId> updated, Set<MailboxId> destroyed) {
this.newState = newState;
this.hasMoreChanges = hasMoreChanges;
this.created = created;
@@ -135,7 +135,7 @@ public class MailboxChanges {
this.destroyed = destroyed;
}
- public MailboxChange.State getNewState() {
+ public State getNewState() {
return newState;
}
diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/State.java b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/State.java
new file mode 100644
index 0000000..f4ed004
--- /dev/null
+++ b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/State.java
@@ -0,0 +1,81 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.jmap.api.change;
+
+import java.util.Objects;
+import java.util.UUID;
+
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Preconditions;
+
+public class State {
+ public interface Factory {
+ Factory DEFAULT = new DefaultFactory();
+
+ State generate();
+ }
+
+ public static class DefaultFactory implements Factory {
+ @Override
+ public State generate() {
+ return of(UUID.randomUUID());
+ }
+ }
+
+ public static final State INITIAL = of(UUID.fromString("2c9f1b12-b35a-43e6-9af2-0106fb53a943"));
+
+ public static State of(UUID value) {
+ Preconditions.checkNotNull(value, "State 'value' should not be null.");
+
+ return new State(value);
+ }
+
+ private final UUID value;
+
+ private State(UUID value) {
+ this.value = value;
+ }
+
+ public UUID getValue() {
+ return value;
+ }
+
+ @Override
+ public final boolean equals(Object o) {
+ if (o instanceof State) {
+ State state = (State) o;
+
+ return Objects.equals(this.value, state.value);
+ }
+ return false;
+ }
+
+ @Override
+ public final int hashCode() {
+ return Objects.hash(value);
+ }
+
+ @Override
+ public String toString() {
+ return MoreObjects.toStringHelper(this)
+ .add("value", value)
+ .toString();
+ }
+}
diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/exception/ChangeNotFoundException.java b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/exception/ChangeNotFoundException.java
index 9fcc4a0..d0663c3 100644
--- a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/exception/ChangeNotFoundException.java
+++ b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/exception/ChangeNotFoundException.java
@@ -19,17 +19,17 @@
package org.apache.james.jmap.api.exception;
-import org.apache.james.jmap.api.change.MailboxChange;
+import org.apache.james.jmap.api.change.State;
public class ChangeNotFoundException extends RuntimeException {
- private final MailboxChange.State state;
+ private final State state;
- public ChangeNotFoundException(MailboxChange.State state, String msg) {
+ public ChangeNotFoundException(State state, String msg) {
super(msg);
this.state = state;
}
- public MailboxChange.State getState() {
+ public State getState() {
return state;
}
}
diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/memory/change/MemoryMailboxChangeRepository.java b/server/data/data-jmap/src/main/java/org/apache/james/jmap/memory/change/MemoryMailboxChangeRepository.java
index 44e5aee..ac45191 100644
--- a/server/data/data-jmap/src/main/java/org/apache/james/jmap/memory/change/MemoryMailboxChangeRepository.java
+++ b/server/data/data-jmap/src/main/java/org/apache/james/jmap/memory/change/MemoryMailboxChangeRepository.java
@@ -23,12 +23,12 @@ import java.util.Comparator;
import java.util.Optional;
import java.util.function.Predicate;
+import org.apache.james.jmap.api.change.Limit;
import org.apache.james.jmap.api.change.MailboxChange;
-import org.apache.james.jmap.api.change.MailboxChange.Limit;
-import org.apache.james.jmap.api.change.MailboxChange.State;
import org.apache.james.jmap.api.change.MailboxChangeRepository;
import org.apache.james.jmap.api.change.MailboxChanges;
import org.apache.james.jmap.api.change.MailboxChanges.MailboxChangesBuilder.MailboxChangeCollector;
+import org.apache.james.jmap.api.change.State;
import org.apache.james.jmap.api.exception.ChangeNotFoundException;
import org.apache.james.jmap.api.model.AccountId;
@@ -60,7 +60,7 @@ public class MemoryMailboxChangeRepository implements MailboxChangeRepository {
public Mono<MailboxChanges> getSinceState(AccountId accountId, State state, Optional<Limit> maxChanges) {
Preconditions.checkNotNull(accountId);
Preconditions.checkNotNull(state);
- maxChanges.ifPresent(limit -> Preconditions.checkArgument(limit.getValue() > 0, "maxChanges must be a positive integer"));
+
if (state.equals(State.INITIAL)) {
return Flux.fromIterable(mailboxChangeMap.get(accountId))
.sort(Comparator.comparing(MailboxChange::getDate))
diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChangeRepository.java b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/change/LimitTest.java
similarity index 65%
copy from server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChangeRepository.java
copy to server/data/data-jmap/src/test/java/org/apache/james/jmap/api/change/LimitTest.java
index 39779b6..4d02219 100644
--- a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChangeRepository.java
+++ b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/change/LimitTest.java
@@ -19,23 +19,27 @@
package org.apache.james.jmap.api.change;
-import java.util.Optional;
-
-import org.apache.james.jmap.api.change.MailboxChange.Limit;
-import org.apache.james.jmap.api.change.MailboxChange.State;
-import org.apache.james.jmap.api.model.AccountId;
-
-import reactor.core.publisher.Mono;
-
-public interface MailboxChangeRepository {
-
- Mono<Void> save(MailboxChange change);
-
- Mono<MailboxChanges> getSinceState(AccountId accountId, State state, Optional<Limit> maxChanges);
-
- Mono<MailboxChanges> getSinceStateWithDelegation(AccountId accountId, State state, Optional<Limit> maxChanges);
-
- Mono<State> getLatestState(AccountId accountId);
-
- Mono<State> getLatestStateWithDelegation(AccountId accountId);
-}
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
+import org.junit.jupiter.api.Test;
+
+class LimitTest {
+ @Test
+ void ofShouldThrowWhenNegative() {
+ assertThatThrownBy(() -> Limit.of(-1))
+ .isInstanceOf(IllegalArgumentException.class);
+ }
+
+ @Test
+ void ofShouldThrowWhenZero() {
+ assertThatThrownBy(() -> Limit.of(0))
+ .isInstanceOf(IllegalArgumentException.class);
+ }
+
+ @Test
+ void getValueShouldReturnSuppliedValue() {
+ assertThat(Limit.of(36).getValue())
+ .isEqualTo(36);
+ }
+}
\ No newline at end of file
diff --git a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/change/MailboxChangeRepositoryContract.java b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/change/MailboxChangeRepositoryContract.java
index 922d0e9..81a9266 100644
--- a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/change/MailboxChangeRepositoryContract.java
+++ b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/change/MailboxChangeRepositoryContract.java
@@ -27,8 +27,6 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import java.time.ZonedDateTime;
import java.util.Optional;
-import org.apache.james.jmap.api.change.MailboxChange.Limit;
-import org.apache.james.jmap.api.change.MailboxChange.State;
import org.apache.james.jmap.api.exception.ChangeNotFoundException;
import org.apache.james.jmap.api.model.AccountId;
import org.apache.james.mailbox.model.TestId;
diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChangeRepository.java b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/change/StateTest.java
similarity index 63%
copy from server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChangeRepository.java
copy to server/data/data-jmap/src/test/java/org/apache/james/jmap/api/change/StateTest.java
index 39779b6..cbea897 100644
--- a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/change/MailboxChangeRepository.java
+++ b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/change/StateTest.java
@@ -19,23 +19,32 @@
package org.apache.james.jmap.api.change;
-import java.util.Optional;
-
-import org.apache.james.jmap.api.change.MailboxChange.Limit;
-import org.apache.james.jmap.api.change.MailboxChange.State;
-import org.apache.james.jmap.api.model.AccountId;
-
-import reactor.core.publisher.Mono;
-
-public interface MailboxChangeRepository {
-
- Mono<Void> save(MailboxChange change);
-
- Mono<MailboxChanges> getSinceState(AccountId accountId, State state, Optional<Limit> maxChanges);
-
- Mono<MailboxChanges> getSinceStateWithDelegation(AccountId accountId, State state, Optional<Limit> maxChanges);
-
- Mono<State> getLatestState(AccountId accountId);
-
- Mono<State> getLatestStateWithDelegation(AccountId accountId);
-}
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
+import java.util.UUID;
+
+import org.junit.jupiter.api.Test;
+
+import nl.jqno.equalsverifier.EqualsVerifier;
+
+class StateTest {
+ @Test
+ void shouldMatchBeanContract() {
+ EqualsVerifier.forClass(State.class)
+ .verify();
+ }
+
+ @Test
+ void ofShouldThrowOnNull() {
+ assertThatThrownBy(() -> State.of(null))
+ .isInstanceOf(NullPointerException.class);
+ }
+
+ @Test
+ void getValueShouldReturnSuppliedValue() {
+ UUID uuid = UUID.randomUUID();
+ assertThat(State.of(uuid).getValue())
+ .isEqualTo(uuid);
+ }
+}
\ No newline at end of file
diff --git a/server/data/data-jmap/src/test/java/org/apache/james/jmap/memory/change/MemoryMailboxChangeRepositoryTest.java b/server/data/data-jmap/src/test/java/org/apache/james/jmap/memory/change/MemoryMailboxChangeRepositoryTest.java
index 6c3b74f..ae3bd27 100644
--- a/server/data/data-jmap/src/test/java/org/apache/james/jmap/memory/change/MemoryMailboxChangeRepositoryTest.java
+++ b/server/data/data-jmap/src/test/java/org/apache/james/jmap/memory/change/MemoryMailboxChangeRepositoryTest.java
@@ -19,19 +19,19 @@
package org.apache.james.jmap.memory.change;
-import org.apache.james.jmap.api.change.MailboxChange;
import org.apache.james.jmap.api.change.MailboxChangeRepository;
import org.apache.james.jmap.api.change.MailboxChangeRepositoryContract;
+import org.apache.james.jmap.api.change.State;
import org.junit.jupiter.api.BeforeEach;
public class MemoryMailboxChangeRepositoryTest implements MailboxChangeRepositoryContract {
MailboxChangeRepository mailboxChangeRepository;
- MailboxChange.State.Factory stateFactory;
+ State.Factory stateFactory;
@BeforeEach
void setup() {
mailboxChangeRepository = new MemoryMailboxChangeRepository();
- stateFactory = new MailboxChange.State.DefaultFactory();
+ stateFactory = new State.DefaultFactory();
}
@Override
@@ -40,7 +40,7 @@ public class MemoryMailboxChangeRepositoryTest implements MailboxChangeRepositor
}
@Override
- public MailboxChange.State.Factory stateFactory() {
+ public State.Factory stateFactory() {
return stateFactory;
}
}
diff --git a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxChangesMethodContract.scala b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxChangesMethodContract.scala
index a9ce132..5d9164a 100644
--- a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxChangesMethodContract.scala
+++ b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxChangesMethodContract.scala
@@ -35,7 +35,7 @@ import org.apache.http.HttpStatus.SC_OK
import org.apache.james.GuiceJamesServer
import org.apache.james.core.Username
import org.apache.james.jmap.api.change.MailboxChange
-import org.apache.james.jmap.api.change.MailboxChange.State
+import org.apache.james.jmap.api.change.State
import org.apache.james.jmap.api.model.AccountId
import org.apache.james.jmap.core.ResponseObject.SESSION_STATE
import org.apache.james.jmap.draft.JmapGuiceProbe
diff --git a/server/protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/memory/MemoryMailboxChangesMethodTest.java b/server/protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/memory/MemoryMailboxChangesMethodTest.java
index 93104a9..58e6359 100644
--- a/server/protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/memory/MemoryMailboxChangesMethodTest.java
+++ b/server/protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/memory/MemoryMailboxChangesMethodTest.java
@@ -24,7 +24,7 @@ import static org.apache.james.MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_
import org.apache.james.GuiceJamesServer;
import org.apache.james.JamesServerBuilder;
import org.apache.james.JamesServerExtension;
-import org.apache.james.jmap.api.change.MailboxChange;
+import org.apache.james.jmap.api.change.State;
import org.apache.james.jmap.rfc8621.contract.MailboxChangesMethodContract;
import org.apache.james.modules.TestJMAPServerModule;
import org.junit.jupiter.api.extension.RegisterExtension;
@@ -38,7 +38,7 @@ public class MemoryMailboxChangesMethodTest implements MailboxChangesMethodContr
.build();
@Override
- public MailboxChange.State.Factory stateFactory() {
- return new MailboxChange.State.DefaultFactory();
+ public State.Factory stateFactory() {
+ return new State.DefaultFactory();
}
}
\ No newline at end of file
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/core/Session.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/core/Session.scala
index 6949488..81c3f4b 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/core/Session.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/core/Session.scala
@@ -25,12 +25,10 @@ import java.util.UUID
import com.google.common.hash.Hashing
import eu.timepit.refined.api.Refined
-import eu.timepit.refined.auto._
import eu.timepit.refined.refineV
import eu.timepit.refined.string.Uuid
import org.apache.james.core.Username
-import org.apache.james.jmap.api.change.MailboxChanges
-import org.apache.james.jmap.api.change.MailboxChange.{State => JavaState}
+import org.apache.james.jmap.api.change.{MailboxChanges, State => JavaState}
import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
import org.apache.james.jmap.core.Id.Id
import org.apache.james.jmap.core.State.INSTANCE
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxSerializer.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxSerializer.scala
index f85c08e..573f107 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxSerializer.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxSerializer.scala
@@ -23,7 +23,7 @@ import eu.timepit.refined._
import eu.timepit.refined.collection.NonEmpty
import javax.inject.Inject
import org.apache.james.core.{Domain, Username}
-import org.apache.james.jmap.api.change.MailboxChange.Limit
+import org.apache.james.jmap.api.change.Limit
import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
import org.apache.james.jmap.core.{ClientId, Properties, SetError, State}
import org.apache.james.jmap.mail.MailboxGet.{UnparsedMailboxId, UnparsedMailboxIdConstraint}
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxGet.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxGet.scala
index add1c6e..a3a33e0 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxGet.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxGet.scala
@@ -22,7 +22,7 @@ package org.apache.james.jmap.mail
import eu.timepit.refined
import eu.timepit.refined.api.Refined
import eu.timepit.refined.collection.NonEmpty
-import org.apache.james.jmap.api.change.MailboxChange.Limit
+import org.apache.james.jmap.api.change.Limit
import org.apache.james.jmap.api.change.MailboxChanges
import org.apache.james.jmap.core.{AccountId, Properties, State}
import org.apache.james.jmap.mail.MailboxGet.UnparsedMailboxId
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxChangesMethod.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxChangesMethod.scala
index c60e038..ab0003c 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxChangesMethod.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxChangesMethod.scala
@@ -21,7 +21,7 @@ package org.apache.james.jmap.method
import eu.timepit.refined.auto._
import javax.inject.Inject
-import org.apache.james.jmap.api.change.MailboxChange.{State => JavaState}
+import org.apache.james.jmap.api.change.{State => JavaState}
import org.apache.james.jmap.api.change.MailboxChangeRepository
import org.apache.james.jmap.api.model.{AccountId => JavaAccountId}
import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, JMAP_MAIL}
diff --git a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/change/MailboxChangeListenerTest.scala b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/change/MailboxChangeListenerTest.scala
index a207f72..32d4be2 100644
--- a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/change/MailboxChangeListenerTest.scala
+++ b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/change/MailboxChangeListenerTest.scala
@@ -22,8 +22,7 @@ package org.apache.james.jmap.change
import java.time.{Clock, ZonedDateTime}
import javax.mail.Flags
-import org.apache.james.jmap.api.change.MailboxChange.State
-import org.apache.james.jmap.api.change.{MailboxChange, MailboxChangeRepository}
+import org.apache.james.jmap.api.change.{MailboxChange, MailboxChangeRepository, State}
import org.apache.james.jmap.api.model.AccountId
import org.apache.james.jmap.change.MailboxChangeListenerTest.ACCOUNT_ID
import org.apache.james.jmap.memory.change.MemoryMailboxChangeRepository
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org