mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-29 15:21:53 +00:00
MNT-24883 send full file name to ats transform
This commit is contained in:
@@ -33,14 +33,13 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.alfresco.httpclient.HttpClientConfig;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.content.metadata.AsynchronousExtractor;
|
||||
import org.alfresco.repo.rendition2.RenditionDefinition2;
|
||||
import org.alfresco.service.cmr.repository.ContentReader;
|
||||
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||
import org.alfresco.service.cmr.repository.MimetypeService;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.*;
|
||||
import org.alfresco.transform.config.TransformOption;
|
||||
import org.alfresco.util.Pair;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
* A local transformer using flat transform options.
|
||||
@@ -50,6 +49,7 @@ import org.alfresco.util.Pair;
|
||||
public class LocalTransformImpl extends AbstractLocalTransform
|
||||
{
|
||||
private RemoteTransformerClient remoteTransformerClient;
|
||||
TransformerDebug transformerDebug;
|
||||
|
||||
private boolean available = false;
|
||||
|
||||
@@ -64,6 +64,7 @@ public class LocalTransformImpl extends AbstractLocalTransform
|
||||
{
|
||||
super(name, transformerDebug, mimetypeService, strictMimeTypeCheck, strictMimetypeExceptions,
|
||||
retryTransformOnDifferentMimeType, transformsTransformOptions, localTransformServiceRegistry);
|
||||
this.transformerDebug = transformerDebug;
|
||||
remoteTransformerClient = new RemoteTransformerClient(name, baseUrl, httpClientConfig);
|
||||
remoteTransformerClient.setStartupRetryPeriodSeconds(startupRetryPeriodSeconds);
|
||||
|
||||
@@ -190,7 +191,8 @@ public class LocalTransformImpl extends AbstractLocalTransform
|
||||
args[i++] = targetMimetype;
|
||||
|
||||
targetExtension = AsynchronousExtractor.getExtension(targetMimetype, sourceExtension, targetExtension);
|
||||
remoteTransformerClient.request(reader, writer, sourceMimetype, sourceExtension, targetExtension,
|
||||
String fileName = transformerDebug.getFilename(sourceNodeRef,true);
|
||||
remoteTransformerClient.request(reader, writer, fileName, sourceMimetype, sourceExtension, targetExtension,
|
||||
timeoutMs, log, args);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ public class RemoteTransformerClient
|
||||
return baseUrl;
|
||||
}
|
||||
|
||||
public void request(ContentReader reader, ContentWriter writer, String sourceMimetype, String sourceExtension,
|
||||
public void request(ContentReader reader, ContentWriter writer, String fileName,String sourceMimetype, String sourceExtension,
|
||||
String targetExtension, long timeoutMs, Log logger, String... args)
|
||||
{
|
||||
|
||||
@@ -103,7 +103,7 @@ public class RemoteTransformerClient
|
||||
|
||||
try (InputStream contentStream = reader.getContentInputStream())
|
||||
{
|
||||
HttpEntity reqEntity = getRequestEntity(contentStream, sourceMimetype, sourceExtension, targetExtension, timeoutMs,
|
||||
HttpEntity reqEntity = getRequestEntity(contentStream, sourceMimetype, fileName, targetExtension, timeoutMs,
|
||||
args, sj);
|
||||
|
||||
request(logger, sourceExtension, targetExtension, reqEntity, writer, sj.toString());
|
||||
@@ -114,10 +114,10 @@ public class RemoteTransformerClient
|
||||
}
|
||||
}
|
||||
|
||||
HttpEntity getRequestEntity(ContentReader reader, String sourceMimetype, String sourceExtension, String targetExtension,
|
||||
HttpEntity getRequestEntity(ContentReader reader, String sourceMimetype,String fileName, String targetExtension,
|
||||
long timeoutMs, String[] args, StringJoiner sj)
|
||||
{
|
||||
return getRequestEntity(reader.getContentInputStream(), sourceMimetype, sourceExtension, targetExtension, timeoutMs, args, sj);
|
||||
return getRequestEntity(reader.getContentInputStream(), sourceMimetype, fileName, targetExtension, timeoutMs, args, sj);
|
||||
}
|
||||
|
||||
void request(Log logger, String sourceExtension, String targetExtension, HttpEntity reqEntity, ContentWriter writer, String args)
|
||||
@@ -331,12 +331,12 @@ public class RemoteTransformerClient
|
||||
return httpclient.execute(httpGet);
|
||||
}
|
||||
|
||||
private HttpEntity getRequestEntity(InputStream contentStream, String sourceMimetype, String sourceExtension,
|
||||
private HttpEntity getRequestEntity(InputStream contentStream, String sourceMimetype, String filename,
|
||||
String targetExtension, long timeoutMs, String[] args, StringJoiner sj)
|
||||
{
|
||||
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
||||
ContentType contentType = ContentType.create(sourceMimetype);
|
||||
builder.addBinaryBody("file", contentStream, contentType, "tmp." + sourceExtension);
|
||||
builder.addBinaryBody("file", contentStream, contentType, filename);
|
||||
builder.addTextBody("targetExtension", targetExtension);
|
||||
sj.add("targetExtension" + '=' + targetExtension);
|
||||
for (int i = 0; i < args.length; i += 2)
|
||||
|
||||
@@ -94,6 +94,7 @@ public class RemoteTransformerClientTest
|
||||
@Spy
|
||||
private RemoteTransformerClient remoteTransformerClient = new RemoteTransformerClient("TRANSFORMER", "http://localhost:1234/test", new HttpClientConfig());
|
||||
|
||||
private String fileName="test.doc";
|
||||
private String sourceMimetype = "application/msword";
|
||||
private String sourceExtension = "doc";
|
||||
private String targetExtension = "pdf";
|
||||
@@ -141,7 +142,7 @@ public class RemoteTransformerClientTest
|
||||
|
||||
private void requestTransform() throws IllegalAccessException
|
||||
{
|
||||
remoteTransformerClient.request(mockReader, mockWriter, sourceMimetype, sourceExtension, targetExtension,
|
||||
remoteTransformerClient.request(mockReader, mockWriter, fileName, sourceMimetype, sourceExtension, targetExtension,
|
||||
timeoutMs, mockLogger);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user