1 16 package org.outerj.daisy.publisher.serverimpl.requestmodel; 17 18 import org.xml.sax.ContentHandler ; 19 import org.outerj.daisy.publisher.serverimpl.docpreparation.ContentProcessor; 20 import org.outerj.daisy.publisher.serverimpl.docpreparation.PreparationPipe; 21 import org.outerj.daisy.publisher.serverimpl.docpreparation.PreparedDocuments; 22 import org.outerj.daisy.publisher.PublisherException; 23 import org.outerj.daisy.repository.Document; 24 import org.outerj.daisy.repository.Version; 25 26 import java.util.Set ; 27 28 public class PrepareDocumentRequest implements Request { 29 private final Set inlineParts; 30 31 public PrepareDocumentRequest(Set inlineParts) { 32 this.inlineParts = inlineParts; 33 } 34 35 public void process(ContentHandler contentHandler, PublisherContext publisherContext) throws Exception { 36 PreparedDocuments preparedDocuments = publisherContext.getPreparedDocuments(); 37 if (preparedDocuments == null) 38 throw new PublisherException("prepareDocument was used outside the context of a preparedDocuments request"); 39 40 Document document = publisherContext.getDocument(); 41 Version version = publisherContext.getVersion(); 42 if (document == null || version == null) 43 return; 44 45 ContentProcessor contentProcessor = publisherContext.getContentProcessor(); 46 PreparationPipe preparationPipe; 47 if (contentProcessor == null) { 48 preparationPipe = new PreparationPipe(publisherContext.getRepository(), 49 publisherContext.getLogger(), publisherContext.getLocale(), 50 preparedDocuments.getNavigationDoc(), publisherContext.getVersionMode()); 51 } else { 52 preparationPipe = contentProcessor.getPreparationPipe(); 54 } 55 preparationPipe.process(contentProcessor, document, version, publisherContext, inlineParts, contentHandler); 56 } 57 } 58 | Popular Tags |