improved movedToRight and movedToLeft methods

git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/widgets/ckan-metadata-publisher-widget@133975 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Costantino Perciante 2016-11-08 22:30:37 +00:00
parent 66ddef8d06
commit e8fd2aebab
1 changed files with 21 additions and 19 deletions

View File

@ -296,17 +296,18 @@ public class TwinColumnSelectionMainPanel extends Composite{
while (iterator.hasNext()) {
ResourceElementBean resourceElementBean = (ResourceElementBean) iterator
.next();
resourceElementBean.setMovedToRight(true);
boolean contains = dataProviderRight.getList().contains(resourceElementBean);
if(!contains)
dataProviderRight.getList().add(resourceElementBean);
}
resourceElementBean.setMovedToRight(true);
// refresh providers
dataProviderLeft.flush();
dataProviderRight.flush();
dataProviderLeft.refresh();
dataProviderRight.refresh();
int indexRight = dataProviderRight.getList().indexOf(resourceElementBean);
if(indexRight >= 0)
dataProviderRight.getList().set(indexRight, resourceElementBean);
else
dataProviderRight.getList().add(resourceElementBean);
int indexLeft = dataProviderLeft.getList().indexOf(resourceElementBean);
if(indexLeft >= 0)
dataProviderLeft.getList().set(indexLeft, resourceElementBean);
}
}
/**
@ -321,16 +322,17 @@ public class TwinColumnSelectionMainPanel extends Composite{
Iterator<ResourceElementBean> iterator = setSelected.iterator();
while (iterator.hasNext()) {
ResourceElementBean resourceElementBean = (ResourceElementBean) iterator.next();
int index = dataProviderLeft.getList().indexOf(resourceElementBean);
if(index != -1){
resourceElementBean.setMovedToRight(false);
dataProviderLeft.getList().set(index, resourceElementBean); // replace
}
}
resourceElementBean.setMovedToRight(false);
// refresh providers
dataProviderRight.flush();
dataProviderRight.refresh();
int indexLeft = dataProviderLeft.getList().indexOf(resourceElementBean);
if(indexLeft != -1)
dataProviderLeft.getList().set(indexLeft, resourceElementBean); // replace
else
dataProviderLeft.getList().add(resourceElementBean);
int indexRight = dataProviderRight.getList().indexOf(resourceElementBean);
if(indexRight >= 0)
dataProviderLeft.getList().set(indexLeft, resourceElementBean);
}
}
}