Revision 49184
Added by Sandro La Bruzzo over 6 years ago
ANDSResolver.java | ||
---|---|---|
3 | 3 |
*/ |
4 | 4 |
package eu.dnetlib.dli.resolver; |
5 | 5 |
|
6 |
import java.util.List; |
|
7 |
import java.util.Scanner; |
|
8 |
|
|
9 | 6 |
import com.google.common.collect.Lists; |
10 | 7 |
import eu.dnetlib.dli.resolver.model.CompletionStatus; |
11 |
import eu.dnetlib.dli.resolver.model.ObjectProvenance; |
|
12 |
import eu.dnetlib.dli.resolver.model.ObjectType; |
|
13 |
import eu.dnetlib.dli.resolver.model.ResolvedObject; |
|
8 |
import eu.dnetlib.dli.resolver.model.DLIObjectProvenance; |
|
9 |
import eu.dnetlib.dli.resolver.model.DLIResolvedObject; |
|
10 |
|
|
11 |
import eu.dnetlib.pid.resolver.model.ObjectType; |
|
14 | 12 |
import org.apache.commons.logging.Log; |
15 | 13 |
import org.apache.commons.logging.LogFactory; |
16 | 14 |
|
15 |
import java.util.List; |
|
16 |
import java.util.Scanner; |
|
17 |
|
|
17 | 18 |
/** |
18 | 19 |
* @author sandro |
19 | 20 |
*/ |
20 |
public class ANDSResolver extends AbstractPIDResolver {
|
|
21 |
public class ANDSResolver extends DLIPIDResolver {
|
|
21 | 22 |
|
22 | 23 |
private static final String url = "http://researchdata.ands.org.au/registry/registry_object/exportToEndnote/%s.ris"; |
23 | 24 |
private static final Log log = LogFactory.getLog(ANDSResolver.class); |
... | ... | |
25 | 26 |
private static final String ANDS_NS_PREFIX = "r3d100010464"; |
26 | 27 |
private static final String ANDS_EXPECTED_TYPE = "url"; |
27 | 28 |
|
28 |
@Override |
|
29 |
|
|
30 |
@Override |
|
29 | 31 |
protected boolean canResolvePid(final String pidType) { |
30 | 32 |
if (log.isDebugEnabled()) { |
31 | 33 |
log.debug(String.format("Request resolve pidType :%s", pidType)); |
... | ... | |
34 | 36 |
} |
35 | 37 |
|
36 | 38 |
@Override |
37 |
protected ResolvedObject resolve(final String pid, final String pidType) {
|
|
38 |
if (!pid.contains("https://researchdata.ands.org.au/registry/registry_object/view/")) {
|
|
39 |
protected DLIResolvedObject resolve(final String pid, final String pidType) {
|
|
40 |
if (!pid.contains("https://researchdata.ands.org.au/registry/registry_object/view/")) {
|
|
39 | 41 |
if (log.isDebugEnabled()) { |
40 | 42 |
log.debug(String.format("the Pid:%s of type:%s cannot be resolved by ANDSDataciteResolver", pid, pidType)); |
41 | 43 |
} |
... | ... | |
48 | 50 |
final String myString = requestURL(String.format(url, identifier)); |
49 | 51 |
log.debug("Found object " + myString); |
50 | 52 |
Scanner scanner = new Scanner(myString); |
51 |
ResolvedObject object = new ResolvedObject();
|
|
52 |
object.setCompletionStatus(CompletionStatus.complete.toString());
|
|
53 |
DLIResolvedObject object = new DLIResolvedObject();
|
|
54 |
object.setCompletionStatus(CompletionStatus.complete.toString());
|
|
53 | 55 |
object.setPid(pid); |
54 | 56 |
object.setPidType(pidType); |
55 |
ObjectProvenance provenance = new ObjectProvenance();
|
|
57 |
DLIObjectProvenance provenance = new DLIObjectProvenance();
|
|
56 | 58 |
setDatasourceProvenance(provenance, ANDS_NS_PREFIX); |
57 | 59 |
object.setDatasourceProvenance(Lists.newArrayList(provenance)); |
58 | 60 |
object.fixContribution(provenance); |
Also available in: Unified diff
Refactored Pid resolver