Revision 49184
Added by Sandro La Bruzzo over 6 years ago
PubMedResolver.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.dli.resolver; |
2 | 2 |
|
3 |
import java.util.List; |
|
4 |
|
|
5 | 3 |
import com.google.common.collect.Lists; |
6 | 4 |
import com.google.gson.JsonArray; |
7 | 5 |
import com.google.gson.JsonElement; |
8 | 6 |
import com.google.gson.JsonObject; |
9 | 7 |
import com.google.gson.JsonParser; |
10 |
import eu.dnetlib.dli.resolver.model.ObjectProvenance; |
|
11 |
import eu.dnetlib.dli.resolver.model.ObjectType; |
|
12 |
import eu.dnetlib.dli.resolver.model.ResolvedObject; |
|
8 |
import eu.dnetlib.dli.resolver.model.DLIObjectProvenance; |
|
9 |
import eu.dnetlib.dli.resolver.model.DLIResolvedObject; |
|
10 |
import eu.dnetlib.pid.resolver.model.ObjectType; |
|
11 |
import eu.dnetlib.pid.resolver.AbstractPIDResolver; |
|
13 | 12 |
import org.apache.commons.logging.Log; |
14 | 13 |
import org.apache.commons.logging.LogFactory; |
15 | 14 |
|
15 |
import java.util.List; |
|
16 |
|
|
16 | 17 |
/** |
17 | 18 |
* @author sandro |
18 | 19 |
*/ |
... | ... | |
30 | 31 |
} |
31 | 32 |
|
32 | 33 |
@Override |
33 |
protected ResolvedObject resolve(final String pid, final String pidType) {
|
|
34 |
String requestUrl = null;
|
|
34 |
protected DLIResolvedObject resolve(final String pid, final String pidType) {
|
|
35 |
String requestUrl = null;
|
|
35 | 36 |
String type = null; |
36 | 37 |
if (pidType.toLowerCase().trim().equals("pubmedid")) { |
37 | 38 |
requestUrl = String.format(query, "ext_id:" + pid); |
... | ... | |
52 | 53 |
return null; |
53 | 54 |
} |
54 | 55 |
|
55 |
private ResolvedObject parsingResponse(final String response, final String type) {
|
|
56 |
if (response == null) return null;
|
|
56 |
private DLIResolvedObject parsingResponse(final String response, final String type) {
|
|
57 |
if (response == null) return null;
|
|
57 | 58 |
JsonElement jElement = new JsonParser().parse(response); |
58 | 59 |
JsonObject jobject = jElement.getAsJsonObject(); |
59 | 60 |
if (jobject.has("hitCount")) { |
... | ... | |
61 | 62 |
long total = jobject.get("hitCount").getAsLong(); |
62 | 63 |
|
63 | 64 |
if (total == 0) return null; |
64 |
ResolvedObject responseObj = new ResolvedObject();
|
|
65 |
DLIResolvedObject responseObj = new DLIResolvedObject();
|
|
65 | 66 |
|
66 | 67 |
JsonElement hits = ((JsonObject) jobject.get("resultList")).get("result"); |
67 | 68 |
|
... | ... | |
112 | 113 |
if (date.isJsonNull() == false) { |
113 | 114 |
responseObj.setDate(date.getAsString()); |
114 | 115 |
} |
115 |
ObjectProvenance provenance = new ObjectProvenance(PUBMED_NS_PREFIX, "resolved", "complete", null, null, true);
|
|
116 |
responseObj.fixContribution(provenance);
|
|
116 |
DLIObjectProvenance provenance = new DLIObjectProvenance(PUBMED_NS_PREFIX, "resolved", "complete", null, null, true);
|
|
117 |
responseObj.fixContribution(provenance);
|
|
117 | 118 |
responseObj.setDatasourceProvenance(Lists.newArrayList(provenance)); |
118 | 119 |
return responseObj; |
119 | 120 |
|
Also available in: Unified diff
Refactored Pid resolver