From 2413f552535861dad57d5a2baf8e1d619305d63c Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Tue, 20 Dec 2011 03:50:44 +0000 Subject: [PATCH] ALF-11844 WikiService needs to set the mimetype of html on the content property created through it git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32869 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../java/org/alfresco/repo/wiki/WikiServiceImpl.java | 3 +++ .../org/alfresco/repo/wiki/WikiServiceImplTest.java | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/source/java/org/alfresco/repo/wiki/WikiServiceImpl.java b/source/java/org/alfresco/repo/wiki/WikiServiceImpl.java index 80244e10aa..65f1ae43a3 100644 --- a/source/java/org/alfresco/repo/wiki/WikiServiceImpl.java +++ b/source/java/org/alfresco/repo/wiki/WikiServiceImpl.java @@ -33,6 +33,7 @@ import org.alfresco.query.CannedQuerySortDetails; import org.alfresco.query.EmptyPagingResults; import org.alfresco.query.PagingRequest; import org.alfresco.query.PagingResults; +import org.alfresco.repo.content.MimetypeMap; import org.alfresco.repo.domain.node.NodeDAO; import org.alfresco.repo.node.getchildren.GetChildrenAuditableCannedQuery; import org.alfresco.repo.node.getchildren.GetChildrenAuditableCannedQueryFactory; @@ -224,6 +225,7 @@ public class WikiServiceImpl implements WikiService // Store the content ContentWriter writer = contentService.getWriter(nodeRef, ContentModel.PROP_CONTENT, true); + writer.setMimetype(MimetypeMap.MIMETYPE_HTML); writer.setEncoding("UTF-8"); writer.putContent(content); @@ -263,6 +265,7 @@ public class WikiServiceImpl implements WikiService // Change the content ContentWriter writer = contentService.getWriter(nodeRef, ContentModel.PROP_CONTENT, true); + writer.setMimetype(MimetypeMap.MIMETYPE_HTML); writer.setEncoding("UTF-8"); writer.putContent(page.getContents()); diff --git a/source/java/org/alfresco/repo/wiki/WikiServiceImplTest.java b/source/java/org/alfresco/repo/wiki/WikiServiceImplTest.java index d50f4efa1d..b43fe57401 100644 --- a/source/java/org/alfresco/repo/wiki/WikiServiceImplTest.java +++ b/source/java/org/alfresco/repo/wiki/WikiServiceImplTest.java @@ -30,12 +30,15 @@ import java.util.List; import org.alfresco.model.ContentModel; import org.alfresco.query.PagingRequest; import org.alfresco.query.PagingResults; +import org.alfresco.repo.content.MimetypeMap; import org.alfresco.repo.policy.BehaviourFilter; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.site.SiteModel; import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; import org.alfresco.service.cmr.dictionary.DictionaryService; +import org.alfresco.service.cmr.repository.ContentReader; +import org.alfresco.service.cmr.repository.ContentService; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.security.MutableAuthenticationService; @@ -74,6 +77,7 @@ public class WikiServiceImplTest private static MutableAuthenticationService AUTHENTICATION_SERVICE; private static BehaviourFilter BEHAVIOUR_FILTER; private static WikiService WIKI_SERVICE; + private static ContentService CONTENT_SERVICE; private static DictionaryService DICTIONARY_SERVICE; private static NodeService NODE_SERVICE; private static NodeService PUBLIC_NODE_SERVICE; @@ -104,6 +108,7 @@ public class WikiServiceImplTest AUTHENTICATION_SERVICE = (MutableAuthenticationService)testContext.getBean("authenticationService"); BEHAVIOUR_FILTER = (BehaviourFilter)testContext.getBean("policyBehaviourFilter"); WIKI_SERVICE = (WikiService)testContext.getBean("WikiService"); + CONTENT_SERVICE = (ContentService)testContext.getBean("ContentService"); DICTIONARY_SERVICE = (DictionaryService)testContext.getBean("dictionaryService"); NODE_SERVICE = (NodeService)testContext.getBean("nodeService"); PUBLIC_NODE_SERVICE = (NodeService)testContext.getBean("NodeService"); @@ -153,6 +158,13 @@ public class WikiServiceImplTest NodeRef site = NODE_SERVICE.getPrimaryParent(container).getParentRef(); assertEquals(WIKI_SITE.getNodeRef(), site); + // Ensure the content was correctly set up + ContentReader reader = CONTENT_SERVICE.getReader(page.getNodeRef(), ContentModel.PROP_CONTENT); + assertEquals("This Is Some Content", reader.getContentString()); + assertEquals(MimetypeMap.MIMETYPE_HTML, reader.getMimetype()); + assertEquals("UTF-8", reader.getEncoding()); + + // Check the details on the object assertEquals("Title", page.getTitle());