Project

General

Profile

« Previous | Next » 

Revision 49184

Refactored Pid resolver

View differences:

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