mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Thumbnail Service: text and html to image and swf now work
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10705 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -271,6 +271,22 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="transformer.complex.Text.Image"
|
||||
class="org.alfresco.repo.content.transform.ComplexContentTransformer"
|
||||
parent="baseContentTransformer" >
|
||||
<property name="transformers">
|
||||
<list>
|
||||
<ref bean="transformer.PdfBox.TextToPdf" />
|
||||
<ref bean="transformer.complex.PDF.Image" />
|
||||
</list>
|
||||
</property>
|
||||
<property name="intermediateMimetypes">
|
||||
<list>
|
||||
<value>application/pdf</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="transformer.Poi"
|
||||
class="org.alfresco.repo.content.transform.PoiHssfContentTransformer"
|
||||
parent="baseContentTransformer" />
|
||||
|
@@ -31,4 +31,20 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="transformer.complex.Text.Pdf2swf"
|
||||
class="org.alfresco.repo.content.transform.ComplexContentTransformer"
|
||||
parent="baseContentTransformer" >
|
||||
<property name="transformers">
|
||||
<list>
|
||||
<ref bean="transformer.PdfBox.TextToPdf" />
|
||||
<ref bean="transformer.Pdf2swf" />
|
||||
</list>
|
||||
</property>
|
||||
<property name="intermediateMimetypes">
|
||||
<list>
|
||||
<value>application/pdf</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
|
@@ -25,6 +25,7 @@
|
||||
package org.alfresco.repo.thumbnail;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -55,7 +56,7 @@ import org.alfresco.util.ParameterCheck;
|
||||
public class ThumbnailServiceImpl implements ThumbnailService
|
||||
{
|
||||
/** Error messages */
|
||||
private static final String ERR_NO_CREATE = "Thumbnail could not be created as required transformation is not supported.";
|
||||
private static final String ERR_NO_CREATE = "Thumbnail could not be created as required transformation is not supported from {0} to {1}";
|
||||
private static final String ERR_DUPLICATE_NAME = "Thumbnail could not be created because of a duplicate name";
|
||||
private static final String ERR_NO_PARENT = "Thumbnail has no parent so update cannot take place.";
|
||||
private static final String ERR_TOO_PARENT = "Thumbnail has more than one source content node. This is invalid so update cannot take place.";
|
||||
@@ -209,7 +210,7 @@ public class ThumbnailServiceImpl implements ThumbnailService
|
||||
if (this.contentService.isTransformable(reader, writer, transformationOptions) == false)
|
||||
{
|
||||
// Throw exception indicating that the thumbnail could not be created
|
||||
throw new ThumbnailException(ERR_NO_CREATE);
|
||||
throw new ThumbnailException(MessageFormat.format(ERR_NO_CREATE, reader.getMimetype(), writer.getMimetype()));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -278,7 +279,7 @@ public class ThumbnailServiceImpl implements ThumbnailService
|
||||
if (this.contentService.isTransformable(reader, writer, transformationOptions) == false)
|
||||
{
|
||||
// Throw exception indicating that the thumbnail could not be created
|
||||
throw new ThumbnailException(ERR_NO_CREATE);
|
||||
throw new ThumbnailException(MessageFormat.format(ERR_NO_CREATE, reader.getMimetype(), writer.getMimetype()));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -37,6 +37,7 @@ import org.alfresco.repo.content.transform.AbstractContentTransformerTest;
|
||||
import org.alfresco.repo.content.transform.magick.ImageResizeOptions;
|
||||
import org.alfresco.repo.content.transform.magick.ImageTransformationOptions;
|
||||
import org.alfresco.repo.jscript.ClasspathScriptLocation;
|
||||
import org.alfresco.repo.node.db.NodeDaoService;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||
import org.alfresco.service.cmr.repository.ContentReader;
|
||||
@@ -348,6 +349,57 @@ public class ThumbnailServiceImplTest extends BaseAlfrescoSpringTest
|
||||
}
|
||||
}
|
||||
|
||||
public void testHTMLToImageAndSWF() throws Exception
|
||||
{
|
||||
NodeRef nodeRef = createOrigionalContent(this.folder, MimetypeMap.MIMETYPE_HTML);
|
||||
ThumbnailDefinition def = this.thumbnailService.getThumbnailRegistry().getThumbnailDefinition("medium");
|
||||
|
||||
if (this.contentService.getTransformer(MimetypeMap.MIMETYPE_HTML, def.getMimetype(), def.getTransformationOptions()) != null)
|
||||
{
|
||||
NodeRef thumb = this.thumbnailService.createThumbnail(
|
||||
nodeRef,
|
||||
ContentModel.PROP_CONTENT,
|
||||
def.getMimetype(),
|
||||
def.getTransformationOptions(),
|
||||
def.getName());
|
||||
assertNotNull(thumb);
|
||||
ContentReader reader = this.contentService.getReader(thumb, ContentModel.PROP_CONTENT);
|
||||
assertNotNull(reader);
|
||||
assertEquals(def.getMimetype(), reader.getMimetype());
|
||||
assertTrue(reader.getSize() != 0);
|
||||
}
|
||||
|
||||
|
||||
def = this.thumbnailService.getThumbnailRegistry().getThumbnailDefinition("webpreview");
|
||||
if (this.contentService.getTransformer(MimetypeMap.MIMETYPE_HTML, def.getMimetype(), def.getTransformationOptions()) != null)
|
||||
{
|
||||
NodeRef thumb = this.thumbnailService.createThumbnail(
|
||||
nodeRef,
|
||||
ContentModel.PROP_CONTENT,
|
||||
def.getMimetype(),
|
||||
def.getTransformationOptions(),
|
||||
def.getName());
|
||||
assertNotNull(thumb);
|
||||
ContentReader reader = this.contentService.getReader(thumb, ContentModel.PROP_CONTENT);
|
||||
assertNotNull(reader);
|
||||
assertEquals(def.getMimetype(), reader.getMimetype());
|
||||
assertTrue(reader.getSize() != 0);
|
||||
}
|
||||
}
|
||||
|
||||
public void testRegistry()
|
||||
{
|
||||
ThumbnailRegistry thumbnailRegistry = this.thumbnailService.getThumbnailRegistry();
|
||||
List<ThumbnailDefinition> defs = thumbnailRegistry.getThumnailDefintions(MimetypeMap.MIMETYPE_HTML);
|
||||
System.out.println("Definitions ...");
|
||||
for (ThumbnailDefinition def : defs)
|
||||
{
|
||||
System.out.println("Thumbnail Available: " + def.getName());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// == Test the JavaScript API ==
|
||||
|
||||
public void testJSAPI() throws Exception
|
||||
|
Reference in New Issue
Block a user