package org.jabref.logic.importer.fetcher; import java.net.MalformedURLException; import java.net.URISyntaxException; import java.net.URL; import org.jabref.logic.help.HelpFile; import org.jabref.logic.importer.FetcherException; import org.jabref.logic.importer.IdBasedParserFetcher; import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.fileformat.BibtexParser; import org.apache.http.client.utils.URIBuilder; /* * http://www.diva-portal.org/smash/aboutdiva.jsf?dswid=-3222 * DiVA portal contains research publications and student theses from 40 Swedish universities and research institutions. */ public class DiVA implements IdBasedParserFetcher { private final ImportFormatPreferences importFormatPreferences; public DiVA(ImportFormatPreferences importFormatPreferences) { this.importFormatPreferences = importFormatPreferences; } @Override public String getName() { return "DiVA"; } @Override public HelpFile getHelpPage() { return HelpFile.FETCHER_DIVA; } @Override public URL getURLForID(String identifier) throws URISyntaxException, MalformedURLException, FetcherException { URIBuilder uriBuilder = new URIBuilder("http://www.diva-portal.org/smash/getreferences"); uriBuilder.addParameter("referenceFormat", "BibTex"); uriBuilder.addParameter("pids", identifier); return uriBuilder.build().toURL(); } @Override public Parser getParser() { return new BibtexParser(importFormatPreferences); } public boolean isValidId(String identifier) { return identifier.startsWith("diva2:"); } }