[isidorus-cvs] r259 - branches/new-datamodel/src/model

Lukas Giessmann lgiessmann at common-lisp.net
Mon Apr 5 20:15:44 UTC 2010


Author: lgiessmann
Date: Mon Apr  5 16:15:44 2010
New Revision: 259

Log:
new-datamodel: fixed a bug in the declaration of "defmethod for mark-as-deleted"; fixed a bug in "merge-constructs" for "TopicC" when both merged constructs are references to the same object.

Modified:
   branches/new-datamodel/src/model/datamodel.lisp

Modified: branches/new-datamodel/src/model/datamodel.lisp
==============================================================================
--- branches/new-datamodel/src/model/datamodel.lisp	(original)
+++ branches/new-datamodel/src/model/datamodel.lisp	Mon Apr  5 16:15:44 2010
@@ -979,8 +979,8 @@
 	t)))
 
 
-(defmethod marks-as-deleted ((construct VersionedConstructC)
-			     &key source-locator revision)
+(defmethod mark-as-deleted ((construct VersionedConstructC)
+			    &key source-locator revision)
   (declare (ignorable source-locator))
   (let
       ((last-version ;the last active version
@@ -3462,22 +3462,24 @@
 
 (defmethod merge-constructs ((construct-1 TopicC) (construct-2 TopicC)
 			     &key (revision *TM-REVISION*))
-  (let ((older-topic (find-oldest-construct construct-1 construct-2)))
-    (let ((newer-topic (if (eql older-topic construct-1)
-			   construct-2
-			   construct-1)))
-      (move-identifiers newer-topic older-topic :revision revision)
-      (dolist (tm (in-topicmaps newer-topic :revision revision))
-	(add-to-tm tm older-topic))
-      (move-names newer-topic older-topic :revision revision)
-      (move-occurrences newer-topic older-topic :revision revision)
-      (move-referenced-constructs newer-topic older-topic :revision revision)
-      (move-reified-construct newer-topic older-topic :revision revision)
-      (merge-changed-constructs older-topic :revision revision)
-      (mark-as-deleted newer-topic :revision revision)
-      (when (does-not-exist-in-revision-history newer-topic)
-	(delete-construct newer-topic))
-      older-topic)))
+  (if (eql construct-1 construct-2)
+      construct-1
+      (let ((older-topic (find-oldest-construct construct-1 construct-2)))
+	(let ((newer-topic (if (eql older-topic construct-1)
+			       construct-2
+			       construct-1)))
+	  (move-identifiers newer-topic older-topic :revision revision)
+	  (dolist (tm (in-topicmaps newer-topic :revision revision))
+	    (add-to-tm tm older-topic))
+	  (move-names newer-topic older-topic :revision revision)
+	  (move-occurrences newer-topic older-topic :revision revision)
+	  (move-referenced-constructs newer-topic older-topic :revision revision)
+	  (move-reified-construct newer-topic older-topic :revision revision)
+	  (merge-changed-constructs older-topic :revision revision)
+	  (mark-as-deleted newer-topic :revision revision)
+	  (when (does-not-exist-in-revision-history newer-topic)
+	    (delete-construct newer-topic))
+	  older-topic))))
 
 
 




More information about the Isidorus-cvs mailing list