Revision 49184
Added by Sandro La Bruzzo over 6 years ago
PMFResolverParser.java | ||
---|---|---|
10 | 10 |
import eu.dnetlib.dli.resolver.model.*; |
11 | 11 |
import eu.dnetlib.data.transform.VtdUtilityParser; |
12 | 12 |
import eu.dnetlib.data.transform.VtdUtilityParser.Node; |
13 |
import eu.dnetlib.pid.resolver.model.ObjectType; |
|
13 | 14 |
|
14 | 15 |
/** |
15 | 16 |
* Created by sandro on 9/13/16. |
... | ... | |
17 | 18 |
public class PMFResolverParser extends AbstractResolverParser { |
18 | 19 |
|
19 | 20 |
@Override |
20 |
public ResolvedObject parseObject(final String record) {
|
|
21 |
try {
|
|
22 |
final ResolvedObject parsedObject = new ResolvedObject();
|
|
23 |
final VTDGen vg = new VTDGen();
|
|
21 |
public DLIResolvedObject parseObject(final String record) {
|
|
22 |
try {
|
|
23 |
final DLIResolvedObject parsedObject = new DLIResolvedObject();
|
|
24 |
final VTDGen vg = new VTDGen();
|
|
24 | 25 |
vg.setDoc(record.getBytes()); |
25 | 26 |
vg.parse(true); |
26 | 27 |
|
... | ... | |
47 | 48 |
List<Node> collectedFromNodes = |
48 | 49 |
VtdUtilityParser.getTextValuesWithAttributes(ap, vn, "//oaf:collectedFrom", Arrays.asList("name", "id", "mode", "completionStatus")); |
49 | 50 |
|
50 |
final List<ObjectProvenance> provenances = new ArrayList<>();
|
|
51 |
final List<DLIObjectProvenance> provenances = new ArrayList<>();
|
|
51 | 52 |
|
52 | 53 |
if (collectedFromNodes != null && collectedFromNodes.size() > 0) { |
53 | 54 |
collectedFromNodes.forEach(it -> { |
54 |
final ObjectProvenance provenance = new ObjectProvenance();
|
|
55 |
provenance.setDatasourceId(it.getAttributes().get("id"));
|
|
55 |
final DLIObjectProvenance provenance = new DLIObjectProvenance();
|
|
56 |
provenance.setDatasourceId(it.getAttributes().get("id"));
|
|
56 | 57 |
provenance.setDatasource(it.getAttributes().get("name")); |
57 | 58 |
provenance.setProvisionMode(it.getAttributes().get("mode")); |
58 | 59 |
provenance.setCompletionStatus(it.getAttributes().get("completionStatus")); |
... | ... | |
68 | 69 |
Arrays.asList("relatedIdentifierType", "relationType", "entityType", "inverseRelationType")); |
69 | 70 |
|
70 | 71 |
if (relatedIdentifiers != null && relatedIdentifiers.size() > 0) { |
71 |
final List<ObjectRelation> relations = new ArrayList<>();
|
|
72 |
relatedIdentifiers.forEach(relation -> {
|
|
72 |
final List<DLIObjectRelation> relations = new ArrayList<>();
|
|
73 |
relatedIdentifiers.forEach(relation -> {
|
|
73 | 74 |
final String currentPid = relation.getTextValue(); |
74 | 75 |
final String currentPidType = relation.getAttributes().get("relatedIdentifierType"); |
75 | 76 |
final String currentType = relation.getAttributes().get("entityType"); |
76 |
final ObjectRelation currentRelation = new ObjectRelation();
|
|
77 |
currentRelation.setTargetPID(new PID(currentPid, currentPidType));
|
|
77 |
final DLIObjectRelation currentRelation = new DLIObjectRelation();
|
|
78 |
currentRelation.setTargetPID(new PID(currentPid, currentPidType));
|
|
78 | 79 |
currentRelation.setCompletionStatus(CompletionStatus.incomplete.toString()); |
79 | 80 |
currentRelation.setSourcePid(parsedObject.getPid()); |
80 | 81 |
currentRelation.setRelationSemantics(relation.getAttributes().get("relationType")); |
... | ... | |
83 | 84 |
|
84 | 85 |
currentRelation.setTargetType(ObjectType.valueOf(currentType)); |
85 | 86 |
if (parsedObject.getDatasourceProvenance() != null && parsedObject.getDatasourceProvenance().size() > 0) { |
86 |
final ObjectProvenance provenance = parsedObject.getDatasourceProvenance().get(0);
|
|
87 |
final DLIObjectProvenance provenance = parsedObject.getDatasourceProvenance().get(0);
|
|
87 | 88 |
|
88 |
final ObjectProvenance newProvenance = new ObjectProvenance();
|
|
89 |
newProvenance.setCompletionStatus(CompletionStatus.incomplete.toString());
|
|
89 |
final DLIObjectProvenance newProvenance = new DLIObjectProvenance();
|
|
90 |
newProvenance.setCompletionStatus(CompletionStatus.incomplete.toString());
|
|
90 | 91 |
newProvenance.setDatasourceId(provenance.getDatasourceId()); |
91 | 92 |
newProvenance.setDatasource(provenance.getDatasource()); |
92 | 93 |
newProvenance.setProvisionMode(provenance.getProvisionMode()); |
Also available in: Unified diff
Refactored Pid resolver