protected YRichText convertText(List<Serializable> content) { List<Part> parts = convertToParts(content); YRichText text = new YRichText(parts); return text; }
/** * Returns the content of an element as {@link YRichText}. If the element is null, returns empty text. * * @param e the element to get the text value from, may be null * @return text extracted from the element content */ private YRichText textOfElement(org.jdom.Element e) { if (e == null) { return new YRichText(); } return YRTHelper.buildYrichText(e); }
@Override public pl.edu.icm.model.bwmeta.y.YRichText convert(Object dbo) { YRichText result; if (isSimpleText(dbo)) { result = new YRichText((String) dbo); } else{ DBObject record = (DBObject) dbo; result = new YRichText(); if(record.containsField(YRichTextDbFields.F_TAG) || record.containsField(YRichTextDbFields.F_NAMESPACE)){ result = new YRichText(Arrays.asList(convertPart(record))); } else { List<?> parts = (List<?>) record.get(YRichTextDbFields.F_CONTENT); result = new YRichText(convertParts(parts)); } } return result; }
private static YAttribute extractOneReferenceTextAttributeScNode(YAttribute ya) { if(! ll.contains(ya.getKey())) return ya; for(Part p:ya.getRichValue().toParts()){ if(p instanceof Node){ if("sc".equals(((Node)p).getTag())) return new YAttribute(ya.getKey(),new YRichText(((Node)p).getParts().get(0).toString())); }else if(p instanceof Leaf) return new YAttribute(ya.getKey(),new YRichText(((Leaf)p).toPlainText())); } return ya; }
private static YAttribute extractOneReferenceTextAttributeScNode(YAttribute ya) { if(! ll.contains(ya.getKey())) return ya; for(Part p:ya.getRichValue().toParts()){ if(p instanceof Node){ if("sc".equals(((Node)p).getTag())) return new YAttribute(ya.getKey(),new YRichText(((Node)p).getParts().get(0).toString())); }else if(p instanceof Leaf) // if(p.toPlainText()!=null && !p.toPlainText().matches("[\\s]+")) return new YAttribute(ya.getKey(),new YRichText(((Leaf)p).toPlainText())); } return ya; } }
static YRichText buildYRichTextFromElementContent(Element element){ NodeList nl=element.getChildNodes(); List<YRichText.Part> parts=new ArrayList<>(); StringBuilder lastString=new StringBuilder(); for (int i=0; i<nl.getLength();i++){ Node n=nl.item(i); if (n instanceof CharacterData) { lastString.append(n.getTextContent()); } else if (n instanceof Element) { Element e=(Element) n; if (acceptedHtmlTags.contains(e.getTagName())) { if (lastString.length()>0) { parts.add(new YRichText.Leaf(lastString.toString())); } List<YRichText.Part> li=Collections.singletonList((YRichText.Part)new YRichText.Leaf(e.getTextContent())); YRichText.Node newNode=new YRichText.Node("http://www.w3.org/TR/html4/", e.getTagName(), li); parts.add(newNode); lastString=new StringBuilder(); } else { lastString.append(n.getTextContent()); } } } if (lastString.length()>0) { parts.add(new YRichText.Leaf(lastString.toString())); } return new YRichText(parts); } }
/** * Creates a name with type "canonical" given its language and text. * If the text is empty or null uses the value of <code>canonicalNameDefault</code> * property. * * @param lang language of the name * @param text text of the name, may be null * @return created name */ public YName canonicalName(YLanguage lang, YRichText text) { if (empty(text)) { text = new YRichText(canonicalNameDefault); } return new YName(lang, text, NM_CANONICAL); }
/** * Reads title from field [ti] and writes to yElement. * * @param src * @param yelement */ private void updateArticleTitle(ZentralBlattRecord src, YElement yelement) { if (!src.hasField("ti")) { return; } List<YName> names = new LinkedList<YName>(); YRichText richTxtTitle = new YRichText(src.getField("ti").trim()); names.add(new YName(richTxtTitle)); yelement.setNames(names); }
@SuppressWarnings({ "rawtypes", "unchecked" }) private static YElement correctContentByPhantomRemoval(YElement yelement) { LinkedList<YContentEntry> ycel = new LinkedList<YContentEntry>(); for(YContentEntry yce : yelement.getContents()){ LinkedList<YName> ynl = new LinkedList<YName>(); for(YName yn : (List<YName>)(yce.getNames())){ List<Part> lp = putNameNodesIntoLeafs(yn.getRichText().toParts()); if(lp.size()>0){ yn.setText(new YRichText(lp)); ynl.add(yn); } } if(ynl.size()>0){ yce.setNames(ynl); ycel.add(yce); } } yelement.setContents(ycel); return yelement; }
@SuppressWarnings({ "rawtypes", "unchecked" }) private static YElement correctContentByPhantomRemoval(YElement yelement) { LinkedList<YContentEntry> ycel = new LinkedList<YContentEntry>(); int i =0; for(YContentEntry yce : yelement.getContents()){ i++; // if(i==6){ // System.out.println(); // } LinkedList<YName> ynl = new LinkedList<YName>(); for(YName yn : (List<YName>)(yce.getNames())){ List<Part> lp = putNameNodesIntoLeafs(yn.getRichText().toParts()); if(lp.size()>0){ yn.setText(new YRichText(lp)); ynl.add(yn); } } if(ynl.size()>0){ yce.setNames(ynl); ycel.add(yce); } } yelement.setContents(ycel); return yelement; }
private void processElementCitation(YRelation relation, org.jdom.Element element) { processCommonCitation(relation, element); if ("article".equals(element.getAttributeValue("publication-type"))) { relation.addAttribute(AT_REFERENCE_PARSED_TYPE, RF_ARTICLE); storeElementTextInAttribute(element, "source", relation, AT_REFERENCE_PARSED_JOURNAL); storeElementTextInAttribute(element, "article-title", relation, AT_REFERENCE_PARSED_TITLE); } else { // if ("book".equals(element.getAttributeValue("publication-type"))) { relation.addAttribute(AT_REFERENCE_PARSED_TYPE, RF_BOOK); storeElementTextInAttribute(element, "source", relation, AT_REFERENCE_PARSED_TITLE); } YRichText text = new YRichText(formatElementCitation(element)); relation.addAttribute(AT_REFERENCE_TEXT, text); }
private static YElement putNameNodesIntoLeafs(YElement yelement) { for(YName yn : yelement.getNames()){ YRichText yrt = new YRichText(putNameNodesIntoLeafs(yn.getRichText().toParts())); yn.setText(yrt); } return yelement; }
private static YElement putNameLeafsIntoNodes(YElement yelement) { for(YName yn : yelement.getNames()){ YRichText yrt = new YRichText(putLeafsIntoNodes(yn.getRichText().toParts())); yn.setText(yrt); } return yelement; }
private static YElement putNameNodesIntoLeafs(YElement yelement) { for(YName yn : yelement.getNames()){ YRichText yrt = new YRichText(putNameNodesIntoLeafs(yn.getRichText().toParts())); yn.setText(yrt); } return yelement; }
private static YElement putNameLeafsIntoNodes(YElement yelement) { for(YName yn : yelement.getNames()){ YRichText yrt = new YRichText(putLeafsIntoNodes(yn.getRichText().toParts())); yn.setText(yrt); } return yelement; }
protected YDescription convert(Abstract abs) { YDescription description = new YDescription(); if (StringUtils.isNotBlank(abs.getLang())) { description.setLanguage(YLanguage.byCode(abs.getLang())); } final List<Part> parts; if (!abs.getPS().isEmpty()) { parts = convertToParts(abs.getPS()); } else if (!abs.getSecs().isEmpty()) { parts = convertToParts(abs.getSecs()); } else { return null; } YRichText richText = new YRichText(parts); description.setText(richText); return description; }
private static YElement putRelationReferenceToLeafsIntoNodes(YElement yelement) { for(YRelation yr : yelement.getRelations()){ for(YAttribute ya : yr.getAttributes()){ if(! ll.contains(ya.getKey()))continue; removeGivenTag("sc", ya.getRichValue().toParts()); ya.setValue(new YRichText(extractLeafs(removeNodeWithGivenTag("ext-link", ya.getRichValue().toParts())))); } } return yelement; }
private static YElement putRelationReferenceToLeafsIntoNodes(YElement yelement) { for(YRelation yr : yelement.getRelations()){ // LinkedList<YAttribute> lya = new LinkedList<YAttribute>(); for(YAttribute ya : yr.getAttributes()){ if(! ll.contains(ya.getKey()))continue; removeGivenTag("sc", ya.getRichValue().toParts()); ya.setValue(new YRichText(extractLeafs(removeNodeWithGivenTag("ext-link", ya.getRichValue().toParts())))); // lya.add(ya); } // if(lya.size()>0)yr.setAttributes(lya); } return yelement; }
text = new YRichText(parts); relation.addAttribute(ReferenceAttributeTypes.AT_REFERENCE_TEXT, text);
private boolean addMetadataIfNeeded(HarvestingResult harvestingResult, YElement element) { boolean metadataModified = false; if (shouldAbstractBeAdded(harvestingResult, element)) { Node htmlNode = new Node(BaseYModelUtils.XHTML_NAMESPACE, BaseYModelUtils.HTML_TAG); htmlNode.addPart(new Leaf(StringUtils.trim(harvestingResult.getDesciption()))); YRichText richText = new YRichText(Arrays.asList(htmlNode)); YDescription newAbstract = new YDescription(YLanguage.Undetermined, richText, DescriptionTypes.DS_ABSTRACT); element.addDescription(newAbstract); metadataModified = true; } if (shouldImpactFactorBeAdded(harvestingResult, element)) { element.addAttribute(new YAttribute(YModelUtils.IMPACT_FACTOR, harvestingResult.getImpactFactor().toEngineeringString())); metadataModified = true; } if (shouldFrequencyBeAdded(harvestingResult, element)) { element.addAttribute(new YAttribute(YModelUtils.FREQUENCY, harvestingResult.getFrequency())); metadataModified = true; } List<YCategoryRef> refs = element.getCategoryRefs(); if (shouldCategoryRefsBeAdded(harvestingResult, refs)) { refs.addAll(harvestingResult.getCategories()); metadataModified = true; } if (shouldTitlesBeAdded(harvestingResult, element)) { metadataModified |= addTitleHistory(harvestingResult.getOtherTitles(), element); } return metadataModified; }