Changing the signature of "applyConstraint" must be well documented and you need to maintain backward-compatibility, because this is a public function, so other folks are using it, too! [Just as a reminder concerning: "There's only a couple of callers to applyConstraint right now, ..."]

Henry Minsky wrote:
That makes sense, to pass the object down instead of the dependencies list. There's only a couple of callers to applyConstraint right now, but one of them is this one caller in LaszloView that makes it's own dependencies list:

function setPosConstraint ( v , f , widthorheight ){
    var d = [ v , widthorheight  , this , widthorheight ];
    this.applyConstraint( widthorheight == "width" ? "x" : "y" , f , d );
}


How do think I should handle that? I could make an object and put a .dependencies on it and pass that I guess.

On 10/16/07, *P T Withington * <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    In fact, wouldn't it make more sense to move all the logic about
    dependencies inside applyConstraint so it will be handled correctly
    in one place and update all the callers?  I see no reason to have the
    callers compute the dependencies out of line, you just need to pass
    the target (this) down to applyConstraint.

    On 2007-10-16, at 16:40 EDT, P T Withington wrote:

    > Not approved.
    >
    > 1) This code should be modeled on the known-working code in LzNode:
    >
    >>         if (rp instanceof Function && ('dependencies' in rp)) {
    >>             this.applyConstraint( p , rp , rp.dependencies.call
    >> (this) );
    >>         }
    >
    > rather than creating the mystery `_t` attribute.
    >
    > 2) There seems to be another branch of the code that replicates the
    > same bug which should also be rewritten in modern style.
    >
    > 3) What about the case of a $once constraint?  Will it be handled
    > correctly?  In LzNode when there are no dependencies, the
    > constraint function is still called at least once.  I don't see in
    > this code where that is handled.
    >
    > On 2007-10-16, at 15:24 EDT, Henry Minsky wrote:
    >
    >> Change 20071016-hqm-4 by [EMAIL PROTECTED] on 2007-10-16
    >> 15:19:46 EDT
    >>     in /cygdrive/c/users/hqm/openlaszlo/trunk
    >>     for http://svn.openlaszlo.org/openlaszlo/trunk
    >>
    >> Summary: fix for DHTML replication bug
    >>
    >> New Features:
    >>
    >> Bugs Fixed: LPP-4893
    >>
    >> Technical Reviewer: andre
    >> QA Reviewer: ptw
    >> Doc Reviewer:
    >>
    >> Documentation:
    >>
    >> check for null dependencies function before calling it
    >>
    >> Release Notes:
    >>
    >> Details:
    >>
    >>
    >> Tests:
    >>
    >> test case from bug, smokecheck, amazon app
    >>
    >> Files:
    >> M      WEB-INF/lps/lfc/data/LzReplicationManager.lzs
    >>
    >> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20071016-
    >> hqm-4.tar
    >>
    >>
    >> --
    >> Henry Minsky
    >> Software Architect
    >> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    >




--
Henry Minsky
Software Architect
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>


Reply via email to