From c61c59eda165e5e0c0cde14d4b0bd715a32ee70d Mon Sep 17 00:00:00 2001 From: alandavis Date: Sun, 14 Aug 2022 23:43:09 +0100 Subject: [PATCH] Save point Allow an 'e' in the ref, so that it can be used for t-router tests. Dynamically add a HttpDispatch, so a test transform is sync --- .../transform/base/TransformController.java | 1 + .../HtmlParserContentTransformerTest.java | 8 ++--- .../TextToPdfContentTransformerTest.java | 2 +- .../common/RepositoryClientData.java | 21 ++++++------ .../transform/messages/TransformStack.java | 30 +++++++++++++---- .../common/RepositoryClientDataTest.java | 33 ++++--------------- .../messages/TransformStackTest.java | 33 +++++++++++++++++-- 7 files changed, 76 insertions(+), 52 deletions(-) diff --git a/engines/base/src/main/java/org/alfresco/transform/base/TransformController.java b/engines/base/src/main/java/org/alfresco/transform/base/TransformController.java index 1ed2896f..f700a0b0 100644 --- a/engines/base/src/main/java/org/alfresco/transform/base/TransformController.java +++ b/engines/base/src/main/java/org/alfresco/transform/base/TransformController.java @@ -342,6 +342,7 @@ public class TransformController ModelAndView mav = new ModelAndView(); mav.addObject("title", transformEngine.getTransformEngineName() + " Error Page"); + mav.addObject("proxyPathPrefix", getPathPrefix(transformEngine.getTransformEngineName())); mav.addObject("message", message); mav.setViewName("error"); // display error.html return mav; diff --git a/engines/misc/src/test/java/org/alfresco/transform/misc/transformers/HtmlParserContentTransformerTest.java b/engines/misc/src/test/java/org/alfresco/transform/misc/transformers/HtmlParserContentTransformerTest.java index c778e249..3375f9bb 100644 --- a/engines/misc/src/test/java/org/alfresco/transform/misc/transformers/HtmlParserContentTransformerTest.java +++ b/engines/misc/src/test/java/org/alfresco/transform/misc/transformers/HtmlParserContentTransformerTest.java @@ -81,7 +81,7 @@ public class HtmlParserContentTransformerTest Map parameters = new HashMap<>(); parameters.put(SOURCE_ENCODING, "ISO-8859-1"); - transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD, transformManager); + transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD, null); assertEquals(expected, readFromFile(tmpD, "UTF-8")); tmpS.delete(); @@ -94,7 +94,7 @@ public class HtmlParserContentTransformerTest tmpD = File.createTempFile("AlfrescoTestTarget_", ".txt"); parameters = new HashMap<>(); parameters.put(SOURCE_ENCODING, "UTF-8"); - transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD, transformManager); + transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD, null); assertEquals(expected, readFromFile(tmpD, "UTF-8")); tmpS.delete(); tmpD.delete(); @@ -106,7 +106,7 @@ public class HtmlParserContentTransformerTest tmpD = File.createTempFile("AlfrescoTestTarget_", ".txt"); parameters = new HashMap<>(); parameters.put(SOURCE_ENCODING, "UTF-16"); - transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD, transformManager); + transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD, null); assertEquals(expected, readFromFile(tmpD, "UTF-8")); tmpS.delete(); tmpD.delete(); @@ -131,7 +131,7 @@ public class HtmlParserContentTransformerTest parameters = new HashMap<>(); parameters.put(SOURCE_ENCODING, "ISO-8859-1"); - transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD, transformManager); + transformer.transform(SOURCE_MIMETYPE, TARGET_MIMETYPE, parameters, tmpS, tmpD, null); assertEquals(expected, readFromFile(tmpD, "UTF-8")); tmpS.delete(); tmpD.delete(); diff --git a/engines/misc/src/test/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformerTest.java b/engines/misc/src/test/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformerTest.java index d880cf05..2449c55e 100644 --- a/engines/misc/src/test/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformerTest.java +++ b/engines/misc/src/test/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformerTest.java @@ -201,7 +201,7 @@ public class TextToPdfContentTransformerTest Map parameters = new HashMap<>(); parameters.put(PAGE_LIMIT, pageLimit); parameters.put(SOURCE_ENCODING, encoding); - transformer.transform("text/plain", "application/pdf", parameters, sourceFile, targetFile, transformManager); + transformer.transform("text/plain", "application/pdf", parameters, sourceFile, targetFile, null); // Read back in the PDF and check it PDDocument doc = PDDocument.load(targetFile); diff --git a/model/src/main/java/org/alfresco/transform/common/RepositoryClientData.java b/model/src/main/java/org/alfresco/transform/common/RepositoryClientData.java index f7f0d136..b6a70370 100644 --- a/model/src/main/java/org/alfresco/transform/common/RepositoryClientData.java +++ b/model/src/main/java/org/alfresco/transform/common/RepositoryClientData.java @@ -33,6 +33,7 @@ public class RepositoryClientData { public static final String DEBUG_SEPARATOR = "\u23D1"; public static final String REPO_ID = "Repo"; public static final String DEBUG = "debug:"; + private static final String NO_DEBUG = "nodebug:"; private static final int REPO_INDEX = 0; private static final int RENDITION_INDEX = 2; @@ -60,13 +61,9 @@ public class RepositoryClientData { return isRepositoryClientData() ? split[REPO_INDEX].substring(REPO_ID.length()) : ""; } - public int getRequestId() + public String getRequestId() { - try { - return isRepositoryClientData() ? Integer.parseInt(split[REQUEST_ID_INDEX]) : -1; - } catch (NumberFormatException e) { - return -1; - } + return isRepositoryClientData() ? split[REQUEST_ID_INDEX] : ""; } public String getRenditionName() { @@ -107,11 +104,13 @@ public class RepositoryClientData { private static String emptyClientData() { - StringJoiner sj = new StringJoiner(CLIENT_DATA_SEPARATOR, REPO_ID+"ACS1234"+CLIENT_DATA_SEPARATOR, ""); - for (int i=1; i levels = levels(internalContext); int size = levels.size(); @@ -272,14 +277,14 @@ public class TransformStack List levels = levels(internalContext); for (int i=TOP_STACK_LEVEL; i()); - TransformStack.setReferenceInADummyTopLevelIfUnset(internalContext, 23); + TransformStack.setReferenceInADummyTopLevelIfUnset(internalContext, "23"); assertEquals("23", TransformStack.getReference(internalContext)); } @@ -502,6 +502,35 @@ class TransformStackTest }; } + @Test + public void testCheckStructureStackLevelsOkWithLeadingE() + { + TransformStack.addTransformLevel(internalContext, TEST_LEVELS.get("top")); + + for (String value : Arrays.asList( + "P" + SEPARATOR + "e20" + SEPARATOR + START + SEPARATOR + "1" + STEP)) + { + System.out.println("TransformLevel value: " + value); + internalContext.getMultiStep().getTransformsToBeDone().set(TOP_STACK_LEVEL, value); + Assertions.assertNull(TransformStack.checkStructure(internalContext, "T-Reply")); + }; + } + + @Test + public void testCheckStructureStackLevelsFailWithLeadingX() + { + TransformStack.addTransformLevel(internalContext, TEST_LEVELS.get("top")); + + for (String value : Arrays.asList( + "P" + SEPARATOR + "x20" + SEPARATOR + START + SEPARATOR + "1" + STEP)) + { + System.out.println("TransformLevel value: " + value); + internalContext.getMultiStep().getTransformsToBeDone().set(TOP_STACK_LEVEL, value); + assertEquals("T-Reply InternalContext did not have levels set correctly", + TransformStack.checkStructure(internalContext, "T-Reply")); + }; + } + @Test public void testCheckStructureStackLevelsBad() {