mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
Merged 5.2.N (5.2.1) to HEAD (5.2)
128569 adavis: MNT-16381 Transformers must validate the content stream mimetype - Ensure error when indexer is the caller includes the file name rather than null. NodeContentGet now calls transform method with TransformationOptions parameter and the original transformer method was deprecated as it should be been when this extra parameter was added. - Set the strictMimeTypeCheck and retryTransformOnDifferentMimeType properties on dynamically created pipeline and fail over transformers from global properties as is don for static transformers. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@129293 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -657,6 +657,11 @@ public abstract class AbstractContentTransformer2 extends AbstractContentTransfo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Object getRetryTransformOnDifferentMimeType()
|
||||||
|
{
|
||||||
|
return retryTransformOnDifferentMimeType;
|
||||||
|
}
|
||||||
|
|
||||||
public void setRetryTransformOnDifferentMimeType(boolean retryTransformOnDifferentMimeType)
|
public void setRetryTransformOnDifferentMimeType(boolean retryTransformOnDifferentMimeType)
|
||||||
{
|
{
|
||||||
this.retryTransformOnDifferentMimeType = retryTransformOnDifferentMimeType;
|
this.retryTransformOnDifferentMimeType = retryTransformOnDifferentMimeType;
|
||||||
|
@@ -139,6 +139,9 @@ public interface ContentTransformer extends ContentWorker
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @see #transform(ContentReader, ContentWriter, TransformationOptions)
|
* @see #transform(ContentReader, ContentWriter, TransformationOptions)
|
||||||
|
*
|
||||||
|
* @deprecated
|
||||||
|
* Deprecated use {link {@link #transform(ContentReader, ContentWriter, TransformationOptions)}.
|
||||||
*/
|
*/
|
||||||
public void transform(ContentReader reader, ContentWriter writer) throws ContentIOException;
|
public void transform(ContentReader reader, ContentWriter writer) throws ContentIOException;
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@ import java.util.Arrays;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
import org.alfresco.error.AlfrescoRuntimeException;
|
import org.alfresco.error.AlfrescoRuntimeException;
|
||||||
import org.alfresco.repo.content.MimetypeMap;
|
import org.alfresco.repo.content.MimetypeMap;
|
||||||
@@ -60,15 +61,17 @@ public class TransformerConfigDynamicTransformers extends TransformerPropertyNam
|
|||||||
|
|
||||||
public TransformerConfigDynamicTransformers(TransformerConfig transformerConfig, TransformerProperties transformerProperties,
|
public TransformerConfigDynamicTransformers(TransformerConfig transformerConfig, TransformerProperties transformerProperties,
|
||||||
MimetypeService mimetypeService, ContentService contentService, ContentTransformerRegistry transformerRegistry,
|
MimetypeService mimetypeService, ContentService contentService, ContentTransformerRegistry transformerRegistry,
|
||||||
TransformerDebug transformerDebug, ModuleService moduleService, DescriptorService descriptorService)
|
TransformerDebug transformerDebug, ModuleService moduleService, DescriptorService descriptorService,
|
||||||
|
Properties globalProperties)
|
||||||
{
|
{
|
||||||
createDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
createDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, moduleService, descriptorService);
|
transformerRegistry, transformerDebug, moduleService, descriptorService, globalProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createDynamicTransformers(TransformerConfig transformerConfig, TransformerProperties transformerProperties,
|
private void createDynamicTransformers(TransformerConfig transformerConfig, TransformerProperties transformerProperties,
|
||||||
MimetypeService mimetypeService, ContentService contentService, ContentTransformerRegistry transformerRegistry,
|
MimetypeService mimetypeService, ContentService contentService, ContentTransformerRegistry transformerRegistry,
|
||||||
TransformerDebug transformerDebug, ModuleService moduleService, DescriptorService descriptorService)
|
TransformerDebug transformerDebug, ModuleService moduleService, DescriptorService descriptorService,
|
||||||
|
Properties globalProperties)
|
||||||
{
|
{
|
||||||
Collection<String> SUFFIXES = Arrays.asList(new String [] {
|
Collection<String> SUFFIXES = Arrays.asList(new String [] {
|
||||||
FAILOVER,
|
FAILOVER,
|
||||||
@@ -118,9 +121,11 @@ public class TransformerConfigDynamicTransformers extends TransformerPropertyNam
|
|||||||
|
|
||||||
AbstractContentTransformer2 transformer = property.suffix.equals(PIPELINE)
|
AbstractContentTransformer2 transformer = property.suffix.equals(PIPELINE)
|
||||||
? createComplexTransformer(property, transformerConfig, mimetypeService,
|
? createComplexTransformer(property, transformerConfig, mimetypeService,
|
||||||
contentService, transformerRegistry, transformerDebug, available)
|
contentService, transformerRegistry, transformerDebug, available,
|
||||||
|
globalProperties)
|
||||||
: createFailoverTransformer(property, transformerConfig, mimetypeService,
|
: createFailoverTransformer(property, transformerConfig, mimetypeService,
|
||||||
contentService, transformerRegistry, transformerDebug, available);
|
contentService, transformerRegistry, transformerDebug, available,
|
||||||
|
globalProperties);
|
||||||
transformer.register();
|
transformer.register();
|
||||||
processed.add(property);
|
processed.add(property);
|
||||||
dynamicTransformers.add(transformer);
|
dynamicTransformers.add(transformer);
|
||||||
@@ -168,7 +173,7 @@ public class TransformerConfigDynamicTransformers extends TransformerPropertyNam
|
|||||||
TransformerConfig transformerConfig,
|
TransformerConfig transformerConfig,
|
||||||
MimetypeService mimetypeService, ContentService contentService,
|
MimetypeService mimetypeService, ContentService contentService,
|
||||||
ContentTransformerRegistry transformerRegistry, TransformerDebug transformerDebug,
|
ContentTransformerRegistry transformerRegistry, TransformerDebug transformerDebug,
|
||||||
boolean available)
|
boolean available, Properties globalProperties)
|
||||||
{
|
{
|
||||||
List<ContentTransformer> transformers = new ArrayList<ContentTransformer>();
|
List<ContentTransformer> transformers = new ArrayList<ContentTransformer>();
|
||||||
List<String> intermediateMimetypes = new ArrayList<String>();
|
List<String> intermediateMimetypes = new ArrayList<String>();
|
||||||
@@ -185,7 +190,7 @@ public class TransformerConfigDynamicTransformers extends TransformerPropertyNam
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
setupContentTransformer2(property, transformerConfig, mimetypeService, contentService,
|
setupContentTransformer2(property, transformerConfig, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, available, transformer, transformers);
|
transformerRegistry, transformerDebug, available, transformer, transformers, globalProperties);
|
||||||
|
|
||||||
// baseComplexContentTransformer
|
// baseComplexContentTransformer
|
||||||
transformer.setContentService(contentService);
|
transformer.setContentService(contentService);
|
||||||
@@ -201,7 +206,7 @@ public class TransformerConfigDynamicTransformers extends TransformerPropertyNam
|
|||||||
TransformerConfig transformerConfig,
|
TransformerConfig transformerConfig,
|
||||||
MimetypeService mimetypeService, ContentService contentService,
|
MimetypeService mimetypeService, ContentService contentService,
|
||||||
ContentTransformerRegistry transformerRegistry, TransformerDebug transformerDebug,
|
ContentTransformerRegistry transformerRegistry, TransformerDebug transformerDebug,
|
||||||
boolean available)
|
boolean available, Properties globalProperties)
|
||||||
{
|
{
|
||||||
List<ContentTransformer> transformers = new ArrayList<ContentTransformer>();
|
List<ContentTransformer> transformers = new ArrayList<ContentTransformer>();
|
||||||
|
|
||||||
@@ -217,7 +222,7 @@ public class TransformerConfigDynamicTransformers extends TransformerPropertyNam
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
setupContentTransformer2(property, transformerConfig, mimetypeService, contentService,
|
setupContentTransformer2(property, transformerConfig, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, available, transformer, transformers);
|
transformerRegistry, transformerDebug, available, transformer, transformers, globalProperties);
|
||||||
|
|
||||||
// FailoverContentTransformer
|
// FailoverContentTransformer
|
||||||
transformer.setTransformers(transformers);
|
transformer.setTransformers(transformers);
|
||||||
@@ -286,7 +291,8 @@ public class TransformerConfigDynamicTransformers extends TransformerPropertyNam
|
|||||||
TransformerConfig transformerConfig, MimetypeService mimetypeService,
|
TransformerConfig transformerConfig, MimetypeService mimetypeService,
|
||||||
ContentService contentService, ContentTransformerRegistry transformerRegistry,
|
ContentService contentService, ContentTransformerRegistry transformerRegistry,
|
||||||
TransformerDebug transformerDebug, boolean available,
|
TransformerDebug transformerDebug, boolean available,
|
||||||
AbstractContentTransformer2 transformer, List<ContentTransformer> transformers)
|
AbstractContentTransformer2 transformer, List<ContentTransformer> transformers,
|
||||||
|
Properties globalProperties)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -312,6 +318,14 @@ public class TransformerConfigDynamicTransformers extends TransformerPropertyNam
|
|||||||
// AbstractContentTransformer2
|
// AbstractContentTransformer2
|
||||||
transformer.setBeanName(property.transformerName);
|
transformer.setBeanName(property.transformerName);
|
||||||
transformer.setRegisterTransformer(available);
|
transformer.setRegisterTransformer(available);
|
||||||
|
transformer.setStrictMimeTypeCheck(getBoolean(globalProperties, "content.transformer.strict.mimetype.check"));
|
||||||
|
transformer.setRetryTransformOnDifferentMimeType(getBoolean(globalProperties, "content.transformer.retryOn.different.mimetype"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean getBoolean(Properties properties, String name)
|
||||||
|
{
|
||||||
|
String value = properties == null ? null : properties.getProperty(name);
|
||||||
|
return "true".equalsIgnoreCase(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void error(String msg)
|
private void error(String msg)
|
||||||
|
@@ -168,7 +168,7 @@ public class TransformerConfigImpl extends AbstractLifecycleBean implements Tran
|
|||||||
transformerProperties = new TransformerProperties(subsystem, globalProperties);
|
transformerProperties = new TransformerProperties(subsystem, globalProperties);
|
||||||
|
|
||||||
dynamicTransformers = new TransformerConfigDynamicTransformers(this, transformerProperties, mimetypeService,
|
dynamicTransformers = new TransformerConfigDynamicTransformers(this, transformerProperties, mimetypeService,
|
||||||
contentService, transformerRegistry, transformerDebug, moduleService, descriptorService);
|
contentService, transformerRegistry, transformerDebug, moduleService, descriptorService, globalProperties);
|
||||||
statistics= new TransformerConfigStatistics(this, mimetypeService);
|
statistics= new TransformerConfigStatistics(this, mimetypeService);
|
||||||
limits = new TransformerConfigLimits(transformerProperties, mimetypeService);
|
limits = new TransformerConfigLimits(transformerProperties, mimetypeService);
|
||||||
supported = new TransformerConfigSupported(transformerProperties, mimetypeService);
|
supported = new TransformerConfigSupported(transformerProperties, mimetypeService);
|
||||||
|
@@ -27,23 +27,18 @@ package org.alfresco.repo.content.transform;
|
|||||||
|
|
||||||
import static org.alfresco.repo.content.transform.TransformerPropertyNameExtractorTest.mockMimetypes;
|
import static org.alfresco.repo.content.transform.TransformerPropertyNameExtractorTest.mockMimetypes;
|
||||||
import static org.alfresco.repo.content.transform.TransformerPropertyNameExtractorTest.mockProperties;
|
import static org.alfresco.repo.content.transform.TransformerPropertyNameExtractorTest.mockProperties;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Properties;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import org.alfresco.service.cmr.module.ModuleDetails;
|
import org.alfresco.service.cmr.module.ModuleDetails;
|
||||||
import org.alfresco.service.cmr.module.ModuleService;
|
import org.alfresco.service.cmr.module.ModuleService;
|
||||||
import org.alfresco.service.cmr.repository.ContentService;
|
import org.alfresco.service.cmr.repository.ContentService;
|
||||||
import org.alfresco.service.cmr.repository.MimetypeService;
|
import org.alfresco.service.cmr.repository.MimetypeService;
|
||||||
import org.alfresco.service.cmr.repository.TransformationOptionLimits;
|
|
||||||
import org.alfresco.service.cmr.repository.TransformationOptions;
|
import org.alfresco.service.cmr.repository.TransformationOptions;
|
||||||
import org.alfresco.service.descriptor.Descriptor;
|
import org.alfresco.service.descriptor.Descriptor;
|
||||||
import org.alfresco.service.descriptor.DescriptorService;
|
import org.alfresco.service.descriptor.DescriptorService;
|
||||||
import org.joda.time.DateTime;
|
|
||||||
import org.joda.time.format.DateTimeFormat;
|
|
||||||
import org.joda.time.format.DateTimeFormatter;
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
@@ -121,7 +116,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.pipeline", "transformer1|pdf|transformer2|png|transformer3");
|
"content.transformer.transformerA.pipeline", "transformer1|pdf|transformer2|png|transformer3");
|
||||||
|
|
||||||
assertEquals(0, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
assertEquals(0, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null).getErrorCount());
|
transformerRegistry, transformerDebug, null, null, null).getErrorCount());
|
||||||
|
|
||||||
assertEquals(4, transformerRegistry.getAllTransformers().size());
|
assertEquals(4, transformerRegistry.getAllTransformers().size());
|
||||||
assertEquals(1, transformerRegistry.getTransformers().size());
|
assertEquals(1, transformerRegistry.getTransformers().size());
|
||||||
@@ -152,7 +147,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.pipeline", "transformer1|pdf");
|
"content.transformer.transformerA.pipeline", "transformer1|pdf");
|
||||||
|
|
||||||
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null).getErrorCount());
|
transformerRegistry, transformerDebug, null, null, null).getErrorCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -163,7 +158,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.pipeline", "transformer1|pdf|transformer2|png");
|
"content.transformer.transformerA.pipeline", "transformer1|pdf|transformer2|png");
|
||||||
|
|
||||||
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null).getErrorCount());
|
transformerRegistry, transformerDebug, null, null, null).getErrorCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -174,7 +169,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformer3.pipeline", "transformer1|pdf|transformer2");
|
"content.transformer.transformer3.pipeline", "transformer1|pdf|transformer2");
|
||||||
|
|
||||||
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null).getErrorCount());
|
transformerRegistry, transformerDebug, null, null, null).getErrorCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -185,7 +180,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.pipeline", "transformer1|*|transformer2|png|transformer3");
|
"content.transformer.transformerA.pipeline", "transformer1|*|transformer2|png|transformer3");
|
||||||
|
|
||||||
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null);
|
transformerRegistry, transformerDebug, null, null, null);
|
||||||
|
|
||||||
transformerRegistry.getTransformer("transformer.transformerA");
|
transformerRegistry.getTransformer("transformer.transformerA");
|
||||||
}
|
}
|
||||||
@@ -198,7 +193,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.pipeline", "transformer1|pdf|*|png|transformer3");
|
"content.transformer.transformerA.pipeline", "transformer1|pdf|*|png|transformer3");
|
||||||
|
|
||||||
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null);
|
transformerRegistry, transformerDebug, null, null, null);
|
||||||
|
|
||||||
transformerRegistry.getTransformer("transformer.transformerA");
|
transformerRegistry.getTransformer("transformer.transformerA");
|
||||||
}
|
}
|
||||||
@@ -211,7 +206,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.pipeline", "unknown1|pdf|unknown2|png|unknown3");
|
"content.transformer.transformerA.pipeline", "unknown1|pdf|unknown2|png|unknown3");
|
||||||
|
|
||||||
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null).getErrorCount());
|
transformerRegistry, transformerDebug, null, null, null).getErrorCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -223,7 +218,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.available", "false");
|
"content.transformer.transformerA.available", "false");
|
||||||
|
|
||||||
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null);
|
transformerRegistry, transformerDebug, null, null, null);
|
||||||
|
|
||||||
assertEquals(4, transformerRegistry.getAllTransformers().size());
|
assertEquals(4, transformerRegistry.getAllTransformers().size());
|
||||||
assertEquals(0, transformerRegistry.getTransformers().size()); // << note 0 rather than 1
|
assertEquals(0, transformerRegistry.getTransformers().size()); // << note 0 rather than 1
|
||||||
@@ -241,7 +236,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.failover", "transformer1|transformer2|transformer3");
|
"content.transformer.transformerA.failover", "transformer1|transformer2|transformer3");
|
||||||
|
|
||||||
assertEquals(0, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
assertEquals(0, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null).getErrorCount());
|
transformerRegistry, transformerDebug, null, null, null).getErrorCount());
|
||||||
|
|
||||||
assertEquals(4, transformerRegistry.getAllTransformers().size());
|
assertEquals(4, transformerRegistry.getAllTransformers().size());
|
||||||
assertEquals(1, transformerRegistry.getTransformers().size());
|
assertEquals(1, transformerRegistry.getTransformers().size());
|
||||||
@@ -258,7 +253,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.failover", "transformer1");
|
"content.transformer.transformerA.failover", "transformer1");
|
||||||
|
|
||||||
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null).getErrorCount());
|
transformerRegistry, transformerDebug, null, null, null).getErrorCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -269,7 +264,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformer3.failover", "transformer1|transformer2");
|
"content.transformer.transformer3.failover", "transformer1|transformer2");
|
||||||
|
|
||||||
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null).getErrorCount());
|
transformerRegistry, transformerDebug, null, null, null).getErrorCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -280,7 +275,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.failover", "transformer1|*|transformer3");
|
"content.transformer.transformerA.failover", "transformer1|*|transformer3");
|
||||||
|
|
||||||
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null);
|
transformerRegistry, transformerDebug, null, null, null);
|
||||||
|
|
||||||
transformerRegistry.getTransformer("transformer.transformerA");
|
transformerRegistry.getTransformer("transformer.transformerA");
|
||||||
}
|
}
|
||||||
@@ -293,7 +288,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.failover", "unknown1|unknown2|unknown3");
|
"content.transformer.transformerA.failover", "unknown1|unknown2|unknown3");
|
||||||
|
|
||||||
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
assertEquals(1, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null).getErrorCount());
|
transformerRegistry, transformerDebug, null, null, null).getErrorCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -305,7 +300,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.available", "false");
|
"content.transformer.transformerA.available", "false");
|
||||||
|
|
||||||
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null);
|
transformerRegistry, transformerDebug, null, null, null);
|
||||||
|
|
||||||
assertEquals(4, transformerRegistry.getAllTransformers().size());
|
assertEquals(4, transformerRegistry.getAllTransformers().size());
|
||||||
assertEquals(0, transformerRegistry.getTransformers().size()); // << note 0 rather than 1
|
assertEquals(0, transformerRegistry.getTransformers().size()); // << note 0 rather than 1
|
||||||
@@ -325,7 +320,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerE.failover", "transformer1|transformer1");
|
"content.transformer.transformerE.failover", "transformer1|transformer1");
|
||||||
|
|
||||||
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null);
|
transformerRegistry, transformerDebug, null, null, null);
|
||||||
|
|
||||||
assertEquals(5, transformerRegistry.getTransformers().size());
|
assertEquals(5, transformerRegistry.getTransformers().size());
|
||||||
|
|
||||||
@@ -344,7 +339,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerE.failover", "transformer1|transformerC");
|
"content.transformer.transformerE.failover", "transformer1|transformerC");
|
||||||
|
|
||||||
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, null);
|
transformerRegistry, transformerDebug, null, null, null);
|
||||||
|
|
||||||
assertEquals(2, transformerRegistry.getTransformers().size());
|
assertEquals(2, transformerRegistry.getTransformers().size());
|
||||||
|
|
||||||
@@ -361,7 +356,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.edition", "Enterprise");
|
"content.transformer.transformerA.edition", "Enterprise");
|
||||||
|
|
||||||
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, null, descriptorService);
|
transformerRegistry, transformerDebug, null, descriptorService, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ampTransformer(String moduleId)
|
private void ampTransformer(String moduleId)
|
||||||
@@ -373,7 +368,7 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
"content.transformer.transformerA.amp", moduleId);
|
"content.transformer.transformerA.amp", moduleId);
|
||||||
|
|
||||||
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
transformerRegistry, transformerDebug, moduleService, null);
|
transformerRegistry, transformerDebug, moduleService, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -410,4 +405,81 @@ public class TransformerConfigDynamicTransformersTest
|
|||||||
|
|
||||||
assertEquals(4, transformerRegistry.getAllTransformers().size());
|
assertEquals(4, transformerRegistry.getAllTransformers().size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// for MNT-16381
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void failoverPropertyFFTest()
|
||||||
|
{
|
||||||
|
internalProprtyTest(false, false, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void failoverPropertyFTTest()
|
||||||
|
{
|
||||||
|
internalProprtyTest(false, false, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void failoverPropertyTFTest()
|
||||||
|
{
|
||||||
|
internalProprtyTest(false, true, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void failoverPropertyTTTest()
|
||||||
|
{
|
||||||
|
internalProprtyTest(false, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void pipelinePropertyFFTest()
|
||||||
|
{
|
||||||
|
internalProprtyTest(true, false, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void pipelinePropertyFTTest()
|
||||||
|
{
|
||||||
|
internalProprtyTest(true, false, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void pipelinePropertyTFTest()
|
||||||
|
{
|
||||||
|
internalProprtyTest(true, true, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void pipelinePropertyTTTest()
|
||||||
|
{
|
||||||
|
internalProprtyTest(true, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void internalProprtyTest(boolean pipeline, boolean expectedRetry, boolean expectedCheck)
|
||||||
|
{
|
||||||
|
String[] transformerNamesAndValues = pipeline
|
||||||
|
? new String[] {"content.transformer.transformerA.pipeline", "transformer1|pdf|transformer2"}
|
||||||
|
: new String[] {"content.transformer.transformerA.failover", "transformer1|transformer2|transformer3"};
|
||||||
|
|
||||||
|
Properties properties = new Properties();
|
||||||
|
if (expectedRetry)
|
||||||
|
{
|
||||||
|
properties.setProperty("content.transformer.retryOn.different.mimetype", "true");
|
||||||
|
}
|
||||||
|
if (expectedCheck)
|
||||||
|
{
|
||||||
|
properties.setProperty("content.transformer.strict.mimetype.check", "true");
|
||||||
|
}
|
||||||
|
|
||||||
|
mockProperties(transformerProperties, transformerNamesAndValues);
|
||||||
|
|
||||||
|
assertEquals(0, new TransformerConfigDynamicTransformers(transformerConfig, transformerProperties, mimetypeService, contentService,
|
||||||
|
transformerRegistry, transformerDebug, null, null, properties).getErrorCount());
|
||||||
|
|
||||||
|
// Throws an exception if it does not exist
|
||||||
|
AbstractContentTransformer2 transformer = (AbstractContentTransformer2)transformerRegistry.getTransformer("transformer.transformerA");
|
||||||
|
assertEquals("retryTransformOnDifferentMimeType was not set", expectedRetry, transformer.getRetryTransformOnDifferentMimeType());
|
||||||
|
assertEquals("strictMimetypeCheck was not set", expectedCheck, transformer.getStrictMimeTypeCheck());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user