Ignore:
Timestamp:
09/14/11 11:33:04 (14 years ago)
Author:
lgiessmann
Message:

added additional fragment-updates when a construct is deleted, or when a new construct is committed

Location:
branches/gdl-frontend/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified branches/gdl-frontend/src/json/JTM/jtm_importer.lisp

    r897 r902  
    408408    (dolist (occ top-occs)
    409409      (add-occurrence top occ :revision revision))
     410    (when create-fragment
     411      (let ((all-assocs
     412             (remove-null (map 'list (lambda(role)
     413                                       (parent role :revision revision))
     414                               (player-in-roles top :revision revision)))))
     415        (let ((all-tops
     416               (remove-null
     417                (loop for assoc in all-assocs
     418                   append (map 'list (lambda(role)
     419                                       (d:player role :revision revision))
     420                               (roles assoc :revision revision))))))
     421          (map nil (lambda(top)
     422                     (map nil #'elephant:drop-instance
     423                          (elephant:get-instances-by-value 'FragmentC 'topic top))
     424                     (create-latest-fragment-of-topic top))
     425               (append all-tops (list top))))))
    410426    (format t "t")
    411     (when create-fragment
    412       (create-latest-fragment-of-topic top))
    413427    top))
    414428
  • TabularUnified branches/gdl-frontend/src/rest_interface/set-up-gdl-interface.lisp

    r883 r902  
    124124                                            :force-text t)))
    125125            (with-writer-lock
    126               (let ((result (jtm-delete-interface:mark-as-deleted-from-jtm
    127                              json-data :revision (get-revision))))
     126              (let* ((rev (d:get-revision))
     127                     (result (jtm-delete-interface:mark-as-deleted-from-jtm
     128                              json-data :revision rev)))
     129                (let ((tops
     130                       (remove-null
     131                        (cond ((or (typep result 'OccurrenceC)
     132                                   (typep result 'NameC))
     133                               (let ((top (parent result :revision (1- rev))))
     134                                 (when top (list top))))
     135                              ((typep result 'VariantC)
     136                               (let ((name (parent result :revision (1- rev))))
     137                                 (when name
     138                                   (let ((top (parent name :revision (1- rev))))
     139                                     (when top (list top))))))
     140                              ((typep result 'AssociationC)
     141                               (map 'list (lambda(role)
     142                                            (player role :revision (1- rev)))
     143                                    (roles result :revision (1- rev))))
     144                              ((typep result 'TopicC)
     145                               (let ((assocs
     146                                      (player-in-roles result :revision (1- rev))))
     147                                 (loop for assoc in assocs
     148                                    append (map 'list (lambda(role)
     149                                                        (player role :revision (1- rev)))
     150                                                (roles assoc :revision (1- rev))))))))))
     151                  (map nil (lambda(top)
     152                             (let ((frags
     153                                    (elephant:get-instances-by-value 'd:FragmentC 'd:topic top)))
     154                               (map nil #'elephant:drop-instance frags))
     155                             (create-latest-fragment-of-topic top))
     156                       tops))
    128157               (unless result
    129158                 (setf (hunchentoot:return-code*) hunchentoot:+http-not-found+)
Note: See TracChangeset for help on using the changeset viewer.