diff --git a/config/alfresco/web-scripts-application-context.xml b/config/alfresco/web-scripts-application-context.xml index 0f30bed586..d4414c8ae7 100644 --- a/config/alfresco/web-scripts-application-context.xml +++ b/config/alfresco/web-scripts-application-context.xml @@ -1516,8 +1516,8 @@ + - @@ -1538,8 +1538,8 @@ + - diff --git a/source/java/org/alfresco/repo/web/scripts/links/AbstractLinksWebScript.java b/source/java/org/alfresco/repo/web/scripts/links/AbstractLinksWebScript.java index dad97f2127..2f3f1701a9 100644 --- a/source/java/org/alfresco/repo/web/scripts/links/AbstractLinksWebScript.java +++ b/source/java/org/alfresco/repo/web/scripts/links/AbstractLinksWebScript.java @@ -24,13 +24,12 @@ import java.util.Map; import org.alfresco.query.PagingRequest; import org.alfresco.repo.content.MimetypeMap; -import org.alfresco.repo.jscript.ScriptNode; -import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.activities.ActivityService; import org.alfresco.service.cmr.links.LinkInfo; import org.alfresco.service.cmr.links.LinksService; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; +import org.alfresco.service.cmr.security.PersonService; import org.alfresco.service.cmr.site.SiteInfo; import org.alfresco.service.cmr.site.SiteService; import org.apache.commons.logging.Log; @@ -58,8 +57,8 @@ public abstract class AbstractLinksWebScript extends DeclarativeWebScript protected NodeService nodeService; protected SiteService siteService; protected LinksService linksService; + protected PersonService personService; protected ActivityService activityService; - protected ServiceRegistry serviceRegistry; public void setNodeService(NodeService nodeService) { @@ -76,16 +75,16 @@ public abstract class AbstractLinksWebScript extends DeclarativeWebScript this.linksService = linksService; } + public void setPersonService(PersonService personService) + { + this.personService = personService; + } + public void setActivityService(ActivityService activityService) { this.activityService = activityService; } - public void setServiceRegistry(ServiceRegistry serviceRegistry) - { - this.serviceRegistry = serviceRegistry; - } - protected String getOrNull(JSONObject json, String key) throws JSONException { @@ -193,8 +192,8 @@ public abstract class AbstractLinksWebScript extends DeclarativeWebScript } else { - NodeRef person = serviceRegistry.getPersonService().getPerson(creator); - creatorO = new ScriptNode(person, serviceRegistry); + NodeRef person = personService.getPerson(creator); + creatorO = person; } res.put("creator", creatorO); diff --git a/source/java/org/alfresco/repo/web/scripts/links/LinksListGet.java b/source/java/org/alfresco/repo/web/scripts/links/LinksListGet.java index 2a21f605c3..4e3846ed7a 100644 --- a/source/java/org/alfresco/repo/web/scripts/links/LinksListGet.java +++ b/source/java/org/alfresco/repo/web/scripts/links/LinksListGet.java @@ -26,13 +26,11 @@ import java.util.Map; import org.alfresco.query.PagingRequest; import org.alfresco.query.PagingResults; -import org.alfresco.repo.jscript.ScriptNode; import org.alfresco.repo.links.LinksServiceImpl; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.service.cmr.links.LinkInfo; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.site.SiteInfo; -import org.alfresco.util.ScriptPagingDetails; import org.json.JSONObject; import org.springframework.extensions.webscripts.Cache; import org.springframework.extensions.webscripts.Status; @@ -137,15 +135,24 @@ public class LinksListGet extends AbstractLinksWebScript } else { + // Find the container (if it's been created yet) container = siteService.getContainer( site.getShortName(), LinksServiceImpl.LINKS_COMPONENT ); + + if(container == null) + { + // Brand new site, no write operations on links have happened + // Fudge it for now with the site itself, the first write call + // will have the container created + container = site.getNodeRef(); + } } // All done Map model = new HashMap(); model.put("data", data); - model.put("links", new ScriptNode(container, serviceRegistry)); + model.put("links", container); model.put("siteId", site.getShortName()); model.put("site", site); return model; diff --git a/source/java/org/alfresco/repo/web/scripts/wiki/AbstractWikiWebScript.java b/source/java/org/alfresco/repo/web/scripts/wiki/AbstractWikiWebScript.java index 69df4a44e8..adcc25f4b6 100644 --- a/source/java/org/alfresco/repo/web/scripts/wiki/AbstractWikiWebScript.java +++ b/source/java/org/alfresco/repo/web/scripts/wiki/AbstractWikiWebScript.java @@ -24,12 +24,11 @@ import java.util.Map; import org.alfresco.query.PagingRequest; import org.alfresco.repo.content.MimetypeMap; -import org.alfresco.repo.jscript.ScriptNode; -import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.activities.ActivityService; import org.alfresco.service.cmr.links.LinkInfo; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; +import org.alfresco.service.cmr.security.PersonService; import org.alfresco.service.cmr.site.SiteInfo; import org.alfresco.service.cmr.site.SiteService; import org.alfresco.service.cmr.wiki.WikiPageInfo; @@ -64,8 +63,8 @@ public abstract class AbstractWikiWebScript extends DeclarativeWebScript protected NodeService nodeService; protected SiteService siteService; protected WikiService wikiService; + protected PersonService personService; protected ActivityService activityService; - protected ServiceRegistry serviceRegistry; public void setNodeService(NodeService nodeService) { @@ -82,16 +81,16 @@ public abstract class AbstractWikiWebScript extends DeclarativeWebScript this.wikiService = wikiService; } + public void setPersonService(PersonService personService) + { + this.personService = personService; + } + public void setActivityService(ActivityService activityService) { this.activityService = activityService; } - public void setServiceRegistry(ServiceRegistry serviceRegistry) - { - this.serviceRegistry = serviceRegistry; - } - protected String getOrNull(JSONObject json, String key) throws JSONException { @@ -195,9 +194,9 @@ public abstract class AbstractWikiWebScript extends DeclarativeWebScript return ""; } - // Script Node needed of the person - NodeRef person = serviceRegistry.getPersonService().getPerson(username); - return new ScriptNode(person, serviceRegistry); + // Will turn into a Script Node needed of the person + NodeRef person = personService.getPerson(username); + return person; } protected Map renderWikiPage(WikiPageInfo page) diff --git a/source/java/org/alfresco/repo/web/scripts/wiki/WikiPageListGet.java b/source/java/org/alfresco/repo/web/scripts/wiki/WikiPageListGet.java index 55c6fecedc..99ff9852e1 100644 --- a/source/java/org/alfresco/repo/web/scripts/wiki/WikiPageListGet.java +++ b/source/java/org/alfresco/repo/web/scripts/wiki/WikiPageListGet.java @@ -142,9 +142,18 @@ public class WikiPageListGet extends AbstractWikiWebScript } else { + // Find the container (if it's been created yet) container = siteService.getContainer( site.getShortName(), WikiServiceImpl.WIKI_COMPONENT ); + + if(container == null) + { + // Brand new site, no write operations on links have happened + // Fudge it for now with the site itself, the first write call + // will have the container created + container = site.getNodeRef(); + } } // All done