Project

General

Profile

« Previous | Next » 

Revision 58355

merges and merged_in relations

View differences:

modules/dnet-orgs-database-application/trunk/src/main/java/eu/dnetlib/organizations/model/OpenaireConflictPK.java
14 14

  
15 15
	private String id2;
16 16

  
17
	public OpenaireConflictPK() {}
18

  
19
	public OpenaireConflictPK(final String id1, final String id2) {
20
		this.id1 = id1;
21
		this.id2 = id2;
22
	}
23

  
17 24
	public String getId1() {
18 25
		return id1;
19 26
	}
modules/dnet-orgs-database-application/trunk/src/main/java/eu/dnetlib/organizations/utils/RelationType.java
1 1
package eu.dnetlib.organizations.utils;
2 2

  
3 3
public enum RelationType {
4
	Child, Parent, Related, Other;
5 4

  
5
	Child, Parent, Related, Other, Merged_In, Merges;
6

  
6 7
	public RelationType getInverse() {
7 8
		switch (this) {
8 9
		case Child:
......
11 12
			return Child;
12 13
		case Related:
13 14
			return Related;
15
		case Merged_In:
16
			return Merges;
17
		case Merges:
18
			return Merged_In;
14 19
		default:
15 20
			return Other;
16 21
		}
modules/dnet-orgs-database-application/trunk/src/main/java/eu/dnetlib/organizations/utils/DatabaseUtils.java
23 23
import eu.dnetlib.organizations.controller.UserRole;
24 24
import eu.dnetlib.organizations.model.Acronym;
25 25
import eu.dnetlib.organizations.model.OpenaireConflict;
26
import eu.dnetlib.organizations.model.OpenaireConflictPK;
26 27
import eu.dnetlib.organizations.model.Organization;
27 28
import eu.dnetlib.organizations.model.OtherIdentifier;
28 29
import eu.dnetlib.organizations.model.OtherName;
......
112 113
			final Relationship r2 = new Relationship(r.getRelatedOrgId(), orgId, RelationType.valueOf(r.getType()).getInverse().toString());
113 114
			relationshipRepository.save(r1);
114 115
			relationshipRepository.save(r2);
116

  
117
			if (r.getType().equals(RelationType.Merged_In.toString()) || r.getType().equals(RelationType.Merges.toString())) {
118
				openaireConflictRepository.findById(new OpenaireConflictPK(orgId, r.getRelatedOrgId())).ifPresent(openaireConflictRepository::delete);
119
				openaireConflictRepository.findById(new OpenaireConflictPK(r.getRelatedOrgId(), orgId)).ifPresent(openaireConflictRepository::delete);
120
			}
115 121
		});
116 122
	}
117 123

  

Also available in: Unified diff