KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > outerj > daisy > publisher > serverimpl > requestmodel > NavigationTreeRequest


1 /*
2  * Copyright 2004 Outerthought bvba and Schaubroeck nv
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

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 JavaDoc;
24
25 public class NavigationTreeRequest implements Request {
26     private final VariantKey navigationDoc;
27     private final VariantKey activeDocument;
28     private final String JavaDoc activePath;
29     private final NavigationVersionMode versionMode;
30     private final boolean contextualized;
31
32     /**
33      * @param versionMode optional, can be null (defaults to publisher context version mode)
34      */

35     public NavigationTreeRequest(VariantKey navigationDoc, VariantKey activeDocument, String JavaDoc 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 JavaDoc contentHandler, PublisherContext publisherContext) throws Exception JavaDoc {
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