public List<ReferenceInfo> getReferencesInfo(AbstractElementInfo<?> abstractElementInfo){ List<ReferenceInfo> referenceInfos = new ArrayList<ReferenceInfo>(); Collection<YRelation> referencesTo = abstractElementInfo.getRelations(YConstants.RL_REFERENCE_TO); for(YRelation relation: referencesTo){ String id = getRelationId(relation); YAttribute referanceText = relation.getOneAttribute(YConstants.AT_REFERENCE_TEXT); String text = getXMLFragmentFrom(referanceText); ReferenceInfo info = new ReferenceInfo(id, text); referenceInfos.add(info); } return referenceInfos; }
@Override protected Object buildElementViewPart(YExportable exp, String[] elementTags, Map<String, Object> additionalParameters, IFilteringContext filteringContext) { YElement element = (YElement) exp; List<ViewReference> partModel = new LinkedList<ViewReference>(); for (YRelation ref : element.getRelations(YConstants.RL_REFERENCE_TO)) { String id; if (ref.getTarget() != null) { id = detailsFilter.filter(ref.getTarget().getValue(), InputType.IDENTIFIER, filteringContext); } else { id = null; } YAttribute attribute = ref.getOneAttribute(YConstants.AT_REFERENCE_TEXT); String cite = getXMLFragmentFrom(attribute); partModel.add(new ViewReference(null, cite != null ? detailsFilter.filter(cite, InputType.RICH_TEXT, filteringContext) : null, id)); } return partModel; }
private List<DocReference> referencesFromYElement(final YElement element) { final List<DocReference> references = new ArrayList<DocReference>(); for (final YRelation ref : element.getRelations(YConstants.RL_REFERENCE_TO)) { final DocReference reference = new DocReference(); final List<DocId> matches = new ArrayList<DocId>(); final YId target = ref.getTarget(); if (target != null && YConstants.EXT_SCHEME_YADDA.equals(target.getScheme())) { final String extId = target.getValue(); matches.add(new DocId(MetadataIndexConstants.D_EXTID, extId)); } reference.setMatches(matches); final YAttribute refText = ref.getOneAttribute(YConstants.AT_REFERENCE_TEXT); if (refText != null) { final String text = refText.getValue(); reference.setText(text); final DocReference parsed = referenceParser.parse(text); if (parsed != null && parsed.getParsed() != null) { reference.setParsed(parsed.getParsed()); } } references.add(reference); // TODO What to do with URL references } return references; }
for (Element primitiveName : primitiveNames) addNonEmpty(parts, primitiveName.getTextTrim()); YAttribute title = relation.getOneAttribute(ReferenceAttributeTypes.AT_REFERENCE_PARSED_TITLE); if (title != null) { parts.addAll(title.getRichValue().toParts());