private static void printSkeleton(StringBuilder sb, String ind, IResource res) { if (res.getSkeleton() != null) { sb.append("skeleton:\""); appendEscapingNonAscii(sb, res.getSkeleton().toString()).append("\",\n").append(ind); } }
private void storeReferent (IResource res) { ISkeleton skel = res.getSkeleton(); if ( skel == null ) return; if ( res instanceof ITextUnit ) { referents.put(res.getId(), TU_PREFIX+skel.toString()); } else { referents.put(res.getId(), skel.toString()); } }
/** * Appends text to the first data part of the skeleton. * * @param text * the text to happend. * * @throws OkapiIllegalFilterOperationException if we try to perform an invalid operation. */ public void appendToFirstSkeletonPart(String text) { Event tempTextUnit = peekTempEvent(); GenericSkeleton skel = (GenericSkeleton) tempTextUnit.getResource().getSkeleton(); if (skel==null) { skel = new GenericSkeleton(); tempTextUnit.getResource().setSkeleton(skel); } skel.appendToFirstPart(text); }
private MultiEvent assignIDs(MultiEvent me, IResource resource) { int counter = 0; for (Event event : me) { if (event.isNoop()) continue; IResource res = event.getResource(); String resId = resource.getId(); if (res instanceof DocumentPart && !(resource instanceof DocumentPart)) { String id = ""; if (counter++ == 0) id = resId; else id = String.format("%s_%d", resId, counter++); res.setId("" + String.format("dp_%s", id)); } else { res.setId(resId); if (res instanceof BaseNameable && resource instanceof BaseNameable) { ResourceUtil.copyProperties((BaseNameable) resource, (BaseNameable) res); } } } return me; }
/** * Adds to this skeleton a reference to an existing resource send before the one to * which this skeleton is attached to. * @param referent the resource to refer to. */ public void addReference (IReferenceable referent) { GenericSkeletonPart part = new GenericSkeletonPart( TextFragment.makeRefMarker(((IResource)referent).getId())); part.locId = null; part.parent = null; // This is a reference to a real referent list.add(part); // Flag that the next append() should start a new part createNew = true; }
/** * Creates a new event with an associated resource and a skeleton object. * * @param filterEventType * the type of event to create. * @param resource * the resource to associate to the event. * @param skeleton * the skeleton to associate to the event. */ public Event(EventType filterEventType, IResource resource, ISkeleton skeleton) { this.filterEventType = filterEventType; this.resource = resource; this.resource.setSkeleton(skeleton); }
resource.setSkeleton(skel); return resource;
public Event createRefEvent (IResource resource) { ISkeleton skel = resource.getSkeleton(); if (skel instanceof GenericSkeleton) { GenericSkeleton[] parts = SkeletonUtil.splitSkeleton((GenericSkeleton) skel); return createRefEvent(parts[0], parts[1]); } else { if (skel != null) logger.warn("Unknown skeleton type, ignored."); return createRefEvent(); } }
|| oneIsNulll(r1.getId(),r2.getId(),"compareIResource","IResource Id")){ return false; if( !bothAreNull(r1.getId(),r2.getId()) ){ if (!r1.getId().equals(r2.getId())) { LOGGER.warn("compareIResource warning: IResource Id difference."); return false; if( bothAreNull(r1.getSkeleton(),r2.getSkeleton()) ){ return true; if(oneIsNulll(r1.getSkeleton(),r2.getSkeleton(),"compareIResource","IResource skeleton") || oneIsNulll(r1.getSkeleton().toString(),r2.getSkeleton().toString(),"compareIResource","IResource skeleton string")){ return false; if (!r1.getSkeleton().toString().equals(r2.getSkeleton().toString())) { LOGGER.warn("compareIResource warning: Skeleton content difference (If skeleton difference is acceptable turn it off in the settings).\n" + "skel1=\"{}\"\nskel2=\"{}\"", r1.getSkeleton().toString(), r2.getSkeleton().toString()); return false;
} else { IResource res = e.getResource(); sb.append(" { id:").append(nqs(res.getId())).append(",\n\t"); printSkeleton(sb, "\t", res); sb.append("}");
res.setSkeleton(null); me.addEvent(event); res.setSkeleton(null); me.addEvent(event, 0); break;
/** * Is the current buffered {@link Event} a complex {@link TextUnit}? A complex TextUnit is one which carries along * with it it's surrounding formatting or skeleton such <p> text </p> or <title> text </title> * * @return true, if current {@link Event} is a complex text unit, false otherwise. */ public boolean isCurrentComplexTextUnit() { Event e = peekTempEvent(); if (e != null && e.getEventType() == EventType.TEXT_UNIT && e.getResource().getSkeleton() != null) { return true; } return false; }
LOGGER.trace("{}: ", etyp); if (event.getResource() != null) { LOGGER.trace("({})", event.getResource().getId()); if (event.getResource() instanceof DocumentPart) { setter = ((DocumentPart) event.getResource()).getSourcePropertyNames(); LOGGER.trace(event.getResource().toString()); if (event.getResource().getSkeleton() != null) { LOGGER.trace("*Skeleton: \n{}", event.getResource().getSkeleton().toString());
@Override protected Event handleTextUnit(Event event) { String id = event.getResource().getId();
private void addSkeletonToQueue (String data, boolean forceNewEntry) { GenericSkeleton skel; if ( !forceNewEntry && ( queue.size() > 0 )) { if ( queue.getLast().getResource() instanceof DocumentPart ) { // Append to the last queue entry if possible skel = (GenericSkeleton)queue.getLast().getResource().getSkeleton(); skel.append(data.replace("\n", lineBreak)); return; } } // Else: create a new skeleton entry skel = new GenericSkeleton(data.replace("\n", lineBreak)); queue.add(new Event(EventType.DOCUMENT_PART, new DocumentPart(otherId.createId(), false, skel))); }
String resId = resource.getId(); ISkeleton skel = resource.getSkeleton(); boolean hasGenericSkeleton = skel instanceof GenericSkeleton; logger.error("Unknown ref type: \"{}\" - {}", resource.getId(), part.toString());
protected String getString (INameable ref, String propName, LocaleId locToUse, EncoderContext context) { if ( ref == null ) { logger.warn("Null reference for '{}'.", propName); return "-ERR:NULL-REF-"; } if ( propName != null ) { return getPropertyValue((INameable)ref, propName, locToUse, context); } if ( ref instanceof ITextUnit ) { return getString((ITextUnit)ref, locToUse, context); } if ( ref instanceof DocumentPart ) { return getString((GenericSkeleton)((IResource)ref).getSkeleton(), context); } if ( ref instanceof StorageList ) { return getString((StorageList)ref, locToUse, context); } logger.warn("Invalid reference type for '{}'.", propName); return "-ERR:INVALID-REFTYPE-"; }
tmp.append(getString((GenericSkeleton)res.getSkeleton(), context)); break; tmp.append(getString((GenericSkeleton)res.getSkeleton(), context)); tmp.append(getString((GenericSkeleton)res.getSkeleton(), context));