1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.mycore.mods.merger;
20
21 import java.nio.charset.StandardCharsets;
22 import java.net.URLDecoder;
23 import java.util.Locale;
24
25 import org.jdom2.Element;
26
27
28
29
30
31
32
33
34 public class MCRIdentifierMerger extends MCRMerger {
35
36 @Override
37 public void setElement(Element element) {
38 super.setElement(element);
39 }
40
41 private String getType() {
42 return this.element.getAttributeValue("type", "");
43 }
44
45 private String getSimplifiedID() {
46 return URLDecoder.decode(this.element.getTextNormalize().toLowerCase(Locale.ENGLISH), StandardCharsets.UTF_8)
47 .replace("-", "");
48 }
49
50 @Override
51 public boolean isProbablySameAs(MCRMerger other) {
52 if (!(other instanceof MCRIdentifierMerger)) {
53 return false;
54 }
55
56 MCRIdentifierMerger oid = (MCRIdentifierMerger) other;
57 return this.getType().equals(oid.getType())
58 && this.getSimplifiedID().equals(oid.getSimplifiedID());
59 }
60
61 @Override
62 public void mergeFrom(MCRMerger other) {
63 if (!this.element.getText().contains("-") && other.element.getText().contains("-")) {
64 this.element.setText(other.element.getText());
65 }
66 }
67 }