getSegments().append((Segment)part, collapseIfPreviousEmpty); return;
segs.append(seg); seg = null;
@Override public Segment getSourceSegment(String segId, boolean createIfNeeded) { Segment seg = getSource().getSegments().get(segId); if ((seg == null) && createIfNeeded) { seg = new Segment(segId); getSource().getSegments().append(seg); } return seg; }
@Override public Segment getTargetSegment(LocaleId trgLoc, String segId, boolean createIfNeeded) { Segment seg = createTarget(trgLoc, false, IResource.COPY_SEGMENTATION).getSegments().get(segId); if (( seg == null ) && createIfNeeded ) { // If the segment does not exists: create a new one if requested seg = new Segment(segId); getTarget(trgLoc).getSegments().append(seg); //TODO consider appending a segment to variant source if present } return seg; }
container.getSegments().append(seg);
private String doInsert(TextContainer container, int index, String originalId, String insertedId, Segment seg) { ISegments segs = container.getSegments(); Segment currentSeg; // handle source for target locale if (originalId == null) { // must be the first source segs.insert(index, seg); return seg.id; // return validated Id } // handle insertion for any other container currentSeg = segs.get(originalId); if (currentSeg != null) { segs.insert(segs.getIndex(originalId), seg); if (insertedId != null) seg.id = insertedId; return seg.id; } // append if unable to insert segs.append(seg); return insertedId; // return the most up-to-date insertedId }
trgSegs.append(trgSeg);
private void insertOrAppend(boolean append, int index, Segment srcSeg, Segment trgSeg, LocaleId trgLoc) { Segment sourceSeg = (srcSeg != null ? srcSeg : new Segment(null, new TextFragment(""))); Segment targetSeg = (trgSeg != null ? trgSeg : new Segment(null, new TextFragment(""))); String originalId = null; String insertedId = null; ContainerIterator ci = new ContainerIterator(trgLoc); if (append) { targetSeg.id = sourceSeg.id; // make sure ids match if (ci.hasSource()) ci.getSource().getSegments().append(sourceSeg); if (ci.hasTarget()) ci.getTarget().getSegments().append(targetSeg); } else { // insert // get id at insertion location originalId = getSource(trgLoc).getSegments().get(index).id; if (ci.hasSource()) insertedId = doInsert(ci.getSource(), index, null, null, sourceSeg); if (ci.hasTarget()) insertedId = doInsert(ci.getTarget(), index, originalId, insertedId, targetSeg); } }
if ( ts == null ) { ts = new Segment(srcSeg.id, new TextFragment("")); trgSegs.append(ts);
if ( trgSeg == null ) { trgSeg = new Segment(srcSeg.id); trgCont.getSegments().append(trgSeg);
trgSegs.append(ts); LOGGER.warn("Cannot find matching target segment for source id: {}." + "Creating a new target segment at the end of the target.", srcSeg.getId());