Revision 49184
Added by Sandro La Bruzzo over 6 years ago
ResolveAndIndexJobNode.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import com.googlecode.protobuf.format.JsonFormat; |
4 | 4 |
import eu.dnetlib.data.transform.xml.AbstractDNetXsltFunctions; |
5 |
import eu.dnetlib.dli.resolver.PIDResolver; |
|
5 |
|
|
6 | 6 |
import eu.dnetlib.dli.resolver.model.*; |
7 | 7 |
import eu.dnetlib.enabling.resultset.ResultSetInfo; |
8 | 8 |
import eu.dnetlib.enabling.resultset.client.ResultSetClient; |
... | ... | |
10 | 10 |
import eu.dnetlib.msro.workflows.procs.Env; |
11 | 11 |
import eu.dnetlib.msro.workflows.procs.Token; |
12 | 12 |
import eu.dnetlib.msro.workflows.util.ProgressProvider; |
13 |
import eu.dnetlib.pid.resolver.PIDResolver; |
|
14 |
import eu.dnetlib.pid.resolver.model.ObjectProvenance; |
|
13 | 15 |
import eu.dnetlib.resolver.parser.DMFResolverParser; |
14 | 16 |
import eu.dnetlib.rmi.common.ResultSet; |
15 | 17 |
import org.apache.commons.lang3.StringUtils; |
... | ... | |
74 | 76 |
|
75 | 77 |
for (String record : records) { |
76 | 78 |
this.counter++; |
77 |
final ResolvedObject result = parser.parseObject(record); |
|
79 |
final DLIResolvedObject result = parser.parseObject(record);
|
|
78 | 80 |
if (result == null) { |
79 | 81 |
log.error("error on parsing " + record); |
80 | 82 |
continue; |
81 | 83 |
} |
82 |
for (final ObjectRelation rels : result.getRelations()) { |
|
83 |
final ResolvedObject resolvedRelation = resolveRelation(rels.getTargetPID(), result.getDatasourceProvenance().get(0)); |
|
84 |
for (final DLIObjectRelation rels : result.getRelations()) {
|
|
85 |
final DLIResolvedObject resolvedRelation = resolveRelation(rels.getTargetPID(), result.getDatasourceProvenance().get(0));
|
|
84 | 86 |
final Scholix.Builder scholix = Scholix.newBuilder(); |
85 | 87 |
|
86 | 88 |
scholix.addLinkproviderBuilder() |
... | ... | |
127 | 129 |
|
128 | 130 |
} |
129 | 131 |
|
130 |
private String generateIdentifier(final ResolvedObject source, ResolvedObject target) {
|
|
132 |
private String generateIdentifier(final DLIResolvedObject source, DLIResolvedObject target) {
|
|
131 | 133 |
|
132 | 134 |
return AbstractDNetXsltFunctions.md5(String.format("%s::%s", source.getPid().toLowerCase().trim(), target.getPid().toLowerCase().trim())); |
133 | 135 |
|
134 | 136 |
} |
135 | 137 |
|
136 |
private ScholixResource generateResource(ResolvedObject result) { |
|
138 |
private ScholixResource generateResource(DLIResolvedObject result) {
|
|
137 | 139 |
final ScholixResource.Builder builder = ScholixResource.newBuilder(); |
138 | 140 |
if (result.getDatasourceProvenance() != null) |
139 | 141 |
result.getDatasourceProvenance().forEach( |
... | ... | |
187 | 189 |
} |
188 | 190 |
|
189 | 191 |
|
190 |
private ResolvedObject resolveRelation(final PID currentPid, final ObjectProvenance provenance) { |
|
192 |
private DLIResolvedObject resolveRelation(final PID currentPid, final ObjectProvenance provenance) {
|
|
191 | 193 |
for (PIDResolver resolver : pluginResolver) { |
192 |
final ResolvedObject currentIdentifier = resolver.retrievePID(currentPid.getId(), currentPid.getType());
|
|
194 |
final DLIResolvedObject currentIdentifier = (DLIResolvedObject) resolver.retrievePID(currentPid.getId(), currentPid.getType());
|
|
193 | 195 |
|
194 | 196 |
if (currentIdentifier != null && |
195 | 197 |
!StringUtils.isBlank(currentIdentifier.getPid()) && |
... | ... | |
198 | 200 |
} |
199 | 201 |
} |
200 | 202 |
|
201 |
final ResolvedObject resolvedObject = new ResolvedObject();
|
|
203 |
final DLIResolvedObject resolvedObject = new DLIResolvedObject();
|
|
202 | 204 |
resolvedObject.setPid(currentPid.getId()); |
203 | 205 |
resolvedObject.setPidType(currentPid.getType()); |
204 |
ObjectProvenance resultProvenance = new ObjectProvenance();
|
|
206 |
DLIObjectProvenance resultProvenance = new DLIObjectProvenance();
|
|
205 | 207 |
resultProvenance.setDatasource(provenance.getDatasource()); |
206 | 208 |
resultProvenance.setDatasourceId(provenance.getDatasourceId()); |
207 | 209 |
resultProvenance.setCompletionStatus(CompletionStatus.incomplete.toString()); |
Also available in: Unified diff
Refactored Pid resolver