mirror of
https://github.com/Alfresco/alfresco-transform-core.git
synced 2025-05-12 17:04:48 +00:00
ACS-2002 Enhance T-Router debug (#507)
[trigger release] 2.5.5-A1 By default T-Engines now provide the more readable TransformerDebug DEBUG messages, rather than the original detailed request and reply messages, which are still available as TRACE.
This commit is contained in:
parent
671867e161
commit
a98f937b4a
@ -9,7 +9,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -51,7 +51,6 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@ -380,18 +379,7 @@ public class ImageMagickControllerTest extends AbstractTransformerControllerTest
|
|||||||
File sourceFile = getTestFile("quick." + sourceExtension, true);
|
File sourceFile = getTestFile("quick." + sourceExtension, true);
|
||||||
String targetFileRef = UUID.randomUUID().toString();
|
String targetFileRef = UUID.randomUUID().toString();
|
||||||
|
|
||||||
// Transformation Request POJO
|
TransformRequest transformRequest = createTransformRequest(sourceFileRef, sourceFile);
|
||||||
TransformRequest transformRequest = new TransformRequest();
|
|
||||||
transformRequest.setRequestId("1");
|
|
||||||
transformRequest.setSchema(1);
|
|
||||||
transformRequest.setClientData("Alfresco Digital Business Platform");
|
|
||||||
transformRequest.setTransformRequestOptions(new HashMap<>());
|
|
||||||
transformRequest.setSourceReference(sourceFileRef);
|
|
||||||
transformRequest.setSourceExtension(sourceExtension);
|
|
||||||
transformRequest.setSourceMediaType(sourceMimetype);
|
|
||||||
transformRequest.setSourceSize(sourceFile.length());
|
|
||||||
transformRequest.setTargetExtension(targetExtension);
|
|
||||||
transformRequest.setTargetMediaType(targetMimetype);
|
|
||||||
|
|
||||||
// HTTP Request
|
// HTTP Request
|
||||||
HttpHeaders headers = new HttpHeaders();
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -51,7 +51,6 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
@ -228,16 +227,7 @@ public class LibreOfficeControllerTest extends AbstractTransformerControllerTest
|
|||||||
File sourceFile = getTestFile("quick." + sourceExtension, true);
|
File sourceFile = getTestFile("quick." + sourceExtension, true);
|
||||||
String targetFileRef = UUID.randomUUID().toString();
|
String targetFileRef = UUID.randomUUID().toString();
|
||||||
|
|
||||||
// Transformation Request POJO
|
TransformRequest transformRequest = createTransformRequest(sourceFileRef, sourceFile);
|
||||||
TransformRequest transformRequest = new TransformRequest();
|
|
||||||
transformRequest.setRequestId("1");
|
|
||||||
transformRequest.setSchema(1);
|
|
||||||
transformRequest.setClientData("Alfresco Digital Business Platform");
|
|
||||||
transformRequest.setTransformRequestOptions(new HashMap<>());
|
|
||||||
transformRequest.setSourceReference(sourceFileRef);
|
|
||||||
transformRequest.setSourceExtension(sourceExtension);
|
|
||||||
transformRequest.setSourceSize(sourceFile.length());
|
|
||||||
transformRequest.setTargetExtension(targetExtension);
|
|
||||||
|
|
||||||
// HTTP Request
|
// HTTP Request
|
||||||
HttpHeaders headers = new HttpHeaders();
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -51,7 +51,6 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@ -292,16 +291,7 @@ public class AlfrescoPdfRendererControllerTest extends AbstractTransformerContro
|
|||||||
File sourceFile = getTestFile("quick." + sourceExtension, true);
|
File sourceFile = getTestFile("quick." + sourceExtension, true);
|
||||||
String targetFileRef = UUID.randomUUID().toString();
|
String targetFileRef = UUID.randomUUID().toString();
|
||||||
|
|
||||||
// Transformation Request POJO
|
TransformRequest transformRequest = createTransformRequest(sourceFileRef, sourceFile);
|
||||||
TransformRequest transformRequest = new TransformRequest();
|
|
||||||
transformRequest.setRequestId("1");
|
|
||||||
transformRequest.setSchema(1);
|
|
||||||
transformRequest.setClientData("Alfresco Digital Business Platform");
|
|
||||||
transformRequest.setTransformRequestOptions(new HashMap<>());
|
|
||||||
transformRequest.setSourceReference(sourceFileRef);
|
|
||||||
transformRequest.setSourceExtension(sourceExtension);
|
|
||||||
transformRequest.setSourceSize(sourceFile.length());
|
|
||||||
transformRequest.setTargetExtension(targetExtension);
|
|
||||||
|
|
||||||
// HTTP Request
|
// HTTP Request
|
||||||
HttpHeaders headers = new HttpHeaders();
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -85,7 +85,6 @@ import static org.springframework.util.StringUtils.getFilenameExtension;
|
|||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@ -609,17 +608,7 @@ public class TikaControllerTest extends AbstractTransformerControllerTest
|
|||||||
File sourceFile = getTestFile("quick." + sourceExtension, true);
|
File sourceFile = getTestFile("quick." + sourceExtension, true);
|
||||||
String targetFileRef = UUID.randomUUID().toString();
|
String targetFileRef = UUID.randomUUID().toString();
|
||||||
|
|
||||||
// Transformation Request POJO
|
TransformRequest transformRequest = createTransformRequest(sourceFileRef, sourceFile);
|
||||||
TransformRequest transformRequest = new TransformRequest();
|
|
||||||
transformRequest.setRequestId("1");
|
|
||||||
transformRequest.setSchema(1);
|
|
||||||
transformRequest.setClientData("Alfresco Digital Business Platform");
|
|
||||||
transformRequest.setTransformRequestOptions(new HashMap<>());
|
|
||||||
transformRequest.setSourceReference(sourceFileRef);
|
|
||||||
transformRequest.setSourceExtension(sourceExtension);
|
|
||||||
transformRequest.setSourceSize(sourceFile.length());
|
|
||||||
transformRequest.setTargetExtension(targetExtension);
|
|
||||||
transformRequest.setSourceMediaType(sourceMimetype);
|
|
||||||
|
|
||||||
// HTTP Request
|
// HTTP Request
|
||||||
HttpHeaders headers = new HttpHeaders();
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>alfresco-transformer-base</artifactId>
|
<artifactId>alfresco-transformer-base</artifactId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<transformer.base.deploy.skip>false</transformer.base.deploy.skip>
|
<transformer.base.deploy.skip>false</transformer.base.deploy.skip>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -26,12 +26,15 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.transformer;
|
package org.alfresco.transformer;
|
||||||
|
|
||||||
|
import org.alfresco.transform.client.model.InternalContext;
|
||||||
import org.alfresco.transform.client.model.TransformReply;
|
import org.alfresco.transform.client.model.TransformReply;
|
||||||
import org.alfresco.transform.client.model.TransformRequest;
|
import org.alfresco.transform.client.model.TransformRequest;
|
||||||
import org.alfresco.transform.client.model.TransformRequestValidator;
|
import org.alfresco.transform.client.model.TransformRequestValidator;
|
||||||
import org.alfresco.transform.client.model.config.TransformConfig;
|
import org.alfresco.transform.client.model.config.TransformConfig;
|
||||||
import org.alfresco.transform.client.registry.TransformServiceRegistry;
|
import org.alfresco.transform.client.registry.TransformServiceRegistry;
|
||||||
import org.alfresco.transform.exceptions.TransformException;
|
import org.alfresco.transform.exceptions.TransformException;
|
||||||
|
import org.alfresco.transform.router.TransformStack;
|
||||||
|
import org.alfresco.transform.router.TransformerDebug;
|
||||||
import org.alfresco.transformer.clients.AlfrescoSharedFileStoreClient;
|
import org.alfresco.transformer.clients.AlfrescoSharedFileStoreClient;
|
||||||
import org.alfresco.transformer.logging.LogEntry;
|
import org.alfresco.transformer.logging.LogEntry;
|
||||||
import org.alfresco.transformer.model.FileRefResponse;
|
import org.alfresco.transformer.model.FileRefResponse;
|
||||||
@ -134,6 +137,9 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
@Autowired
|
@Autowired
|
||||||
private TransformServiceRegistry transformRegistry;
|
private TransformServiceRegistry transformRegistry;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TransformerDebug transformerDebug;
|
||||||
|
|
||||||
@GetMapping(value = "/transform/config")
|
@GetMapping(value = "/transform/config")
|
||||||
public ResponseEntity<TransformConfig> info()
|
public ResponseEntity<TransformConfig> info()
|
||||||
{
|
{
|
||||||
@ -203,16 +209,18 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
public ResponseEntity<TransformReply> transform(@RequestBody TransformRequest request,
|
public ResponseEntity<TransformReply> transform(@RequestBody TransformRequest request,
|
||||||
@RequestParam(value = "timeout", required = false) Long timeout)
|
@RequestParam(value = "timeout", required = false) Long timeout)
|
||||||
{
|
{
|
||||||
logger.info("Received {}, timeout {} ms", request, timeout);
|
logger.trace("Received {}, timeout {} ms", request, timeout);
|
||||||
|
|
||||||
final TransformReply reply = new TransformReply();
|
final TransformReply reply = new TransformReply();
|
||||||
reply.setInternalContext(request.getInternalContext());
|
|
||||||
reply.setRequestId(request.getRequestId());
|
reply.setRequestId(request.getRequestId());
|
||||||
reply.setSourceReference(request.getSourceReference());
|
reply.setSourceReference(request.getSourceReference());
|
||||||
reply.setSchema(request.getSchema());
|
reply.setSchema(request.getSchema());
|
||||||
reply.setClientData(request.getClientData());
|
reply.setClientData(request.getClientData());
|
||||||
|
|
||||||
final Errors errors = validateTransformRequest(request);
|
final Errors errors = validateTransformRequest(request);
|
||||||
|
validateInternalContext(request, errors);
|
||||||
|
initialiseContext(request);
|
||||||
|
reply.setInternalContext(request.getInternalContext());
|
||||||
if (!errors.getAllErrors().isEmpty())
|
if (!errors.getAllErrors().isEmpty())
|
||||||
{
|
{
|
||||||
reply.setStatus(BAD_REQUEST.value());
|
reply.setStatus(BAD_REQUEST.value());
|
||||||
@ -222,7 +230,8 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
.map(Object::toString)
|
.map(Object::toString)
|
||||||
.collect(joining(", ")));
|
.collect(joining(", ")));
|
||||||
|
|
||||||
logger.error("Invalid request, sending {}", reply);
|
transformerDebug.logFailure(reply);
|
||||||
|
logger.trace("Invalid request, sending {}", reply);
|
||||||
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -237,7 +246,8 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
reply.setStatus(e.getStatusCode());
|
reply.setStatus(e.getStatusCode());
|
||||||
reply.setErrorDetails(messageWithCause("Failed at reading the source file", e));
|
reply.setErrorDetails(messageWithCause("Failed at reading the source file", e));
|
||||||
|
|
||||||
logger.error("Failed to load source file (TransformException), sending " + reply);
|
transformerDebug.logFailure(reply);
|
||||||
|
logger.trace("Failed to load source file (TransformException), sending " + reply);
|
||||||
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
||||||
}
|
}
|
||||||
catch (HttpClientErrorException e)
|
catch (HttpClientErrorException e)
|
||||||
@ -245,8 +255,8 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
reply.setStatus(e.getStatusCode().value());
|
reply.setStatus(e.getStatusCode().value());
|
||||||
reply.setErrorDetails(messageWithCause("Failed at reading the source file", e));
|
reply.setErrorDetails(messageWithCause("Failed at reading the source file", e));
|
||||||
|
|
||||||
logger.error("Failed to load source file (HttpClientErrorException), sending " +
|
transformerDebug.logFailure(reply);
|
||||||
reply, e);
|
logger.trace("Failed to load source file (HttpClientErrorException), sending " + reply, e);
|
||||||
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@ -254,7 +264,8 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
reply.setStatus(INTERNAL_SERVER_ERROR.value());
|
reply.setStatus(INTERNAL_SERVER_ERROR.value());
|
||||||
reply.setErrorDetails(messageWithCause("Failed at reading the source file", e));
|
reply.setErrorDetails(messageWithCause("Failed at reading the source file", e));
|
||||||
|
|
||||||
logger.error("Failed to load source file (Exception), sending " + reply, e);
|
transformerDebug.logFailure(reply);
|
||||||
|
logger.trace("Failed to load source file (Exception), sending " + reply, e);
|
||||||
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -266,10 +277,10 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
// Run the transformation
|
// Run the transformation
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
String targetMimetype = request.getTargetMediaType();
|
String targetMimetype = request.getTargetMediaType();
|
||||||
String sourceMimetype = request.getSourceMediaType();
|
String sourceMimetype = request.getSourceMediaType();
|
||||||
Map<String, String> transformOptions = request.getTransformRequestOptions();
|
Map<String, String> transformOptions = request.getTransformRequestOptions();
|
||||||
|
transformerDebug.logOptions(request);
|
||||||
String transformName = getTransformerName(sourceFile, sourceMimetype, targetMimetype, transformOptions);
|
String transformName = getTransformerName(sourceFile, sourceMimetype, targetMimetype, transformOptions);
|
||||||
transformImpl(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
transformImpl(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile);
|
||||||
}
|
}
|
||||||
@ -278,7 +289,8 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
reply.setStatus(e.getStatusCode());
|
reply.setStatus(e.getStatusCode());
|
||||||
reply.setErrorDetails(messageWithCause("Failed at processing transformation", e));
|
reply.setErrorDetails(messageWithCause("Failed at processing transformation", e));
|
||||||
|
|
||||||
logger.error("Failed to perform transform (TransformException), sending " + reply, e);
|
transformerDebug.logFailure(reply);
|
||||||
|
logger.trace("Failed to perform transform (TransformException), sending " + reply, e);
|
||||||
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@ -286,7 +298,8 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
reply.setStatus(INTERNAL_SERVER_ERROR.value());
|
reply.setStatus(INTERNAL_SERVER_ERROR.value());
|
||||||
reply.setErrorDetails(messageWithCause("Failed at processing transformation", e));
|
reply.setErrorDetails(messageWithCause("Failed at processing transformation", e));
|
||||||
|
|
||||||
logger.error("Failed to perform transform (Exception), sending " + reply, e);
|
transformerDebug.logFailure(reply);
|
||||||
|
logger.trace("Failed to perform transform (Exception), sending " + reply, e);
|
||||||
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -301,7 +314,8 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
reply.setStatus(e.getStatusCode());
|
reply.setStatus(e.getStatusCode());
|
||||||
reply.setErrorDetails(messageWithCause("Failed at writing the transformed file", e));
|
reply.setErrorDetails(messageWithCause("Failed at writing the transformed file", e));
|
||||||
|
|
||||||
logger.error("Failed to save target file (TransformException), sending " + reply, e);
|
transformerDebug.logFailure(reply);
|
||||||
|
logger.trace("Failed to save target file (TransformException), sending " + reply, e);
|
||||||
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
||||||
}
|
}
|
||||||
catch (HttpClientErrorException e)
|
catch (HttpClientErrorException e)
|
||||||
@ -309,8 +323,8 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
reply.setStatus(e.getStatusCode().value());
|
reply.setStatus(e.getStatusCode().value());
|
||||||
reply.setErrorDetails(messageWithCause("Failed at writing the transformed file. ", e));
|
reply.setErrorDetails(messageWithCause("Failed at writing the transformed file. ", e));
|
||||||
|
|
||||||
logger.error("Failed to save target file (HttpClientErrorException), sending " + reply,
|
transformerDebug.logFailure(reply);
|
||||||
e);
|
logger.trace("Failed to save target file (HttpClientErrorException), sending " + reply, e);
|
||||||
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@ -318,7 +332,8 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
reply.setStatus(INTERNAL_SERVER_ERROR.value());
|
reply.setStatus(INTERNAL_SERVER_ERROR.value());
|
||||||
reply.setErrorDetails(messageWithCause("Failed at writing the transformed file. ", e));
|
reply.setErrorDetails(messageWithCause("Failed at writing the transformed file. ", e));
|
||||||
|
|
||||||
logger.error("Failed to save target file (Exception), sending " + reply, e);
|
transformerDebug.logFailure(reply);
|
||||||
|
logger.trace("Failed to save target file (Exception), sending " + reply, e);
|
||||||
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -343,7 +358,8 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
reply.setTargetReference(targetRef.getEntry().getFileRef());
|
reply.setTargetReference(targetRef.getEntry().getFileRef());
|
||||||
reply.setStatus(CREATED.value());
|
reply.setStatus(CREATED.value());
|
||||||
|
|
||||||
logger.info("Sending successful {}, timeout {} ms", reply, timeout);
|
transformerDebug.popTransform(reply);
|
||||||
|
logger.trace("Sending successful {}, timeout {} ms", reply, timeout);
|
||||||
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
return new ResponseEntity<>(reply, HttpStatus.valueOf(reply.getStatus()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -354,6 +370,21 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
return errors;
|
return errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void validateInternalContext(TransformRequest request, Errors errors)
|
||||||
|
{
|
||||||
|
String errorMessage = InternalContext.checkForBasicErrors(request.getInternalContext(), "T-Request");
|
||||||
|
if (errorMessage != null)
|
||||||
|
{
|
||||||
|
errors.rejectValue("internalContext", null, errorMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initialiseContext(TransformRequest request)
|
||||||
|
{
|
||||||
|
// If needed initialise the context enough to allow logging to take place without NPE checks
|
||||||
|
request.setInternalContext(InternalContext.initialise(request.getInternalContext()));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the file with the specified sourceReference from Alfresco Shared File Store
|
* Loads the file with the specified sourceReference from Alfresco Shared File Store
|
||||||
*
|
*
|
||||||
@ -422,7 +453,7 @@ public abstract class AbstractTransformerController implements TransformControll
|
|||||||
}
|
}
|
||||||
else if (logger.isInfoEnabled())
|
else if (logger.isInfoEnabled())
|
||||||
{
|
{
|
||||||
logger.info("Using transform name provided in the request: " + requestTransformName);
|
logger.trace("Using transform name provided in the request: " + requestTransformName);
|
||||||
}
|
}
|
||||||
return transformName;
|
return transformName;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2019 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -106,7 +106,7 @@ public class QueueTransformService
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.info("New T-Request from queue with correlationId: {}", correlationId);
|
logger.trace("New T-Request from queue with correlationId: {}", correlationId);
|
||||||
|
|
||||||
Optional<TransformRequest> transformRequest;
|
Optional<TransformRequest> transformRequest;
|
||||||
try
|
try
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2019 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -28,6 +28,7 @@ package org.alfresco.transformer.config;
|
|||||||
|
|
||||||
import org.alfresco.transform.client.model.TransformRequestValidator;
|
import org.alfresco.transform.client.model.TransformRequestValidator;
|
||||||
import org.alfresco.transform.client.registry.TransformServiceRegistry;
|
import org.alfresco.transform.client.registry.TransformServiceRegistry;
|
||||||
|
import org.alfresco.transform.router.TransformerDebug;
|
||||||
import org.alfresco.transformer.TransformInterceptor;
|
import org.alfresco.transformer.TransformInterceptor;
|
||||||
import org.alfresco.transformer.TransformRegistryImpl;
|
import org.alfresco.transformer.TransformRegistryImpl;
|
||||||
import org.alfresco.transformer.clients.AlfrescoSharedFileStoreClient;
|
import org.alfresco.transformer.clients.AlfrescoSharedFileStoreClient;
|
||||||
@ -78,4 +79,10 @@ public class WebApplicationConfig implements WebMvcConfigurer
|
|||||||
{
|
{
|
||||||
return new TransformRegistryImpl();
|
return new TransformRegistryImpl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public TransformerDebug transformerDebug()
|
||||||
|
{
|
||||||
|
return new TransformerDebug().setIsTEngine(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ public class TransformReplySender
|
|||||||
m.setJMSCorrelationID(correlationId);
|
m.setJMSCorrelationID(correlationId);
|
||||||
return m;
|
return m;
|
||||||
});
|
});
|
||||||
logger.info("Sent: {} - with correlation ID {}", reply, correlationId);
|
logger.trace("Sent: {} - with correlation ID {}", reply, correlationId);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -31,6 +31,7 @@ logging:
|
|||||||
org.alfresco.transformer.ImageMagickController: debug
|
org.alfresco.transformer.ImageMagickController: debug
|
||||||
org.alfresco.transformer.TikaController: debug
|
org.alfresco.transformer.TikaController: debug
|
||||||
org.alfresco.transformer.MiscellaneousTransformersController: debug
|
org.alfresco.transformer.MiscellaneousTransformersController: debug
|
||||||
|
org.alfresco.transform.router.TransformerDebug: debug
|
||||||
|
|
||||||
fileStoreUrl: ${FILE_STORE_URL:http://localhost:8099/alfresco/api/-default-/private/sfs/versions/1/file}
|
fileStoreUrl: ${FILE_STORE_URL:http://localhost:8099/alfresco/api/-default-/private/sfs/versions/1/file}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* #%L
|
* #%L
|
||||||
* Alfresco Transform Core
|
* Alfresco Transform Core
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
* Copyright (C) 2005 - 2022 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* -
|
* -
|
||||||
@ -48,10 +48,12 @@ import java.io.IOException;
|
|||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.nio.channels.FileChannel;
|
import java.nio.channels.FileChannel;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.alfresco.transform.client.model.InternalContext;
|
||||||
import org.alfresco.transform.client.model.TransformReply;
|
import org.alfresco.transform.client.model.TransformReply;
|
||||||
import org.alfresco.transform.client.model.TransformRequest;
|
import org.alfresco.transform.client.model.TransformRequest;
|
||||||
import org.alfresco.transform.client.model.config.SupportedSourceAndTarget;
|
import org.alfresco.transform.client.model.config.SupportedSourceAndTarget;
|
||||||
@ -61,6 +63,7 @@ import org.alfresco.transform.client.model.config.TransformOptionGroup;
|
|||||||
import org.alfresco.transform.client.model.config.TransformOptionValue;
|
import org.alfresco.transform.client.model.config.TransformOptionValue;
|
||||||
import org.alfresco.transform.client.model.config.Transformer;
|
import org.alfresco.transform.client.model.config.Transformer;
|
||||||
import org.alfresco.transform.client.registry.TransformServiceRegistry;
|
import org.alfresco.transform.client.registry.TransformServiceRegistry;
|
||||||
|
import org.alfresco.transform.router.TransformStack;
|
||||||
import org.alfresco.transformer.clients.AlfrescoSharedFileStoreClient;
|
import org.alfresco.transformer.clients.AlfrescoSharedFileStoreClient;
|
||||||
import org.alfresco.transformer.probes.ProbeTestTransform;
|
import org.alfresco.transformer.probes.ProbeTestTransform;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
@ -104,6 +107,7 @@ public abstract class AbstractTransformerControllerTest
|
|||||||
protected String targetExtension;
|
protected String targetExtension;
|
||||||
protected String sourceMimetype;
|
protected String sourceMimetype;
|
||||||
protected String targetMimetype;
|
protected String targetMimetype;
|
||||||
|
protected HashMap<String, String> options = new HashMap<>();
|
||||||
|
|
||||||
protected MockMultipartFile sourceFile;
|
protected MockMultipartFile sourceFile;
|
||||||
protected String expectedOptions;
|
protected String expectedOptions;
|
||||||
@ -220,6 +224,30 @@ public abstract class AbstractTransformerControllerTest
|
|||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected TransformRequest createTransformRequest(String sourceFileRef, File sourceFile)
|
||||||
|
{
|
||||||
|
TransformRequest transformRequest = new TransformRequest();
|
||||||
|
transformRequest.setRequestId("1");
|
||||||
|
transformRequest.setSchema(1);
|
||||||
|
transformRequest.setClientData("Alfresco Digital Business Platform");
|
||||||
|
transformRequest.setTransformRequestOptions(options);
|
||||||
|
transformRequest.setSourceReference(sourceFileRef);
|
||||||
|
transformRequest.setSourceExtension(sourceExtension);
|
||||||
|
transformRequest.setSourceMediaType(sourceMimetype);
|
||||||
|
transformRequest.setSourceSize(sourceFile.length());
|
||||||
|
transformRequest.setTargetExtension(targetExtension);
|
||||||
|
transformRequest.setTargetMediaType(targetMimetype);
|
||||||
|
transformRequest.setInternalContext(InternalContext.initialise(null));
|
||||||
|
transformRequest.getInternalContext().getMultiStep().setInitialRequestId("123");
|
||||||
|
transformRequest.getInternalContext().getMultiStep().setInitialSourceMediaType(sourceMimetype);
|
||||||
|
TransformStack.setInitialTransformRequestOptions(transformRequest.getInternalContext(), options);
|
||||||
|
TransformStack.setInitialSourceReference(transformRequest.getInternalContext(), sourceFileRef);
|
||||||
|
TransformStack.addTransformLevel(transformRequest.getInternalContext(),
|
||||||
|
TransformStack.levelBuilder(TransformStack.PIPELINE_FLAG)
|
||||||
|
.withStep("transformerName", sourceMimetype, targetMimetype));
|
||||||
|
return transformRequest;
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void simpleTransformTest() throws Exception
|
public void simpleTransformTest() throws Exception
|
||||||
{
|
{
|
||||||
|
4
pom.xml
4
pom.xml
@ -3,7 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.alfresco</groupId>
|
<groupId>org.alfresco</groupId>
|
||||||
<artifactId>alfresco-transform-core</artifactId>
|
<artifactId>alfresco-transform-core</artifactId>
|
||||||
<version>2.5.5-SNAPSHOT</version>
|
<version>2.5.5-A1-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
@ -21,7 +21,7 @@
|
|||||||
<dependency.pdfbox.version>2.0.24</dependency.pdfbox.version>
|
<dependency.pdfbox.version>2.0.24</dependency.pdfbox.version>
|
||||||
<dependency.alfresco-jodconverter-core.version>3.0.1.12</dependency.alfresco-jodconverter-core.version>
|
<dependency.alfresco-jodconverter-core.version>3.0.1.12</dependency.alfresco-jodconverter-core.version>
|
||||||
<env.project_version>${project.version}</env.project_version>
|
<env.project_version>${project.version}</env.project_version>
|
||||||
<dependency.alfresco-transform-model.version>1.4.3</dependency.alfresco-transform-model.version>
|
<dependency.alfresco-transform-model.version>1.4.5</dependency.alfresco-transform-model.version>
|
||||||
<dependency.activemq.version>5.16.3</dependency.activemq.version>
|
<dependency.activemq.version>5.16.3</dependency.activemq.version>
|
||||||
<dependency.jackson.version>2.13.0</dependency.jackson.version>
|
<dependency.jackson.version>2.13.0</dependency.jackson.version>
|
||||||
<dependency.jackson-databind.version>${dependency.jackson.version}</dependency.jackson-databind.version>
|
<dependency.jackson-databind.version>${dependency.jackson.version}</dependency.jackson-databind.version>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user