Search in sources :

Example 1 with PubmedBookData

use of org.jabref.logic.importer.fileformat.medline.PubmedBookData in project jabref by JabRef.

the class MedlineImporter method parseBookArticle.

private void parseBookArticle(PubmedBookArticle currentArticle, List<BibEntry> bibItems) {
    Map<String, String> fields = new HashMap<>();
    if (currentArticle.getBookDocument() != null) {
        BookDocument bookDocument = currentArticle.getBookDocument();
        fields.put(FieldName.PMID, bookDocument.getPMID().getContent());
        if (bookDocument.getDateRevised() != null) {
            DateRevised dateRevised = bookDocument.getDateRevised();
            addDateRevised(fields, dateRevised);
        }
        if (bookDocument.getAbstract() != null) {
            Abstract abs = bookDocument.getAbstract();
            addAbstract(fields, abs);
        }
        if (bookDocument.getPagination() != null) {
            Pagination pagination = bookDocument.getPagination();
            addPagination(fields, pagination);
        }
        if (bookDocument.getSections() != null) {
            ArrayList<String> result = new ArrayList<>();
            Sections sections = bookDocument.getSections();
            for (Section section : sections.getSection()) {
                for (Serializable content : section.getSectionTitle().getContent()) {
                    if (content instanceof String) {
                        result.add((String) content);
                    }
                }
            }
            fields.put("sections", join(result, "; "));
        }
        if (bookDocument.getKeywordList() != null) {
            addKeyWords(fields, bookDocument.getKeywordList());
        }
        if (bookDocument.getContributionDate() != null) {
            addContributionDate(fields, bookDocument.getContributionDate());
        }
        if (bookDocument.getPublicationType() != null) {
            List<String> result = new ArrayList<>();
            for (PublicationType type : bookDocument.getPublicationType()) {
                if (type.getContent() != null) {
                    result.add(type.getContent());
                }
            }
            fields.put("pubtype", join(result, ", "));
        }
        if (bookDocument.getArticleTitle() != null) {
            ArticleTitle articleTitle = bookDocument.getArticleTitle();
            ArrayList<String> titles = new ArrayList<>();
            for (Serializable content : articleTitle.getContent()) {
                if (content instanceof String) {
                    titles.add((String) content);
                }
            }
            fields.put("article", join(titles, ", "));
        }
        if (bookDocument.getBook() != null) {
            addBookInformation(fields, bookDocument.getBook());
        }
    }
    if (currentArticle.getPubmedBookData() != null) {
        PubmedBookData bookData = currentArticle.getPubmedBookData();
        putIfValueNotNull(fields, "pubstatus", bookData.getPublicationStatus());
    }
    BibEntry entry = new BibEntry("article");
    entry.setField(fields);
    bibItems.add(entry);
}
Also used : BibEntry(org.jabref.model.entry.BibEntry) Serializable(java.io.Serializable) HashMap(java.util.HashMap) Abstract(org.jabref.logic.importer.fileformat.medline.Abstract) PublicationType(org.jabref.logic.importer.fileformat.medline.PublicationType) ArrayList(java.util.ArrayList) ArticleTitle(org.jabref.logic.importer.fileformat.medline.ArticleTitle) DateRevised(org.jabref.logic.importer.fileformat.medline.DateRevised) Section(org.jabref.logic.importer.fileformat.medline.Section) Pagination(org.jabref.logic.importer.fileformat.medline.Pagination) Sections(org.jabref.logic.importer.fileformat.medline.Sections) PubmedBookData(org.jabref.logic.importer.fileformat.medline.PubmedBookData) BookDocument(org.jabref.logic.importer.fileformat.medline.BookDocument)

Aggregations

Serializable (java.io.Serializable)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Abstract (org.jabref.logic.importer.fileformat.medline.Abstract)1 ArticleTitle (org.jabref.logic.importer.fileformat.medline.ArticleTitle)1 BookDocument (org.jabref.logic.importer.fileformat.medline.BookDocument)1 DateRevised (org.jabref.logic.importer.fileformat.medline.DateRevised)1 Pagination (org.jabref.logic.importer.fileformat.medline.Pagination)1 PublicationType (org.jabref.logic.importer.fileformat.medline.PublicationType)1 PubmedBookData (org.jabref.logic.importer.fileformat.medline.PubmedBookData)1 Section (org.jabref.logic.importer.fileformat.medline.Section)1 Sections (org.jabref.logic.importer.fileformat.medline.Sections)1 BibEntry (org.jabref.model.entry.BibEntry)1