private YElement buildVolumeElementFromSeries(ProceedingsSeriesMetadata proceedingsSeriesMetadata, YElement parent, CrossrefIdGenerator generator) { YElement bookVolumeElement = new YElement(); bookVolumeElement.addStructure(buildStructureFromParent(parent, HierarchyWithLevelIds.EXT_HIERARCHY_BOOK, HierarchyWithLevelIds.EXT_LEVEL_BOOK_VOLUME)); bookVolumeElement.addName(new YName(proceedingsSeriesMetadata.getVolume())); String id = generator.generateBookVolumeId(parent.getId(), proceedingsSeriesMetadata.getVolume()); bookVolumeElement.setId(id); return bookVolumeElement; }
private void updateVolume(ZentralBlattSoFieldParser.SoFieldData soData) { if (soData.volume != null && soData.volume.length() > 0) { YAncestor ancestor = new YAncestor(YConstants.EXT_LEVEL_JOURNAL_VOLUME); // TODO // UID? YName volumeName = new YName(soData.volume); yVolume.addName(volumeName); ancestor.setIdentity(yVolume.getId()); ancestor.addName(volumeName); yIssue.getStructure(YConstants.EXT_HIERARCHY_JOURNAL).addAncestor(ancestor); yArticle.getStructure(YConstants.EXT_HIERARCHY_JOURNAL).addAncestor(ancestor); } }
@Override public void store(EnrichedPayload<YElement>[] data, ProcessContext ctx) throws Exception { for(EnrichedPayload<YElement> enrichedP : data){ log.info("----------------------\n" + "Element Id:" + enrichedP.getObject().getId() + "\n" + "Element Name:" + enrichedP.getObject().getNames().get(0) + "\n" + "Element Structures:" + enrichedP.getObject().getStructures() + "\n"); } }
private static void updateYElementTagsWithZblTags(YElement ye, YElement zblye) { for (YTagList tl : zblye.getTagLists()) ye.addTagList(tl); }
/** * Modifies input {@code element} {@code YElement} if {@code enrichedYElement} {@code YElement} * is enriched. The {@code YTagList} with {@code TagTypes.TG_KEYWORD}. * The {@code maxKeywords} is used to estimate {@code YTagList} {@code YTagList#getValues()} amount. * @param element, will be updated with classification. * @param enrichedYElement, should has classification. * @return {@code true} if meta data was modify * {@code false} otherwise. */ protected boolean modifyIfNeeded(YElement element, final YElement enrichedYElement) { if ( ! enrichedYElement.getTagLists(TG_SONCA_KEYWORDS).isEmpty()) { prepareKeywords(enrichedYElement, TG_SONCA_KEYWORDS, element, TagTypes.TG_KEYWORD); element.addAttribute(AT_CLASSIFICATION_OECD_BY, "Sonca"); return true; } return false; }
private YElement buildBookFromBookMetadata(BookMetadata bookMetadata, YElement parent, CrossrefIdGenerator generator) { YElement bookElement = new YElement(); bookElement.addStructure(buildStructureFromParent(parent, HierarchyWithLevelIds.EXT_HIERARCHY_BOOK, HierarchyWithLevelIds.EXT_LEVEL_BOOK_BOOK)); bookElement.getNames().addAll(convertTitles(bookMetadata.getTitles())); bookElement.getContributors().addAll(convert(bookMetadata.getContributors(), bookElement)); bookElement.getDates().addAll(convertDates(bookMetadata.getPublicationDates())); bookElement.getRelations().addAll(convertCitationList(bookMetadata.getCitationList())); bookElement.getIds().addAll(convertIsbns(bookMetadata.getIsbns())); if (bookMetadata.getDoiData() != null) { bookElement.getIds().add(new YId(IdSchemaIds.EXT_SCHEME_DOI, bookMetadata.getDoiData().getDoi())); } String id = generator.generateBookId(bookElement.getFirstIdOrNullIfAny(IdSchemaIds.EXT_SCHEME_DOI), bookElement.getFirstIdOrNullIfAny(IdSchemaIds.EXT_SCHEME_ISBN), bookElement.getFirstIdOrNullIfAny(IdSchemaIds.EXT_SCHEME_EISBN), getDefaultName(bookElement)); bookElement.setId(id); return bookElement; }
private YElement prepareYElement(String id, Properties prop) { YElement yElement = new YElement(); yElement.setId(id); if (!prop.getProperty("title").isEmpty()) { yElement.addName(new YName(prepareProperty("title", prop))); } yElement.addDescription(new YDescription(YLanguage.Undetermined, prepareProperty("description", prop), DescriptionTypes.DS_SUMMARY)); if (!prop.getProperty("key-words").isEmpty()) { List<String> tags = new ArrayList<String>(Arrays.asList(prepareProperty("key-words", prop).split(","))); yElement.addTagList(new YTagList().setType(TagTypes.TG_KEYWORD).setValues(tags)); } if (!prop.getProperty("supplier").isEmpty()) { yElement.addAttribute("copyright-holder", prepareProperty("supplier", prop)); } if (!prop.getProperty("duration").isEmpty()) { yElement.addAttribute("duration", prepareProperty("duration", prop)); } yElement.addLanguage(YLanguage.Undetermined); return yElement; }
@Override public YElement process(Book book, YElement parent, CrossrefIdGenerator generator) { BookSetMetadata bookSetMetadata = book.getBookSetMetadata(); YElement element = new YElement(); SetMetadata setMetadata = bookSetMetadata.getSetMetadata(); List<YName> setNames = convertTitles(setMetadata.getTitles()); element.getIds().addAll(convertIsbns(setMetadata.getIsbns())); element.getNames().addAll(setNames); String id = generator.generateBookSetId(element.getFirstIdOrNullIfAny(IdSchemaIds.EXT_SCHEME_ISBN), getDefaultName(element)); element.setId(id); element.addStructure(buildStructureFromParent(parent, HierarchyWithLevelIds.EXT_HIERARCHY_BOOK, HierarchyWithLevelIds.EXT_LEVEL_BOOK_SERIES)); if (StringUtils.isNotBlank(bookSetMetadata.getLanguage())) { element.addLanguage(YLanguage.byCode(bookSetMetadata.getLanguage())); } return element; }
public static YContributor getContributor(YElement element, final String requestPersonId) { for(YContributor contributor:element.getContributors()){ String personId = BwmetaContributorUtils.buildContributorId(element.getId(), contributor); if(personId.equals(requestPersonId)){ return contributor; } } throw new NotFoundException(requestPersonId); }
private YElement buildBookSeriesElement(SeriesMetadata seriesMetadata, YElement conferenceEventElement, CrossrefIdGenerator generator) { YElement element = new YElement(); extractSeriesMetadata(null, generator, element, seriesMetadata); YRelation proceedingsRelation = new YRelation(RelationTypes.RL_PROCEEDINGS_OF, new YId(StringUtils.EMPTY, conferenceEventElement.getId())); element.getRelations().add(proceedingsRelation); return element; }
articleIdPublisher=JDOMHelper.getChild(ameta, "article-id"); idValue = getIdGenerator().getArticleId(null, articleIdDoi==null?null:articleIdDoi.getValue(), articleIdPublisher==null?null:articleIdPublisher.getValue(), articleId==null?null:articleId.getValue(), parent==null?null:parent.getId()); } catch (NullPointerException ex) { log.error("Missing eudml-id for article: " + atitle.getValue()); article.addDescription(y.description(JDOMHelper.getYLang(aabstract), JDOMHelper.textOfElement(aabstract), DS_ABSTRACT)); article.addLanguage(JDOMHelper.getYLang(ameta)); article.addName(y.name(JDOMHelper.getYLang(tr), JDOMHelper.textOfElement(JDOMHelper.getChild(tr, "trans-title")),NameTypes.NM_CANONICAL)); article.addDescription(y.description(JDOMHelper.getYLang(tr), JDOMHelper.textOfElement(tr), "trans-abstract"));
@Override public boolean isContentAvailable(YElement yElement) { String mainLevel = fetchCurrentStructureLevel(yElement); if (yElement.getContents() != null && !yElement.getContents().isEmpty()) { return checkContentAvailable(yElement.getContents(), mainLevel); } return false; }
private YAncestor getAncestor(YElement element, String hierarchy, String level) { YStructure structure = element.getStructure(hierarchy); if(structure == null){ return null; } YAncestor ancestor = structure.getAncestor(level); return ancestor; }
@Deprecated private String getPosition(YElement element) { String position = null; for(YStructure structure : element.getStructures()) { YCurrent current = structure.getCurrent(); position = current.getPosition(); if(position != null) { break; } } return position; }
public void exposeContentDetails(YElement yElement, Model model) { model.addAttribute(HAS_CONTENT_RENDERABLE_PARTS, resourceDisplayUtils.hasRenderableParts(yElement)); if (yElement.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_BOOK) != null && yElement.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_BOOK).getCurrent() != null) { model.addAttribute( HAS_CONTENT_CHAPTERS_PARTS, relatedDisplayUtils.verifyIfIsSomeoneAncestor(yElement.getId(), yElement.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_BOOK) .getCurrent().getLevel())); } else { model.addAttribute(HAS_CONTENT_CHAPTERS_PARTS, false); } }
private void prepareYElementFromApi(Video video, YElement yElement) throws ParseException { yElement.addName(new YName(video.getSnippet().getTitle())); yElement.addDescription(new YDescription(YLanguage.Undetermined, video.getSnippet().getDescription() , DescriptionTypes.DS_SUMMARY)); prepareDate(video, yElement); String license = video.getStatus().getLicense(); if(null != license && license.contains("creativeCommon")) { yElement.addTagList(new YTagList().setType(YModelUtils.LICENSE).addValue("cc0")); } prepareContent(video, yElement); List<String> tags = video.getSnippet().getTags(); if (CollectionUtils.isNotEmpty(tags)) { yElement.addTagList(new YTagList().setType(TagTypes.TG_KEYWORD).setValues(tags)); } YCurrent currentLevel = new YCurrent().setLevel(VideoConstants.VIDEO_CURRENT_LEVEL); yElement.addStructure(new YStructure() .setHierarchy(HierarchyWithLevelIds.EXT_HIERARCHY_PUBLICATION) .setCurrent(currentLevel)); prepareAttributes(video, yElement); }
protected IViewBuilder<CatalogInformationEnhancedObject<YExportable>> resolveElement(YElement e, Map<String, Object> parameters) { for (YStructure level : e.getStructures()) { final String levelId = level.getCurrent().getLevel(); if (elementViewBuilders.containsKey(levelId)) { return elementViewBuilders.get(levelId); } } throw new SystemException(Modules.DETAILS, "View for BWMETA1 element " + e.getId() + " not found"); }
protected void fillIdentifiers(YElement yElement, List<YExportable> referedElements, Map<String, List<StringWithAttributes>> ret) { // identifier element ret.put(E_IDENTIFIER, new ArrayList<StringWithAttributes>()); ret.get(E_IDENTIFIER).add(new StringWithAttributes(yElement.getId())); for (YId yId : yElement.getIds()) { StringWithAttributes id = new StringWithAttributes(yId.getValue()); id.getAttributes().put("scheme", yId.getScheme()); ret.get(E_IDENTIFIER).add(id); } }