Revision 49184
Added by Sandro La Bruzzo over 6 years ago
CrossrefResolver.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import java.net.URLEncoder; |
4 | 4 |
|
5 |
import eu.dnetlib.dli.resolver.model.ResolvedObject; |
|
5 |
import eu.dnetlib.dli.resolver.model.DLIResolvedObject; |
|
6 |
import eu.dnetlib.pid.resolver.AbstractPIDResolver; |
|
6 | 7 |
import groovy.transform.Synchronized; |
7 | 8 |
import org.apache.commons.logging.Log; |
8 | 9 |
import org.apache.commons.logging.LogFactory; |
... | ... | |
38 | 39 |
|
39 | 40 |
@Override |
40 | 41 |
@Synchronized |
41 |
protected ResolvedObject resolve(final String pid, final String pidType) {
|
|
42 |
String response;
|
|
42 |
protected DLIResolvedObject resolve(final String pid, final String pidType) {
|
|
43 |
String response;
|
|
43 | 44 |
try { |
44 | 45 |
response = requestURL(baseUrlCrossref + URLEncoder.encode(pid, "UTF-8")); |
45 | 46 |
} catch (Exception e) { |
... | ... | |
51 | 52 |
log.debug("Obtained " + response); |
52 | 53 |
if (response == null) return null; |
53 | 54 |
if (response.contains("Resource not found")) return null; |
54 |
ResolvedObject record = parser.parseRecord(response);
|
|
55 |
if (record.getPid() == null) return null;
|
|
55 |
DLIResolvedObject record = parser.parseRecord(response);
|
|
56 |
if (record.getPid() == null) return null;
|
|
56 | 57 |
return record; |
57 | 58 |
} catch (Throwable e) { |
58 | 59 |
log.error("Error on resolve pid " + pid, e); |
Also available in: Unified diff
Refactored Pid resolver