Revision 57834
Added by Sandro La Bruzzo over 4 years ago
modules/dnet-dli/trunk/src/main/java/eu/dnetlib/msro/workflows/nodes/ResolveAndIndexJobNode.java | ||
---|---|---|
15 | 15 |
import eu.dnetlib.pid.resolver.model.ObjectRelation; |
16 | 16 |
import eu.dnetlib.pid.resolver.model.PID; |
17 | 17 |
import eu.dnetlib.resolver.parser.DMFResolverParser; |
18 |
import eu.dnetlib.resolver.parser.PMFResolverParser; |
|
18 | 19 |
import eu.dnetlib.rmi.common.ResultSet; |
19 | 20 |
import org.apache.commons.lang3.StringUtils; |
20 | 21 |
import org.apache.commons.logging.Log; |
... | ... | |
72 | 73 |
setIndexHost(indexHost); |
73 | 74 |
setIndexName(indexName); |
74 | 75 |
|
75 |
DMFResolverParser parser = new DMFResolverParser(); |
|
76 |
DMFResolverParser dmfParser = new DMFResolverParser(); |
|
77 |
PMFResolverParser pmfParser = new PMFResolverParser(); |
|
76 | 78 |
|
77 | 79 |
|
78 | 80 |
for (String record : records) { |
79 | 81 |
this.counter++; |
80 |
final DLIResolvedObject result = parser.parseObject(record);
|
|
82 |
DLIResolvedObject result = dmfParser.parseObject(record);
|
|
81 | 83 |
if (result == null) { |
84 |
result = pmfParser.parseObject(record); |
|
85 |
} |
|
86 |
|
|
87 |
|
|
88 |
if (result == null) { |
|
82 | 89 |
log.error("error on parsing " + record); |
83 | 90 |
continue; |
84 | 91 |
} |
... | ... | |
142 | 149 |
result.getDatasourceProvenance().forEach( |
143 | 150 |
objectProvenance -> { |
144 | 151 |
builder.addCollectedFrom(ScholixCollectedFrom.newBuilder() |
145 |
.setProvisionMode(((DLIObjectProvenance) objectProvenance).getProvisionMode())
|
|
152 |
.setProvisionMode("collected")
|
|
146 | 153 |
.setCompletionStatus(((DLIObjectProvenance) objectProvenance).getCompletionStatus()) |
147 | 154 |
.setProvider(ScholixEntityId.newBuilder() |
148 | 155 |
.setName(objectProvenance.getDatasource()) |
... | ... | |
154 | 161 |
.setName(((DLIObjectProvenance) objectProvenance).getPublisher()) |
155 | 162 |
.build()); |
156 | 163 |
} |
157 |
|
|
158 | 164 |
}); |
159 | 165 |
builder.addIdentifier(ScholixIdentifier.newBuilder(). |
160 | 166 |
setIdentifier(result.getPid()) |
modules/dnet-dli/trunk/src/main/java/eu/dnetlib/resolver/parser/PMFResolverParser.java | ||
---|---|---|
39 | 39 |
|
40 | 40 |
if (extractIdentifier(parsedObject, pid, "type")) return null; |
41 | 41 |
|
42 |
String provisionMode = VtdUtilityParser.getSingleValue(ap, vn, "//*[local-name()='provisionMode']"); |
|
43 |
|
|
42 | 44 |
List<Node> collectedFromNodes = |
43 | 45 |
VtdUtilityParser.getTextValuesWithAttributes(ap, vn, "//*[local-name()='collectedFrom']", Arrays.asList("name", "id", "mode", "completionStatus")); |
44 | 46 |
|
... | ... | |
53 | 55 |
final DLIObjectProvenance provenance = new DLIObjectProvenance(); |
54 | 56 |
provenance.setDatasourceId(it.getAttributes().get("id")); |
55 | 57 |
provenance.setDatasource(it.getAttributes().get("name")); |
56 |
provenance.setProvisionMode(it.getAttributes().get("mode"));
|
|
58 |
provenance.setProvisionMode(provisionMode);
|
|
57 | 59 |
provenance.setCompletionStatus(it.getAttributes().get("completionStatus")); |
58 | 60 |
provenance.setPublisher(publisher); |
59 | 61 |
provenances.add(provenance); |
Also available in: Unified diff
fixed direct Indexing