diff --git a/source/java/org/alfresco/repo/content/transform/UnoContentTransformer.java b/source/java/org/alfresco/repo/content/transform/UnoContentTransformer.java index e01bad7702..a5fe2d017a 100644 --- a/source/java/org/alfresco/repo/content/transform/UnoContentTransformer.java +++ b/source/java/org/alfresco/repo/content/transform/UnoContentTransformer.java @@ -35,7 +35,11 @@ import org.alfresco.util.TempFileProvider; /** * Makes use of the OpenOffice Uno interfaces to convert the content. *

- * The conversions are slow but reliable. + * The conversions are slow but reliable. Not all possible combinations of transformations + * have been enabled because they don't necessarily work and need to be specifically tested before + * being made available generally. As the conversion process is mostly automated, the introduction + * of faulty transformations can lead to unnecessary bugs. Feel free to experiment and, assuming + * that the unit test works, report any interesting conversions that can be enabled. * * @author Derek Hulley */ @@ -49,6 +53,12 @@ public class UnoContentTransformer extends AbstractContentTransformer // Build the map of known Uno document formats and store by conversion key formatsByConversion = new HashMap(17); + formatsByConversion.put( + new ContentTransformerRegistry.TransformationKey(MimetypeMap.MIMETYPE_OPENOFFICE_WRITER, MimetypeMap.MIMETYPE_TEXT_PLAIN), + new DocumentFormatWrapper(DocumentFormat.TEXT, 1.0)); + formatsByConversion.put( + new ContentTransformerRegistry.TransformationKey(MimetypeMap.MIMETYPE_OPENDOCUMENT_TEXT, MimetypeMap.MIMETYPE_TEXT_PLAIN), + new DocumentFormatWrapper(DocumentFormat.TEXT, 1.0)); formatsByConversion.put( new ContentTransformerRegistry.TransformationKey(MimetypeMap.MIMETYPE_TEXT_PLAIN, MimetypeMap.MIMETYPE_HTML), new DocumentFormatWrapper(DocumentFormat.HTML_WRITER, 1.0)); @@ -64,9 +74,6 @@ public class UnoContentTransformer extends AbstractContentTransformer formatsByConversion.put( new ContentTransformerRegistry.TransformationKey(MimetypeMap.MIMETYPE_WORD, MimetypeMap.MIMETYPE_PDF), new DocumentFormatWrapper(DocumentFormat.PDF_WRITER, 1.0)); - formatsByConversion.put( - new ContentTransformerRegistry.TransformationKey(MimetypeMap.MIMETYPE_EXCEL, MimetypeMap.MIMETYPE_TEXT_PLAIN), - new DocumentFormatWrapper(DocumentFormat.TEXT_CALC, 0.8)); // only first sheet extracted formatsByConversion.put( new ContentTransformerRegistry.TransformationKey(MimetypeMap.MIMETYPE_EXCEL, MimetypeMap.MIMETYPE_PDF), new DocumentFormatWrapper(DocumentFormat.PDF_CALC, 1.0)); diff --git a/source/java/org/alfresco/repo/content/transform/UnoContentTransformerTest.java b/source/java/org/alfresco/repo/content/transform/UnoContentTransformerTest.java index afc080e145..76133b224a 100644 --- a/source/java/org/alfresco/repo/content/transform/UnoContentTransformerTest.java +++ b/source/java/org/alfresco/repo/content/transform/UnoContentTransformerTest.java @@ -33,6 +33,7 @@ public class UnoContentTransformerTest extends AbstractContentTransformerTest { transformer = new UnoContentTransformer(); transformer.setMimetypeService(mimetypeMap); + transformer.init(); } /** @@ -65,7 +66,5 @@ public class UnoContentTransformerTest extends AbstractContentTransformerTest assertEquals("Mimetype should be supported", 1.0, reliability); reliability = transformer.getReliability(MimetypeMap.MIMETYPE_WORD, MimetypeMap.MIMETYPE_TEXT_PLAIN); assertEquals("Mimetype should be supported", 1.0, reliability); - reliability = transformer.getReliability(MimetypeMap.MIMETYPE_EXCEL, MimetypeMap.MIMETYPE_TEXT_PLAIN); - assertEquals("Mimetype should be supported", 0.8, reliability); } }