> transformOptions,
+ String baseUrl, String readFrom)
{
try
{
diff --git a/repository/src/main/java/org/alfresco/transform/client/registry/CombinedConfig.java b/repository/src/main/java/org/alfresco/transform/client/registry/CombinedConfig.java
index 1b208c5f61..0ebf21a085 100644
--- a/repository/src/main/java/org/alfresco/transform/client/registry/CombinedConfig.java
+++ b/repository/src/main/java/org/alfresco/transform/client/registry/CombinedConfig.java
@@ -44,6 +44,7 @@ import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.io.StringReader;
+import java.util.Collections;
import java.util.List;
/**
@@ -51,8 +52,8 @@ import java.util.List;
* in one file. Transform options are shared between all sources.
*
* The caller should make calls to {@link #addRemoteConfig(List, String)}, {@link #addLocalConfig(String)} or
- * {@link #addTransformConfig(TransformConfig, String, String)} followed by a call to
- * {@link #register(TransformServiceRegistryImpl)}.
+ * {@link CombinedTransformConfig#addTransformConfig(TransformConfig, String, String, AbstractTransformRegistry)}
+ * followed by a call to {@link #register(TransformServiceRegistryImpl)}.
*
* @author adavis
*/
@@ -64,7 +65,7 @@ public class CombinedConfig extends CombinedTransformConfig
private ConfigFileFinder configFileFinder;
private int tEngineCount;
- public CombinedConfig(Log log)
+ public CombinedConfig(Log log, AbstractTransformRegistry registry)
{
this.log = log;
@@ -74,7 +75,7 @@ public class CombinedConfig extends CombinedTransformConfig
protected void readJson(JsonNode jsonNode, String readFrom, String baseUrl)
{
TransformConfig transformConfig = jsonObjectMapper.convertValue(jsonNode, TransformConfig.class);
- addTransformConfig(transformConfig, readFrom, baseUrl);
+ addTransformConfig(transformConfig, readFrom, baseUrl, registry);
}
};
}
@@ -129,9 +130,9 @@ public class CombinedConfig extends CombinedTransformConfig
String content = getContent(resEntity);
try (StringReader reader = new StringReader(content))
{
- int transformCount = combinedTransformers.size();
+ int transformCount = transformerCount();
configFileFinder.readFile(reader, remoteType+" on "+baseUrl, "json", baseUrl, log);
- if (transformCount == combinedTransformers.size())
+ if (transformCount == transformerCount())
{
successReadingConfig = false;
}
@@ -225,11 +226,14 @@ public class CombinedConfig extends CombinedTransformConfig
* from selected text based types.
* @param mimetypeService to find all the mimetypes
*/
- public void addPassThroughTransformer(MimetypeService mimetypeService)
+ public void addPassThroughTransformer(MimetypeService mimetypeService, AbstractTransformRegistry registry)
{
List mimetypes = mimetypeService.getMimetypes();
Transformer transformer = LocalPassThroughTransform.getConfig(mimetypes);
- combinedTransformers.add(new TransformAndItsOrigin(transformer, null, "based on mimetype list"));
+ TransformConfig transformConfig = TransformConfig.builder()
+ .withTransformers(Collections.singletonList(transformer))
+ .build();
+ addTransformConfig(transformConfig, "based on mimetype list", null, registry);
}
public void register(TransformServiceRegistryImpl registry)
diff --git a/repository/src/test/java/org/alfresco/transform/client/registry/LocalTransformServiceRegistryConfigTest.java b/repository/src/test/java/org/alfresco/transform/client/registry/LocalTransformServiceRegistryConfigTest.java
index 866afecb63..6e770d6ae2 100644
--- a/repository/src/test/java/org/alfresco/transform/client/registry/LocalTransformServiceRegistryConfigTest.java
+++ b/repository/src/test/java/org/alfresco/transform/client/registry/LocalTransformServiceRegistryConfigTest.java
@@ -33,6 +33,7 @@ import org.alfresco.repo.content.transform.LocalTransformImpl;
import org.alfresco.repo.content.transform.LocalTransformServiceRegistry;
import org.alfresco.repo.content.transform.TransformerDebug;
import org.alfresco.transform.client.model.config.SupportedSourceAndTarget;
+import org.alfresco.transform.client.model.config.TransformConfig;
import org.alfresco.transform.client.model.config.TransformOption;
import org.alfresco.transform.client.model.config.TransformOptionGroup;
import org.alfresco.transform.client.model.config.TransformOptionValue;
@@ -191,7 +192,7 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryTe
private static final String URL = ".url";
private Map> mapOfTransformOptions;
- private List transformerList;
+ private List transformerList;
protected TestLocalTransformServiceRegistry registry;
@@ -262,11 +263,13 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryTe
*/
private void retrieveLocalTransformList(String path)
{
- CombinedConfig combinedConfig = new CombinedConfig(log);
+ CombinedConfig combinedConfig = new CombinedConfig(log, registry);
combinedConfig.addLocalConfig(path);
combinedConfig.register(registry);
- mapOfTransformOptions = combinedConfig.combinedTransformOptions;
- transformerList = combinedConfig.combinedTransformers;
+
+ TransformConfig transformConfig = combinedConfig.buildTransformConfig();
+ mapOfTransformOptions = transformConfig.getTransformOptions();
+ transformerList = transformConfig.getTransformers();
}
/**
@@ -370,7 +373,6 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryTe
return LOCAL_TRANSFORM+transformer.getTransformerName()+".url";
}
-
private int countTopLevelOptions(Set transformOptionNames)
{
int i = 0;
@@ -384,7 +386,7 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryTe
private void register(String path) throws IOException
{
- CombinedConfig combinedConfig = new CombinedConfig(log);
+ CombinedConfig combinedConfig = new CombinedConfig(log, registry);
combinedConfig.addLocalConfig(path);
combinedConfig.register((TransformServiceRegistryImpl)registry);
}
@@ -561,22 +563,22 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryTe
listOfExpectedTransformersName.add("libreoffice");
listOfExpectedTransformersName.add("officeToImageViaPdf");
- for (CombinedConfig.TransformAndItsOrigin t : transformerList)
+ for (Transformer transformer : transformerList)
{
- assertTrue(t.transformer.getTransformerName() + " should be an expected local transformer.", listOfExpectedTransformersName.contains(t.transformer.getTransformerName()));
- listOfExpectedTransformersName.remove(t.transformer.getTransformerName());
+ assertTrue(transformer.getTransformerName() + " should be an expected local transformer.", listOfExpectedTransformersName.contains(transformer.getTransformerName()));
+ listOfExpectedTransformersName.remove(transformer.getTransformerName());
- switch (t.transformer.getTransformerName())
+ switch (transformer.getTransformerName())
{
case "imagemagick":
- assertEquals(t.transformer.getTransformerName() + " incorrect number of supported transform", 18, t.transformer.getSupportedSourceAndTargetList().size());
- assertEquals( t.transformer.getTransformerName() + "incorrect number of transform option names", 1, t.transformer.getTransformOptions().size());
- assertEquals( t.transformer.getTransformerName() + "incorrect number of transform options", 6, countTopLevelOptions(t.transformer.getTransformOptions()));
- assertEquals(t.transformer.getTransformerName() + " expected to not be a transformer pipeline", t.transformer.getTransformerPipeline().size(), 0);
- assertEquals(t.transformer.getTransformerName() + " expected to not be a failover pipeline", t.transformer.getTransformerFailover().size(), 0);
+ assertEquals(transformer.getTransformerName() + " incorrect number of supported transform", 18, transformer.getSupportedSourceAndTargetList().size());
+ assertEquals( transformer.getTransformerName() + "incorrect number of transform option names", 1, transformer.getTransformOptions().size());
+ assertEquals( transformer.getTransformerName() + "incorrect number of transform options", 6, countTopLevelOptions(transformer.getTransformOptions()));
+ assertEquals(transformer.getTransformerName() + " expected to not be a transformer pipeline", transformer.getTransformerPipeline().size(), 0);
+ assertEquals(transformer.getTransformerName() + " expected to not be a failover pipeline", transformer.getTransformerFailover().size(), 0);
//Test supportedSourceAndTargetList
- for ( SupportedSourceAndTarget ssat: t.transformer.getSupportedSourceAndTargetList())
+ for ( SupportedSourceAndTarget ssat: transformer.getSupportedSourceAndTargetList())
{
assertTrue(ssat.getSourceMediaType() + " not expected to be a supported transform source.", imagemagickSupportedTransformation.containsKey(ssat.getSourceMediaType()));
assertTrue(ssat.getTargetMediaType() + " not expected to be a supported transform target for " + ssat.getSourceMediaType(), imagemagickSupportedTransformation.get(ssat.getSourceMediaType()).contains(ssat.getTargetMediaType()));
@@ -584,14 +586,14 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryTe
break;
case "tika":
- assertEquals(t.transformer.getTransformerName() + " incorrect number of supported transform", 11, t.transformer.getSupportedSourceAndTargetList().size());
- assertEquals( t.transformer.getTransformerName() + "incorrect number of transform option names", 1, t.transformer.getTransformOptions().size());
- assertEquals( t.transformer.getTransformerName() + "incorrect number of transform options", 5, countTopLevelOptions(t.transformer.getTransformOptions()));
- assertEquals(t.transformer.getTransformerName() + " expected to not be a transformer pipeline", t.transformer.getTransformerPipeline().size(), 0);
- assertEquals(t.transformer.getTransformerName() + " expected to not be a failover pipeline", t.transformer.getTransformerFailover().size(), 0);
+ assertEquals(transformer.getTransformerName() + " incorrect number of supported transform", 11, transformer.getSupportedSourceAndTargetList().size());
+ assertEquals( transformer.getTransformerName() + "incorrect number of transform option names", 1, transformer.getTransformOptions().size());
+ assertEquals( transformer.getTransformerName() + "incorrect number of transform options", 5, countTopLevelOptions(transformer.getTransformOptions()));
+ assertEquals(transformer.getTransformerName() + " expected to not be a transformer pipeline", transformer.getTransformerPipeline().size(), 0);
+ assertEquals(transformer.getTransformerName() + " expected to not be a failover pipeline", transformer.getTransformerFailover().size(), 0);
//Test supportedSourceAndTargetList
- for ( SupportedSourceAndTarget ssat: t.transformer.getSupportedSourceAndTargetList())
+ for ( SupportedSourceAndTarget ssat: transformer.getSupportedSourceAndTargetList())
{
assertTrue(ssat.getSourceMediaType() + " not expected to be a supported transform source.", tikaSupportedTransformation.containsKey(ssat.getSourceMediaType()));
assertTrue(ssat.getTargetMediaType() + " not expected to be a supported transform target for " + ssat.getSourceMediaType(), tikaSupportedTransformation.get(ssat.getSourceMediaType()).contains(ssat.getTargetMediaType()));
@@ -599,14 +601,14 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryTe
break;
case "pdfrenderer":
- assertEquals(t.transformer.getTransformerName() + " incorrect number of supported transform", 4, t.transformer.getSupportedSourceAndTargetList().size());
- assertEquals( t.transformer.getTransformerName() + "incorrect number of transform option names", 1, t.transformer.getTransformOptions().size());
- assertEquals( t.transformer.getTransformerName() + "incorrect number of transform options", 5, countTopLevelOptions(t.transformer.getTransformOptions()));
- assertEquals(t.transformer.getTransformerName() + " expected to not be a transformer pipeline", t.transformer.getTransformerPipeline().size(), 0);
- assertEquals(t.transformer.getTransformerName() + " expected to not be a failover pipeline", t.transformer.getTransformerFailover().size(), 0);
+ assertEquals(transformer.getTransformerName() + " incorrect number of supported transform", 4, transformer.getSupportedSourceAndTargetList().size());
+ assertEquals( transformer.getTransformerName() + "incorrect number of transform option names", 1, transformer.getTransformOptions().size());
+ assertEquals( transformer.getTransformerName() + "incorrect number of transform options", 5, countTopLevelOptions(transformer.getTransformOptions()));
+ assertEquals(transformer.getTransformerName() + " expected to not be a transformer pipeline", transformer.getTransformerPipeline().size(), 0);
+ assertEquals(transformer.getTransformerName() + " expected to not be a failover pipeline", transformer.getTransformerFailover().size(), 0);
//Test supportedSourceAndTargetList
- for ( SupportedSourceAndTarget ssat: t.transformer.getSupportedSourceAndTargetList())
+ for ( SupportedSourceAndTarget ssat: transformer.getSupportedSourceAndTargetList())
{
assertTrue(ssat.getSourceMediaType() + " not expected to be a supported transform source.", pdfRendererSupportedTransformation.containsKey(ssat.getSourceMediaType()));
assertTrue(ssat.getTargetMediaType() + " not expected to be a supported transform target for " + ssat.getSourceMediaType(), pdfRendererSupportedTransformation.get(ssat.getSourceMediaType()).contains(ssat.getTargetMediaType()));
@@ -614,14 +616,14 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryTe
break;
case "libreoffice":
- assertEquals(t.transformer.getTransformerName() + " incorrect number of supported transform", 9, t.transformer.getSupportedSourceAndTargetList().size());
- assertEquals( t.transformer.getTransformerName() + "incorrect number of transform option names", 0, t.transformer.getTransformOptions().size());
- assertEquals( t.transformer.getTransformerName() + "incorrect number of transform options", 0, countTopLevelOptions(t.transformer.getTransformOptions()));
- assertEquals(t.transformer.getTransformerName() + " expected to not be a transformer pipeline", t.transformer.getTransformerPipeline().size(), 0);
- assertEquals(t.transformer.getTransformerName() + " expected to not be a failover pipeline", t.transformer.getTransformerFailover().size(), 0);
+ assertEquals(transformer.getTransformerName() + " incorrect number of supported transform", 9, transformer.getSupportedSourceAndTargetList().size());
+ assertEquals( transformer.getTransformerName() + "incorrect number of transform option names", 0, transformer.getTransformOptions().size());
+ assertEquals( transformer.getTransformerName() + "incorrect number of transform options", 0, countTopLevelOptions(transformer.getTransformOptions()));
+ assertEquals(transformer.getTransformerName() + " expected to not be a transformer pipeline", transformer.getTransformerPipeline().size(), 0);
+ assertEquals(transformer.getTransformerName() + " expected to not be a failover pipeline", transformer.getTransformerFailover().size(), 0);
//Test supportedSourceAndTargetList
- for ( SupportedSourceAndTarget ssat: t.transformer.getSupportedSourceAndTargetList())
+ for ( SupportedSourceAndTarget ssat: transformer.getSupportedSourceAndTargetList())
{
assertTrue(ssat.getSourceMediaType() + " not expected to be a supported transform source.", libreofficeSupportedTransformation.containsKey(ssat.getSourceMediaType()));
assertTrue(ssat.getTargetMediaType() + " not expected to be a supported transform target for " + ssat.getSourceMediaType(), libreofficeSupportedTransformation.get(ssat.getSourceMediaType()).contains(ssat.getTargetMediaType()));
@@ -630,13 +632,13 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryTe
case "officeToImageViaPdf":
// Note we will get 35 entries in getSupportedSourceAndTargetList() if the metadata transforms are not excluded
- assertEquals(t.transformer.getTransformerName() + " incorrect number of supported transform", 28, t.transformer.getSupportedSourceAndTargetList().size());
- assertEquals( t.transformer.getTransformerName() + "incorrect number of transform option names", 2, t.transformer.getTransformOptions().size());
- assertEquals( t.transformer.getTransformerName() + "incorrect number of transform options", 11, countTopLevelOptions(t.transformer.getTransformOptions()));
- assertEquals(t.transformer.getTransformerName() + " expected to be a transformer pipeline", t.transformer.getTransformerPipeline().size(), 3);
+ assertEquals(transformer.getTransformerName() + " incorrect number of supported transform", 28, transformer.getSupportedSourceAndTargetList().size());
+ assertEquals( transformer.getTransformerName() + "incorrect number of transform option names", 2, transformer.getTransformOptions().size());
+ assertEquals( transformer.getTransformerName() + "incorrect number of transform options", 11, countTopLevelOptions(transformer.getTransformOptions()));
+ assertEquals(transformer.getTransformerName() + " expected to be a transformer pipeline", transformer.getTransformerPipeline().size(), 3);
//Test supportedSourceAndTargetList
- for ( SupportedSourceAndTarget ssat: t.transformer.getSupportedSourceAndTargetList())
+ for ( SupportedSourceAndTarget ssat: transformer.getSupportedSourceAndTargetList())
{
assertTrue(ssat.getSourceMediaType() + " not expected to be a supported transform source.", officeToImageViaPdfSupportedTransformation.containsKey(ssat.getSourceMediaType()));
assertTrue(ssat.getTargetMediaType() + " not expected to be a supported transform target for " + ssat.getSourceMediaType(), officeToImageViaPdfSupportedTransformation.get(ssat.getSourceMediaType()).contains(ssat.getTargetMediaType()));
@@ -653,11 +655,11 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryTe
retrieveLocalTransformList(LOCAL_TRANSFORM_SERVICE_CONFIG);
assertNotNull("Transformer list is null.", transformerList);
- for (CombinedConfig.TransformAndItsOrigin t : transformerList)
+ for (Transformer transformer : transformerList)
{
- if(t.transformer.getTransformerPipeline() == null)
+ if (transformer.getTransformerPipeline() == null)
{
- assertNotNull(t.transformer.getTransformerName()+ " JVM property not set.", System.getProperty(LOCAL_TRANSFORM + t.transformer.getTransformerName() + URL));
+ assertNotNull(transformer.getTransformerName()+ " JVM property not set.", System.getProperty(LOCAL_TRANSFORM + transformer.getTransformerName() + URL));
}
}
assertEquals("Unexpected pdfrenderer JVM property value", "http://localhost:8090/", System.getProperty(LOCAL_TRANSFORM + "pdfrenderer" + URL));
@@ -665,11 +667,11 @@ public class LocalTransformServiceRegistryConfigTest extends TransformRegistryTe
assertEquals("Unexpected libreoffice JVM property value", "http://localhost:8092/", System.getProperty(LOCAL_TRANSFORM + "libreoffice" + URL));
assertEquals("Unexpected tika JVM property value", "http://localhost:8093/", System.getProperty(LOCAL_TRANSFORM + "tika" + URL));
- for (CombinedConfig.TransformAndItsOrigin t : transformerList)
+ for (Transformer transformer : transformerList)
{
- if(t.transformer.getTransformerPipeline() == null)
+ if(transformer.getTransformerPipeline() == null)
{
- assertNotNull(t.transformer.getTransformerName()+ " alfresco-global property not set.", properties.getProperty(LOCAL_TRANSFORM + t.transformer.getTransformerName() + URL));
+ assertNotNull(transformer.getTransformerName()+ " alfresco-global property not set.", properties.getProperty(LOCAL_TRANSFORM + transformer.getTransformerName() + URL));
}
}
assertEquals("Unexpected pdfrenderer alfresco-global property value", "http://localhost:8090/", properties.getProperty(LOCAL_TRANSFORM + "pdfrenderer" + URL));