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.logging.Log;
6
import org.apache.commons.logging.LogFactory;
7
import org.springframework.beans.factory.annotation.Autowired;
8

    
9
/**
10
 * The Class RCBSResolver.
11
 *
12
 * @author sandro
13
 */
14
public class RCSBResolver extends AbstractPIDResolver {
15

    
16
	/**
17
	 * The Constant log.
18
	 */
19
	private static final Log log = LogFactory.getLog(RCSBResolver.class); // NOPMD by marko on 11/24/08 5:02 PM
20

    
21
	/**
22
	 * The template url.
23
	 */
24
	private static String TEMPLATE_URL =
25
			"http://www.rcsb.org/pdb/rest/customReport?pdbids=%s&customReportColumns=structureTitle,structureAuthor,releaseDate&service=wsfile";
26

    
27
	/**
28
	 * The rcbs parser.
29
	 */
30
	@Autowired
31
	private RCSBParser rcsbParser;
32

    
33
	@Override
34
	protected boolean canResolvePid(final String pidType) {
35
		return pidType != null && pidType.toLowerCase().trim().equals("pdb");
36
	}
37

    
38
	@Override
39
    protected DLIResolvedObject resolve(final String pid, final String pidType) {
40
        String URL = String.format(TEMPLATE_URL, pid);
41
		return rcsbParser.parseRecord(requestURL(URL));
42
	}
43

    
44
}
(15-15/15)