[kepler-dev] problems with annotations

Shawn Bowers sbowers at ucdavis.edu
Mon Oct 31 11:37:54 PST 2005


Hi,

Thanks for the reply.

 From the Javadoc it appears that ChangeRequest is abstract, with only
three subclasses: MoMLChangeRequest, RedoChangeRequest, and
UndoChangeRequest.

So, it appears that the only way to affect a change/update is by
passing MoML, since Undo (as you stated below) and Redo (I'm guessing)
require MoMLChangeRequest.


-shawn


Edward A. Lee wrote:
 >
 > Shawn:
 >
 > A change request does not have to be a MoML string. In fact,
 > many of them are not.  In particular, a change request is an
 > instance of ChangeRequest.  MoMLChangeRequest is a subclass.
 >
 > However, the "undo" mechanism in Vergil will only work if the
 > change request is an instance of MoMLChangeRequest. Thus,
 > if you make changes using ChangeRequest, they are not undone
 > by the undo command.  There are many circumstances in which
 > this is OK.
 >
 > Edward
 >
 > At 01:45 AM 10/27/2005 -0700, Shawn Bowers wrote:
 >
 >> The following comment may be coming from far left field, but I have
 >> never quite understood why a change request as it is currently defined
 >> in ptolemy requires the passing of a MoML XML string.
 >>
 >> In particular, it is confusing to me as a developer why I have to deal
 >> with *both* the object model of ptolemy/kepler as well as the
 >> serialization syntax of the part of the object model I'm
 >> instantiating or modifying.
 >>
 >> I think it would be more convenient to pass *objects* to change
 >> request, not XML serializations of the things I want to update.
 >>
 >> Does that make sense?
 >>
 >> Thanks,
 >> -shawn
 >>
 >>
 >> Edward A. Lee wrote:
 >>> At 08:01 AM 10/26/2005 -0700, Christopher Brooks wrote:
 >>>> Your design of using EmptyChangeRequest seems reasonable, though
 >>>> it seems to point out a bug in the Ptolemy code.
 >>> I don't think it's a bug in the Ptolemy code.
 >>> The reason that EmptyChangeRequest works is that after
 >>> any change request, the model gets redrawn.  This is
 >>> a very brute-force way to react to change requests,
 >>> and in fact is very costly (even changes that have no
 >>> visible side effects will trigger a redraw).
 >>> Thus, the real problem is long term: If we fix Ptolemy II
 >>> so that redraws occur only when necessary, then the
 >>> EmtpyChangeRequest will no longer do what you want...
 >>> Edward
 >>>
 >>> ------------
 >>> Edward A. Lee
 >>> Professor, Chair of the EE Division, Associate Chair of EECS
 >>> 231 Cory Hall, UC Berkeley, Berkeley, CA 94720
 >>> phone: 510-642-0253 or 510-642-0455, fax: 510-642-2845
 >>> eal at eecs.Berkeley.EDU, http://ptolemy.eecs.berkeley.edu/~eal
 >>> _______________________________________________
 >>> Kepler-dev mailing list
 >>> Kepler-dev at ecoinformatics.org
 >>> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
 >
 > ------------
 > Edward A. Lee
 > Professor, Chair of the EE Division, Associate Chair of EECS
 > 231 Cory Hall, UC Berkeley, Berkeley, CA 94720
 > phone: 510-642-0253 or 510-642-0455, fax: 510-642-2845
 > eal at eecs.Berkeley.EDU, http://ptolemy.eecs.berkeley.edu/~eal



More information about the Kepler-dev mailing list