Project

General

Profile

1
package eu.dnetlib.dli.resolver;
2

    
3
import eu.dnetlib.dli.resolver.model.DLIResolvedObject;
4
import eu.dnetlib.pid.resolver.AbstractPIDResolver;
5
import org.apache.commons.io.IOUtils;
6
import org.apache.commons.logging.Log;
7
import org.apache.commons.logging.LogFactory;
8

    
9
import java.net.URL;
10

    
11
/**
12
 * Created by sandro on 3/6/17.
13
 */
14
public class ENAResolver extends AbstractPIDResolver {
15

    
16
    final static String link = "http://www.ebi.ac.uk/ena/data/view/%s&display=xml&download=xml&filename=%s.xml";
17
    private static final Log log = LogFactory.getLog(ENAResolver.class);
18

    
19
    @Override
20
    protected boolean canResolvePid(String pidType) {
21
        return pidType != null && pidType.toLowerCase().trim().equals("ena");
22
    }
23

    
24
    @Override
25
    protected DLIResolvedObject resolve(String pid, String pidType) {
26
        if (canResolvePid(pidType)) {
27
            try {
28
//                System.out.println("url = " + String.format(link, pid, pid));
29
//                URL r = new URL(String.format(link, pid, pid));
30
                final String xmlInput =  requestURL(String.format(link, pid, pid));
31
                return new ENAParser().parser(xmlInput, pid, pidType);
32

    
33
            } catch (Throwable e) {
34
                log.debug(String.format("Error on resolving pid: %s pidType: %s ", pid, pidType), e);
35
                return null;
36
            }
37
        }
38

    
39
        return null;
40
    }
41
}
(9-9/16)