1 16 package org.outerj.daisy.publisher.serverimpl.requestmodel; 17 18 import org.outerj.daisy.repository.VariantKey; 19 import org.outerj.daisy.publisher.serverimpl.StripDocumentHandler; 20 import org.outerj.daisy.navigation.NavigationManager; 21 import org.outerj.daisy.navigation.NavigationParams; 22 import org.outerj.daisy.navigation.NavigationVersionMode; 23 import org.xml.sax.ContentHandler ; 24 25 public class NavigationTreeRequest implements Request { 26 private final VariantKey navigationDoc; 27 private final VariantKey activeDocument; 28 private final String activePath; 29 private final NavigationVersionMode versionMode; 30 private final boolean contextualized; 31 32 35 public NavigationTreeRequest(VariantKey navigationDoc, VariantKey activeDocument, String activePath, 36 boolean contextualized, NavigationVersionMode versionMode) { 37 this.navigationDoc = navigationDoc; 38 this.activePath = activePath; 39 this.contextualized = contextualized; 40 this.activeDocument = activeDocument; 41 this.versionMode = versionMode; 42 } 43 44 public void process(ContentHandler contentHandler, PublisherContext publisherContext) throws Exception { 45 NavigationVersionMode navVersionMode = this.versionMode; 46 if (navVersionMode == null) 47 navVersionMode = publisherContext.getVersionMode() == PublisherVersionMode.LAST ? NavigationVersionMode.LAST : NavigationVersionMode.LIVE; 48 49 NavigationParams navigationParams = new NavigationParams(navigationDoc, navVersionMode, activePath, contextualized); 50 NavigationManager navigationManager = (NavigationManager)publisherContext.getRepository().getExtension("NavigationManager"); 51 navigationManager.generateNavigationTree(new StripDocumentHandler(contentHandler), navigationParams, 52 activeDocument, true); 53 } 54 } 55 | Popular Tags |