From e101f725cf1a47ed684b8c41ba574dfc513f61a7 Mon Sep 17 00:00:00 2001 From: Derek Hulley Date: Thu, 22 May 2008 12:40:46 +0000 Subject: [PATCH] Merged V2.9 to HEAD 9018: MT: system-wide jobs should run across all stores/indexes 9204: Merged V2.2 to V2.9 8633: Merged V2.1 to V2.2 8629: Merged V2.1-A to V2.1 8493: Fixed ADB-51: ImporterBootstrap doesn't use transaction retrying 8494: EHCache and JGroup patches and upgrades 8546: ACT-1650: performance optimization 8550: Fixes to transactional cache handling 8553: Fixed tests: MLText is a Map, but will always have at least one entry, even that entry is null. 8583: ACT-954: IndexInfo files now reopen when they close (for whatever reason) 8640: Merged V2.1 to V2.2 8638: Used correct exception type for IO channel reopen logic 9102: Unit test to check that transactional cache size overrun is handled 9106: Merged V2.1 to V2.2 9043: Fixed AR-2291: SchemaBootstrap lock is only required before first SQL execution 9045: Fix AR-2291: SchemaBootstrap lock is only required before first SQL execution 9047: Fixed AR-2305: Index tracking in AUTO mode doesn't report anything on bootstrap 9048: Fixed AR-2300: Random-based GUID instead of time-based GUIDs 9049: Fix patches to only run once 9050 : Changed getString() method to use the available buffer length rather than a hard coded value. 9060: Fixed ETWOONE-109 and ETWOONE-128: RetryingTransactionHelper fixes and improvements 9061: Fixed NodeRefPropertyMethodInterceptorTest 9075 : Added delete permission check when marking a file for delete on close. ETWOONE-141/ACT-2416. 9080: Fixed EHCache source zip 9081: Fixed ETWOONE-118: Tomcat failed bootstrap doesn't clean up EHCache cluster structures 9085: Fixed ETWOONE-154: Added JSR107 Jar to WAR 9115: Fixed test: TransactionalCache uses LRU so repeatedly checking if a entry is there keeps it in the cache. 9206: Merged V2.2 to V2.9 8857: Improvements to ACL performance for large ACLs 8951: Always check permission entry changes are made at position 0 9219 : Made NTLMLogonDetails class Serializable, port of r8973. 9220: Added delete permission check when marking a file for delete on close. Port of r9075. 9222: Merged V2.1 to V2.9 8683: Early warning for nodes indexed in the wrong store (ACT-964) 8684: Enhanced tests 8685: Enhanced tests 8686: Additional tests 9223: Merged V2.2 to V2.9 9120: Merged V2.1 to V2.2 8740: Fix for AR-2173 - do no recheck case of the user name when validating tickets (it has been done) 9122: Additional unit test from support case. 9224: Merged V2.2 to V2.9 9076: Fixed ETWOTWO-426: Upgrading alfresco from 2.1.1 to 2.2 throws errors with Mysql 5.0.51 9104: Merged V2.1 to V2.2 9025: Fixed AR-2314, AR-2299: Optimizations after profiling 9105: Merged V2.1 to V2.2 8745: Fix AR-2233 (regression introduced by fix for AR-2221) 9121: Merged V2.1 to V2.2 9017: Fix index back up failing due to background index merge/deletions (inlcudes back port of CHK-2588) 9137: Incorporated additions from Will into AVM console (ETWOTWO-439) 9225: Merged V2.1 to V2.9 8641: Merged V2.1-A to V2.1 7729: Fix to Repository Web Service (queryAssociated) to allow reverse association lookup (ie. given target, get the source) 8673: Fix for AR-2098 - shorter URL form now has NTLM filter mapping example in web.xml 8682: Fix for AR-2005 8695: AR-2054. 8696: Improved sort test to include prefix form of field name 9226: Fix ALFCOM-994 (see also earlier change in r9223) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9233 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../webservice/repository/AssociationQuery.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/source/java/org/alfresco/repo/webservice/repository/AssociationQuery.java b/source/java/org/alfresco/repo/webservice/repository/AssociationQuery.java index be73d5602b..bdbc91b9fe 100644 --- a/source/java/org/alfresco/repo/webservice/repository/AssociationQuery.java +++ b/source/java/org/alfresco/repo/webservice/repository/AssociationQuery.java @@ -58,6 +58,8 @@ public class AssociationQuery extends AbstractQuery private Reference node; private Association association; + + private final static String SOURCE = "source"; /** * @param node @@ -107,7 +109,7 @@ public class AssociationQuery extends AbstractQuery { name = QName.createQName(assocType); } - if ("source".equals(this.association.getDirection()) == true) + if (SOURCE.equals(this.association.getDirection()) == true) { assocRefs = nodeService.getSourceAssocs(nodeRef, name); } @@ -123,9 +125,17 @@ public class AssociationQuery extends AbstractQuery ResultSetRow[] rows = new ResultSetRow[totalRows]; int index = 0; + NodeRef childNodeRef = null; for (AssociationRef assocRef : assocRefs) { - NodeRef childNodeRef = assocRef.getTargetRef(); + if (SOURCE.equals(this.association.getDirection()) == true) + { + childNodeRef = assocRef.getSourceRef(); + } + else + { + childNodeRef = assocRef.getTargetRef(); + } ResultSetRowNode rowNode = createResultSetRowNode(childNodeRef, nodeService); // create columns for all the properties of the node