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 bt...@apache.org on 2019/01/11 03:01:12 UTC
[02/10] james-project git commit: JAMES-2636 Refactoring and
automating some mapping methods
JAMES-2636 Refactoring and automating some mapping methods
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/057fbe45
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/057fbe45
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/057fbe45
Branch: refs/heads/master
Commit: 057fbe4575152d2681244ba7d652c08309f97613
Parents: 00dcbd8
Author: Rene Cordier <rc...@linagora.com>
Authored: Mon Jan 7 09:57:45 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Fri Jan 11 09:48:33 2019 +0700
----------------------------------------------------------------------
.../java/org/apache/james/rrt/lib/Mapping.java | 38 +++++++-------------
.../org/apache/james/rrt/lib/MappingTest.java | 8 ++---
2 files changed, 17 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/057fbe45/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mapping.java
----------------------------------------------------------------------
diff --git a/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mapping.java b/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mapping.java
index 9e918dc..e8d1198 100644
--- a/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mapping.java
+++ b/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mapping.java
@@ -21,6 +21,7 @@
package org.apache.james.rrt.lib;
import java.io.Serializable;
+import java.util.Arrays;
import java.util.Optional;
import java.util.function.Supplier;
import java.util.stream.Stream;
@@ -147,25 +148,11 @@ public interface Mapping {
}
static Type detectType(String input) {
- if (input.startsWith(Type.Regex.asPrefix())) {
- return Type.Regex;
- }
- if (input.startsWith(Type.Domain.asPrefix())) {
- return Type.Domain;
- }
- if (input.startsWith(Type.Error.asPrefix())) {
- return Type.Error;
- }
- if (input.startsWith(Type.Forward.asPrefix())) {
- return Type.Forward;
- }
- if (input.startsWith(Type.Group.asPrefix())) {
- return Type.Group;
- }
- if (input.startsWith(Type.Alias.asPrefix())) {
- return Type.Alias;
- }
- return Type.Address;
+ return Arrays.stream(Type.values())
+ .filter(Type::hasPrefix)
+ .filter(type -> input.startsWith(type.asPrefix()))
+ .findAny()
+ .orElse(Type.Address);
}
enum Type {
@@ -192,13 +179,14 @@ public interface Mapping {
return input.substring(asPrefix.length());
}
+ public boolean hasPrefix() {
+ return !asPrefix.isEmpty();
+ }
+
public static boolean hasPrefix(String mapping) {
- return mapping.startsWith(Regex.asPrefix())
- || mapping.startsWith(Domain.asPrefix())
- || mapping.startsWith(Error.asPrefix())
- || mapping.startsWith(Forward.asPrefix())
- || mapping.startsWith(Group.asPrefix())
- || mapping.startsWith(Alias.asPrefix());
+ return Arrays.stream(Type.values())
+ .filter(Type::hasPrefix)
+ .anyMatch(type -> mapping.startsWith(type.asPrefix()));
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/057fbe45/server/data/data-api/src/test/java/org/apache/james/rrt/lib/MappingTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-api/src/test/java/org/apache/james/rrt/lib/MappingTest.java b/server/data/data-api/src/test/java/org/apache/james/rrt/lib/MappingTest.java
index 5c71bd5..f500199 100644
--- a/server/data/data-api/src/test/java/org/apache/james/rrt/lib/MappingTest.java
+++ b/server/data/data-api/src/test/java/org/apache/james/rrt/lib/MappingTest.java
@@ -99,7 +99,7 @@ public class MappingTest {
@Test
void detectTypeShouldReturnAliasWhenAliasPrefix() {
assertThat(Mapping.detectType(Type.Alias.asPrefix() + "mapping"))
- .isEqualTo(Type.Alias);
+ .isEqualTo(Type.Alias);
}
@Test
@@ -141,7 +141,7 @@ public class MappingTest {
@Test
void withoutPrefixShouldRemoveAliasPrefix() {
assertThat(Type.Alias.withoutPrefix(Type.Alias.asPrefix() + "mapping"))
- .isEqualTo("mapping");
+ .isEqualTo("mapping");
}
@Test
@@ -208,7 +208,7 @@ public class MappingTest {
@Test
void aliasFactoryMethodShouldThrowOnNull() {
assertThatThrownBy(() -> Mapping.alias(null))
- .isInstanceOf(NullPointerException.class);
+ .isInstanceOf(NullPointerException.class);
}
@Test
@@ -338,7 +338,7 @@ public class MappingTest {
@Test
void asMailAddressShouldReturnMappingValueForAlias() throws Exception {
assertThat(Mapping.alias("value@domain").asMailAddress())
- .contains(new MailAddress("value@domain"));
+ .contains(new MailAddress("value@domain"));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org