> explicitTransformers = Collections.singletonList(transform);
- // add it to the registry
- dummyRegistry.setExplicitTransformations(explicitTransformers);
+ AbstractContentTransformer dummyTransformer = new DummyTransformer(
+ mimetypeMap,
+ dummyRegistry,
+ MimetypeMap.MIMETYPE_FLASH, MimetypeMap.MIMETYPE_EXCEL,
+ 1.0, 12345);
+ // set an explicit transformation
+ ContentTransformerRegistry.TransformationKey key =
+ new ContentTransformerRegistry.TransformationKey(
+ MimetypeMap.MIMETYPE_FLASH, MimetypeMap.MIMETYPE_EXCEL);
+ dummyTransformer.setExplicitTransformations(Collections.singletonList(key));
+ // register again
+ dummyTransformer.register();
// get the appropriate transformer for the bizarre mapping
ContentTransformer checkTransformer = dummyRegistry.getTransformer(
@@ -192,13 +190,20 @@ public class ContentTransformerRegistryTest extends AbstractContentTransformerTe
private double reliability;
private long transformationTime;
- public DummyTransformer(String sourceMimetype, String targetMimetype,
+ public DummyTransformer(
+ MimetypeService mimetypeService,
+ ContentTransformerRegistry registry,
+ String sourceMimetype, String targetMimetype,
double reliability, long transformationTime)
{
+ super.setMimetypeService(mimetypeService);
+ super.setRegistry(registry);
this.sourceMimetype = sourceMimetype;
this.targetMimetype = targetMimetype;
this.reliability = reliability;
this.transformationTime = transformationTime;
+ // register
+ register();
}
public double getReliability(String sourceMimetype, String targetMimetype)
diff --git a/source/java/org/alfresco/repo/content/transform/UnoContentTransformer.java b/source/java/org/alfresco/repo/content/transform/UnoContentTransformer.java
index a5fe2d017a..bc9f06b6ff 100644
--- a/source/java/org/alfresco/repo/content/transform/UnoContentTransformer.java
+++ b/source/java/org/alfresco/repo/content/transform/UnoContentTransformer.java
@@ -137,7 +137,8 @@ public class UnoContentTransformer extends AbstractContentTransformer
}
/**
- * Perform bean initialization
+ * Connects to the OpenOffice server. If successful, then
+ * {@link AbstractContentTransformer#register() auto-registers}.
*/
public synchronized void init()
{
@@ -147,6 +148,8 @@ public class UnoContentTransformer extends AbstractContentTransformer
{
connection.connect();
isConnected = true;
+ // register
+ super.register();
}
catch (ConnectException e)
{
diff --git a/source/java/org/alfresco/repo/content/transform/magick/AbstractImageMagickContentTransformer.java b/source/java/org/alfresco/repo/content/transform/magick/AbstractImageMagickContentTransformer.java
index 8407ef9162..e28139a6d6 100644
--- a/source/java/org/alfresco/repo/content/transform/magick/AbstractImageMagickContentTransformer.java
+++ b/source/java/org/alfresco/repo/content/transform/magick/AbstractImageMagickContentTransformer.java
@@ -44,7 +44,6 @@ public abstract class AbstractImageMagickContentTransformer extends AbstractCont
private static final Log logger = LogFactory.getLog(AbstractImageMagickContentTransformer.class);
- private MimetypeMap mimetypeMap;
private boolean available;
public AbstractImageMagickContentTransformer()
@@ -52,16 +51,6 @@ public abstract class AbstractImageMagickContentTransformer extends AbstractCont
this.available = false;
}
- /**
- * Set the mimetype map to resolve mimetypes to file extensions.
- *
- * @param mimetypeMap
- */
- public void setMimetypeMap(MimetypeMap mimetypeMap)
- {
- this.mimetypeMap = mimetypeMap;
- }
-
/**
* @return Returns true if the transformer is functioning otherwise false
*/
@@ -82,11 +71,13 @@ public abstract class AbstractImageMagickContentTransformer extends AbstractCont
/**
* Checks for the JMagick and ImageMagick dependencies, using the common
* {@link #transformInternal(File, File) transformation method} to check
- * that the sample image can be converted.
+ * that the sample image can be converted.
+ *
+ * If initialization is successful, then autoregistration takes place.
*/
public void init()
{
- if (mimetypeMap == null)
+ if (getMimetypeService() == null)
{
throw new AlfrescoRuntimeException("MimetypeMap not present");
}
@@ -124,6 +115,9 @@ public abstract class AbstractImageMagickContentTransformer extends AbstractCont
}
// we can be sure that it works
setAvailable(true);
+
+ // register
+ super.register();
}
catch (Throwable e)
{
@@ -192,8 +186,8 @@ public abstract class AbstractImageMagickContentTransformer extends AbstractCont
String targetMimetype = getMimetype(writer);
// get the extensions to use
- String sourceExtension = mimetypeMap.getExtension(sourceMimetype);
- String targetExtension = mimetypeMap.getExtension(targetMimetype);
+ String sourceExtension = getMimetypeService().getExtension(sourceMimetype);
+ String targetExtension = getMimetypeService().getExtension(targetMimetype);
if (sourceExtension == null || targetExtension == null)
{
throw new AlfrescoRuntimeException("Unknown extensions for mimetypes: \n" +
diff --git a/source/java/org/alfresco/repo/content/transform/magick/ImageMagickContentTransformerTest.java b/source/java/org/alfresco/repo/content/transform/magick/ImageMagickContentTransformerTest.java
index 7d64dcbfec..bbd19dc185 100644
--- a/source/java/org/alfresco/repo/content/transform/magick/ImageMagickContentTransformerTest.java
+++ b/source/java/org/alfresco/repo/content/transform/magick/ImageMagickContentTransformerTest.java
@@ -39,7 +39,7 @@ public class ImageMagickContentTransformerTest extends AbstractContentTransforme
executer.setDefaultProperties(Collections.singletonMap("options", ""));
transformer = new ImageMagickContentTransformer();
- transformer.setMimetypeMap(mimetypeMap);
+ transformer.setMimetypeService(mimetypeMap);
transformer.setExecuter(executer);
transformer.init();
}
diff --git a/source/java/org/alfresco/repo/content/transform/magick/JMagickContentTransformerTest.java b/source/java/org/alfresco/repo/content/transform/magick/JMagickContentTransformerTest.java
index dd386703d0..c78cdf9035 100644
--- a/source/java/org/alfresco/repo/content/transform/magick/JMagickContentTransformerTest.java
+++ b/source/java/org/alfresco/repo/content/transform/magick/JMagickContentTransformerTest.java
@@ -36,7 +36,7 @@ public class JMagickContentTransformerTest extends AbstractContentTransformerTes
public void onSetUpInTransaction() throws Exception
{
transformer = new JMagickContentTransformer();
- transformer.setMimetypeMap(mimetypeMap);
+ transformer.setMimetypeService(mimetypeMap);
transformer.init();
}