mirror of
https://github.com/Alfresco/alfresco-transform-core.git
synced 2025-07-07 18:24:50 +00:00
ATS-728: Add optional Windows parameters for ImageMagickCommandExecutor (#229)
* ATS-728: Add optional Windows parameters for ImageMagickCommandExecutor * ATS-728: Split logic * ATS-728: Fix newly implemented AIOImageMagick tests
This commit is contained in:
parent
e2ba7676a6
commit
88116fc4af
@ -55,6 +55,12 @@ public class AIOCustomConfig
|
|||||||
@Value("${transform.core.imagemagick.root}")
|
@Value("${transform.core.imagemagick.root}")
|
||||||
private String imageMagickRootPath;
|
private String imageMagickRootPath;
|
||||||
|
|
||||||
|
@Value("${transform.core.imagemagick.coders}")
|
||||||
|
private String imageMagickCodersPath;
|
||||||
|
|
||||||
|
@Value("${transform.core.imagemagick.config}")
|
||||||
|
private String imageMagickConfigPath;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @return Override the TransformRegistryImpl used in {@link AbstractTransformerController}
|
* @return Override the TransformRegistryImpl used in {@link AbstractTransformerController}
|
||||||
@ -66,7 +72,7 @@ public class AIOCustomConfig
|
|||||||
AIOTransformRegistry aioTransformRegistry = new AIOTransformRegistry();
|
AIOTransformRegistry aioTransformRegistry = new AIOTransformRegistry();
|
||||||
aioTransformRegistry.registerTransformer(new MiscAdapter());
|
aioTransformRegistry.registerTransformer(new MiscAdapter());
|
||||||
aioTransformRegistry.registerTransformer(new TikaAdapter());
|
aioTransformRegistry.registerTransformer(new TikaAdapter());
|
||||||
aioTransformRegistry.registerTransformer(new ImageMagickAdapter(imageMagickExePath, imageMagickDynPath, imageMagickRootPath));
|
aioTransformRegistry.registerTransformer(new ImageMagickAdapter(imageMagickExePath, imageMagickDynPath, imageMagickRootPath, imageMagickCodersPath, imageMagickConfigPath));
|
||||||
aioTransformRegistry.registerTransformer(new LibreOfficeAdapter(libreofficePath));
|
aioTransformRegistry.registerTransformer(new LibreOfficeAdapter(libreofficePath));
|
||||||
aioTransformRegistry.registerTransformer(new PdfRendererAdapter(pdfRendererPath));
|
aioTransformRegistry.registerTransformer(new PdfRendererAdapter(pdfRendererPath));
|
||||||
return aioTransformRegistry;
|
return aioTransformRegistry;
|
||||||
|
@ -9,4 +9,6 @@ transform:
|
|||||||
imagemagick:
|
imagemagick:
|
||||||
root: ${IMAGEMAGICK_ROOT:/usr/lib64/ImageMagick-7.0.7}
|
root: ${IMAGEMAGICK_ROOT:/usr/lib64/ImageMagick-7.0.7}
|
||||||
dyn: ${IMAGEMAGICK_DYN:/usr/lib64/ImageMagick-7.0.7/lib}
|
dyn: ${IMAGEMAGICK_DYN:/usr/lib64/ImageMagick-7.0.7/lib}
|
||||||
exe: ${IMAGEMAGICK_EXE:/usr/bin/convert}
|
exe: ${IMAGEMAGICK_EXE:/usr/bin/convert}
|
||||||
|
coders: ${IMAGEMAGICK_CODERS:}
|
||||||
|
config: ${IMAGEMAGICK_CONFIG:}
|
@ -63,7 +63,7 @@ public class AIOControllerImageMagickTest extends ImageMagickControllerTest
|
|||||||
@PostConstruct
|
@PostConstruct
|
||||||
private void init() throws Exception
|
private void init() throws Exception
|
||||||
{
|
{
|
||||||
adapter = new ImageMagickAdapter(EXE, DYN, ROOT);
|
adapter = new ImageMagickAdapter(EXE, DYN, ROOT, CODERS, CONFIG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Before @Override
|
@Before @Override
|
||||||
|
@ -59,9 +59,9 @@ public class ImageMagickAdapter implements Transformer
|
|||||||
private static String ID = "imagemagick";
|
private static String ID = "imagemagick";
|
||||||
private ImageMagickCommandExecutor commandExecutor;
|
private ImageMagickCommandExecutor commandExecutor;
|
||||||
|
|
||||||
public ImageMagickAdapter(String exe, String dyn, String root) throws Exception
|
public ImageMagickAdapter(String exe, String dyn, String root, String coder, String config) throws Exception
|
||||||
{
|
{
|
||||||
commandExecutor = new ImageMagickCommandExecutor(exe, dyn, root);
|
commandExecutor = new ImageMagickCommandExecutor(exe, dyn, root, coder, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -89,12 +89,18 @@ public class ImageMagickController extends AbstractTransformerController
|
|||||||
@Value("${transform.core.imagemagick.root}")
|
@Value("${transform.core.imagemagick.root}")
|
||||||
private String ROOT;
|
private String ROOT;
|
||||||
|
|
||||||
|
@Value("${transform.core.imagemagick.coders}")
|
||||||
|
private String CODERS;
|
||||||
|
|
||||||
|
@Value("${transform.core.imagemagick.config}")
|
||||||
|
private String CONFIG;
|
||||||
|
|
||||||
ImageMagickCommandExecutor commandExecutor;
|
ImageMagickCommandExecutor commandExecutor;
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
private void init()
|
private void init()
|
||||||
{
|
{
|
||||||
commandExecutor = new ImageMagickCommandExecutor(EXE, DYN, ROOT);
|
commandExecutor = new ImageMagickCommandExecutor(EXE, DYN, ROOT, CODERS, CONFIG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -7,4 +7,6 @@ transform:
|
|||||||
imagemagick:
|
imagemagick:
|
||||||
root: ${IMAGEMAGICK_ROOT:/usr/lib64/ImageMagick-7.0.7}
|
root: ${IMAGEMAGICK_ROOT:/usr/lib64/ImageMagick-7.0.7}
|
||||||
dyn: ${IMAGEMAGICK_DYN:/usr/lib64/ImageMagick-7.0.7/lib}
|
dyn: ${IMAGEMAGICK_DYN:/usr/lib64/ImageMagick-7.0.7/lib}
|
||||||
exe: ${IMAGEMAGICK_EXE:/usr/bin/convert}
|
exe: ${IMAGEMAGICK_EXE:/usr/bin/convert}
|
||||||
|
coders: ${IMAGEMAGICK_CODERS:}
|
||||||
|
config: ${IMAGEMAGICK_CONFIG:}
|
@ -109,12 +109,18 @@ public class ImageMagickControllerTest extends AbstractTransformerControllerTest
|
|||||||
@Value("${transform.core.imagemagick.root}")
|
@Value("${transform.core.imagemagick.root}")
|
||||||
protected String ROOT;
|
protected String ROOT;
|
||||||
|
|
||||||
|
@Value("${transform.core.imagemagick.coders}")
|
||||||
|
protected String CODERS;
|
||||||
|
|
||||||
|
@Value("${transform.core.imagemagick.config}")
|
||||||
|
protected String CONFIG;
|
||||||
|
|
||||||
ImageMagickCommandExecutor commandExecutor;
|
ImageMagickCommandExecutor commandExecutor;
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
private void init()
|
private void init()
|
||||||
{
|
{
|
||||||
commandExecutor = new ImageMagickCommandExecutor(EXE, DYN, ROOT);
|
commandExecutor = new ImageMagickCommandExecutor(EXE, DYN, ROOT, CODERS, CONFIG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -38,8 +38,10 @@ public class ImageMagickCommandExecutor extends AbstractCommandExecutor
|
|||||||
private final String ROOT;
|
private final String ROOT;
|
||||||
private final String DYN;
|
private final String DYN;
|
||||||
private final String EXE;
|
private final String EXE;
|
||||||
|
private final String CODERS;
|
||||||
|
private final String CONFIG;
|
||||||
|
|
||||||
public ImageMagickCommandExecutor(String exe, String dyn, String root)
|
public ImageMagickCommandExecutor(String exe, String dyn, String root, String coders, String config)
|
||||||
{
|
{
|
||||||
if (exe == null || exe.isEmpty())
|
if (exe == null || exe.isEmpty())
|
||||||
{
|
{
|
||||||
@ -56,6 +58,8 @@ public class ImageMagickCommandExecutor extends AbstractCommandExecutor
|
|||||||
this.EXE = exe;
|
this.EXE = exe;
|
||||||
this.DYN = dyn;
|
this.DYN = dyn;
|
||||||
this.ROOT = root;
|
this.ROOT = root;
|
||||||
|
this.CODERS = coders;
|
||||||
|
this.CONFIG = config;
|
||||||
|
|
||||||
super.transformCommand = createTransformCommand();
|
super.transformCommand = createTransformCommand();
|
||||||
super.checkCommand = createCheckCommand();
|
super.checkCommand = createCheckCommand();
|
||||||
@ -76,6 +80,16 @@ public class ImageMagickCommandExecutor extends AbstractCommandExecutor
|
|||||||
processProperties.put("MAGICK_HOME", ROOT);
|
processProperties.put("MAGICK_HOME", ROOT);
|
||||||
processProperties.put("DYLD_FALLBACK_LIBRARY_PATH", DYN);
|
processProperties.put("DYLD_FALLBACK_LIBRARY_PATH", DYN);
|
||||||
processProperties.put("LD_LIBRARY_PATH", DYN);
|
processProperties.put("LD_LIBRARY_PATH", DYN);
|
||||||
|
|
||||||
|
//Optional properties (see also https://imagemagick.org/script/resources.php#environment)
|
||||||
|
if (CODERS != null && !CODERS.isBlank())
|
||||||
|
{
|
||||||
|
processProperties.put("MAGICK_CODER_MODULE_PATH", CODERS);
|
||||||
|
}
|
||||||
|
if (CONFIG != null && !CONFIG.isBlank())
|
||||||
|
{
|
||||||
|
processProperties.put("MAGICK_CONFIGURE_PATH", CONFIG);
|
||||||
|
}
|
||||||
runtimeExec.setProcessProperties(processProperties);
|
runtimeExec.setProcessProperties(processProperties);
|
||||||
|
|
||||||
Map<String, String> defaultProperties = new HashMap<>();
|
Map<String, String> defaultProperties = new HashMap<>();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user