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