Project

General

Profile

« Previous | Next » 

Revision 39880c49

Added by Katja Luther almost 9 years ago

View differences:

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