You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/04/17 20:23:25 UTC

[jira] [Commented] (GROOVY-7816) ObservableList addAll method property change event index off by one

    [ https://issues.apache.org/jira/browse/GROOVY-7816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15244788#comment-15244788 ] 

ASF GitHub Bot commented on GROOVY-7816:
----------------------------------------

GitHub user jwagenleitner opened a pull request:

    https://github.com/apache/groovy/pull/313

    GROOVY-7816 - ObservableList addAll method property change event index off by one

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jwagenleitner/groovy GROOVY-7816

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/groovy/pull/313.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #313
    
----
commit 94fcc0249b700462b4efeae813b839c5be0bfffe
Author: John Wagenleitner <jw...@apache.org>
Date:   2016-04-17T17:38:31Z

    GROOVY-7816 - ObservableList addAll method property change event index off by one

commit 35342f4ccbbb32d1f81764ae8fc6fc8d8d65bfbd
Author: John Wagenleitner <jw...@apache.org>
Date:   2016-04-17T18:11:22Z

    removed redundant null checks and some minor refactoring

----


> ObservableList addAll method property change event index off by one
> -------------------------------------------------------------------
>
>                 Key: GROOVY-7816
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7816
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-jdk
>    Affects Versions: 2.4.6
>            Reporter: John Wagenleitner
>            Priority: Minor
>
> The {{ObservableList#addAll()}} method incorrectly calculates the index of the added elements.  The elements are correctly appended to the list, but the property change event index value does not point to the start of the appended elements but to the element just prior.
> {code}
> import java.beans.*
> class MyListener implements PropertyChangeListener {
>     PropertyChangeEvent event
>     public void propertyChange(PropertyChangeEvent evt) {
>         event = evt
>     }
> }
> ObservableList olist = new ObservableList()
> def listener = new MyListener()
> olist.addPropertyChangeListener(ObservableList.CONTENT_PROPERTY, listener)
> olist.add('one')
> assert listener.event.index == 0
> olist.add('two')
> assert listener.event.index == 1
> olist.add('three')
> assert listener.event.index == 2
> listener.event = null  //clear event to make sure one fires for addAll
> olist.addAll(['four','five'])
> assert olist == ['one','two','three','four','five']
> assert olist.get(3) == 'four'
> assert listener.event.index == 3  // fails == 2
> olist.remove('four')
> assert listener.event.index == 3  // passes
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)