Project

General

Profile

« Previous | Next » 

Revision 52aa37ab

Added by Andreas Kohlbecker about 5 years ago

  • ID 52aa37ab6574362cda647ba7f83c2b2521620b2c
  • Parent 3506344d

ref #8161 TaxonNameStringFilterablePagingProvider as transactional readonly prototype bean

View differences:

src/main/java/eu/etaxonomy/cdm/service/TaxonNameStringFilterablePagingProvider.java
16 16
import java.util.UUID;
17 17

  
18 18
import org.apache.log4j.Logger;
19
import org.vaadin.viritin.fields.LazyComboBox.FilterableCountProvider;
19
import org.springframework.beans.factory.annotation.Autowired;
20
import org.springframework.context.annotation.Scope;
21
import org.springframework.stereotype.Repository;
22
import org.springframework.transaction.annotation.Transactional;
20 23

  
21 24
import com.vaadin.data.Property.ValueChangeListener;
22 25
import com.vaadin.ui.AbstractField;
......
41 44
 * @since Jun 7, 2017
42 45
 *
43 46
 */
44
public class TaxonNameStringFilterablePagingProvider implements FilterableStringRepresentationPagingProvider<UUID>, FilterableCountProvider {
47
@Scope("prototype")
48
@Repository
49
public class TaxonNameStringFilterablePagingProvider implements ITaxonNameStringFilterablePagingProvider {
45 50

  
46 51
    private static final List<String> DEFAULT_INIT_STRATEGY = Arrays.asList("$");
47 52

  
......
49 54

  
50 55
    private int pageSize = 20;
51 56

  
57
    @Autowired
52 58
    private INameService service;
53 59

  
54 60
    private MatchMode matchMode = MatchMode.BEGINNING;
......
64 70
    private Map<String, UUID> lastPagedEntityUUIDs;
65 71

  
66 72

  
67
    public TaxonNameStringFilterablePagingProvider(INameService service) {
68
        this(service, Rank.GENUS(), null);
73
    public TaxonNameStringFilterablePagingProvider() {
74
        this(Rank.GENUS(), null);
69 75
    }
70 76

  
77
    /**
71 78
    public TaxonNameStringFilterablePagingProvider(INameService service, Rank rank) {
72 79
        this(service, rank, null);
73 80
    }
81
     */
74 82

  
75
    public TaxonNameStringFilterablePagingProvider(INameService service, Rank rank, MatchMode matchMode) {
83
    private TaxonNameStringFilterablePagingProvider(Rank rank, MatchMode matchMode) {
76 84
        super();
77
        this.service = service;
78 85
        if(matchMode != null){
79 86
            this.matchMode = matchMode;
80 87
        }
88
        setRankFilter(rank);
89
    }
90

  
91
    /**
92
     * @param rank
93
     */
94
    @Override
95
    public void setRankFilter(Rank rank) {
81 96
        namePartsFilter.setRank(rank);
82 97
    }
83 98

  
99

  
100
    @Override
84 101
    public void listenToFields(AbstractField<String> genusOrUninomialField, AbstractField<String> infraGenericEpithetField,
85 102
            AbstractField<String> specificEpithetField, AbstractField<String> infraSpecificEpithetField){
86 103

  
......
95 112
    /**
96 113
     *
97 114
     */
115
    @Override
98 116
    public void unlistenAllFields() {
99 117
        for(AbstractField<String> f : registeredToFields.keySet()){
100 118
            f.removeValueChangeListener(registeredToFields.get(f));
......
113 131
        }
114 132
    }
115 133

  
134
    @Override
116 135
    public void updateFromFields(){
117 136
        for(AbstractField<String> f : registeredToFields.keySet()){
118 137
            ValueChangeListener listener = registeredToFields.get(f);
......
133 152
    /**
134 153
     * @return the matchMode
135 154
     */
136
    protected MatchMode getMatchMode() {
155
    public MatchMode getMatchMode() {
137 156
        return matchMode;
138 157
    }
139 158

  
140 159
    /**
141 160
     * @param matchMode the matchMode to set
142 161
     */
143
    protected void setMatchMode(MatchMode matchMode) {
162
    public void setMatchMode(MatchMode matchMode) {
144 163
        this.matchMode = matchMode;
145 164
    }
146 165

  
......
166 185
     * {@inheritDoc}
167 186
     */
168 187
    @Override
188
    @Transactional(readOnly=true)
169 189
    public List<String> findEntities(int firstRow, String filter) {
170 190

  
171 191
        Integer pageIndex = firstRow / pageSize;
......
191 211
     * {@inheritDoc}
192 212
     */
193 213
    @Override
214
    @Transactional(readOnly=true)
194 215
    public int size(String filter) {
195 216

  
196 217
        Pager<TaxonNameParts> taxonNamePager = service.findTaxonNameParts(namePartsFilter, filter,  1, 0, null);
......
203 224
    /**
204 225
     * @return the pageSize
205 226
     */
227
    @Override
206 228
    public int getPageSize() {
207 229
        return pageSize;
208 230
    }
......
250 272
     * @param asList
251 273
     * @return
252 274
     */
275
    @Override
253 276
    public void excludeNames(TaxonName ... excludedTaxonNames) {
254 277
        namePartsFilter.getExludedNamesUuids();
255 278
        for(TaxonName n : excludedTaxonNames){

Also available in: Unified diff