diff --git a/source/java/org/alfresco/repo/content/transform/TransformerConfigSupported.java b/source/java/org/alfresco/repo/content/transform/TransformerConfigSupported.java index 08a9de30fc..3fadcac747 100644 --- a/source/java/org/alfresco/repo/content/transform/TransformerConfigSupported.java +++ b/source/java/org/alfresco/repo/content/transform/TransformerConfigSupported.java @@ -113,12 +113,12 @@ public class TransformerConfigSupported extends TransformerPropertyNameExtractor if (supportedTransformations == null) { supportedTransformations = new DoubleMap(ANY, ANY); - if (supported) - { - supportedSet = true; - } } supportedTransformations.put(sourceMimetype, targetMimetype, supported); + if (supported) + { + supportedSet = true; + } } boolean isSupported(String sourceMimetype, String targetMimetype) diff --git a/source/java/org/alfresco/repo/content/transform/TransformerDebug.java b/source/java/org/alfresco/repo/content/transform/TransformerDebug.java index eec28c41a4..34f8dd86f6 100644 --- a/source/java/org/alfresco/repo/content/transform/TransformerDebug.java +++ b/source/java/org/alfresco/repo/content/transform/TransformerDebug.java @@ -33,6 +33,7 @@ import java.util.List; import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; +import java.util.TreeSet; import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Pattern; @@ -220,7 +221,7 @@ public class TransformerDebug } @AlfrescoPublicApi - private class UnavailableTransformer + private class UnavailableTransformer implements Comparable { private final String name; private final String priority; @@ -262,6 +263,12 @@ public class TransformerDebug return false; } } + + @Override + public int compareTo(UnavailableTransformer o) + { + return name.compareTo(o.name); + } } private final NodeService nodeService; @@ -385,7 +392,7 @@ public class TransformerDebug boolean debug = (maxSourceSizeKBytes != 0); if (frame.unavailableTransformers == null) { - frame.unavailableTransformers = new HashSet(); + frame.unavailableTransformers = new TreeSet(); } String priority = gePriority(transformer, sourceMimetype, targetMimetype); frame.unavailableTransformers.add(new UnavailableTransformer(name, priority, maxSourceSizeKBytes, debug)); diff --git a/source/test-java/org/alfresco/repo/content/transform/TransformerConfigSupportedTest.java b/source/test-java/org/alfresco/repo/content/transform/TransformerConfigSupportedTest.java index 089bbff40d..97f78868dd 100644 --- a/source/test-java/org/alfresco/repo/content/transform/TransformerConfigSupportedTest.java +++ b/source/test-java/org/alfresco/repo/content/transform/TransformerConfigSupportedTest.java @@ -66,6 +66,9 @@ public class TransformerConfigSupportedTest extractor = new TransformerConfigSupported(transformerProperties, mimetypeService); boolean supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "image/png", options); assertEquals("supported", true, supported); + + supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "image/png", "text/xml", options); + assertEquals("xyz supported", false, supported); } @Test @@ -76,6 +79,9 @@ public class TransformerConfigSupportedTest extractor = new TransformerConfigSupported(transformerProperties, mimetypeService); boolean supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "image/png", options); assertEquals("supported", false, supported); + + supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "image/png", "text/xml", options); + assertEquals("xyz supported", true, supported); } @Test @@ -191,7 +197,7 @@ public class TransformerConfigSupportedTest supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "image/png", options); assertEquals("def supported", false, supported); supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "image/png", "text/xml", options); - assertEquals("xyz supported", true, supported); + assertEquals("xyz supported", false, supported); } @Test diff --git a/source/test-java/org/alfresco/repo/content/transform/TransformerDebugTest.java b/source/test-java/org/alfresco/repo/content/transform/TransformerDebugTest.java index 9bb881ebff..4335bb9ec9 100644 --- a/source/test-java/org/alfresco/repo/content/transform/TransformerDebugTest.java +++ b/source/test-java/org/alfresco/repo/content/transform/TransformerDebugTest.java @@ -18,29 +18,17 @@ */ package org.alfresco.repo.content.transform; -import static org.junit.Assert.*; +import static org.alfresco.repo.content.transform.TransformerDebugLogTest.assertDebugEntriesEquals; +import static org.alfresco.repo.content.transform.TransformerLogTest.assertLogEntriesEquals; +import static org.alfresco.repo.content.transform.TransformerPropertyNameExtractorTest.mockMimetypes; +import static org.mockito.Mockito.when; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.alfresco.service.cmr.repository.MimetypeService; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.TransformationOptions; -import org.apache.commons.logging.Log; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import static org.alfresco.repo.content.transform.TransformerPropertyNameExtractorTest.mockMimetypes; -import static org.alfresco.repo.content.transform.TransformerLogTest.assertLogEntriesEquals; -import static org.alfresco.repo.content.transform.TransformerDebugLogTest.assertDebugEntriesEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.when; - -import org.alfresco.service.cmr.repository.MimetypeService; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; @@ -146,16 +134,16 @@ public class TransformerDebugTest // Prior to the fix the following we returned: // "0 pdf txt 1.5 MB ContentService.transform(...) NO transformers\n"+ // "0 --b) [---] transformer1<> > 50 KB\n"+ - // "0 --c) [---] transformer4<> > 50 KB\n"+ - // "0 --d) [---] transformer3<> > 50 KB\n"+ + // "0 --c) [---] transformer3<> > 50 KB\n"+ + // "0 --d) [---] transformer4<> > 50 KB\n"+ // "0 Finished in NN ms Transformer NOT called\n" // // "0 pdf txt WARN 1.5 MB NN ms No transformers as file is > 0 bytes" assertDebugEntriesEquals(new String[] { "0 pdf txt 1.5 MB ContentService.transform(...) NO transformers\n"+ "0 --a) [---] transformer1<> > 50 KB\n"+ - "0 --b) [---] transformer4<> > 50 KB\n"+ - "0 --c) [---] transformer3<> > 50 KB\n"+ + "0 --b) [---] transformer3<> > 50 KB\n"+ + "0 --c) [---] transformer4<> > 50 KB\n"+ "0 Finished in NN ms Transformer NOT called\n"}, untimed(debug.getEntries(10))); assertLogEntriesEquals(new String[] { "0 pdf txt WARN 1.5 MB NN ms No transformers as file is > 50 KB"}, untimed(log.getEntries(10)));