ALF-9611 RSOLR 049: Share works against SOLR

- mostly working with bugs raised or the issues found
- ALF-9627 	RSOLR 049: Support for TAG list - simple field facettting
  - was not required. Facetting alpha is there (limits not set and need to go into JSON) - added to result set
- ALF-9628 	RSOLR 049: HTTPClient pooling and sharing by query
  - pooled for query, one reused instance for each tracker (could be shared)
- ALF-9629 	RSOLR 049: Support for PARENT field and start of PATH rebuilding other index tracking (group and site search)
  - done - also started PATH change and returns other data as not yet finished (QNAME is the most obvious)
  - fixed up and tidied query generation for index tokenisation mode form the model and what the query would like

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29585 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrew Hind
2011-08-05 19:43:05 +00:00
parent 5a7470aed8
commit 7edda44749
2 changed files with 45 additions and 2 deletions

View File

@@ -68,8 +68,31 @@
<#list nodeMetaData.paths as path> <#list nodeMetaData.paths as path>
${path}<#if path_has_next>,</#if> ${path}<#if path_has_next>,</#if>
</#list> </#list>
],
</#if>
<#if filter.includeParentAssociations??>
<#if nodeMetaData.parentAssocs??>
<#if (nodeMetaData.parentAssocs?size > 0)>
"parentAssocs": [
<#list nodeMetaData.parentAssocs as pa>
"${pa}"<#if pa_has_next>,</#if>
</#list>
],
"parentAssocsCrc": <#if nodeMetaData.parentAssocsCrc??>${nodeMetaData.parentAssocsCrc?c}<#else>null</#if>,
</#if>
</#if>
</#if>
<#if filter.includeChildAssociations??>
<#if nodeMetaData.childAssocs??>
<#if (nodeMetaData.childAssocs?size > 0)>
"childAssocs": [
<#list nodeMetaData.childAssocs as ca>
"${ca}"<#if ca_has_next>,</#if>
</#list>
] ]
</#if> </#if>
</#if>
</#if>
} }
</#macro> </#macro>

View File

@@ -154,9 +154,9 @@ public class NodesMetaDataGet extends DeclarativeWebScript
{ {
filter.setIncludeType(o.getBoolean("includeType")); 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<FreemarkerNodeMetaData> nodesMetaData = final ArrayList<FreemarkerNodeMetaData> nodesMetaData =
@@ -233,6 +233,8 @@ public class NodesMetaDataGet extends DeclarativeWebScript
private Set<QName> aspects; private Set<QName> aspects;
private List<String> paths; private List<String> paths;
private List<ChildAssociationRef> childAssocs; private List<ChildAssociationRef> childAssocs;
private List<ChildAssociationRef> parentAssocs;
private Long parentAssocsCrc;
public FreemarkerNodeMetaData(SOLRSerializer solrSerializer, NodeMetaData nodeMetaData) throws IOException, JSONException public FreemarkerNodeMetaData(SOLRSerializer solrSerializer, NodeMetaData nodeMetaData) throws IOException, JSONException
{ {
@@ -253,6 +255,8 @@ public class NodesMetaDataGet extends DeclarativeWebScript
setPaths(paths); setPaths(paths);
setChildAssocs(nodeMetaData.getChildAssocs()); setChildAssocs(nodeMetaData.getChildAssocs());
setParentAssocs(nodeMetaData.getParentAssocs());
setParentAssocsCrc(nodeMetaData.getParentAssocsCrc());
setAspects(nodeMetaData.getAspects()); setAspects(nodeMetaData.getAspects());
Map<QName, Serializable> props = nodeMetaData.getProperties(); Map<QName, Serializable> props = nodeMetaData.getProperties();
Map<String, PropertyValue> properties = (props != null ? new HashMap<String, PropertyValue>(props.size()) : null); Map<String, PropertyValue> properties = (props != null ? new HashMap<String, PropertyValue>(props.size()) : null);
@@ -329,6 +333,22 @@ public class NodesMetaDataGet extends DeclarativeWebScript
{ {
this.childAssocs = childAssocs; this.childAssocs = childAssocs;
} }
public List<ChildAssociationRef> getParentAssocs()
{
return parentAssocs;
}
public void setParentAssocs(List<ChildAssociationRef> parentAssocs)
{
this.parentAssocs = parentAssocs;
}
public Long getParentAssocsCrc()
{
return parentAssocsCrc;
}
public void setParentAssocsCrc(Long parentAssocsCrc)
{
this.parentAssocsCrc = parentAssocsCrc;
}
} }
} }