KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > snipsnap > util > Presentation


1 /*
2  * This file is part of "SnipSnap Wiki/Weblog".
3  *
4  * Copyright (c) 2002 Stephan J. Schmidt, Matthias L. Jugel
5  * All Rights Reserved.
6  *
7  * Please visit http://snipsnap.org/ for updates and contact.
8  *
9  * --LICENSE NOTICE--
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; either version 2
13  * of the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23  * --LICENSE NOTICE--
24  */

25 package org.snipsnap.util;
26
27 import org.radeox.filter.FilterPipe;
28 import org.radeox.filter.ListFilter;
29 import org.radeox.filter.context.FilterContext;
30 import org.radeox.util.logging.Logger;
31 import org.snipsnap.app.Application;
32 import org.snipsnap.render.filter.context.SnipFilterContext;
33 import org.snipsnap.snip.Snip;
34 import org.snipsnap.snip.SnipSpace;
35 import org.snipsnap.snip.SnipSpaceFactory;
36 import org.snipsnap.config.ServerConfiguration;
37 import org.snipsnap.config.Configuration;
38 import org.snipsnap.config.ConfigurationProxy;
39
40 import java.io.IOException JavaDoc;
41 import java.io.FileInputStream JavaDoc;
42 import java.util.StringTokenizer JavaDoc;
43
44 /**
45  * Export a Presentation from the SnipSpace
46  * @author Stephan J. Schmidt
47  * @version $Id: Presentation.java 1031 2003-10-14 08:41:58Z stephan $
48  */

49 public class Presentation {
50   public static void main(String JavaDoc[] args) {
51     String JavaDoc name = args[1];
52
53     Logger.debug("Loading server config.");
54     ServerConfiguration serverConfig = null;
55     try {
56       serverConfig = new ServerConfiguration("./conf/server.conf");
57     } catch (IOException JavaDoc e) {
58       Logger.warn("Unable to load server config: " + e);
59       System.exit(-1);
60     }
61
62     Application app = Application.get();
63
64     Logger.debug("Loading application config.");
65     Configuration config = null;
66     try {
67       config = ConfigurationProxy.newInstance();
68       config.load(new FileInputStream JavaDoc(serverConfig.getProperty(ServerConfiguration.WEBAPP_ROOT) + args[0] + "/application.conf"));
69     } catch (IOException JavaDoc e) {
70       Logger.warn("Unable to load application config: " + e);
71       System.exit(-1);
72     }
73     app.setConfiguration(config);
74
75     SnipSpace space = SnipSpaceFactory.getInstance();
76     FilterPipe fp = new FilterPipe();
77     //fp.addFilter(new EscapeFilter());
78
//fp.addFilter(new ParamFilter());
79
//fp.addFilter(new MacroFilter());
80
//fp.addFilter(new MacroFilter());
81
//fp.addFilter(new HeadingFilter());
82
fp.addFilter(new ListFilter());
83     //fp.addFilter(new NewlineFilter());
84
//fp.addFilter(new ParagraphFilter());
85
//fp.addFilter(new LineFilter());
86
//fp.addFilter(new BoldFilter());
87
//fp.addFilter(new ItalicFilter());
88
//fp.addFilter(new UrlFilter());
89
//fp.addFilter(new LinkTestFilter(SnipSpace.newInstance()));
90
//fp.addFilter(new MarkFilter());
91
//fp.addFilter(new KeyFilter());
92

93     Snip snip = space.load(name);
94     FilterContext context = new SnipFilterContext(snip);
95
96     StringTokenizer JavaDoc st = new StringTokenizer JavaDoc(fp.filter(snip.getContent(), context), "\n");
97     boolean first = true;
98     while (st.hasMoreTokens()) {
99       String JavaDoc line = st.nextToken();
100       if (line.startsWith("1 ")) {
101         String JavaDoc title = line.substring(2);
102         if (!first) {
103           System.out.println("</slide>\n");
104         } else {
105           first = false;
106         }
107         System.out.println("<slide title=\"" + title + "\">");
108       } else {
109         System.out.println(line);
110       }
111     }
112     System.out.println("</slide>");
113
114     System.exit(0);
115   }
116 }
117
Popular Tags