[isidorus-cvs] r722 - trunk/src/rest_interface

lgiessmann at common-lisp.net lgiessmann at common-lisp.net
Fri Aug 12 09:10:00 UTC 2011


Author: lgiessmann
Date: Fri Aug 12 02:10:00 2011
New Revision: 722

Log:
trunk: rest-interface: fixed a bug when updated fragments of referenced topics that are other-players of a topic's association

Modified:
   trunk/src/rest_interface/set-up-json-interface.lisp

Modified: trunk/src/rest_interface/set-up-json-interface.lisp
==============================================================================
--- trunk/src/rest_interface/set-up-json-interface.lisp	Fri Aug 12 01:48:57 2011	(r721)
+++ trunk/src/rest_interface/set-up-json-interface.lisp	Fri Aug 12 02:10:00 2011	(r722)
@@ -530,10 +530,20 @@
 	       (elephant:get-instances-by-value
 		'd:FragmentC 'd::topic (d:topic new-fragment))))
   (let* ((rev (d:revision new-fragment))
+	 (frg-top (d:topic new-fragment))
+	 (frg-assocs
+	  (delete-if #'null (map 'list (lambda(role)
+					 (d:parent role :revision rev))
+				 (d:player-in-roles frg-top :revision rev))))
 	 (tops
-	  (loop for assoc in foreign-associations
-	     append (loop for role in (d:roles assoc :revision rev)
-		       collect (d:player role :revision rev)))))
+	  (append 
+	   (loop for assoc in foreign-associations
+	      append (loop for role in (d:roles assoc :revision rev)
+			collect (d:player role :revision rev)))
+	   (delete frg-top
+		   (loop for assoc in frg-assocs
+		      append (loop for role in (d:roles assoc :revision rev)
+				collect (d:player role :revision rev)))))))
     (map 'list (lambda(top)
 		 (map 'list #'elephant:drop-instance
 		      (elephant:get-instances-by-value




More information about the Isidorus-cvs mailing list