mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
ALF-9799 Avoid links and wiki container node wrapping, and handle the case of a listing before any writes (so the container has yet to be created)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29627 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -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);
|
||||
|
||||
|
@@ -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<String, Object> model = new HashMap<String, Object>();
|
||||
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;
|
||||
|
Reference in New Issue
Block a user