diff --git a/engines/base/src/main/java/org/alfresco/transform/base/registry/TransformRegistry.java b/engines/base/src/main/java/org/alfresco/transform/base/registry/TransformRegistry.java index 2aa05661..772098d9 100644 --- a/engines/base/src/main/java/org/alfresco/transform/base/registry/TransformRegistry.java +++ b/engines/base/src/main/java/org/alfresco/transform/base/registry/TransformRegistry.java @@ -360,15 +360,19 @@ public class TransformRegistry extends AbstractTransformRegistry public boolean checkSourceSize(String transformerName, String sourceMediaType, Long sourceSize, String targetMediaType) { - return Optional.ofNullable(getTransformer(transformerName)). - map(transformer -> transformer.getSupportedSourceAndTargetList().stream(). - filter(supported -> supported.getSourceMediaType().equals(sourceMediaType) && - supported.getTargetMediaType().equals(targetMediaType)). - findFirst(). - map(supported -> supported.getMaxSourceSizeBytes() == -1 || - supported.getMaxSourceSizeBytes() >= sourceSize). - orElse(false)). - orElse(false); + //TODO issue mentioned in ACS-3476, + //commenting out changes to code due to issues with libreoffice blocking a release + return true; + +// return Optional.ofNullable(getTransformer(transformerName)). +// map(transformer -> transformer.getSupportedSourceAndTargetList().stream(). +// filter(supported -> supported.getSourceMediaType().equals(sourceMediaType) && +// supported.getTargetMediaType().equals(targetMediaType)). +// findFirst(). +// map(supported -> supported.getMaxSourceSizeBytes() == -1 || +// supported.getMaxSourceSizeBytes() >= sourceSize). +// orElse(false)). +// orElse(false); } public String getEngineName(String transformerName) diff --git a/engines/base/src/test/java/org/alfresco/transform/base/fakes/AbstractFakeTransformEngine.java b/engines/base/src/test/java/org/alfresco/transform/base/fakes/AbstractFakeTransformEngine.java index d6e01261..6e1cbdb3 100644 --- a/engines/base/src/test/java/org/alfresco/transform/base/fakes/AbstractFakeTransformEngine.java +++ b/engines/base/src/test/java/org/alfresco/transform/base/fakes/AbstractFakeTransformEngine.java @@ -27,18 +27,24 @@ package org.alfresco.transform.base.fakes; import org.alfresco.transform.base.TransformEngine; +import org.alfresco.transform.base.probes.ProbeTransform; import org.springframework.boot.test.context.TestComponent; /** - * Subclass MUST be named FakeTransformEngineWith\. + * Subclass MUST be named FakeTransformEngineWith\ otherwise the engine name will be "undefined". */ @TestComponent public abstract class AbstractFakeTransformEngine implements TransformEngine { + + private static final String FAKE_TRANSFORM_ENGINE_WITH = "FakeTransformEngineWith"; + @Override public String getTransformEngineName() { String simpleClassName = getClass().getSimpleName(); - return "0000 "+simpleClassName.substring("FakeTransformEngineWith".length()); + return simpleClassName.startsWith(FAKE_TRANSFORM_ENGINE_WITH) + ? "0000 "+simpleClassName.substring(FAKE_TRANSFORM_ENGINE_WITH.length()) + : "undefined"; } @Override public String getStartupMessage() @@ -47,4 +53,10 @@ public abstract class AbstractFakeTransformEngine implements TransformEngine "\nLine 2 "+getTransformEngineName()+ "\nLine 3"; } + + @Override + public ProbeTransform getProbeTransform() + { + return null; + } } diff --git a/engines/base/src/test/java/org/alfresco/transform/base/registry/TransformRegistryTest.java b/engines/base/src/test/java/org/alfresco/transform/base/registry/TransformRegistryTest.java index 208dc0da..b2af4f14 100644 --- a/engines/base/src/test/java/org/alfresco/transform/base/registry/TransformRegistryTest.java +++ b/engines/base/src/test/java/org/alfresco/transform/base/registry/TransformRegistryTest.java @@ -28,9 +28,12 @@ package org.alfresco.transform.base.registry; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import org.alfresco.transform.base.fakes.AbstractFakeTransformEngine; import org.alfresco.transform.base.fakes.FakeTransformEngineWithAllInOne; import org.alfresco.transform.base.fakes.FakeTransformEngineWithOneCustomTransformer; import org.alfresco.transform.base.fakes.FakeTransformEngineWithTwoCustomTransformers; +import org.alfresco.transform.config.SupportedSourceAndTarget; import org.alfresco.transform.config.TransformConfig; import org.alfresco.transform.config.Transformer; import org.junit.jupiter.api.AfterEach; @@ -44,9 +47,13 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_EXCEL; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_WORD; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.doReturn; @AutoConfigureMockMvc @SpringBootTest(classes={org.alfresco.transform.base.Application.class}) @@ -227,4 +234,42 @@ public class TransformRegistryTest assertTrue(transformRegistry.isReadyForTransformRequests()); } + + @Test + public void testCheckSourceSize() + { + ReflectionTestUtils.setField(transformConfigFromTransformEngines, "transformEngines", ImmutableList.of( + new AbstractFakeTransformEngine() + { + @Override public TransformConfig getTransformConfig() + { + return TransformConfig.builder() + .withTransformers(ImmutableList.of( + Transformer.builder() + .withTransformerName("transformerName") + .withSupportedSourceAndTargetList(ImmutableSet.of( + SupportedSourceAndTarget.builder() + .withSourceMediaType(MIMETYPE_WORD) + .withTargetMediaType(MIMETYPE_PDF) + .build(), + SupportedSourceAndTarget.builder() + .withSourceMediaType(MIMETYPE_EXCEL) + .withTargetMediaType(MIMETYPE_PDF) + .withMaxSourceSizeBytes(12345L) + .build())) + .build())) + .build(); + } + })); + transformConfigFromTransformEngines.initTransformEngineConfig(); + transformRegistry.retrieveConfig(); + + assertTrue( transformRegistry.checkSourceSize("transformerName", MIMETYPE_WORD, Long.MAX_VALUE, MIMETYPE_PDF)); + assertTrue( transformRegistry.checkSourceSize("transformerName", MIMETYPE_EXCEL, 12345L, MIMETYPE_PDF)); +//TODO issue mentioned in ACS-3476, +//commenting out changes to code due to issues with libreoffice blocking a release +// assertFalse(transformRegistry.checkSourceSize("transformerName", MIMETYPE_EXCEL, 12346L, MIMETYPE_PDF)); +// assertFalse(transformRegistry.checkSourceSize("transformerName", "doesNotExist", 12345L, MIMETYPE_PDF)); +// assertFalse(transformRegistry.checkSourceSize("doesNotExist", MIMETYPE_WORD, 12345L, MIMETYPE_PDF)); + } }