diff --git a/engines/base/src/main/java/org/alfresco/transform/base/TransformManager.java b/engines/base/src/main/java/org/alfresco/transform/base/TransformManager.java index 1fd90612..89455da3 100644 --- a/engines/base/src/main/java/org/alfresco/transform/base/TransformManager.java +++ b/engines/base/src/main/java/org/alfresco/transform/base/TransformManager.java @@ -39,6 +39,11 @@ import java.util.Map; */ public interface TransformManager { + /** + * @return the id of the request. + */ + String getRequestId(); + /** * Allows a {@link CustomTransformer} to use a local source {@code File} rather than the supplied {@code InputStream}. * The file will be deleted once the request is completed. To avoid creating extra files, if a File has already diff --git a/engines/base/src/main/java/org/alfresco/transform/base/messaging/MessagingConfig.java b/engines/base/src/main/java/org/alfresco/transform/base/messaging/MessagingConfig.java index 276f942a..04a8a2fe 100644 --- a/engines/base/src/main/java/org/alfresco/transform/base/messaging/MessagingConfig.java +++ b/engines/base/src/main/java/org/alfresco/transform/base/messaging/MessagingConfig.java @@ -26,13 +26,8 @@ */ package org.alfresco.transform.base.messaging; -import javax.jms.ConnectionFactory; -import javax.jms.Queue; - import org.alfresco.transform.messages.TransformRequestValidator; import org.apache.activemq.command.ActiveMQQueue; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; @@ -45,6 +40,9 @@ import org.springframework.lang.NonNull; import org.springframework.messaging.handler.annotation.support.DefaultMessageHandlerMethodFactory; import org.springframework.transaction.PlatformTransactionManager; +import javax.jms.ConnectionFactory; +import javax.jms.Queue; + /** * JMS and messaging configuration for the T-Engines. Contains the basic config in order to have the * T-Engine able to read from queues and send a reply back. diff --git a/engines/base/src/main/java/org/alfresco/transform/base/registry/CustomTransformers.java b/engines/base/src/main/java/org/alfresco/transform/base/registry/CustomTransformers.java index a4df1599..be1c35af 100644 --- a/engines/base/src/main/java/org/alfresco/transform/base/registry/CustomTransformers.java +++ b/engines/base/src/main/java/org/alfresco/transform/base/registry/CustomTransformers.java @@ -37,6 +37,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; @Component public class CustomTransformers @@ -48,8 +49,6 @@ public class CustomTransformers private final Map customTransformersByName = new HashMap<>(); - private CustomTransformer defaultCustomTransformer; - @PostConstruct private void initCustomTransformersByName() { @@ -61,19 +60,17 @@ public class CustomTransformers logger.info("Transformers:"); customTransformers.stream() .sorted(Comparator.comparing(CustomTransformer::getTransformerName)) - .map(customTransformer -> " "+customTransformer.getTransformerName()).forEach(logger::info); + .map(customTransformer -> customTransformer.getTransformerName()) + .filter(Objects::nonNull) + .map(name -> " "+name) + .forEach(logger::info); } } - public void setDefaultCustomTransformer(CustomTransformer defaultCustomTransformer) - { - this.defaultCustomTransformer = defaultCustomTransformer; - } - public CustomTransformer get(String name) { CustomTransformer customTransformer = customTransformersByName.get(name); - return customTransformer == null ? defaultCustomTransformer : customTransformer; + return customTransformer == null ? customTransformersByName.get(null) : customTransformer; } public void put(String name, CustomTransformer customTransformer) diff --git a/engines/base/src/main/java/org/alfresco/transform/base/transform/ProcessHandler.java b/engines/base/src/main/java/org/alfresco/transform/base/transform/ProcessHandler.java index 010a7d6e..0f357c0c 100644 --- a/engines/base/src/main/java/org/alfresco/transform/base/transform/ProcessHandler.java +++ b/engines/base/src/main/java/org/alfresco/transform/base/transform/ProcessHandler.java @@ -108,6 +108,12 @@ abstract class ProcessHandler extends FragmentHandler super.init(); } + + public String getReference() + { + return reference; + } + public void handleTransformRequest() { LogEntry.start(); diff --git a/engines/base/src/main/java/org/alfresco/transform/base/transform/TransformManagerImpl.java b/engines/base/src/main/java/org/alfresco/transform/base/transform/TransformManagerImpl.java index f3a4dd1b..47efa34f 100644 --- a/engines/base/src/main/java/org/alfresco/transform/base/transform/TransformManagerImpl.java +++ b/engines/base/src/main/java/org/alfresco/transform/base/transform/TransformManagerImpl.java @@ -71,6 +71,11 @@ public class TransformManagerImpl implements TransformManager this.processHandler = processHandler; } + @Override public String getRequestId() + { + return processHandler.getReference(); + } + public InputStream setInputStream(InputStream inputStream) { this.inputStream = inputStream; @@ -130,14 +135,13 @@ public class TransformManagerImpl implements TransformManager return targetFile; } - File setTargetFile(File targetFile) + public void setTargetFile(File targetFile) { this.targetFile = targetFile; if (startedWithTargetFile == null) { startedWithTargetFile = true; } - return targetFile; } public void keepTargetFile() @@ -179,7 +183,7 @@ public class TransformManagerImpl implements TransformManager { if (targetFile != null) { - if (startedWithTargetFile == false) + if (!startedWithTargetFile) { FileManager.copyFileToOutputStream(targetFile, outputStreamLengthRecorder); } diff --git a/engines/base/src/main/java/org/alfresco/transform/base/util/CustomTransformerFileAdaptor.java b/engines/base/src/main/java/org/alfresco/transform/base/util/CustomTransformerFileAdaptor.java index e645f5cd..be166ca2 100644 --- a/engines/base/src/main/java/org/alfresco/transform/base/util/CustomTransformerFileAdaptor.java +++ b/engines/base/src/main/java/org/alfresco/transform/base/util/CustomTransformerFileAdaptor.java @@ -47,9 +47,9 @@ public interface CustomTransformerFileAdaptor extends CustomTransformer { File sourceFile = transformManager.createSourceFile(); File targetFile = transformManager.createTargetFile(); - transform(sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); + transform(sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile, transformManager); } void transform(String sourceMimetype, String targetMimetype, Map transformOptions, - File sourceFile, File targetFile) throws Exception; + File sourceFile, File targetFile, TransformManager transformManager) throws Exception; } \ No newline at end of file diff --git a/engines/base/src/main/resources/templates/test.html b/engines/base/src/main/resources/templates/test.html index c25b4d3d..8325068c 100644 --- a/engines/base/src/main/resources/templates/test.html +++ b/engines/base/src/main/resources/templates/test.html @@ -8,7 +8,7 @@
directAccessUrl
sourceMimetype
targetMimetype