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 java.util.Set;
|
||||||
|
|
||||||
import org.alfresco.httpclient.HttpClientConfig;
|
import org.alfresco.httpclient.HttpClientConfig;
|
||||||
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.repo.content.metadata.AsynchronousExtractor;
|
import org.alfresco.repo.content.metadata.AsynchronousExtractor;
|
||||||
import org.alfresco.repo.rendition2.RenditionDefinition2;
|
import org.alfresco.repo.rendition2.RenditionDefinition2;
|
||||||
import org.alfresco.service.cmr.repository.ContentReader;
|
import org.alfresco.service.cmr.repository.*;
|
||||||
import org.alfresco.service.cmr.repository.ContentWriter;
|
|
||||||
import org.alfresco.service.cmr.repository.MimetypeService;
|
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
|
||||||
import org.alfresco.transform.config.TransformOption;
|
import org.alfresco.transform.config.TransformOption;
|
||||||
import org.alfresco.util.Pair;
|
import org.alfresco.util.Pair;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A local transformer using flat transform options.
|
* A local transformer using flat transform options.
|
||||||
@@ -50,6 +49,7 @@ import org.alfresco.util.Pair;
|
|||||||
public class LocalTransformImpl extends AbstractLocalTransform
|
public class LocalTransformImpl extends AbstractLocalTransform
|
||||||
{
|
{
|
||||||
private RemoteTransformerClient remoteTransformerClient;
|
private RemoteTransformerClient remoteTransformerClient;
|
||||||
|
TransformerDebug transformerDebug;
|
||||||
|
|
||||||
private boolean available = false;
|
private boolean available = false;
|
||||||
|
|
||||||
@@ -64,6 +64,7 @@ public class LocalTransformImpl extends AbstractLocalTransform
|
|||||||
{
|
{
|
||||||
super(name, transformerDebug, mimetypeService, strictMimeTypeCheck, strictMimetypeExceptions,
|
super(name, transformerDebug, mimetypeService, strictMimeTypeCheck, strictMimetypeExceptions,
|
||||||
retryTransformOnDifferentMimeType, transformsTransformOptions, localTransformServiceRegistry);
|
retryTransformOnDifferentMimeType, transformsTransformOptions, localTransformServiceRegistry);
|
||||||
|
this.transformerDebug = transformerDebug;
|
||||||
remoteTransformerClient = new RemoteTransformerClient(name, baseUrl, httpClientConfig);
|
remoteTransformerClient = new RemoteTransformerClient(name, baseUrl, httpClientConfig);
|
||||||
remoteTransformerClient.setStartupRetryPeriodSeconds(startupRetryPeriodSeconds);
|
remoteTransformerClient.setStartupRetryPeriodSeconds(startupRetryPeriodSeconds);
|
||||||
|
|
||||||
@@ -190,7 +191,8 @@ public class LocalTransformImpl extends AbstractLocalTransform
|
|||||||
args[i++] = targetMimetype;
|
args[i++] = targetMimetype;
|
||||||
|
|
||||||
targetExtension = AsynchronousExtractor.getExtension(targetMimetype, sourceExtension, targetExtension);
|
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);
|
timeoutMs, log, args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ public class RemoteTransformerClient
|
|||||||
return baseUrl;
|
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)
|
String targetExtension, long timeoutMs, Log logger, String... args)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ public class RemoteTransformerClient
|
|||||||
|
|
||||||
try (InputStream contentStream = reader.getContentInputStream())
|
try (InputStream contentStream = reader.getContentInputStream())
|
||||||
{
|
{
|
||||||
HttpEntity reqEntity = getRequestEntity(contentStream, sourceMimetype, sourceExtension, targetExtension, timeoutMs,
|
HttpEntity reqEntity = getRequestEntity(contentStream, sourceMimetype, fileName, targetExtension, timeoutMs,
|
||||||
args, sj);
|
args, sj);
|
||||||
|
|
||||||
request(logger, sourceExtension, targetExtension, reqEntity, writer, sj.toString());
|
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)
|
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)
|
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);
|
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)
|
String targetExtension, long timeoutMs, String[] args, StringJoiner sj)
|
||||||
{
|
{
|
||||||
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
||||||
ContentType contentType = ContentType.create(sourceMimetype);
|
ContentType contentType = ContentType.create(sourceMimetype);
|
||||||
builder.addBinaryBody("file", contentStream, contentType, "tmp." + sourceExtension);
|
builder.addBinaryBody("file", contentStream, contentType, filename);
|
||||||
builder.addTextBody("targetExtension", targetExtension);
|
builder.addTextBody("targetExtension", targetExtension);
|
||||||
sj.add("targetExtension" + '=' + targetExtension);
|
sj.add("targetExtension" + '=' + targetExtension);
|
||||||
for (int i = 0; i < args.length; i += 2)
|
for (int i = 0; i < args.length; i += 2)
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ public class RemoteTransformerClientTest
|
|||||||
@Spy
|
@Spy
|
||||||
private RemoteTransformerClient remoteTransformerClient = new RemoteTransformerClient("TRANSFORMER", "http://localhost:1234/test", new HttpClientConfig());
|
private RemoteTransformerClient remoteTransformerClient = new RemoteTransformerClient("TRANSFORMER", "http://localhost:1234/test", new HttpClientConfig());
|
||||||
|
|
||||||
|
private String fileName="test.doc";
|
||||||
private String sourceMimetype = "application/msword";
|
private String sourceMimetype = "application/msword";
|
||||||
private String sourceExtension = "doc";
|
private String sourceExtension = "doc";
|
||||||
private String targetExtension = "pdf";
|
private String targetExtension = "pdf";
|
||||||
@@ -141,7 +142,7 @@ public class RemoteTransformerClientTest
|
|||||||
|
|
||||||
private void requestTransform() throws IllegalAccessException
|
private void requestTransform() throws IllegalAccessException
|
||||||
{
|
{
|
||||||
remoteTransformerClient.request(mockReader, mockWriter, sourceMimetype, sourceExtension, targetExtension,
|
remoteTransformerClient.request(mockReader, mockWriter, fileName, sourceMimetype, sourceExtension, targetExtension,
|
||||||
timeoutMs, mockLogger);
|
timeoutMs, mockLogger);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user