JSieveManager should be accessible from server, patch contributed by Tellier Benoit (JSIEVE-98) git-svn-id: https://svn.apache.org/repos/asf/james/jsieve/trunk@1682368 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/manager/api/src/main/java/org/apache/james/managesieve/api/ScriptSummary.java b/manager/api/src/main/java/org/apache/james/managesieve/api/ScriptSummary.java index 6d31bd6..e31217c 100644 --- a/manager/api/src/main/java/org/apache/james/managesieve/api/ScriptSummary.java +++ b/manager/api/src/main/java/org/apache/james/managesieve/api/ScriptSummary.java
@@ -20,7 +20,40 @@ package org.apache.james.managesieve.api; -public interface ScriptSummary { - abstract public String getName(); - abstract public boolean isActive(); +public class ScriptSummary { + + private final String name; + private final boolean activeFile; + + public ScriptSummary(String name, boolean activeFile) { + this.name = name; + this.activeFile = activeFile; + } + + public String getName() { + return name; + } + + public boolean isActive() { + return activeFile; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ScriptSummary)) return false; + + ScriptSummary that = (ScriptSummary) o; + + if (activeFile != that.activeFile) return false; + return !(name != null ? !name.equals(that.name) : that.name != null); + + } + + @Override + public int hashCode() { + int result = name != null ? name.hashCode() : 0; + result = 31 * result + (activeFile ? 1 : 0); + return result; + } } \ No newline at end of file
diff --git a/manager/mailet/src/main/java/org/apache/james/managesieve/mailet/transcode/MessageToCoreToMessage.java b/manager/mailet/src/main/java/org/apache/james/managesieve/mailet/transcode/MessageToCoreToMessage.java index f409105..376fd80 100644 --- a/manager/mailet/src/main/java/org/apache/james/managesieve/mailet/transcode/MessageToCoreToMessage.java +++ b/manager/mailet/src/main/java/org/apache/james/managesieve/mailet/transcode/MessageToCoreToMessage.java
@@ -69,6 +69,10 @@ && (fileName.endsWith(".siv") || fileName.endsWith(".sieve")); } if (found) { + Object content = part.getContent(); + if (content instanceof String) { + return (String) part.getContent(); + } InputStream is = (InputStream) part.getContent(); Scanner scanner = null; try {
diff --git a/manager/mailet/src/test/java/org/apache/james/managesieve/mailet/ManageSieveMailetTestCase.java b/manager/mailet/src/test/java/org/apache/james/managesieve/mailet/ManageSieveMailetTestCase.java index 7fb1752..63f6e9b 100644 --- a/manager/mailet/src/test/java/org/apache/james/managesieve/mailet/ManageSieveMailetTestCase.java +++ b/manager/mailet/src/test/java/org/apache/james/managesieve/mailet/ManageSieveMailetTestCase.java
@@ -33,6 +33,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import javax.activation.DataHandler; @@ -40,7 +41,6 @@ import javax.mail.BodyPart; import javax.mail.MessagingException; import javax.mail.Session; -import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; @@ -1077,6 +1077,7 @@ } + @Ignore("Ignore this test as it depends of your environment (file path changes with your position in the project)") @Test public final void testHelp() throws MessagingException, IOException { String user = "test@localhost";
diff --git a/manager/mock/src/main/java/org/apache/james/managesieve/mock/MockSieveRepository.java b/manager/mock/src/main/java/org/apache/james/managesieve/mock/MockSieveRepository.java index f83c1e4..ef9fc03 100644 --- a/manager/mock/src/main/java/org/apache/james/managesieve/mock/MockSieveRepository.java +++ b/manager/mock/src/main/java/org/apache/james/managesieve/mock/MockSieveRepository.java
@@ -254,17 +254,8 @@ } Set<Entry<String, SieveScript>> scripts = _repository.get(user).entrySet(); List<ScriptSummary> summaries = new ArrayList<ScriptSummary>(scripts.size()); - for (final Entry<String, SieveScript> entry : scripts) - { - summaries.add(new ScriptSummary(){ - - public String getName() { - return entry.getKey(); - } - - public boolean isActive() { - return entry.getValue().isActive(); - }}); + for (final Entry<String, SieveScript> entry : scripts) { + summaries.add(new ScriptSummary(entry.getKey(), entry.getValue().isActive())); } return summaries; }