Revision 1a3d66bf
Added by Andreas Kohlbecker almost 7 years ago
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
making use of the new RegistationService methods