diff --git a/source/java/org/alfresco/repo/webservice/administration/AdministrationWebService.java b/source/java/org/alfresco/repo/webservice/administration/AdministrationWebService.java index f9285ac823..dcd36debee 100644 --- a/source/java/org/alfresco/repo/webservice/administration/AdministrationWebService.java +++ b/source/java/org/alfresco/repo/webservice/administration/AdministrationWebService.java @@ -241,6 +241,11 @@ public class AdministrationWebService extends AbstractWebService implements { this.querySessionCache.remove(querySessionId); } + else + { + // Update the cache instance so that it can trigger replication as required + querySessionCache.put(querySessionId, session); + } } return queryResult; diff --git a/source/java/org/alfresco/repo/webservice/repository/AssociationQuery.java b/source/java/org/alfresco/repo/webservice/repository/AssociationQuery.java index 13211622ee..be73d5602b 100644 --- a/source/java/org/alfresco/repo/webservice/repository/AssociationQuery.java +++ b/source/java/org/alfresco/repo/webservice/repository/AssociationQuery.java @@ -95,19 +95,19 @@ public class AssociationQuery extends AbstractQuery // create the node ref and get the children from the repository NodeRef nodeRef = Utils.convertToNodeRef(node, nodeService, searchService, namespaceService); List assocRefs = null; - if (association != null) + if (this.association == null) { - assocRefs = nodeService.getTargetAssocs(nodeRef, RegexQNamePattern.MATCH_ALL); + assocRefs = nodeService.getTargetAssocs(nodeRef, RegexQNamePattern.MATCH_ALL); } else { QNamePattern name = RegexQNamePattern.MATCH_ALL; - String assocType = association.getAssociationType(); + String assocType = this.association.getAssociationType(); if (assocType != null) { name = QName.createQName(assocType); } - if ("source".equals(association.getDirection()) == true) + if ("source".equals(this.association.getDirection()) == true) { assocRefs = nodeService.getSourceAssocs(nodeRef, name); } diff --git a/source/java/org/alfresco/repo/webservice/repository/RepositoryWebService.java b/source/java/org/alfresco/repo/webservice/repository/RepositoryWebService.java index 0e5ba72e60..95339eb329 100644 --- a/source/java/org/alfresco/repo/webservice/repository/RepositoryWebService.java +++ b/source/java/org/alfresco/repo/webservice/repository/RepositoryWebService.java @@ -279,6 +279,12 @@ public class RepositoryWebService extends AbstractWebService implements { querySessionCache.remove(querySessionId); } + else + { + // We still need to update the cache with the latest session to + // ensure that the instance gets replicated to other listening caches + querySessionCache.put(querySessionId, session); + } // get the next batch of results // TODO: http://issues.alfresco.com/browse/AR-1689