mirror of
https://github.com/Alfresco/alfresco-transform-core.git
synced 2025-05-12 17:04:48 +00:00
ACS-3118 Check the size of intermmitent results in a pipeline (#629)
Set the size of a transform result in the Reply to the t-router. Tidy up code: Avoid having to add the transformName to the transformOptions in the Controller class and then remove it in Transformer interface.
This commit is contained in:
parent
7a4d3c14ce
commit
60eb104bc0
@ -71,12 +71,9 @@ public class AIOController extends AbstractTransformerController
|
|||||||
return getTransformerName() + " available";
|
return getTransformerName() + " available";
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO ATS-713 Currently uses the Misc probeTest. The implementation will need to be changed such that the test can be selected based on the required transform
|
|
||||||
@Override
|
@Override
|
||||||
public ProbeTestTransform getProbeTestTransform()
|
public ProbeTestTransform getProbeTestTransform()
|
||||||
{
|
{
|
||||||
// HtmlParserContentTransformer html -> text
|
|
||||||
// See the Javadoc on this method and Probes.md for the choice of these values.
|
|
||||||
return new ProbeTestTransform(this, "quick.html", "quick.txt",
|
return new ProbeTestTransform(this, "quick.html", "quick.txt",
|
||||||
119, 30, 150, 1024,
|
119, 30, 150, 1024,
|
||||||
60 * 2 + 1, 60 * 2)
|
60 * 2 + 1, 60 * 2)
|
||||||
@ -120,7 +117,6 @@ public class AIOController extends AbstractTransformerController
|
|||||||
logger.debug("Performing transform with name '{}' using transformer with id '{}'.", transformName, transformer.getTransformerId());
|
logger.debug("Performing transform with name '{}' using transformer with id '{}'.", transformName, transformer.getTransformerId());
|
||||||
}
|
}
|
||||||
|
|
||||||
transformOptions.put(TRANSFORM_NAME_PARAMETER, transformName);
|
transformer.transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
||||||
transformer.transform(sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -184,9 +184,8 @@ public class AIOTransformRegistryTest
|
|||||||
|
|
||||||
Map<String, String> parameters = new HashMap<>();
|
Map<String, String> parameters = new HashMap<>();
|
||||||
parameters.put(SOURCE_ENCODING, "ISO-8859-1");
|
parameters.put(SOURCE_ENCODING, "ISO-8859-1");
|
||||||
parameters.put(TRANSFORM_NAME_PARAMETER, "html");
|
|
||||||
Transformer transformer = aioTransformerRegistry.getByTransformName("html");
|
Transformer transformer = aioTransformerRegistry.getByTransformName("html");
|
||||||
transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD);
|
transformer.transformExtractOrEmbed("html", SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD);
|
||||||
|
|
||||||
assertEquals(expected, readFromFile(tmpD, "UTF-8"));
|
assertEquals(expected, readFromFile(tmpD, "UTF-8"));
|
||||||
tmpS.delete();
|
tmpS.delete();
|
||||||
@ -198,9 +197,8 @@ public class AIOTransformRegistryTest
|
|||||||
|
|
||||||
tmpD = File.createTempFile("AlfrescoTestTarget_", ".txt");
|
tmpD = File.createTempFile("AlfrescoTestTarget_", ".txt");
|
||||||
parameters = new HashMap<>();
|
parameters = new HashMap<>();
|
||||||
parameters.put(TRANSFORM_NAME_PARAMETER, "html");
|
|
||||||
parameters.put(SOURCE_ENCODING, "UTF-8");
|
parameters.put(SOURCE_ENCODING, "UTF-8");
|
||||||
transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD);
|
transformer.transformExtractOrEmbed("html", SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD);
|
||||||
assertEquals(expected, readFromFile(tmpD, "UTF-8"));
|
assertEquals(expected, readFromFile(tmpD, "UTF-8"));
|
||||||
tmpS.delete();
|
tmpS.delete();
|
||||||
tmpD.delete();
|
tmpD.delete();
|
||||||
@ -211,9 +209,8 @@ public class AIOTransformRegistryTest
|
|||||||
|
|
||||||
tmpD = File.createTempFile("AlfrescoTestTarget_", ".txt");
|
tmpD = File.createTempFile("AlfrescoTestTarget_", ".txt");
|
||||||
parameters = new HashMap<>();
|
parameters = new HashMap<>();
|
||||||
parameters.put(TRANSFORM_NAME_PARAMETER, "html");
|
|
||||||
parameters.put(SOURCE_ENCODING, "UTF-16");
|
parameters.put(SOURCE_ENCODING, "UTF-16");
|
||||||
transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD);
|
transformer.transformExtractOrEmbed("html", SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD);
|
||||||
assertEquals(expected, readFromFile(tmpD, "UTF-8"));
|
assertEquals(expected, readFromFile(tmpD, "UTF-8"));
|
||||||
tmpS.delete();
|
tmpS.delete();
|
||||||
tmpD.delete();
|
tmpD.delete();
|
||||||
@ -237,9 +234,8 @@ public class AIOTransformRegistryTest
|
|||||||
tmpD = File.createTempFile("AlfrescoTestTarget_", ".txt");
|
tmpD = File.createTempFile("AlfrescoTestTarget_", ".txt");
|
||||||
|
|
||||||
parameters = new HashMap<>();
|
parameters = new HashMap<>();
|
||||||
parameters.put(TRANSFORM_NAME_PARAMETER, "html");
|
|
||||||
parameters.put(SOURCE_ENCODING, "ISO-8859-1");
|
parameters.put(SOURCE_ENCODING, "ISO-8859-1");
|
||||||
transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD);
|
transformer.transformExtractOrEmbed("html", SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD);
|
||||||
assertEquals(expected, readFromFile(tmpD, "UTF-8"));
|
assertEquals(expected, readFromFile(tmpD, "UTF-8"));
|
||||||
tmpS.delete();
|
tmpS.delete();
|
||||||
tmpD.delete();
|
tmpD.delete();
|
||||||
@ -295,9 +291,8 @@ public class AIOTransformRegistryTest
|
|||||||
// Transform to PDF
|
// Transform to PDF
|
||||||
Map<String, String> parameters = new HashMap<>();
|
Map<String, String> parameters = new HashMap<>();
|
||||||
parameters.put(PAGE_LIMIT, pageLimit);
|
parameters.put(PAGE_LIMIT, pageLimit);
|
||||||
parameters.put(TRANSFORM_NAME_PARAMETER, "textToPdf");
|
|
||||||
Transformer transformer = aioTransformerRegistry.getByTransformName("textToPdf");
|
Transformer transformer = aioTransformerRegistry.getByTransformName("textToPdf");
|
||||||
transformer.transform("text/plain", "application/pdf", parameters, sourceFile, targetFile);
|
transformer.transformExtractOrEmbed("textToPdf", "text/plain", "application/pdf", parameters, sourceFile, targetFile);
|
||||||
|
|
||||||
// Read back in the PDF and check it
|
// Read back in the PDF and check it
|
||||||
PDDocument doc = PDDocument.load(targetFile);
|
PDDocument doc = PDDocument.load(targetFile);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -126,6 +126,6 @@ public class ImageMagickController extends AbstractTransformerController
|
|||||||
public void transformImpl(String transformName, String sourceMimetype, String targetMimetype,
|
public void transformImpl(String transformName, String sourceMimetype, String targetMimetype,
|
||||||
Map<String, String> transformOptions, File sourceFile, File targetFile)
|
Map<String, String> transformOptions, File sourceFile, File targetFile)
|
||||||
{
|
{
|
||||||
commandExecutor.transform(sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
commandExecutor.transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -128,6 +128,6 @@ public class LibreOfficeController extends AbstractTransformerController
|
|||||||
public void transformImpl(String transformName, String sourceMimetype, String targetMimetype,
|
public void transformImpl(String transformName, String sourceMimetype, String targetMimetype,
|
||||||
Map<String, String> transformOptions, File sourceFile, File targetFile)
|
Map<String, String> transformOptions, File sourceFile, File targetFile)
|
||||||
{
|
{
|
||||||
javaExecutor.transform(sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
javaExecutor.transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -83,7 +83,6 @@ public class MiscController extends AbstractTransformerController
|
|||||||
public void transformImpl(String transformName, String sourceMimetype, String targetMimetype,
|
public void transformImpl(String transformName, String sourceMimetype, String targetMimetype,
|
||||||
Map<String, String> transformOptions, File sourceFile, File targetFile)
|
Map<String, String> transformOptions, File sourceFile, File targetFile)
|
||||||
{
|
{
|
||||||
transformOptions.put(TRANSFORM_NAME_PARAMETER, transformName);
|
transformer.transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
||||||
transformer.transform(sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -113,6 +113,6 @@ public class AlfrescoPdfRendererController extends AbstractTransformerController
|
|||||||
public void transformImpl(String transformName, String sourceMimetype, String targetMimetype,
|
public void transformImpl(String transformName, String sourceMimetype, String targetMimetype,
|
||||||
Map<String, String> transformOptions, File sourceFile, File targetFile)
|
Map<String, String> transformOptions, File sourceFile, File targetFile)
|
||||||
{
|
{
|
||||||
commandExecutor.transform(sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
commandExecutor.transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -40,7 +40,6 @@ import java.util.Map;
|
|||||||
import static org.alfresco.transformer.executors.Tika.PDF_BOX;
|
import static org.alfresco.transformer.executors.Tika.PDF_BOX;
|
||||||
import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_PDF;
|
import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_PDF;
|
||||||
import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_TEXT_PLAIN;
|
import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_TEXT_PLAIN;
|
||||||
import static org.alfresco.transformer.util.RequestParamMap.TRANSFORM_NAME_PARAMETER;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller for the Docker based Tika transformers.
|
* Controller for the Docker based Tika transformers.
|
||||||
@ -107,7 +106,6 @@ public class TikaController extends AbstractTransformerController
|
|||||||
public void transformImpl(String transformName, String sourceMimetype, String targetMimetype,
|
public void transformImpl(String transformName, String sourceMimetype, String targetMimetype,
|
||||||
Map<String, String> transformOptions, File sourceFile, File targetFile)
|
Map<String, String> transformOptions, File sourceFile, File targetFile)
|
||||||
{
|
{
|
||||||
transformOptions.put(TRANSFORM_NAME_PARAMETER, transformName);
|
javaExecutor.transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
||||||
javaExecutor.transform(sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -352,6 +352,7 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
transformerDebug.logOptions(request);
|
transformerDebug.logOptions(request);
|
||||||
String transformName = getTransformerName(sourceFile, sourceMimetype, targetMimetype, transformOptions);
|
String transformName = getTransformerName(sourceFile, sourceMimetype, targetMimetype, transformOptions);
|
||||||
transformImpl(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
transformImpl(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
||||||
|
reply.getInternalContext().setCurrentSourceSize(targetFile.length());
|
||||||
}
|
}
|
||||||
catch (TransformException e)
|
catch (TransformException e)
|
||||||
{
|
{
|
||||||
|
@ -4,7 +4,7 @@ package org.alfresco.transformer.executors;
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -52,11 +52,17 @@ public interface Transformer
|
|||||||
String getTransformerId();
|
String getTransformerId();
|
||||||
|
|
||||||
default void transform(String sourceMimetype, String targetMimetype, Map<String, String> transformOptions,
|
default void transform(String sourceMimetype, String targetMimetype, Map<String, String> transformOptions,
|
||||||
File sourceFile, File targetFile) throws TransformException
|
File sourceFile, File targetFile) throws TransformException {
|
||||||
|
final String transformName = transformOptions.remove(TRANSFORM_NAME_PARAMETER);
|
||||||
|
transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
default void transformExtractOrEmbed(String transformName, String sourceMimetype, String targetMimetype,
|
||||||
|
Map<String, String> transformOptions,
|
||||||
|
File sourceFile, File targetFile) throws TransformException
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
final String transformName = transformOptions.remove(TRANSFORM_NAME_PARAMETER);
|
|
||||||
if (MIMETYPE_METADATA_EXTRACT.equals(targetMimetype))
|
if (MIMETYPE_METADATA_EXTRACT.equals(targetMimetype))
|
||||||
{
|
{
|
||||||
extractMetadata(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
extractMetadata(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user