parent
66b7547453
commit
d6ffea86b2
@ -1,5 +1,2 @@ |
|||||||
com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["8.6.4","8.9.4"] |
com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["8.4.5","8.5.1"] |
||||||
com.vaadin.integration.eclipse.previousCompileAction=both |
|
||||||
com.vaadin.integration.eclipse.useLatestNightly=false |
|
||||||
com.vaadin.integration.eclipse.widgetsetDirty=true |
|
||||||
eclipse.preferences.version=1 |
eclipse.preferences.version=1 |
||||||
|
|||||||
@ -1,356 +1,334 @@ |
|||||||
package de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components; |
package de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components; |
||||||
|
|
||||||
import java.time.format.DateTimeFormatter; |
import java.time.format.DateTimeFormatter; |
||||||
import java.time.format.FormatStyle; |
import java.time.format.FormatStyle; |
||||||
import java.util.Arrays; |
import java.util.Arrays; |
||||||
import java.util.Collection; |
import java.util.Collection; |
||||||
import java.util.List; |
import java.util.List; |
||||||
import java.util.Set; |
import java.util.Set; |
||||||
|
|
||||||
import org.slf4j.Logger; |
import org.slf4j.Logger; |
||||||
import org.slf4j.LoggerFactory; |
import org.slf4j.LoggerFactory; |
||||||
|
|
||||||
import com.vaadin.data.HasValue.ValueChangeEvent; |
import com.vaadin.data.HasValue.ValueChangeEvent; |
||||||
import com.vaadin.data.provider.DataProvider; |
import com.vaadin.data.provider.DataProvider; |
||||||
import com.vaadin.data.provider.ListDataProvider; |
import com.vaadin.data.provider.ListDataProvider; |
||||||
import com.vaadin.event.selection.SelectionListener; |
import com.vaadin.event.selection.SelectionListener; |
||||||
import com.vaadin.event.selection.SingleSelectionEvent; |
import com.vaadin.event.selection.SingleSelectionEvent; |
||||||
import com.vaadin.icons.VaadinIcons; |
import com.vaadin.icons.VaadinIcons; |
||||||
import com.vaadin.shared.ui.ContentMode; |
import com.vaadin.shared.ui.ContentMode; |
||||||
import com.vaadin.ui.Button; |
import com.vaadin.ui.Button; |
||||||
import com.vaadin.ui.CheckBox; |
import com.vaadin.ui.CheckBox; |
||||||
import com.vaadin.ui.ComboBox; |
import com.vaadin.ui.ComboBox; |
||||||
import com.vaadin.ui.Component; |
import com.vaadin.ui.Component; |
||||||
import com.vaadin.ui.Grid; |
import com.vaadin.ui.Grid; |
||||||
import com.vaadin.ui.Grid.Column; |
import com.vaadin.ui.Grid.Column; |
||||||
import com.vaadin.ui.Grid.SelectionMode; |
import com.vaadin.ui.Grid.SelectionMode; |
||||||
import com.vaadin.ui.HorizontalLayout; |
import com.vaadin.ui.HorizontalLayout; |
||||||
import com.vaadin.ui.Label; |
import com.vaadin.ui.Label; |
||||||
import com.vaadin.ui.Layout; |
import com.vaadin.ui.Layout; |
||||||
import com.vaadin.ui.TextField; |
import com.vaadin.ui.TextField; |
||||||
import com.vaadin.ui.VerticalLayout; |
import com.vaadin.ui.VerticalLayout; |
||||||
import com.vaadin.ui.components.grid.GridMultiSelect; |
import com.vaadin.ui.components.grid.GridMultiSelect; |
||||||
|
|
||||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.business.PersonBusiness; |
import de.kreth.vaadin.clubhelper.vaadinclubhelper.business.PersonBusiness; |
||||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.dao.GroupDao; |
import de.kreth.vaadin.clubhelper.vaadinclubhelper.dao.GroupDao; |
||||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.ClubEvent; |
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.ClubEvent; |
||||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Gender; |
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Gender; |
||||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.GroupDef; |
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.GroupDef; |
||||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Person; |
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Person; |
||||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Startpass; |
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Startpass; |
||||||
|
|
||||||
public class PersonGrid extends VerticalLayout { |
public class PersonGrid extends VerticalLayout { |
||||||
|
|
||||||
private static final long serialVersionUID = -8148097982839343673L; |
private static final long serialVersionUID = -8148097982839343673L; |
||||||
|
|
||||||
private final transient Logger log = LoggerFactory.getLogger(getClass()); |
private final transient Logger log = LoggerFactory.getLogger(getClass()); |
||||||
|
|
||||||
private final transient DateTimeFormatter birthFormat = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM); |
private final transient DateTimeFormatter birthFormat = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM); |
||||||
|
|
||||||
private final ListDataProvider<Person> dataProvider; |
private final ListDataProvider<Person> dataProvider; |
||||||
|
|
||||||
private final Grid<Person> grid; |
private final Grid<Person> grid; |
||||||
|
|
||||||
private final CheckBox checkIncluded; |
private final CheckBox checkIncluded; |
||||||
|
|
||||||
private final ComboBox<GroupDef> comboGroups; |
private final ComboBox<GroupDef> comboGroups; |
||||||
|
|
||||||
private final TextField textFilter; |
private final TextField textFilter; |
||||||
|
|
||||||
private final PersonBusiness personDao; |
private final PersonBusiness personDao; |
||||||
|
|
||||||
private List<GroupDef> allGroups; |
private List<GroupDef> allGroups; |
||||||
|
|
||||||
private PersonFilter filter; |
private PersonFilter filter; |
||||||
|
|
||||||
private ClubEvent currentEvent; |
private ClubEvent currentEvent; |
||||||
|
|
||||||
private Column<Person, String> startpassColumn; |
private Column<Person, String> startpassColumn; |
||||||
|
|
||||||
private Layout filters; |
private Layout filters; |
||||||
|
|
||||||
private SelectionMode currentSelectionMode; |
private SelectionMode currentSelectionMode; |
||||||
|
|
||||||
private Column<Person, ?> genderColumn; |
private Column<Person, ?> genderColumn; |
||||||
|
|
||||||
private Column<Person, ? extends Component> deleteButtonColumn; |
private Column<Person, ? extends Component> deleteButtonColumn; |
||||||
|
|
||||||
public PersonGrid(GroupDao groupDao, PersonBusiness personDao) { |
public PersonGrid(GroupDao groupDao, PersonBusiness personDao) { |
||||||
|
|
||||||
setId("main.person"); |
setId("main.person"); |
||||||
setCaption("Teilnehmer"); |
setCaption("Teilnehmer"); |
||||||
addStyleName("bold-caption"); |
addStyleName("bold-caption"); |
||||||
|
|
||||||
this.personDao = personDao; |
this.personDao = personDao; |
||||||
|
|
||||||
checkIncluded = new CheckBox("Nur gemeldete"); |
checkIncluded = new CheckBox("Nur gemeldete"); |
||||||
comboGroups = new ComboBox<>("Gruppenfilter"); |
comboGroups = new ComboBox<>("Gruppenfilter"); |
||||||
textFilter = new TextField("Namenfilter"); |
textFilter = new TextField("Namenfilter"); |
||||||
textFilter.setIcon(VaadinIcons.SEARCH); |
textFilter.setIcon(VaadinIcons.SEARCH); |
||||||
filters = setupFilterComponents(); |
filters = setupFilterComponents(); |
||||||
|
|
||||||
allGroups = groupDao.listAll(); |
allGroups = groupDao.listAll(); |
||||||
comboGroups.setItems(allGroups); |
comboGroups.setItems(allGroups); |
||||||
log.info("Loaded Groups: {}", allGroups); |
log.info("Loaded Groups: {}", allGroups); |
||||||
|
|
||||||
filter = new PersonFilter(personDao); |
filter = new PersonFilter(personDao); |
||||||
dataProvider = DataProvider.ofCollection(filter.asCollection()); |
dataProvider = DataProvider.ofCollection(filter.asCollection()); |
||||||
grid = new Grid<>(); |
grid = new Grid<>(); |
||||||
|
|
||||||
setupPersonGrid(); |
setupPersonGrid(); |
||||||
|
|
||||||
setMargin(false); |
setMargin(false); |
||||||
addComponents(filters, grid); |
addComponents(filters, grid); |
||||||
} |
} |
||||||
|
|
||||||
void setupPersonGrid() { |
void setupPersonGrid() { |
||||||
filter.add(() -> { |
filter.add(() -> { |
||||||
setEvent(currentEvent); |
setEvent(currentEvent); |
||||||
}); |
}); |
||||||
dataProvider.addDataProviderListener(filter); |
dataProvider.addDataProviderListener(filter); |
||||||
|
|
||||||
grid.setDataProvider(dataProvider); |
grid.setDataProvider(dataProvider); |
||||||
grid.setId("person.grid"); |
grid.setId("person.grid"); |
||||||
grid.setSizeFull(); |
grid.setSizeFull(); |
||||||
grid.setSelectionMode(SelectionMode.SINGLE); |
grid.setSelectionMode(SelectionMode.SINGLE); |
||||||
|
|
||||||
grid.addColumn(Person::getPrename).setCaption("Vorname"); |
grid.addColumn(Person::getPrename).setCaption("Vorname"); |
||||||
grid.addColumn(Person::getSurname).setCaption("Nachname"); |
grid.addColumn(Person::getSurname).setCaption("Nachname"); |
||||||
grid.addColumn(Person::getBirth, b -> b != null ? birthFormat.format(b) : "").setCaption("Geburtstag") |
grid.addColumn(Person::getBirth, b -> b != null ? birthFormat.format(b) : "").setCaption("Geburtstag") |
||||||
.setHidable(true); |
.setHidable(true); |
||||||
|
|
||||||
startpassColumn = grid.addColumn(p -> { |
startpassColumn = grid.addColumn(p -> { |
||||||
Startpass startpass = p.getStartpass(); |
Startpass startpass = p.getStartpass(); |
||||||
if (startpass != null) { |
if (startpass != null) { |
||||||
return startpass.getStartpassNr(); |
return startpass.getStartpassNr(); |
||||||
} |
} |
||||||
else { |
else { |
||||||
return null; |
return null; |
||||||
} |
} |
||||||
}).setCaption("Startpass Nr."); |
}).setCaption("Startpass Nr."); |
||||||
startpassColumn.setHidable(true); |
startpassColumn.setHidable(true); |
||||||
|
|
||||||
genderColumn = grid.addComponentColumn(p -> { |
genderColumn = grid.addComponentColumn(p -> { |
||||||
|
|
||||||
Gender gender = p.getGender(); |
Gender gender = p.getGender(); |
||||||
VaadinIcons icon; |
VaadinIcons icon; |
||||||
|
|
||||||
if (gender == null) { |
if (gender == null) { |
||||||
icon = VaadinIcons.QUESTION; |
icon = VaadinIcons.QUESTION; |
||||||
} |
} |
||||||
else { |
else { |
||||||
switch (gender) { |
switch (gender) { |
||||||
case FEMALE: |
case FEMALE: |
||||||
icon = VaadinIcons.FEMALE; |
icon = VaadinIcons.FEMALE; |
||||||
break; |
break; |
||||||
case MALE: |
case MALE: |
||||||
icon = VaadinIcons.MALE; |
icon = VaadinIcons.MALE; |
||||||
break; |
break; |
||||||
default: |
default: |
||||||
icon = VaadinIcons.QUESTION; |
icon = VaadinIcons.QUESTION; |
||||||
break; |
break; |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
return new Label(icon.getHtml(), ContentMode.HTML); |
return new Label(icon.getHtml(), ContentMode.HTML); |
||||||
|
|
||||||
}); |
}); |
||||||
genderColumn.setHidable(true); |
genderColumn.setHidable(true); |
||||||
|
|
||||||
startpassColumn.setHidden(false); |
startpassColumn.setHidden(false); |
||||||
genderColumn.setHidden(true); |
genderColumn.setHidden(true); |
||||||
|
|
||||||
deleteButtonColumn = grid.addComponentColumn(c -> { |
deleteButtonColumn = grid.addComponentColumn(c -> { |
||||||
Button deleteButton = new Button(VaadinIcons.TRASH); |
Button deleteButton = new Button(VaadinIcons.TRASH); |
||||||
deleteButton.addClickListener(ev -> delete(c)); |
deleteButton.addClickListener(ev -> delete(c)); |
||||||
deleteButton.setWidthUndefined(); |
deleteButton.setWidthUndefined(); |
||||||
return deleteButton; |
return deleteButton; |
||||||
}).setCaption("Löschen"); |
}).setCaption("Löschen"); |
||||||
deleteButtonColumn.setHidden(true); |
deleteButtonColumn.setHidden(true); |
||||||
|
|
||||||
} |
} |
||||||
|
|
||||||
public VaadinIcons genderToImage(Gender gender) { |
public VaadinIcons genderToImage(Gender gender) { |
||||||
VaadinIcons icon; |
VaadinIcons icon; |
||||||
|
|
||||||
if (gender == null) { |
if (gender == null) { |
||||||
icon = VaadinIcons.QUESTION; |
icon = VaadinIcons.QUESTION; |
||||||
} |
} |
||||||
else { |
else { |
||||||
switch (gender) { |
switch (gender) { |
||||||
case FEMALE: |
case FEMALE: |
||||||
icon = VaadinIcons.FEMALE; |
icon = VaadinIcons.FEMALE; |
||||||
break; |
break; |
||||||
case MALE: |
case MALE: |
||||||
icon = VaadinIcons.MALE; |
icon = VaadinIcons.MALE; |
||||||
break; |
break; |
||||||
default: |
default: |
||||||
icon = VaadinIcons.QUESTION; |
icon = VaadinIcons.QUESTION; |
||||||
break; |
break; |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
return icon; |
return icon; |
||||||
} |
} |
||||||
|
|
||||||
public void enableDeleteColumn(boolean enable) { |
public void enableDeleteColumn(boolean enable) { |
||||||
deleteButtonColumn.setHidden(!enable); |
deleteButtonColumn.setHidden(!enable); |
||||||
} |
} |
||||||
|
|
||||||
private void delete(Person c) { |
private void delete(Person c) { |
||||||
|
|
||||||
ConfirmDialog dlg = ConfirmDialog.builder().setCaption("Person löschen") |
ConfirmDialog dlg = ConfirmDialog.builder().setCaption("Person löschen") |
||||||
.setMessage(c.getPrename() + " " + c.getSurname() + " wirklich löschen?").yesCancel() |
.setMessage(c.getPrename() + " " + c.getSurname() + " wirklich löschen?").yesCancel() |
||||||
.setResultHandler(button -> { |
.setResultHandler(button -> { |
||||||
if (button == ConfirmDialog.Buttons.YES) { |
if (button == ConfirmDialog.Buttons.YES) { |
||||||
personDao.delete(c); |
personDao.delete(c); |
||||||
dataProvider.refreshAll(); |
dataProvider.refreshAll(); |
||||||
} |
} |
||||||
}).build(); |
}).build(); |
||||||
|
|
||||||
getUI().addWindow(dlg); |
getUI().addWindow(dlg); |
||||||
} |
} |
||||||
|
|
||||||
public void setSelectionMode(SelectionMode selectionMode) { |
public void setSelectionMode(SelectionMode selectionMode) { |
||||||
grid.setSelectionMode(selectionMode); |
grid.setSelectionMode(selectionMode); |
||||||
currentSelectionMode = selectionMode; |
currentSelectionMode = selectionMode; |
||||||
if (selectionMode == SelectionMode.MULTI) { |
if (selectionMode == SelectionMode.MULTI) { |
||||||
checkIncluded.setVisible(true); |
checkIncluded.setVisible(true); |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
private Layout setupFilterComponents() { |
private Layout setupFilterComponents() { |
||||||
checkIncluded.setId("person.filter.checked"); |
checkIncluded.setId("person.filter.checked"); |
||||||
checkIncluded.addValueChangeListener(ev -> onSelectedOnly(ev)); |
checkIncluded.addValueChangeListener(ev -> onSelectedOnly(ev)); |
||||||
checkIncluded.setVisible(false); |
checkIncluded.setVisible(false); |
||||||
|
|
||||||
comboGroups.setId("person.filter.groups"); |
comboGroups.setId("person.filter.groups"); |
||||||
comboGroups.setEmptySelectionAllowed(true); |
comboGroups.setEmptySelectionAllowed(true); |
||||||
comboGroups.setEmptySelectionCaption("Alle"); |
comboGroups.setEmptySelectionCaption("Alle"); |
||||||
comboGroups.setItemCaptionGenerator(GroupDef::getName); |
comboGroups.setItemCaptionGenerator(GroupDef::getName); |
||||||
comboGroups.addSelectionListener(ev -> onGroupSelected(ev)); |
comboGroups.addSelectionListener(ev -> onGroupSelected(ev)); |
||||||
|
|
||||||
textFilter.setId("person.filter.namefilter"); |
textFilter.setId("person.filter.namefilter"); |
||||||
textFilter.addValueChangeListener(ev -> textFilterChanged(ev)); |
textFilter.addValueChangeListener(ev -> textFilterChanged(ev)); |
||||||
HorizontalLayout filters = new HorizontalLayout(); |
HorizontalLayout filters = new HorizontalLayout(); |
||||||
filters.setMargin(false); |
filters.setMargin(false); |
||||||
filters.addComponents(checkIncluded, comboGroups, textFilter); |
filters.addComponents(checkIncluded, comboGroups, textFilter); |
||||||
return filters; |
return filters; |
||||||
} |
} |
||||||
|
|
||||||
private void textFilterChanged(ValueChangeEvent<String> ev) { |
private void textFilterChanged(ValueChangeEvent<String> ev) { |
||||||
String value = ev.getValue(); |
String value = ev.getValue(); |
||||||
if (value != null && value.length() >= 2) { |
if (value != null && value.length() >= 2) { |
||||||
filter.setNameFilter(value); |
filter.setNameFilter(value); |
||||||
dataProvider.refreshAll(); |
dataProvider.refreshAll(); |
||||||
} |
} |
||||||
else { |
else { |
||||||
filter.setNameFilter(null); |
filter.setNameFilter(null); |
||||||
dataProvider.refreshAll(); |
dataProvider.refreshAll(); |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
public void hideFilter() { |
public void hideFilter() { |
||||||
filters.setVisible(false); |
filters.setVisible(false); |
||||||
} |
} |
||||||
|
|
||||||
private void onSelectedOnly(ValueChangeEvent<Boolean> ev) { |
private void onSelectedOnly(ValueChangeEvent<Boolean> ev) { |
||||||
updateSelectedOnlyFilter(ev.getValue()); |
updateSelectedOnlyFilter(ev.getValue()); |
||||||
} |
} |
||||||
|
|
||||||
public void setSelectedOnly() { |
public void setSelectedOnly() { |
||||||
updateSelectedOnlyFilter(true); |
updateSelectedOnlyFilter(true); |
||||||
} |
} |
||||||
|
|
||||||
private void updateSelectedOnlyFilter(Boolean selectedOnly) { |
private void updateSelectedOnlyFilter(Boolean selectedOnly) { |
||||||
if (selectedOnly != null && selectedOnly.equals(Boolean.TRUE)) { |
if (selectedOnly != null && selectedOnly.equals(Boolean.TRUE)) { |
||||||
filter.setSelectedPersons(grid.getSelectedItems()); |
filter.setSelectedPersons(grid.getSelectedItems()); |
||||||
} |
} |
||||||
else { |
else { |
||||||
filter.setSelectedPersons(null); |
filter.setSelectedPersons(null); |
||||||
} |
} |
||||||
dataProvider.refreshAll(); |
dataProvider.refreshAll(); |
||||||
} |
} |
||||||
|
|
||||||
public void refreshItem(Person item) { |
public void refreshItem(Person item) { |
||||||
dataProvider.refreshItem(item); |
dataProvider.refreshItem(item); |
||||||
} |
} |
||||||
|
|
||||||
public void onPersonSelect(SelectionListener<Person> listener) throws UnsupportedOperationException { |
public void onPersonSelect(SelectionListener<Person> listener) throws UnsupportedOperationException { |
||||||
grid.addSelectionListener(listener); |
grid.addSelectionListener(listener); |
||||||
} |
} |
||||||
|
|
||||||
private void selectItems(Person... items) { |
private void selectItems(Person... items) { |
||||||
if (currentSelectionMode == SelectionMode.MULTI) { |
if (currentSelectionMode == SelectionMode.MULTI) { |
||||||
GridMultiSelect<Person> asMultiSelect = grid.asMultiSelect(); |
GridMultiSelect<Person> asMultiSelect = grid.asMultiSelect(); |
||||||
asMultiSelect.deselectAll(); |
asMultiSelect.deselectAll(); |
||||||
if (items == null || items.length == 0) { |
if (items == null || items.length == 0) { |
||||||
log.debug("No Persons selected."); |
log.debug("No Persons selected."); |
||||||
} |
} |
||||||
else { |
else { |
||||||
log.debug("Selecting Persons: {}", Arrays.asList(items)); |
log.debug("Selecting Persons: {}", Arrays.asList(items)); |
||||||
asMultiSelect.selectItems(items); |
asMultiSelect.selectItems(items); |
||||||
} |
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
public void deselectItems(Person... items) { |
public void setTitle(String value) { |
||||||
grid.asMultiSelect().deselect(items); |
textTitle.setValue(value == null ? "": value); |
||||||
} |
} |
||||||
|
|
||||||
public void select(Person item) { |
public void onPersonEdit() { |
||||||
grid.select(item); |
startpassColumn.setHidden(true); |
||||||
} |
genderColumn.setHidden(false); |
||||||
|
} |
||||||
public void deselect(Person item) { |
|
||||||
grid.deselect(item); |
public void setEvent(ClubEvent ev) { |
||||||
} |
|
||||||
|
if (currentSelectionMode == SelectionMode.MULTI) { |
||||||
public void deselectAll() { |
if (ev != null) { |
||||||
grid.deselectAll(); |
updateSelection(ev); |
||||||
} |
} |
||||||
|
else { |
||||||
private void onGroupSelected(SingleSelectionEvent<GroupDef> ev) { |
selectItems(new Person[0]); |
||||||
|
} |
||||||
Set<GroupDef> groupMemberFilter = ev.getAllSelectedItems(); |
} |
||||||
if (groupMemberFilter.isEmpty()) { |
else if (ev != null) { |
||||||
groupMemberFilter = null; |
Collection<Person> items = dataProvider.getItems(); |
||||||
} |
items.clear(); |
||||||
filter.setSelectedGroups(groupMemberFilter); |
items.addAll(ev.getPersons()); |
||||||
dataProvider.refreshAll(); |
} |
||||||
} |
this.currentEvent = ev; |
||||||
|
} |
||||||
public void onPersonEdit() { |
|
||||||
startpassColumn.setHidden(true); |
public void updateSelection(ClubEvent ev) { |
||||||
genderColumn.setHidden(false); |
Set<Person> persons = ev.getPersons(); |
||||||
} |
if (persons != null) { |
||||||
|
selectItems(persons.toArray(new Person[0])); |
||||||
public void setEvent(ClubEvent ev) { |
} |
||||||
|
else { |
||||||
if (currentSelectionMode == SelectionMode.MULTI) { |
selectItems(new Person[0]); |
||||||
if (ev != null) { |
} |
||||||
updateSelection(ev); |
} |
||||||
} |
|
||||||
else { |
} |
||||||
selectItems(new Person[0]); |
|
||||||
} |
|
||||||
} |
|
||||||
else if (ev != null) { |
|
||||||
Collection<Person> items = dataProvider.getItems(); |
|
||||||
items.clear(); |
|
||||||
items.addAll(ev.getPersons()); |
|
||||||
} |
|
||||||
this.currentEvent = ev; |
|
||||||
} |
|
||||||
|
|
||||||
public void updateSelection(ClubEvent ev) { |
|
||||||
Set<Person> persons = ev.getPersons(); |
|
||||||
if (persons != null) { |
|
||||||
selectItems(persons.toArray(new Person[0])); |
|
||||||
} |
|
||||||
else { |
|
||||||
selectItems(new Person[0]); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|||||||
Loading…
Reference in new issue