Author: lgiessmann Date: Mon Jul 18 13:24:52 2011 New Revision: 641
Log: trunk: fixed a bung in the UI and the json exporter, now the backend marks all data, i.e. type, item-identifiers, reifier, roles (players, item-identifiers, reifier, type) and scopes of an association as deleted + the json exporter does not export mark-as-deleted associations of a fragment object
Modified: trunk/src/json/isidorus-json/json_exporter.lisp trunk/src/model/datamodel.lisp
Modified: trunk/src/json/isidorus-json/json_exporter.lisp ============================================================================== --- trunk/src/json/isidorus-json/json_exporter.lisp Mon Jul 18 08:36:53 2011 (r640) +++ trunk/src/json/isidorus-json/json_exporter.lisp Mon Jul 18 13:24:52 2011 (r641) @@ -353,18 +353,24 @@ (concat (subseq j-topicStubs 0 (- (length j-topicStubs) 1)) "]")) "null"))) (associations - (concat ""associations":" - (if (associations instance) - (let ((j-associations "[")) - (loop for item in (associations instance) - do (push-string - (concat (export-construct-as-isidorus-json-string - item :xtm-id xtm-id - :revision revision) ",") - j-associations)) - (concat (subseq j-associations 0 - (- (length j-associations) 1)) "]")) - "null"))) + (let ((filtered-assocs + (remove-null + (map 'list #'(lambda(assoc) + (when (find-item-by-revision assoc revision) + assoc)) + (associations instance))))) + (concat ""associations":" + (if filtered-assocs + (let ((j-associations "[")) + (loop for item in filtered-assocs + do (push-string + (concat (export-construct-as-isidorus-json-string + item :xtm-id xtm-id + :revision revision) ",") + j-associations)) + (concat (subseq j-associations 0 + (- (length j-associations) 1)) "]")) + "null")))) (tm-ids (concat ""tmIds":" (let ((uris
Modified: trunk/src/model/datamodel.lisp ============================================================================== --- trunk/src/model/datamodel.lisp Mon Jul 18 08:36:53 2011 (r640) +++ trunk/src/model/datamodel.lisp Mon Jul 18 13:24:52 2011 (r641) @@ -2765,6 +2765,9 @@ (mapc (lambda (role) (mark-as-deleted role :revision revision :source-locator source-locator)) (roles ass :revision revision)) + (let ((type-top (instance-of ass :revision revision))) + (when type-top + (private-delete-type ass type-top :revision revision))) (call-next-method))