mirror of
https://github.com/Alfresco/alfresco-transform-core.git
synced 2025-10-08 14:51:18 +00:00
MNT-24883 base engine changes to maintain source file name
This commit is contained in:
@@ -26,35 +26,18 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.transform.base.transform;
|
package org.alfresco.transform.base.transform;
|
||||||
|
|
||||||
import org.alfresco.transform.base.TransformManager;
|
import static java.util.stream.Collectors.joining;
|
||||||
import org.alfresco.transform.base.sfs.SharedFileStoreClient;
|
|
||||||
import org.alfresco.transform.base.messaging.TransformReplySender;
|
import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
||||||
import org.alfresco.transform.base.model.FileRefResponse;
|
import static org.springframework.http.HttpStatus.CREATED;
|
||||||
import org.alfresco.transform.base.probes.ProbeTransform;
|
import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
|
||||||
import org.alfresco.transform.base.registry.CustomTransformers;
|
|
||||||
import org.alfresco.transform.client.model.InternalContext;
|
import static org.alfresco.transform.base.fs.FileManager.createAttachment;
|
||||||
import org.alfresco.transform.client.model.TransformReply;
|
import static org.alfresco.transform.base.fs.FileManager.createTargetFile;
|
||||||
import org.alfresco.transform.client.model.TransformRequest;
|
import static org.alfresco.transform.base.fs.FileManager.getDirectAccessUrlInputStream;
|
||||||
import org.alfresco.transform.common.ExtensionService;
|
import static org.alfresco.transform.base.fs.FileManager.getMultipartFileInputStream;
|
||||||
import org.alfresco.transform.exceptions.TransformException;
|
import static org.alfresco.transform.common.RequestParamMap.DIRECT_ACCESS_URL;
|
||||||
import org.alfresco.transform.common.TransformerDebug;
|
|
||||||
import org.alfresco.transform.messages.TransformRequestValidator;
|
|
||||||
import org.alfresco.transform.messages.TransformStack;
|
|
||||||
import org.alfresco.transform.registry.TransformServiceRegistry;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.core.io.Resource;
|
|
||||||
import org.springframework.http.HttpStatus;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
import org.springframework.validation.DirectFieldBindingResult;
|
|
||||||
import org.springframework.validation.Errors;
|
|
||||||
import org.springframework.web.client.HttpClientErrorException;
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
|
||||||
|
|
||||||
import jakarta.jms.Destination;
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
|
||||||
import java.io.BufferedInputStream;
|
import java.io.BufferedInputStream;
|
||||||
import java.io.BufferedOutputStream;
|
import java.io.BufferedOutputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -67,16 +50,35 @@ import java.io.OutputStream;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
import jakarta.jms.Destination;
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import static java.util.stream.Collectors.joining;
|
import org.slf4j.Logger;
|
||||||
import static org.alfresco.transform.base.fs.FileManager.createAttachment;
|
import org.slf4j.LoggerFactory;
|
||||||
import static org.alfresco.transform.base.fs.FileManager.createTargetFile;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import static org.alfresco.transform.base.fs.FileManager.getDirectAccessUrlInputStream;
|
import org.springframework.core.io.Resource;
|
||||||
import static org.alfresco.transform.base.fs.FileManager.getMultipartFileInputStream;
|
import org.springframework.http.HttpStatus;
|
||||||
import static org.alfresco.transform.common.RequestParamMap.DIRECT_ACCESS_URL;
|
import org.springframework.http.ResponseEntity;
|
||||||
import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
import org.springframework.stereotype.Component;
|
||||||
import static org.springframework.http.HttpStatus.CREATED;
|
import org.springframework.validation.DirectFieldBindingResult;
|
||||||
import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
|
import org.springframework.validation.Errors;
|
||||||
|
import org.springframework.web.client.HttpClientErrorException;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import org.alfresco.transform.base.messaging.TransformReplySender;
|
||||||
|
import org.alfresco.transform.base.model.FileRefResponse;
|
||||||
|
import org.alfresco.transform.base.probes.ProbeTransform;
|
||||||
|
import org.alfresco.transform.base.registry.CustomTransformers;
|
||||||
|
import org.alfresco.transform.base.sfs.SharedFileStoreClient;
|
||||||
|
import org.alfresco.transform.client.model.InternalContext;
|
||||||
|
import org.alfresco.transform.client.model.TransformReply;
|
||||||
|
import org.alfresco.transform.client.model.TransformRequest;
|
||||||
|
import org.alfresco.transform.common.ExtensionService;
|
||||||
|
import org.alfresco.transform.common.TransformerDebug;
|
||||||
|
import org.alfresco.transform.exceptions.TransformException;
|
||||||
|
import org.alfresco.transform.messages.TransformRequestValidator;
|
||||||
|
import org.alfresco.transform.messages.TransformStack;
|
||||||
|
import org.alfresco.transform.registry.TransformServiceRegistry;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles the transform requests from either http or a message.
|
* Handles the transform requests from either http or a message.
|
||||||
@@ -102,8 +104,6 @@ public class TransformHandler
|
|||||||
private TransformerDebug transformerDebug;
|
private TransformerDebug transformerDebug;
|
||||||
|
|
||||||
private final AtomicInteger httpRequestCount = new AtomicInteger(1);
|
private final AtomicInteger httpRequestCount = new AtomicInteger(1);
|
||||||
@Autowired
|
|
||||||
private TransformManager transformManager;
|
|
||||||
|
|
||||||
public ResponseEntity<Resource> handleHttpRequest(HttpServletRequest request,
|
public ResponseEntity<Resource> handleHttpRequest(HttpServletRequest request,
|
||||||
MultipartFile sourceMultipartFile, String sourceMimetype, String targetMimetype,
|
MultipartFile sourceMultipartFile, String sourceMimetype, String targetMimetype,
|
||||||
@@ -113,8 +113,7 @@ public class TransformHandler
|
|||||||
|
|
||||||
new ProcessHandler(sourceMimetype, targetMimetype, requestParameters,
|
new ProcessHandler(sourceMimetype, targetMimetype, requestParameters,
|
||||||
"e" + httpRequestCount.getAndIncrement(), transformRegistry,
|
"e" + httpRequestCount.getAndIncrement(), transformRegistry,
|
||||||
transformerDebug, probeTransform, customTransformers)
|
transformerDebug, probeTransform, customTransformers) {
|
||||||
{
|
|
||||||
@Override
|
@Override
|
||||||
protected void init() throws IOException
|
protected void init() throws IOException
|
||||||
{
|
{
|
||||||
@@ -146,7 +145,7 @@ public class TransformHandler
|
|||||||
protected void sendTransformResponse(TransformManagerImpl transformManager)
|
protected void sendTransformResponse(TransformManagerImpl transformManager)
|
||||||
{
|
{
|
||||||
String extension = ExtensionService.getExtensionForTargetMimetype(targetMimetype, sourceMimetype);
|
String extension = ExtensionService.getExtensionForTargetMimetype(targetMimetype, sourceMimetype);
|
||||||
responseEntity.set(createAttachment("transform."+extension, transformManager.getTargetFile()));
|
responseEntity.set(createAttachment("transform." + extension, transformManager.getTargetFile()));
|
||||||
}
|
}
|
||||||
}.handleTransformRequest();
|
}.handleTransformRequest();
|
||||||
|
|
||||||
@@ -158,8 +157,7 @@ public class TransformHandler
|
|||||||
{
|
{
|
||||||
new ProcessHandler(sourceMimetype, targetMimetype, transformOptions,
|
new ProcessHandler(sourceMimetype, targetMimetype, transformOptions,
|
||||||
"p" + httpRequestCount.getAndIncrement(), transformRegistry,
|
"p" + httpRequestCount.getAndIncrement(), transformRegistry,
|
||||||
transformerDebug, probeTransform, customTransformers)
|
transformerDebug, probeTransform, customTransformers) {
|
||||||
{
|
|
||||||
@Override
|
@Override
|
||||||
protected void init() throws IOException
|
protected void init() throws IOException
|
||||||
{
|
{
|
||||||
@@ -194,9 +192,8 @@ public class TransformHandler
|
|||||||
{
|
{
|
||||||
TransformReply reply = createBasicTransformReply(request);
|
TransformReply reply = createBasicTransformReply(request);
|
||||||
new ProcessHandler(request.getSourceMediaType(), request.getTargetMediaType(),
|
new ProcessHandler(request.getSourceMediaType(), request.getTargetMediaType(),
|
||||||
request.getTransformRequestOptions(),"unset", transformRegistry,
|
request.getTransformRequestOptions(), "unset", transformRegistry,
|
||||||
transformerDebug, probeTransform, customTransformers)
|
transformerDebug, probeTransform, customTransformers) {
|
||||||
{
|
|
||||||
@Override
|
@Override
|
||||||
protected void init() throws IOException
|
protected void init() throws IOException
|
||||||
{
|
{
|
||||||
|
@@ -59,7 +59,6 @@ public class TransformManagerImpl implements TransformManager
|
|||||||
private String targetMimetype;
|
private String targetMimetype;
|
||||||
private File sourceFile;
|
private File sourceFile;
|
||||||
private File targetFile;
|
private File targetFile;
|
||||||
|
|
||||||
private boolean keepTargetFile;
|
private boolean keepTargetFile;
|
||||||
private boolean createSourceFileCalled;
|
private boolean createSourceFileCalled;
|
||||||
private boolean createTargetFileCalled;
|
private boolean createTargetFileCalled;
|
||||||
|
@@ -29,13 +29,13 @@ package org.alfresco.transform.base.util;
|
|||||||
public class Util
|
public class Util
|
||||||
{
|
{
|
||||||
private Util()
|
private Util()
|
||||||
{
|
{}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Safely converts a {@link String} to an {@link Integer}
|
* Safely converts a {@link String} to an {@link Integer}
|
||||||
*
|
*
|
||||||
* @param param String to be converted
|
* @param param
|
||||||
|
* String to be converted
|
||||||
* @return Null if param is null or converted value as {@link Integer}
|
* @return Null if param is null or converted value as {@link Integer}
|
||||||
*/
|
*/
|
||||||
public static Integer stringToInteger(final String param)
|
public static Integer stringToInteger(final String param)
|
||||||
@@ -46,7 +46,8 @@ public class Util
|
|||||||
/**
|
/**
|
||||||
* Safely converts a {@link String} to a {@link Boolean}
|
* Safely converts a {@link String} to a {@link Boolean}
|
||||||
*
|
*
|
||||||
* @param param String to be converted
|
* @param param
|
||||||
|
* String to be converted
|
||||||
* @return Null if param is null or converted value as {@link Boolean}
|
* @return Null if param is null or converted value as {@link Boolean}
|
||||||
*/
|
*/
|
||||||
public static Boolean stringToBoolean(final String param)
|
public static Boolean stringToBoolean(final String param)
|
||||||
@@ -57,7 +58,8 @@ public class Util
|
|||||||
/**
|
/**
|
||||||
* Safely converts a {@link String} to a {@link Long}
|
* Safely converts a {@link String} to a {@link Long}
|
||||||
*
|
*
|
||||||
* @param param String to be converted
|
* @param param
|
||||||
|
* String to be converted
|
||||||
* @return Null if param is null or converted value as {@link Boolean}
|
* @return Null if param is null or converted value as {@link Boolean}
|
||||||
*/
|
*/
|
||||||
public static Long stringToLong(final String param)
|
public static Long stringToLong(final String param)
|
||||||
@@ -67,12 +69,13 @@ public class Util
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* check if given file name is a doc file
|
* check if given file name is a doc file
|
||||||
|
*
|
||||||
* @param filename
|
* @param filename
|
||||||
* @return if file is .doc*
|
* @return if file is .doc*
|
||||||
*/
|
*/
|
||||||
public static boolean isDocFile(String filename)
|
public static boolean isDocFile(String filename)
|
||||||
{
|
{
|
||||||
String extension = filename.substring(filename.lastIndexOf('.') );
|
String extension = filename.substring(filename.lastIndexOf('.'));
|
||||||
return extension.startsWith(".doc");
|
return extension.startsWith(".doc");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user