private void flushFilterEvents () { // Finish to go through the original file while ( filter.hasNext() ) { writer.handleEvent(filter.next()); } writer.close(); }
public void setSubDocWriter(IFilterWriter subDocWriter) { this.subDocWriter = subDocWriter; subDocWriter.setOptions(outLoc, "UTF-8"); }
@Override public void setOutput(OutputStream output) { delegate.setOutput(output); }
filterWriter.setOptions(targetLocale, outputEncoding); filterWriter.setParameters(tmp.getParameters()); filterWriter.setOptions(targetLocale, outputEncoding); normalizeResourceName(event); filterWriter.setOutput(outputStream); } else { filterWriter.setOutput(outputURI.getPath()); return filterWriter.handleEvent(event); return filterWriter.handleEvent(event); case TEXT_UNIT: case DOCUMENT_PART: return filterWriter.handleEvent(event); filterWriter.handleEvent(event); if ( filterWriter != null ) { filterWriter.close();
filterWriter.setOptions(targetLocale, outputEncoding); filterWriter.setOutput(outputStream); outputFile = new File(outputURI); Util.createDirectories(outputFile.getAbsolutePath()); filterWriter.setOutput(outputFile.getAbsolutePath()); if (outputStream == null) { outputFile = File.createTempFile("~okapi-39_okp-fe2rd_", ".tmp"); filterWriter.setOutput(outputFile.getAbsolutePath()); filterWriter.handleEvent(event); return event;
@Override public Event handleEvent(Event event) { if (event.isStartDocument()) { event.getStartDocument().setFilterParameters(params); } return delegate.handleEvent(event); }
protected void processStartSubDocument (StartSubDocument res) { ZipSkeleton skel = (ZipSkeleton)res.getSkeleton(); ZipEntry entry = skel.getEntry(); if (entry != null) entryName = entry.getName(); // Set the temporary path and create it try { tempFile = File.createTempFile("~okapi-9_", null); } catch ( IOException e ) { throw new OkapiException(e); } // Instantiate the filter writer for that entry if not set from outside with setSubDocWriter() if (subDocWriter == null) { subDocWriter = createSubDocumentFilterWriter(res); } subDocWriter.setOutput(tempFile.getAbsolutePath()); StartDocument sd = convertToStartDocument(res); subDocWriter.handleEvent(new Event(EventType.START_DOCUMENT, sd)); }
filterWriter.getSkeletonWriter() : getSkeletonWriter(); filterWriter.close(); return null; EncoderManager em = filterWriter.getEncoderManager(); skelWriter.processStartDocument(getTargetLocale(), getOutputEncoding(), null, em, startDocument);
@Override public void destroy() { if ( filterWriter != null ) { filterWriter.close(); } }
private Event nextInSubDocument () { if (saveStartDoc != null && subDocWriter != null) { // To set the lost StartDocument's isMultilingual in sub-filter's skeleton writer subDocWriter.getSkeletonWriter().processStartDocument(trgLoc, "UTF-8", null, subDocWriter.getEncoderManager(), saveStartDoc); saveStartDoc = null; } Event event; while ( subFilter.hasNext() ) { event = subFilter.next(); switch ( event.getEventType() ) { case END_DOCUMENT: // Change the END_DOCUMENT to END_SUBDOCUMENT Ending ending = (Ending) event.getResource(); nextAction = NextAction.NEXTINZIP; ZipSkeleton skel = new ZipSkeleton( (GenericSkeleton)event.getResource().getSkeleton(), zipFile, entry); return new Event(EventType.END_SUBDOCUMENT, ending, skel); default: // Else: just pass the event through return event; } } return null; // Should not get here }
@Override public EncoderManager getEncoderManager() { return delegate.getEncoderManager(); }
@Override public ISkeletonWriter getSkeletonWriter() { return delegate.getSkeletonWriter(); } }
@Override public void setParameters(IParameters params) { delegate.setParameters(params); }
writer.setOptions(trgLoc, outputEncoding); writer.setOutput(sink); while (filter.hasNext()) { Event e = filter.next(); processTextUnit(e.getTextUnit()); writer.handleEvent(e); if (writer != null) writer.close();
writer = sd.getFilterWriter(); writer.setOptions(targetLocale, encoding); if (outputStream != null) { writer.setOutput(outputStream); } else if (!Util.isEmpty(outputPath)) { writer.setOutput(outputPath); } else { throw new OkapiIOException("Output path or stream not defined for filter writer"); writer.handleEvent(skelEvent);
/** * Get events in the original document until the next text unit. * Any event before is passed to the writer. * @return the event of the next text unit, or null if no next text unit is found. */ private Event processUntilTextUnit () { while ( filter.hasNext() ) { Event event = filter.next(); if ( event.getEventType() == EventType.TEXT_UNIT ) { ITextUnit tu = event.getTextUnit(); if ( !tu.isTranslatable() ) { // Do not merge the translation for non-translatable writer.handleEvent(event); continue; } if ( skipEmptySourceEntries && tu.isEmpty() ) { // For some types of package: Do not merge the translation for non-translatable writer.handleEvent(event); continue; } return event; } // Else: write out the event writer.handleEvent(event); } // This text unit is extra in the translated file return null; }
@Override public void close() { delegate.close(); }
if (sd != null && sd.getFilterWriter() != null && !(sd.getFilterWriter().getSkeletonWriter() instanceof GenericSkeletonWriter)) { logger.warn("GenericSkeletonSimplifier handles only GenericSkeletonWriter and its subclasses, {} is not supported.", ClassUtil.getShortClassName(sd.getFilterWriter())); isBlocked = true; EncoderManager em = sd.getFilterWriter() != null ? sd.getFilterWriter().getEncoderManager() : null; if (em == null) em = new EncoderManager(); if (Util.isEmpty(em.getEncoding())) {
public SubFilterSkeletonWriter setOptions (LocaleId outputLocale, String outputEncoding, StartSubfilter startSubfilter, ILayerProvider layer) { StartDocument sfStartDoc = startSubfilter.getStartDoc(); IFilterWriter sfFilterWriter = sfStartDoc.getFilterWriter(); EncoderManager sfEncoderManager = sfFilterWriter.getEncoderManager(); processStartDocument(outputLocale, outputEncoding, layer, sfEncoderManager, startSubfilter.getStartDoc()); return this; }
public SubFilterSkeletonWriter (StartSubfilter resource) { sb = new StringBuilder(); IFilterWriter sfFilterWriter = resource.getFilterWriter(); this.skelWriter = sfFilterWriter.getSkeletonWriter(); this.parentEncoder = resource.getParentEncoder(); this.startResourceId = resource.getId(); }