diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/solr/solr.lib.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/solr/solr.lib.ftl index cd0a62e974..d2d5313416 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/solr/solr.lib.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/solr/solr.lib.ftl @@ -68,8 +68,31 @@ <#list nodeMetaData.paths as path> ${path}<#if path_has_next>, + ], + + <#if filter.includeParentAssociations??> + <#if nodeMetaData.parentAssocs??> + <#if (nodeMetaData.parentAssocs?size > 0)> + "parentAssocs": [ + <#list nodeMetaData.parentAssocs as pa> + "${pa}"<#if pa_has_next>, + + ], + "parentAssocsCrc": <#if nodeMetaData.parentAssocsCrc??>${nodeMetaData.parentAssocsCrc?c}<#else>null, + + + + <#if filter.includeChildAssociations??> + <#if nodeMetaData.childAssocs??> + <#if (nodeMetaData.childAssocs?size > 0)> + "childAssocs": [ + <#list nodeMetaData.childAssocs as ca> + "${ca}"<#if ca_has_next>, + ] + + } diff --git a/source/java/org/alfresco/repo/web/scripts/solr/NodesMetaDataGet.java b/source/java/org/alfresco/repo/web/scripts/solr/NodesMetaDataGet.java index cd69906aed..3600efa14f 100644 --- a/source/java/org/alfresco/repo/web/scripts/solr/NodesMetaDataGet.java +++ b/source/java/org/alfresco/repo/web/scripts/solr/NodesMetaDataGet.java @@ -154,9 +154,9 @@ public class NodesMetaDataGet extends DeclarativeWebScript { filter.setIncludeType(o.getBoolean("includeType")); } - if(o.has("includeAssociations")) + if(o.has("includeParentAssociations")) { - filter.setIncludeAssociations(o.getBoolean("includeAssociations")); + filter.setIncludeParentAssociations(o.getBoolean("includeParentAssociations")); } final ArrayList nodesMetaData = @@ -233,6 +233,8 @@ public class NodesMetaDataGet extends DeclarativeWebScript private Set aspects; private List paths; private List childAssocs; + private List parentAssocs; + private Long parentAssocsCrc; public FreemarkerNodeMetaData(SOLRSerializer solrSerializer, NodeMetaData nodeMetaData) throws IOException, JSONException { @@ -253,6 +255,8 @@ public class NodesMetaDataGet extends DeclarativeWebScript setPaths(paths); setChildAssocs(nodeMetaData.getChildAssocs()); + setParentAssocs(nodeMetaData.getParentAssocs()); + setParentAssocsCrc(nodeMetaData.getParentAssocsCrc()); setAspects(nodeMetaData.getAspects()); Map props = nodeMetaData.getProperties(); Map properties = (props != null ? new HashMap(props.size()) : null); @@ -329,6 +333,22 @@ public class NodesMetaDataGet extends DeclarativeWebScript { this.childAssocs = childAssocs; } + public List getParentAssocs() + { + return parentAssocs; + } + public void setParentAssocs(List parentAssocs) + { + this.parentAssocs = parentAssocs; + } + public Long getParentAssocsCrc() + { + return parentAssocsCrc; + } + public void setParentAssocsCrc(Long parentAssocsCrc) + { + this.parentAssocsCrc = parentAssocsCrc; + } } }