Project

General

Profile

« Previous | Next » 

Revision 1a3d66bf

Added by Andreas Kohlbecker almost 7 years ago

making use of the new RegistationService methods

View differences:

src/main/java/eu/etaxonomy/cdm/mock/IRegistrationWorkingSetService.java
10 10

  
11 11
import java.util.Collection;
12 12

  
13
import eu.etaxonomy.cdm.model.common.User;
14
import eu.etaxonomy.cdm.model.name.RegistrationStatus;
13 15
import eu.etaxonomy.cdm.vaadin.model.registration.RegistrationWorkingSet;
14 16
import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationDTO;
15 17
import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationValidationException;
......
30 32

  
31 33
    public Collection<RegistrationDTO> listDTOs();
32 34

  
35
    public Collection<RegistrationDTO> listDTOsFor(User submitter, Collection<RegistrationStatus> includedStatus);
36

  
33 37
    /**
34 38
     * @param  id the CDM Entity id
35 39
     * @return
src/main/java/eu/etaxonomy/cdm/mock/RegistrationService.java
26 26

  
27 27
import eu.etaxonomy.cdm.api.application.CdmRepository;
28 28
import eu.etaxonomy.cdm.model.common.CdmBase;
29
import eu.etaxonomy.cdm.model.common.User;
29 30
import eu.etaxonomy.cdm.model.name.Rank;
30 31
import eu.etaxonomy.cdm.model.name.Registration;
31 32
import eu.etaxonomy.cdm.model.name.RegistrationStatus;
......
221 222
        return new RegistrationWorkingSet(registrationDTOsByCitationId.get(dto.getCitationID()));
222 223
    }
223 224

  
225
    /**
226
     * {@inheritDoc}
227
     */
228
    @Override
229
    public Collection<RegistrationDTO> listDTOsFor(User submitter, Collection<RegistrationStatus> includedStatus) {
230
        // TODO Auto-generated method stub
231
        return null;
232
    }
233

  
224 234

  
225 235
}
src/main/java/eu/etaxonomy/cdm/mock/RegistrationWorkingSetService.java
13 13
import java.util.Collection;
14 14
import java.util.HashSet;
15 15
import java.util.List;
16
import java.util.Optional;
16 17
import java.util.Set;
17 18
import java.util.UUID;
18 19

  
......
37 38
import eu.etaxonomy.cdm.model.agent.Institution;
38 39
import eu.etaxonomy.cdm.model.common.Extension;
39 40
import eu.etaxonomy.cdm.model.common.ExtensionType;
41
import eu.etaxonomy.cdm.model.common.User;
40 42
import eu.etaxonomy.cdm.model.name.Registration;
41 43
import eu.etaxonomy.cdm.model.name.RegistrationStatus;
42 44
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
43 45
import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
46
import eu.etaxonomy.cdm.model.reference.Reference;
44 47
import eu.etaxonomy.cdm.persistence.query.MatchMode;
45 48
import eu.etaxonomy.cdm.vaadin.model.registration.RegistrationWorkingSet;
46 49
import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationDTO;
......
87 90
    }
88 91

  
89 92

  
93
    /**
94
     * @param id the CDM Entity id
95
     * @return
96
     */
97
    @Override
98
    public RegistrationDTO loadDtoById(Integer id) {
99
        Registration reg = repo.getRegistrationService().find(id);
100
        return new RegistrationDTO(reg);
101
    }
102

  
103

  
104
    @Override
105
    public Collection<RegistrationDTO> listDTOs() {
106

  
107
        List<Registration> regs = repo.getRegistrationService().list(null, 50, 0, null, null);
108

  
109
        List<RegistrationDTO> dtos = makeDTOs(regs);
110
        return dtos;
111
    }
112

  
113
    /**
114
     * {@inheritDoc}
115
     */
116
    @Override
117
    public Collection<RegistrationDTO> listDTOsFor(User submitter, Collection<RegistrationStatus> includedStatus) {
118

  
119
        Pager<Registration> pager = repo.getRegistrationService().page(submitter, includedStatus, null, null, null, null);
120
        return makeDTOs(pager.getRecords());
121
    }
122

  
123
    /**
124
     * @param  id the CDM Entity id
125
     * @return
126
     * @throws RegistrationValidationException
127
     */
128
    @Override
129
    public RegistrationWorkingSet loadWorkingSetByRegistrationID(Integer id) throws RegistrationValidationException {
130

  
131
        RegistrationDTO dto = loadDtoById(id);
132

  
133
        Pager<Registration> pager = repo.getRegistrationService().page(Optional.of((Reference)dto.getCitation()), null, null, null, null);
134

  
135
        return new RegistrationWorkingSet(makeDTOs(pager.getRecords()));
136
    }
137

  
138

  
139
    /**
140
     * @param regs
141
     * @return
142
     */
143
    private List<RegistrationDTO> makeDTOs(List<Registration> regs) {
144
        List<RegistrationDTO> dtos = new ArrayList<>(regs.size());
145
        regs.forEach(reg -> {dtos.add(new RegistrationDTO(reg));});
146
        return dtos;
147
    }
148

  
149
    // ==================== Registration creation ======================= //
150

  
151
    /**
152
     * {@inheritDoc}
153
     */
154
    @Override
155
    public void onApplicationEvent(ContextRefreshedEvent event) {
156
        executeSuppliedCommands();
157
    }
158

  
90 159
    /**
91 160
     *
92 161
     */
......
203 272
        }
204 273
    }
205 274

  
275

  
206 276
    /**
207 277
     * @param office
208 278
     * @return
......
226 296
    }
227 297

  
228 298

  
229
    int minTypeDesignationCount = 1;
230

  
231

  
232
    @Override
233
    public Collection<RegistrationDTO> listDTOs() {
234

  
235
        List<Registration> regs = repo.getRegistrationService().list(null, 50, 0, null, null);
236

  
237
        List<RegistrationDTO> dtos = makeDTOs(regs);
238
        return dtos;
239
    }
240

  
241

  
242
    /**
243
     * @param regs
244
     * @return
245
     */
246
    private List<RegistrationDTO> makeDTOs(List<Registration> regs) {
247
        List<RegistrationDTO> dtos = new ArrayList<>(regs.size());
248
        regs.forEach(reg -> {dtos.add(new RegistrationDTO(reg));});
249
        return dtos;
250
    }
251

  
252
    /**
253
     * @param id the CDM Entity id
254
     * @return
255
     */
256
    @Override
257
    public RegistrationDTO loadDtoById(Integer id) {
258
        Registration reg = repo.getRegistrationService().find(id);
259
        return new RegistrationDTO(reg);
260
    }
261

  
262
    /**
263
     * @param  id the CDM Entity id
264
     * @return
265
     * @throws RegistrationValidationException
266
     */
267
    @Override
268
    public RegistrationWorkingSet loadWorkingSetByRegistrationID(Integer id) throws RegistrationValidationException {
269

  
270
        RegistrationDTO dto = loadDtoById(id);
271

  
272
        Pager<Registration> pager = null;
273

  
274
        List<Registration> workingSetRegs;
275

  
276
        if (pager == null){
277
            //FIXME remove below mock function once the service if fully working
278
            workingSetRegs = new ArrayList<>();
279
            workingSetRegs.add(dto.registration());
280
        } else {
281
            pager = repo.getRegistrationService().page(null, null, dto.getCitation(), null, null, null);
282
            workingSetRegs = pager.getRecords();
283
        }
284

  
285
        return new RegistrationWorkingSet(makeDTOs(workingSetRegs));
286
    }
287

  
288
    /**
289
     * {@inheritDoc}
290
     */
291
    @Override
292
    public void onApplicationEvent(ContextRefreshedEvent event) {
293
        executeSuppliedCommands();
294
    }
295 299

  
296 300

  
297 301
}
src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/ListPresenter.java
13 13
import org.springframework.beans.factory.annotation.Autowired;
14 14
import org.springframework.beans.factory.annotation.Qualifier;
15 15
import org.springframework.context.event.EventListener;
16
import org.springframework.transaction.TransactionStatus;
17 16

  
18 17
import com.vaadin.spring.annotation.SpringComponent;
19 18
import com.vaadin.spring.annotation.ViewScope;
......
39 38

  
40 39
    @Override
41 40
    public void handleViewEntered() {
42
        TransactionStatus tx = getRepo().startTransaction();
41
        // TransactionStatus tx = getRepo().startTransaction(); // no longer needed since AbstractPresenter is caring for tranactions in this case
43 42
        getView().populate(listRegistrations());
44
        getRepo().commitTransaction(tx);
43
        // getRepo().commitTransaction(tx);
45 44
    }
46 45

  
47 46
    /**
src/main/java/eu/etaxonomy/vaadin/mvp/AbstractCdmEditorPresenter.java
34 34
    public void onEditorPreSaveEvent(EditorPreSaveEvent preSaveEvent){
35 35
        tx = getRepo().startTransaction(true);
36 36
        // merge the bean and update the fieldGroup with the merged bean, so that updating
37
        // of field values in turn of the commit are can not cause LazyInitializytionExeptions
37
        // of field values in turn of the commit are can not cause LazyInitializationExeptions
38 38
        // the bean still has the original values at this point
39 39
        mergedBean(preSaveEvent.getCommitEvent());
40 40

  

Also available in: Unified diff