private boolean processNestedRun(TextFragment tf, List<Block.BlockChunk> chunks, ITextUnit textUnit, int runPosition, int codeStackPopsLimit) { referentTus.addAll(processNestedBlocks((Run) chunks.get(runPosition), textUnit.getId())); Run run = (Run) chunks.get(runPosition); int nextRunPosition = runPosition + 1; Run nextRun = nextRunPosition < chunks.size() && chunks.get(nextRunPosition) instanceof Run ? (Run) chunks.get(nextRunPosition) : null; return addRun(tf, codeStackPopsLimit, runPosition, run, nextRun); }
protected boolean processRun(TextFragment tf, Run run, ITextUnit textUnit) { referentTus.addAll(processNestedBlocks(run, textUnit.getId())); return addRun(tf, DEFAULT_CODE_STACK_POPS_LIMIT, UNUSED_RUN_POSITION_VALUE, run, null); }
private String getAlignmentKey(ITextUnit tu) { return params.isUseTextUnitIds() ? tu.getId() : tu.getName(); }
private void handleTextUnitEvent(Event event) { ReferenceableEvent referenceableEvent = new ReferenceableEvent(event.getTextUnit().getId(), event); addReferenceableEvent(referenceableEvent); }
@Override public String processTextUnit (ITextUnit resource) { if (isSubfilterActive()) { return sfWriter.processTextUnit(resource); } if ( resource.isReferent() ) { referents.put(resource.getId(), new Referent(resource, referentCopies)); return ""; } if ( storageStack.size() > 0 ) { storageStack.peek().add(resource); return ""; } return getString(resource, outputLoc, EncoderContext.TEXT); }
private void processWithoutSegments (ITextUnit tu) { try { // ID reference to allow merging back and duplication of msgid text writer.write("\"" + crumbs + ":" + TEXTUNIT_CRUMB+tu.getId() + "\"\t"); // Source writeQuotedContent(tu.getSource()); writer.write("\t"); // Target TextContainer tc = tu.getTarget(language); if ( tc != null ) { writeQuotedContent(tc); } // EOL writer.write(LINEBREAK); } catch ( IOException e ) { throw new OkapiIOException("Error writing text unit.", e); } }
private void processTextUnit(Event event) { try { ITextUnit tu = event.getTextUnit(); if (tu.isEmpty()) { return; // Do not write out entries with empty source } String verseId = tu.getId(); Matcher m = VERSIFIED_ID_COMPILED.matcher(verseId); // if this is from an original versified file with book:chapter:verse // then we just want to output the verse part (a number) if (m.matches()) { verseId = m.group(1); } writer.write("|v" + verseId + linebreak); // source writeTextContainer(tu.getSource()); // <TARGET> tag writer.write(linebreak + "<TARGET>" + linebreak); writeTextContainer(tu.getTarget(language)); // there is always two newlines after the target text as formatting unless the target is empty if (tu.getTarget(language) == null || tu.getTarget(language).isEmpty()) { writer.write(linebreak); } else { writer.write(linebreak + linebreak); } } catch (IOException e) { throw new OkapiIOException("Error writing a versified text unit.", e); } }
writer.write("msgctxt \"" + crumbs + ":" + TEXTUNIT_CRUMB+tu.getId() + "\"" + linebreak);
private void flushFilterEvents() { try { // Finish the skeleton events Event event = null; while (skeletonFilter.hasNext()) { event = skeletonFilter.next(); if (event.isTextUnit()) { throw new OkapiMergeException(String.format( "No corresponding text unit for id='%s' in the skeleton file.", event.getTextUnit().getId())); } writer.handleEvent(event); } } finally { writer.close(); } }
String domain = ann.getString(GenericAnnotationType.DOMAIN_VALUE); if ( domain != null ) { logger.info("First domain value ('{}') detected on text unit id='{}'.", domain, tu.getId());
String out = String.format("%d:%s:%s", subDocId, tu.getId(), seg.id); count += (out.length() + 10); htmlWriter.writeAttributeString("id", out);
/** * Writes a given text unit. One TMX TU per segment if the text unit is segment, * or one TU for the full content, if the text unit is not segmented. * @param tu The text unit to output. * @param attributes The optional set of attribute to put along with the entry. */ public void writeItem (ITextUnit tu, Map<String, String> attributes) { if ( !tu.hasTarget(trgLoc) ) { return; // No target } ISegments srcSegs = tu.getSourceSegments(); ISegments trgSegs = tu.getTargetSegments(trgLoc); // Output each segment (handles single-segment entry) String tuId = tu.getId(); for ( Segment srcSeg : srcSegs ) { Segment trgSeg = trgSegs.get(srcSeg.id); if (( trgSeg == null ) || trgSeg.text.isEmpty() ) continue; // No target // Else: output writeTU(srcSeg.text, trgSeg.text, String.format("%s_s%s", tuId, srcSeg.id), attributes); } }
writer.write("\"" + crumbs + ":" + TEXTUNIT_CRUMB+tu.getId() + ":" + SEGMENT_CRUMB+srcSeg.getId()+ "\"\t");
if (srcSeg != null) { ITextUnit segmentTu = tu.clone(); segmentTu.setId(segmentTu.getId() + ":" + Integer.toString(++segCount)); segmentTu.setSourceContent(srcSeg.text); textUnitEvents.add(new Event(EventType.TEXT_UNIT, segmentTu)); if (trgSeg != null) { ITextUnit segmentTu = tu.clone(); segmentTu.setId(segmentTu.getId() + ":" + Integer.toString(++segCount)); segmentTu.setSourceContent(srcSeg.text); segmentTu.setTargetContent(l, trgSeg.text);
public String findMostRecentParentId() { if (isCurrentComplexTextUnit()) { ITextUnit tu = peekMostRecentTextUnit(); if (tu != null) { return tu.getId(); } } if (isCurrentGroup()) { StartGroup parentGroup = peekMostRecentGroup(); if (parentGroup != null) { return parentGroup.getId(); } } StartSubDocument parentSubDocument = peekMostRecentSubDocument(); if (parentSubDocument != null) { return parentSubDocument.getId(); } return null; }
LOGGER.info("Missing original identifier in target (id='{}').", tu.getId()); docHasNoMatch = true; continue;
if (oriEvent == null) { throw new OkapiMergeException(String.format( "No corresponding text unit for id='%s' in the skeleton file.", tuFromTrans.getId()));
@SuppressWarnings("resource") protected List<Event> callSubfilter(ITextUnit parent) { String parentId = parent.getId(); if (Util.isEmpty(parentId)) { parentId = idGenerator.getLastId(); } // force creation of the parent encoder SubFilter sf = new SubFilter(subFilter, getEncoderManager().getEncoder(), ++subfilterIndex, parentId, parent.getName()); // RawDocument closed inside the subfilter call return sf.getEvents(new RawDocument(parent.getSource().getFirstContent().getText(), srcLang)); }
public Unit convert (ITextUnit tu) { Unit unit = new Unit(tu.getId()); unit.setName(tu.getName()); unit.setType(tu.getType());