From: Kevin M. Rosenberg Date: Mon, 18 Sep 2006 06:27:17 +0000 (+0000) Subject: r11185: fill slots on demand X-Git-Tag: v2006ac.2~47 X-Git-Url: http://git.kpe.io/?p=umlisp.git;a=commitdiff_plain;h=e47b39563dffa174215386434eb56c944f455127 r11185: fill slots on demand --- diff --git a/classes.lisp b/classes.lisp index cdc4d56..94c489b 100644 --- a/classes.lisp +++ b/classes.lisp @@ -246,8 +246,10 @@ (defclass ucon (umlsclass) ((cui :value-type fixnum :initarg :cui :reader cui :print-formatter fmt-cui :hyperlink find-ucon-cui) - (lrl :value-type fixnum :initarg :lrl :reader lrl) - (pfstr :value-type cdata :initarg :pfstr :reader pfstr) + (lrl :value-type fixnum :initarg :lrl :reader lrl + :subobject (find-lrl-cui cui)) + (pfstr :value-type cdata :initarg :pfstr :reader pfstr + :subobject (find-pfstr-cui cui)) (s#def :reader s#def :subobject (find-udef-cui cui)) (s#so :reader s#so :subobject (find-uso-cui cui)) (s#hier :reader s#hier :subobject (find-uhier-cui cui)) diff --git a/sql-classes.lisp b/sql-classes.lisp index 6a566f2..20ef37e 100644 --- a/sql-classes.lisp +++ b/sql-classes.lisp @@ -255,7 +255,13 @@ is OBJNAME from TABLE where WHERE-NAME field = WHERE-VALUE with FIELDS" str) (collect-umlisp-query (mrconso (str) srl cui cui :distinct t :single t) - str))) + str))) + +(defun find-lrl-cui (cui &key (srl *current-srl*)) + "Find LRL for a cui" + (ensure-cui-integer cui) + (collect-umlisp-query (mrconso (kcuilrl) srl cui cui :distinct t :single t) + (ensure-integer kcuilrl))) (defun find-ucon-lui (lui &key (srl *current-srl*)) "Find list of ucon for lui"