Author: matthieu
Date: Mon Nov 2 13:48:06 2015
New Revision: 1711990
URL: http://svn.apache.org/viewvc?rev=1711990&view=rev
Log:
JAMES-1595 Mapping now have a getType method
Modified:
james/project/trunk/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mapping.java
james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingImpl.java
james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java
Modified:
james/project/trunk/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mapping.java
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mapping.java?rev=1711990&r1=1711989&r2=1711990&view=diff
==============================================================================
---
james/project/trunk/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mapping.java
(original)
+++
james/project/trunk/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mapping.java
Mon Nov 2 13:48:06 2015
@@ -23,6 +23,10 @@ package org.apache.james.rrt.lib;
public interface Mapping {
+ enum Type { Regex, Domain, Error, Address };
+
+ Type getType();
+
String asString();
boolean hasDomain();
Modified:
james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingImpl.java
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingImpl.java?rev=1711990&r1=1711989&r2=1711990&view=diff
==============================================================================
---
james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingImpl.java
(original)
+++
james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingImpl.java
Mon Nov 2 13:48:06 2015
@@ -20,6 +20,8 @@
package org.apache.james.rrt.lib;
+import org.apache.james.rrt.api.RecipientRewriteTable;
+
import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
@@ -33,6 +35,7 @@ public class MappingImpl implements Mapp
private final String mapping;
public MappingImpl(String mapping) {
+ Preconditions.checkNotNull(mapping);
this.mapping = mapping;
}
@@ -53,6 +56,19 @@ public class MappingImpl implements Mapp
}
@Override
+ public Type getType() {
+ if (mapping.startsWith(RecipientRewriteTable.ALIASDOMAIN_PREFIX)) {
+ return Type.Domain;
+ } else if (mapping.startsWith(RecipientRewriteTable.REGEX_PREFIX)) {
+ return Type.Regex;
+ } else if (mapping.startsWith(RecipientRewriteTable.ERROR_PREFIX)) {
+ return Type.Error;
+ } else {
+ return Type.Address;
+ }
+ }
+
+ @Override
public boolean equals(Object other) {
if (other instanceof MappingImpl) {
MappingImpl otherMapping = (MappingImpl) other;
Modified:
james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java?rev=1711990&r1=1711989&r2=1711990&view=diff
==============================================================================
---
james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java
(original)
+++
james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java
Mon Nov 2 13:48:06 2015
@@ -20,12 +20,18 @@
package org.apache.james.rrt.lib;
+import org.apache.james.rrt.api.RecipientRewriteTable;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class MappingImplTest {
+ @Test(expected=NullPointerException.class)
+ public void factoryMethodShouldThrowOnNull() {
+ assertThat(MappingImpl.of(null));
+ }
+
@Test
public void hasDomainshouldReturnTrueWhenMappingContainAtMark() {
assertThat(MappingImpl.of("a@b").hasDomain()).isTrue();
@@ -66,4 +72,28 @@ public class MappingImplTest {
assertThat(MappingImpl.of("abc").appendDomain("")).isEqualTo(MappingImpl.of("abc@"));
}
+ @Test
+ public void getTypeShouldReturnAddressWhenNoPrefix() {
+
assertThat(MappingImpl.of("abc").getType()).isEqualTo(Mapping.Type.Address);
+ }
+
+ @Test
+ public void getTypeShouldReturnAddressWhenEmpty() {
+
assertThat(MappingImpl.of("").getType()).isEqualTo(Mapping.Type.Address);
+ }
+
+ @Test
+ public void getTypeShouldReturnRegexWhenRegexPrefix() {
+ assertThat(MappingImpl.of(RecipientRewriteTable.REGEX_PREFIX +
"abc").getType()).isEqualTo(Mapping.Type.Regex);
+ }
+
+ @Test
+ public void getTypeShouldReturnErrorWhenErrorPrefix() {
+ assertThat(MappingImpl.of(RecipientRewriteTable.ERROR_PREFIX +
"abc").getType()).isEqualTo(Mapping.Type.Error);
+ }
+
+ @Test
+ public void getTypeShouldReturnDomainWhenDomainPrefix() {
+ assertThat(MappingImpl.of(RecipientRewriteTable.ALIASDOMAIN_PREFIX +
"abc").getType()).isEqualTo(Mapping.Type.Domain);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]