Search in sources :

Example 1 with Abstract

use of org.jabref.logic.importer.fileformat.medline.Abstract 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)

Example 2 with Abstract

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

the class MedlineImporter method addArticleInformation.

private void addArticleInformation(Map<String, String> fields, List<Object> content) {
    for (Object object : content) {
        if (object instanceof Journal) {
            Journal journal = (Journal) object;
            putIfValueNotNull(fields, FieldName.JOURNAL, journal.getTitle());
            ISSN issn = journal.getISSN();
            if (issn != null) {
                putIfValueNotNull(fields, FieldName.ISSN, issn.getContent());
            }
            JournalIssue journalIssue = journal.getJournalIssue();
            putIfValueNotNull(fields, FieldName.VOLUME, journalIssue.getVolume());
            putIfValueNotNull(fields, FieldName.ISSUE, journalIssue.getIssue());
            addPubDate(fields, journalIssue.getPubDate());
        } else if (object instanceof ArticleTitle) {
            ArticleTitle articleTitle = (ArticleTitle) object;
            fields.put(FieldName.TITLE, StringUtil.stripBrackets(articleTitle.getContent().toString()));
        } else if (object instanceof Pagination) {
            Pagination pagination = (Pagination) object;
            addPagination(fields, pagination);
        } else if (object instanceof ELocationID) {
            ELocationID eLocationID = (ELocationID) object;
            addElocationID(fields, eLocationID);
        } else if (object instanceof Abstract) {
            Abstract abs = (Abstract) object;
            addAbstract(fields, abs);
        } else if (object instanceof AuthorList) {
            AuthorList authors = (AuthorList) object;
            handleAuthors(fields, authors);
        }
    }
}
Also used : Pagination(org.jabref.logic.importer.fileformat.medline.Pagination) JournalIssue(org.jabref.logic.importer.fileformat.medline.JournalIssue) Abstract(org.jabref.logic.importer.fileformat.medline.Abstract) ISSN(org.jabref.logic.importer.fileformat.medline.ISSN) AuthorList(org.jabref.logic.importer.fileformat.medline.AuthorList) ArticleTitle(org.jabref.logic.importer.fileformat.medline.ArticleTitle) ELocationID(org.jabref.logic.importer.fileformat.medline.ELocationID) Journal(org.jabref.logic.importer.fileformat.medline.Journal)

Aggregations

Abstract (org.jabref.logic.importer.fileformat.medline.Abstract)2 ArticleTitle (org.jabref.logic.importer.fileformat.medline.ArticleTitle)2 Pagination (org.jabref.logic.importer.fileformat.medline.Pagination)2 Serializable (java.io.Serializable)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 AuthorList (org.jabref.logic.importer.fileformat.medline.AuthorList)1 BookDocument (org.jabref.logic.importer.fileformat.medline.BookDocument)1 DateRevised (org.jabref.logic.importer.fileformat.medline.DateRevised)1 ELocationID (org.jabref.logic.importer.fileformat.medline.ELocationID)1 ISSN (org.jabref.logic.importer.fileformat.medline.ISSN)1 Journal (org.jabref.logic.importer.fileformat.medline.Journal)1 JournalIssue (org.jabref.logic.importer.fileformat.medline.JournalIssue)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