Revision 39880c49
Added by Katja Luther almost 9 years ago
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/common/DeleteNonReferencedreferencesUpdater.java | ||
---|---|---|
6 | 6 |
import org.springframework.stereotype.Component; |
7 | 7 |
|
8 | 8 |
import eu.etaxonomy.cdm.api.service.DeleteResult; |
9 |
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; |
|
9 | 10 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
10 | 11 |
import eu.etaxonomy.cdm.model.reference.Reference; |
11 | 12 |
@Component |
... | ... | |
14 | 15 |
@Override |
15 | 16 |
protected void doInvoke( |
16 | 17 |
DefaultImportState<DeleteNonReferencedReferencesConfigurator> state) { |
17 |
List<Reference> references =getReferenceService().list(Reference.class, null, null, null, null); |
|
18 |
DeleteResult result; |
|
19 |
int deleted = 0; |
|
20 |
System.out.println("There are " + references.size() + " references"); |
|
21 |
for (Reference ref: references){ |
|
22 |
Set<CdmBase> refObjects = getCommonService().getReferencingObjects(ref); |
|
23 |
if (refObjects.isEmpty()) { |
|
24 |
result = getReferenceService().delete(ref); |
|
25 |
deleted++; |
|
26 |
if (!result.isOk()){ |
|
27 |
System.out.println("Reference " + ref.getTitle() + " with id " + ref.getId() + " could not be deleted."); |
|
28 |
result = null; |
|
18 |
|
|
19 |
if (state.getConfig().isDoAuthors()){ |
|
20 |
List<TeamOrPersonBase> authors =getAgentService().list(TeamOrPersonBase.class, null, null, null, null); |
|
21 |
DeleteResult result; |
|
22 |
int deleted = 0; |
|
23 |
System.out.println("There are " + authors.size() + " authors"); |
|
24 |
for (TeamOrPersonBase author: authors){ |
|
25 |
Set<CdmBase> refObjects = getCommonService().getReferencingObjects(author); |
|
26 |
if (refObjects.isEmpty()) { |
|
27 |
result = getAgentService().delete(author); |
|
28 |
deleted++; |
|
29 |
if (!result.isOk()){ |
|
30 |
System.out.println("Author " + author.getTitleCache() + " with id " + author.getId() + " could not be deleted."); |
|
31 |
result = null; |
|
32 |
} |
|
29 | 33 |
} |
30 | 34 |
} |
35 |
System.out.println(deleted + " authors are deleted."); |
|
36 |
} |
|
37 |
if (state.getConfig().isDoReferences()){ |
|
38 |
List<Reference> references =getReferenceService().list(Reference.class, null, null, null, null); |
|
39 |
DeleteResult result; |
|
40 |
int deleted = 0; |
|
41 |
System.out.println("There are " + references.size() + " references"); |
|
42 |
for (Reference ref: references){ |
|
43 |
Set<CdmBase> refObjects = getCommonService().getReferencingObjects(ref); |
|
44 |
if (refObjects.isEmpty()) { |
|
45 |
result = getReferenceService().delete(ref); |
|
46 |
deleted++; |
|
47 |
if (!result.isOk()){ |
|
48 |
System.out.println("Reference " + ref.getTitle() + " with id " + ref.getId() + " could not be deleted."); |
|
49 |
result = null; |
|
50 |
} |
|
51 |
} |
|
52 |
} |
|
53 |
System.out.println(deleted + " references are deleted."); |
|
31 | 54 |
} |
32 |
System.out.println(deleted + " references are deleted."); |
|
33 |
|
|
34 | 55 |
} |
35 | 56 |
|
36 | 57 |
@Override |
Also available in: Unified diff