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 58a64ff98b..cfe1ae8253 100644 --- a/source/java/org/alfresco/repo/web/scripts/solr/NodesMetaDataGet.java +++ b/source/java/org/alfresco/repo/web/scripts/solr/NodesMetaDataGet.java @@ -274,21 +274,27 @@ public class NodesMetaDataGet extends DeclarativeWebScript this.txnId = nodeMetaData.getTxnId(); // convert Paths to Strings - List paths = new ArrayList(); + List paths = new ArrayList(); + List ancestorPaths = new ArrayList(); HashSet ancestors = new HashSet(); if(nodeMetaData.getPaths() != null) - { + { + StringBuilder ancestorPath = new StringBuilder(); for(Pair pair : nodeMetaData.getPaths()) { JSONObject o = new JSONObject(); o.put("path", solrSerializer.serializeValue(String.class, pair.getFirst())); - o.put("qname", solrSerializer.serializeValue(String.class, pair.getSecond())); - paths.add(o.toString(3)); + o.put("qname", solrSerializer.serializeValue(String.class, pair.getSecond())); + for (NodeRef ancestor : getAncestors(pair.getFirst())) { - ancestors.add(ancestor.toString()); - } + ancestors.add(ancestor.toString()); + ancestorPath.insert(0, ancestor.getId()).insert(0, "/"); + } + + o.put("apath", ancestorPath); + paths.add(o.toString(3)); } } this.ancestors = ancestors;