001: /*
002: JSPWiki - a JSP-based WikiWiki clone.
003:
004: Copyright (C) 2001-2002 Janne Jalkanen (Janne.Jalkanen@iki.fi)
005:
006: This program is free software; you can redistribute it and/or modify
007: it under the terms of the GNU Lesser General Public License as published by
008: the Free Software Foundation; either version 2.1 of the License, or
009: (at your option) any later version.
010:
011: This program is distributed in the hope that it will be useful,
012: but WITHOUT ANY WARRANTY; without even the implied warranty of
013: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
014: GNU Lesser General Public License for more details.
015:
016: You should have received a copy of the GNU Lesser General Public License
017: along with this program; if not, write to the Free Software
018: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
019: */
020: package com.ecyrd.jspwiki.htmltowiki;
021:
022: import com.ecyrd.jspwiki.WikiContext;
023:
024: /**
025: * Defines a Wiki configuration to XHtmlToWikiTranslator, including things like
026: * URLs.
027: *
028: * @author Sebastian Baltes (sbaltes@gmx.com)
029: */
030: public class XHtmlToWikiConfig {
031: private String m_outlink = "outlink";
032:
033: private String m_pageInfoJsp = "PageInfo.jsp";
034:
035: private String m_wikiJspPage = "Wiki.jsp?page=";
036:
037: private String m_editJspPage = "Edit.jsp?page=";
038:
039: private String m_attachPage = "attach?page=";
040:
041: private String m_pageName;
042:
043: public XHtmlToWikiConfig() {
044: }
045:
046: /**
047: * The constructor initializes the different internal fields
048: * according to the current URLConstructor.
049: *
050: * @param wikiContext
051: */
052: public XHtmlToWikiConfig(WikiContext wikiContext) {
053: setWikiContext(wikiContext);
054:
055: //
056: // Figure out the actual URLs.
057: //
058: // NB: The logic here will fail if you add something else after
059: // the Wiki page name in VIEW or ATTACH
060: //
061:
062: m_wikiJspPage = wikiContext.getURL(WikiContext.VIEW, "");
063:
064: m_editJspPage = wikiContext.getURL(WikiContext.EDIT, "");
065:
066: m_attachPage = wikiContext.getURL(WikiContext.ATTACH, "");
067:
068: m_pageInfoJsp = wikiContext.getURL(WikiContext.INFO, "");
069: }
070:
071: /*
072: // FIXME: Unused.
073: private String removeLast(String str, String remove )
074: {
075: int idx = str.lastIndexOf( remove );
076:
077: if( idx != -1 )
078: {
079: str = StringUtils.left( str, idx ) + StringUtils.substring( str, idx+remove.length() );
080: }
081:
082: return str;
083: }
084: */
085: private void setWikiContext(WikiContext wikiContext) {
086: if (wikiContext.getPage() != null) {
087: setPageName(wikiContext.getPage().getName() + '/');
088: }
089: }
090:
091: public String getAttachPage() {
092: return m_attachPage;
093: }
094:
095: public void setAttachPage(String attachPage) {
096: m_attachPage = attachPage;
097: }
098:
099: public String getOutlink() {
100: return m_outlink;
101: }
102:
103: public void setOutlink(String outlink) {
104: m_outlink = outlink;
105: }
106:
107: public String getPageInfoJsp() {
108: return m_pageInfoJsp;
109: }
110:
111: public void setPageInfoJsp(String pageInfoJsp) {
112: m_pageInfoJsp = pageInfoJsp;
113: }
114:
115: public String getPageName() {
116: return m_pageName;
117: }
118:
119: public void setPageName(String pageName) {
120: m_pageName = pageName;
121: }
122:
123: public String getWikiJspPage() {
124: return m_wikiJspPage;
125: }
126:
127: public void setWikiJspPage(String wikiJspPage) {
128: m_wikiJspPage = wikiJspPage;
129: }
130:
131: public String getEditJspPage() {
132: return m_editJspPage;
133: }
134:
135: public void setEditJspPage(String editJspPage) {
136: m_editJspPage = editJspPage;
137: }
138: }
|