From 662349a1376e800142cb0a6f1b048d8e7a4287f5 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Sat, 31 Jan 2015 11:52:32 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud) 92488: Merged 5.0.N (5.0.1) to HEAD-BUG-FIX (5.1/Cloud) 92487: Merged V4.2-BUG-FIX (4.2.5) to 5.0.N (5.0.1) 92486: MNT-13015 Some Transformer tests failing in JDK8 - TransformerDebug was listing unsupported transformers in different ways in Java 7 & 8. Had no impact on usage, but broke a test. - Fixed a logic error highlighted by the switch to Java 8 in 5.1 to do with the default supported or unsupported values if there are some supported or unsupported properties specified, but the mimetype transformation being checked was not one of them. I don't think this will have come up causing any problems with the standard configuration defined in transformations.properties, but might in customisations created by customers, which is why this has been committed to 4.2.N. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@94886 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../transform/TransformerConfigSupported.java | 8 +++--- .../content/transform/TransformerDebug.java | 11 ++++++-- .../TransformerConfigSupportedTest.java | 8 +++++- .../transform/TransformerDebugTest.java | 28 ++++++------------- 4 files changed, 28 insertions(+), 27 deletions(-) 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)));