ALF-19700 BM-0013: Soak: V420b227_03: Transformation server overloaded

- Modified the way content.transformer.<transformer name>.extensions.<source>.<target>*.*.supported=[true|false] work
     so they are still backward compatible AND one can define if unmatched mimetypes are supported or not. For example:
     content.transformer.remoteServer.extensions.*.*.supported=false
   - Added properties to transformers.properties so that the Transformation server ONLY supports the transformations
     it did in 4.1.5 AND allows customers to change just one property to allow the Transformation Server to do all 
     transformations that it can with the exception of those that go to text, as generally the default transformers do
     a better job and are faster.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@55704 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2013-09-19 18:53:29 +00:00
parent 92e7f0b794
commit 8de8c548e8
3 changed files with 574 additions and 39 deletions

View File

@@ -54,7 +54,8 @@ public class TransformerConfigSupportedTest
mockMimetypes(mimetypeService,
"application/pdf", "pdf",
"image/png", "png");
"image/png", "png",
"text/xml", "xml");
}
@Test
@@ -144,6 +145,72 @@ public class TransformerConfigSupportedTest
assertEquals("xyz supported", false, supported);
}
@Test
public void withoutDefaultTest()
{
mockProperties(transformerProperties,
"content.transformer.abc.extensions.pdf.*.supported", "false",
"content.transformer.abc.extensions.pdf.png.supported", "true");
extractor = new TransformerConfigSupported(transformerProperties, mimetypeService);
boolean supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "application/pdf", options);
assertEquals("abc supported", false, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "image/png", options);
assertEquals("def supported", true, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "image/png", "text/xml", options);
assertEquals("xyz supported", false, supported); // << not the same in withDefaultTest
}
@Test
public void withDefaultTest()
{
mockProperties(transformerProperties,
"content.transformer.abc.extensions.*.*.supported", "true", // << not the same in withoutDefaultTest
"content.transformer.abc.extensions.pdf.*.supported", "false",
"content.transformer.abc.extensions.pdf.png.supported", "true");
extractor = new TransformerConfigSupported(transformerProperties, mimetypeService);
boolean supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "application/pdf", options);
assertEquals("abc supported", false, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "image/png", options);
assertEquals("def supported", true, supported);
supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "image/png", "text/xml", options);
assertEquals("xyz supported", true, supported); // << not the same in withoutDefaultTest
}
@Test
public void withoutDefaultNegatedTest()
{
mockProperties(transformerProperties,
"content.transformer.abc.extensions.pdf.*.supported", "true",
"content.transformer.abc.extensions.pdf.png.supported", "false");
extractor = new TransformerConfigSupported(transformerProperties, mimetypeService);
boolean supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "application/pdf", options);
assertEquals("abc supported", true, supported);
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);
}
@Test
public void withDefaultNegatedTest()
{
mockProperties(transformerProperties,
"content.transformer.abc.extensions.*.*.supported", "false",
"content.transformer.abc.extensions.pdf.*.supported", "true",
"content.transformer.abc.extensions.pdf.png.supported", "false");
extractor = new TransformerConfigSupported(transformerProperties, mimetypeService);
boolean supported = extractor.isSupportedTransformation((ContentTransformer) new DummyContentTransformer("transformer.abc"), "application/pdf", "application/pdf", options);
assertEquals("abc supported", true, supported);
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", false, supported);
}
@Test
public void bothUnsupportedAndSupportedTest()
{