Project

General

Profile

« Previous | Next » 

Revision 875dacdd

Added by Andreas Kohlbecker about 6 years ago

using CdmFilterablePagingProvider in ReferenceEditorPresenter

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/view/reference/ReferenceEditorPresenter.java
14 14
import org.apache.log4j.Logger;
15 15
import org.springframework.context.event.EventListener;
16 16
import org.vaadin.viritin.fields.CaptionGenerator;
17
import org.vaadin.viritin.fields.LazyComboBox.FilterableCountProvider;
18
import org.vaadin.viritin.fields.LazyComboBox.FilterablePagingProvider;
19 17

  
20 18
import eu.etaxonomy.cdm.api.service.IService;
21
import eu.etaxonomy.cdm.api.service.pager.Pager;
19
import eu.etaxonomy.cdm.model.agent.AgentBase;
20
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
22 21
import eu.etaxonomy.cdm.model.reference.Reference;
23 22
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
24
import eu.etaxonomy.cdm.persistence.query.MatchMode;
25
import eu.etaxonomy.cdm.persistence.query.OrderHint;
23
import eu.etaxonomy.cdm.service.CdmFilterablePagingProvider;
26 24
import eu.etaxonomy.cdm.vaadin.event.ReferenceEditorAction;
27 25
import eu.etaxonomy.cdm.vaadin.event.ToOneRelatedEntityButtonUpdater;
28 26
import eu.etaxonomy.cdm.vaadin.security.UserHelper;
......
63 61
            }
64 62

  
65 63
        });
66
        getView().getInReferenceCombobox().loadFrom(new FilterablePagingProvider<Reference>(){
67

  
68
            @Override
69
            public List<Reference> findEntities(int firstRow, String filter) {
70
                Pager<Reference> page = getRepo().getReferenceService().findByTitle(
71
                        null,
72
                        filter,
73
                        MatchMode.ANYWHERE,
74
                        null,
75
                        20,
76
                        firstRow,
77
                        OrderHint.ORDER_BY_TITLE_CACHE.asList(),
78
                        Arrays.asList("$")
79
                      );
80
                return page.getRecords();
81
            }},
82
            new FilterableCountProvider(){
83
                @Override
84
                public int size(String filter) {
85
                    Pager<Reference> page = getRepo().getReferenceService().findByTitle(
86
                            null,
87
                            filter,
88
                            MatchMode.ANYWHERE,
89
                            null,
90
                            1,
91
                            0,
92
                            null,
93
                            null
94
                          );
95
                    return page.getCount().intValue();
96
                }}
97
            , 20);
98 64

  
65
        CdmFilterablePagingProvider<Reference, Reference> collectionPagingProvider = new CdmFilterablePagingProvider<Reference, Reference>(getRepo().getReferenceService());
66
        getView().getInReferenceCombobox().loadFrom(collectionPagingProvider, collectionPagingProvider, collectionPagingProvider.getPageSize());
99 67
        getView().getInReferenceCombobox().getSelect().addValueChangeListener(new ToOneRelatedEntityButtonUpdater<Reference>(getView().getInReferenceCombobox()));
68

  
69
        CdmFilterablePagingProvider<AgentBase, TeamOrPersonBase> teamOrPersonPagingProvider = new CdmFilterablePagingProvider<AgentBase, TeamOrPersonBase>(getRepo().getAgentService());
70
        getView().getAuthorshipField().setFilterableTeamPagingProvider(teamOrPersonPagingProvider, this);
100 71
    }
101 72

  
102 73
    /**

Also available in: Unified diff