protected Event createStartSubDocumentEvent() { StartSubDocument sd = new StartSubDocument(parentId, id); sd.setName(zipEntry.getName()); sd.setMimeType(MIME_TYPE); ZipSkeleton zs = new ZipSkeleton(zipFile, zipEntry); sd.setSkeleton(zs); sd.setFilterParameters(parameters); return new Event(EventType.START_SUBDOCUMENT, sd); }
private void processStartSubDocument (StartSubDocument resource) { writeStartFile(resource.getName(), resource.getMimeType(), null, fwConfigId, fwInputEncoding, null); }
@Override public String processStartSubDocument (StartSubDocument resource) { XMLSkeleton skel = (XMLSkeleton)resource.getSkeleton(); if ( skel == null ) return ""; return skel.toString(); }
public static StartSubDocument startSubDocumentFromStartDocument( StartDocument sd, String id, String parentId, String name) { StartSubDocument ssd = new StartSubDocument(parentId, id); ResourceUtil.copyProperties(sd, ssd); ssd.setName(name); ISkeleton ssdSkel = sd.getSkeleton().clone(); ssd.setSkeleton(ssdSkel); SkeletonUtil.changeParent(ssdSkel, sd, ssd); return ssd; }
StartSubDocument ssd = new StartSubDocument(subDocId.createId()); ssd.setName(subDocId.toString()); queue.add(new Event(EventType.START_SUBDOCUMENT, ssd));
/** * Open the nested {@link OpenXMLContentFilter} instance on the specified InputStream, * and convert a START_SUBDOCUMENT event for it. * @param is input stream * @param documentId document identifier * @param subDocumentId sub-document identifier * @param srcLang the source language * @return the START_SUBDOCUMENT Event */ protected Event openContentFilter(InputStream is, String documentId, String subDocumentId, LocaleId srcLang) { contentFilter.open(new RawDocument(is, StandardCharsets.UTF_8.name(), srcLang)); Event startDocEvent = contentFilter.next(); // Change the START_DOCUMENT event to START_SUBDOCUMENT StartSubDocument sd = new StartSubDocument(documentId, subDocumentId); sd.setName(entry.getName()); ConditionalParameters clonedParams = params.clone(); clonedParams.nFileType = contentFilter.getParseType(); sd.setFilterParameters(clonedParams); ZipSkeleton skel = new ZipSkeleton((GenericSkeleton)startDocEvent.getStartDocument().getSkeleton(), zipFile.getZip(), entry); return new Event(EventType.START_SUBDOCUMENT, sd, skel); }
ISkeleton skel = res.getSkeleton(); ConditionalParameters conditionalParameters = (ConditionalParameters) res.getFilterParameters(); if (skel instanceof ZipSkeleton) { subDocEntry = ((ZipSkeleton) res.getSkeleton()).getEntry(); String contentType = getContentTypeForPart(subDocEntry); if (docType.isStyledTextPart(subDocEntry.getName(), contentType)) { subDocEntry = new ZipEntry(res.getName()); subSkelWriter = new GenericSkeletonWriter(); sd.setSkeleton(res.getSkeleton()); sd.setLocale(sourceLocale); subDocWriter.handleEvent(new Event(EventType.START_DOCUMENT, sd));
/** * Add the START_SUBDOCUMENT {@link Event} to the event queue. * @return the {@link StartSubDocument} created and added, * or null if there is no <code>subFilter</code> */ public StartSubDocument startSubDocument() { StartSubDocument startSubDocument = null; if (!subFilter) { if (hasUnfinishedSkeleton()) { endDocumentPart(); } startSubDocument = new StartSubDocument(subDocumentId.createId()); Event event = new Event(EventType.START_SUBDOCUMENT, startSubDocument); filterEvents.add(event); LOGGER.debug("Start Sub-Document for " + startSubDocument.getId()); } return startSubDocument; }
private void handleSubDocument(String chapter) { startSubDocument = eventBuilder.startSubDocument(); startSubDocument.setName(chapter); }
private void processStartSubDocument(Event event) { try { StartSubDocument ssd = (StartSubDocument) event.getResource(); writer.write("|c" + ssd.getName() + linebreak); } catch (IOException e) { throw new OkapiIOException("Error writing subdocument (|cName).", e); } }
private void processStartSubDocument (Event event) { if ( forExtractMerge ) { StartSubDocument ssd = (StartSubDocument)event.getResource(); pushCrumb(SUBDOCUMENT_CRUMB+ssd.getId()); } }
|| oneIsNulll(ssd1.getParentId(),ssd2.getParentId(),"compareStartSubDocument","StartSubDocument Parent Id") || oneIsNulll(ssd1.getFilterParameters(),ssd2.getFilterParameters(),"compareStartSubDocument","StartSubDocument Parent Id")){ return false; if( !bothAreNull(ssd1.getParentId(),ssd2.getParentId()) ){ if ( !ssd1.getParentId().equals(ssd2.getParentId()) ) { LOGGER.warn("compareStartSubDocument warning: StartSubDocument Parent Id difference."); return false; if( !bothAreNull(ssd1.getFilterParameters(),ssd2.getFilterParameters()) ){ if ( !ssd1.getFilterParameters().equals(ssd2.getFilterParameters()) ) { LOGGER.warn("compareStartSubDocument warning: StartSubDocument FilterParameters difference."); return false;
private Event openSubDocument () { if (subFilter != null) subFilter.close(); Event event; try { subFilter.open(new RawDocument(zipFile.getInputStream(entry), "UTF-8", srcLoc, trgLoc)); event = subFilter.next(); // START_DOCUMENT } catch (IOException e) { throw new OkapiIOException("Error opening internal file.", e); } // Change the START_DOCUMENT event from sub-filter to START_SUBDOCUMENT StartDocument sd = null; StartSubDocument ssd = null; if (event.getEventType() == EventType.START_DOCUMENT) { sd = (StartDocument) event.getResource(); ssd = new StartSubDocument(SID, sd.getId()); saveStartDoc = sd; // Remember the SD transformed to SSD not to loose isMultilingual } else ssd = new StartSubDocument(SID, String.valueOf(++subDocId)); ResourceUtil.copyProperties(sd, ssd); ssd.setName(docURI.getPath() + "/" + entry.getName()); // Use '/' nextAction = NextAction.NEXTINSUBDOC; ZipSkeleton skel = new ZipSkeleton( (GenericSkeleton)event.getResource().getSkeleton(), zipFile, entry); return new Event(EventType.START_SUBDOCUMENT, ssd, skel); }
@Override protected void processStartSubDocument (Event event) { // Do not start one explicitly // Let the first unit to trigger the start of the file // otherwise we may get empty file elements // One thing to do: set the original (case of the DOCX-type documents with sub-documents) StartFileData sfd = new StartFileData(null); sfd.setOriginal(event.getStartSubDocument().getName()); writer.setStartFileData(sfd); }
private void processStartSubDocument (Event event) { StartSubDocument ssd = (StartSubDocument)event.getResource(); pushCrumb(SUBDOCUMENT_CRUMB+ssd.getId()); }
protected Event createStartSubDocumentEvent(String documentId, String subDocumentId) { StartSubDocument sd = new StartSubDocument(documentId, subDocumentId); sd.setName(partName); if (zipFile != null) { // XXX This null check is a hack for testing ZipSkeleton zs = new ZipSkeleton(zipFile.getZip(), entry); sd.setSkeleton(zs); } ConditionalParameters clonedParams = params.clone(); sd.setFilterParameters(clonedParams); return new Event(EventType.START_SUBDOCUMENT, sd); }
StartSubDocument ssd = new StartSubDocument(subDocId.createId()); ssd.setName(sourceId); queue.add(new Event(EventType.START_SUBDOCUMENT, ssd));
@Override public String processStartSubDocument (StartSubDocument resource) { if (isSubfilterActive()) { return sfWriter.processStartSubDocument(resource); } if ( storageStack.size() > 0 ) { storageStack.peek().add(resource); return ""; } return getString((GenericSkeleton)resource.getSkeleton(), EncoderContext.SKELETON); }
public String findMostRecentParentName() { if (isCurrentComplexTextUnit()) { ITextUnit tu = peekMostRecentTextUnit(); if (tu != null) { return tu.getName(); } } if (isCurrentGroup()) { StartGroup parentGroup = peekMostRecentGroup(); if (parentGroup != null) { return parentGroup.getName(); } } StartSubDocument parentSubDocument = peekMostRecentSubDocument(); if (parentSubDocument != null) { return parentSubDocument.getName(); } return null; }
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; }