[jboss-svn-commits] JBL Code SVN: r9716 - in labs/jbosslabs/trunk/portal-extensions/jbosswiki: forge-wiki/src/java/org/jboss/wiki/attributesextractor and 11 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Feb 22 16:58:05 EST 2007


Author: szimano
Date: 2007-02-22 16:58:04 -0500 (Thu, 22 Feb 2007)
New Revision: 9716

Added:
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/portlet/WikiPortletOld.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/configuration/
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/configuration/ConfigurationParser.java
Removed:
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortletOld.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/attributesextractor/PortletAttributesExctractor.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/portlet/WikiPortletMyFaces.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiCommonSession.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiView.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/Messages.properties
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_view.xhtml
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/etc/JBossWiki.properties
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileAttachmentDataSource.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileMediaDataSource.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileWikiPageDictionary.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuAttachmentDataSource.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuMediaDataSource.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuWikiPageDictionary.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/SimpleCredentials.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/ATOMPlugin.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminRenamingPlugin.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AttachmentListPlugin.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/FindResultPlugin.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/FriendlyLinkPlugin.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/HTMLTranslatorParts.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RDFPlugin.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RSSPlugin.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/TranslateUids.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-test/.classpath
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-test/src/java/org/jboss/wiki/test/WikiTest.java
Log:
wiki serach and new configuration reading

Deleted: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortletOld.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortletOld.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortletOld.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -1,626 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wiki;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.portlet.ActionRequest;
-import javax.portlet.ActionResponse;
-import javax.portlet.GenericPortlet;
-import javax.portlet.PortletConfig;
-import javax.portlet.PortletException;
-import javax.portlet.PortletSession;
-import javax.portlet.RenderRequest;
-import javax.portlet.RenderResponse;
-
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.FileUploadException;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.portlet.PortletFileUpload;
-import org.jboss.logging.Logger;
-import org.jboss.wiki.exceptions.EditSessionExpired;
-import org.jboss.wiki.exceptions.EditingNotAllowedException;
-import org.jboss.wiki.exceptions.WikiManagementNotFoundException;
-import org.jboss.wiki.exceptions.WikiSaveException;
-import org.jboss.wiki.management.WikiServiceManagement;
-import org.jboss.wiki.portlet.PortletWikiSession;
-
-/**
- * The WikiPortlet.
- * <p>
- * 
- * @author <a href="mailto:dsicore at jboss.org">Damon Sicore</a>
- * @author <a href="mailto:tomasz.szymanski at jboss.com">Tomasz Szymanski</a>
- * @version $Id$
- */
-
-public class WikiPortletOld extends GenericPortlet {
-
-	final static String jspPath = "/WEB-INF/jsp/";
-
-	private static final String WINDOWS_FILE_NAME = "\\w:\\\\.+";
-
-	private String defaultPage = "Main";
-
-	private WikiEngine wikiEngine;
-
-	private Logger log;
-
-	public void init() {
-		log = Logger.getLogger(WikiPortletOld.class);
-
-		WikiCommon wikiCommon = new WikiCommon();
-
-		try {
-			WikiServiceManagement wikiServiceMenagement = wikiCommon
-					.getWikiManagement();
-			wikiEngine = wikiServiceMenagement.getWikiEngine();
-		} catch (WikiManagementNotFoundException e1) {
-			log.error("Couldn't find WikiManagement", e1);
-			wikiEngine = new WikiEngine();
-		}
-	}
-
-	private Map<String, String> convertParameters(ActionRequest rReq) {
-		Map<String, String> convertedParameters = new HashMap<String, String>();
-
-		Map paramMap = rReq.getParameterMap();
-
-		for (Object key : paramMap.keySet()) {
-			try {
-				if (rReq.getParameter("editAction") != null) {
-					convertedParameters.put((String) key, new String(rReq
-							.getParameter((String) key).getBytes("ISO-8859-1"),
-							"UTF-8"));
-				} else {
-					convertedParameters.put((String) key, rReq
-							.getParameter((String) key));
-				}
-			} catch (UnsupportedEncodingException e) {
-				log.error(e);
-				convertedParameters.put((String) key, (String) paramMap
-						.get(key));
-			}
-		}
-
-		return convertedParameters;
-	}
-
-	public void processAction(ActionRequest rReq, ActionResponse rResp) {
-
-		Map<String, String> convertedParameters = convertParameters(rReq);
-
-		Credentials credentials = wikiEngine.getCredentialsInstance(rReq);
-
-		// wikiContext is null - to get refernece to actual page
-
-		WikiContext wikiContext = null;
-
-		if (PortletFileUpload.isMultipartContent(rReq)) {
-			DiskFileItemFactory factory = new DiskFileItemFactory();
-			PortletFileUpload dfu = new PortletFileUpload(factory);
-
-			// maximum allowed file upload size (10 MB)
-			dfu.setSizeMax(10 * 1000 * 1000);
-
-			try {
-				// get the FileItems
-				List fileItems = dfu.parseRequest(rReq);
-				Iterator iter = fileItems.iterator();
-				while (iter.hasNext()) {
-					FileItem item = (FileItem) iter.next();
-					if (item.isFormField()) {
-						// pass along to render request
-						String fieldName = item.getFieldName();
-						String value = item.getString();
-						rResp.setRenderParameter(fieldName, value);
-					} else {
-						// write the uploaded file to a new location
-						String fieldName = item.getFieldName();
-						String fileName = item.getName();
-
-						// change windows names (remove c:\bull\shit\)
-						if (fileName.matches(WINDOWS_FILE_NAME)) {
-							fileName = fileName.substring(fileName
-									.lastIndexOf('\\') + 1, fileName.length());
-						}
-
-						if (fileName.length() == 0) {
-							throw new FileUploadException("Wrong file name: "
-									+ item.getName());
-						}
-
-						// delete spaces
-
-						while (fileName.indexOf(' ') != -1) {
-							Character chr = fileName.charAt(fileName
-									.indexOf(' ') + 1);
-
-							fileName = fileName.substring(0, fileName
-									.indexOf(' '))
-									+ (char) Character.toUpperCase(chr)
-									+ fileName.substring(
-											fileName.indexOf(' ') + 2, fileName
-													.length());
-						}
-
-						String tempDir = System.getProperty("java.io.tmpdir");
-						String serverFileName = fieldName + fileName
-								+ "-portlet.tmp";
-
-						File serverFile = new File(tempDir, serverFileName);
-
-						item.write(serverFile);
-
-						log.info("serverFileName : " + tempDir + "/"
-								+ serverFileName + " filename: " + fileName);
-
-						WikiPage pageWithAtt = wikiEngine.getByName(
-								convertedParameters.get("page"), null,
-								(String) convertedParameters.get("language"));
-
-						FileInputStream fis = new FileInputStream(serverFile);
-
-						pageWithAtt.addAttachement(fis, fileName, credentials
-								.getName());
-
-						// at the end delete the temp file
-						serverFile.delete();
-					}
-				}
-			} catch (FileUploadException fue) {
-				String msg = "File Upload Exception: " + fue.getMessage();
-				rResp.setRenderParameter("error", msg);
-				getPortletContext().log(msg, fue);
-			} catch (Exception e) {
-				String msg = "Exception: " + e.getMessage();
-				rResp.setRenderParameter("error", msg);
-				getPortletContext().log(msg, e);
-			}
-		}
-
-		if (convertedParameters.get("page") != null
-				&& (convertedParameters.get("page").length() > 0)) {
-			StringBuffer sBuf = new StringBuffer(convertedParameters
-					.get("page"));
-
-			if (Character.isLowerCase(sBuf.charAt(0))) {
-				// change first letter to upper if it isn't
-				sBuf.setCharAt(0, Character.toUpperCase(sBuf.charAt(0)));
-			}
-
-			//
-			// Capitalise words in subpages
-			//
-
-			for (int i = 0; i < sBuf.length() - 1; i++) {
-				if ((sBuf.charAt(i) == '/')
-						&& (Character.isLowerCase(sBuf.charAt(i + 1)))) {
-					sBuf.setCharAt(i + 1, Character.toUpperCase(sBuf
-							.charAt(i + 1)));
-				}
-			}
-
-			rResp.setRenderParameter("page", sBuf.toString());
-
-		}
-
-		if (convertedParameters.get("searchQuery") != null) {
-			Map<String, Integer> pages = wikiEngine.findPages(
-					convertedParameters.get("searchQuery"),
-					(String) convertedParameters.get("language"));
-
-			rReq.getPortletSession().setAttribute("findResult", pages);
-
-			// show the results
-			rResp.setRenderParameter("page", "FindResult");
-		}
-
-		int i = 1;
-
-		while (convertedParameters.get("var" + i) != null) {
-			rReq.getPortletSession().setAttribute("var" + i,
-					convertedParameters.get("var" + i));
-			i++;
-		}
-
-		if (convertedParameters.get("action") != null) {
-			rResp.setRenderParameter("action", convertedParameters
-					.get("action"));
-		}
-
-		if (convertedParameters.get("type") != null) {
-			rResp.setRenderParameter("type", convertedParameters.get("type"));
-		}
-
-		if (convertedParameters.get("version") != null) {
-			log.info("[process action]Getting page "
-					+ convertedParameters.get("page") + " at version "
-					+ convertedParameters.get("version"));
-			rResp.setRenderParameter("version", convertedParameters
-					.get("version"));
-		}
-
-		if (convertedParameters.get("language") != null) {
-			rResp.setRenderParameter("language", (String) convertedParameters
-					.get("language"));
-		} else {
-			rResp.setRenderParameter("language", wikiEngine.defaultLangugeCode);
-		}
-
-		if (convertedParameters.get("editAction") != null) {
-			log.debug("EDITING PAGE");
-
-			String editedPageName = convertedParameters.get("editedPage");
-
-			// unlock page
-			WikiPage edPage = wikiEngine.getByName(editedPageName, wikiContext,
-					(String) convertedParameters.get("language"));
-
-			if (edPage != null) { // it may be null if the page isn't saved
-				// yet
-				edPage.unlock(credentials, Integer
-						.valueOf((String) convertedParameters
-								.get("editSessionId")));
-			}
-
-			// saving, previewing or canceling
-
-			if (convertedParameters.get("editAction").equals("Save")) {
-
-				// save the page
-
-				if (edPage == null) {
-					edPage = new WikiPage(editedPageName, credentials, "", 0,
-							0, new Date(), wikiEngine, true, true, null, null,
-							0, (String) convertedParameters.get("language"));
-				}
-
-				// save the page
-				try {
-					edPage.save(credentials, Integer
-							.valueOf((String) convertedParameters
-									.get("editSessionId")),
-							(String) convertedParameters.get("language"),
-							new PortletWikiSession(rReq.getPortletSession()), convertedParameters.get("wikiContent"));
-				} catch (NumberFormatException e) {
-					log.error(e);
-				} catch (EditSessionExpired e) {
-					rReq.setAttribute("errorMsg", e.getMessage());
-					log.error(e);
-				} catch (WikiSaveException e) {
-					rReq.setAttribute("errorMsg", e.getMessage());
-					log.error(e);
-				} catch (EditingNotAllowedException e) {
-					rReq.setAttribute("errorMsg", e.getMessage());
-					log.error(e);
-				}
-
-				// and finally remove old page object from memory to force
-				// reloading it
-				wikiEngine.refreshPage(edPage.getName(), edPage.getLangCode());
-			}
-		}
-
-	}
-
-	public void doView(RenderRequest rReq, RenderResponse rRes)
-			throws PortletException, java.io.IOException {
-		try {
-			WikiSession wikiSession = new PortletWikiSession(rReq
-					.getPortletSession());
-
-			Credentials credentials = wikiEngine.getCredentialsInstance(rReq);
-
-			String langCode = rReq.getParameter("language");
-
-			String wikiURL = rRes.createActionURL().toString() + "&language="
-					+ langCode;
-			
-			log.info(wikiURL);
-
-			rReq.setAttribute("actionURL", wikiURL);
-
-			if (langCode == null) {
-				langCode = wikiEngine.defaultLangugeCode;
-			}
-
-			boolean showPage = true;
-
-			// Create server host and put it into session for plugins
-			String hostURL = ((rReq.isSecure()) ? "https" : "http")
-					+ "://"
-					+ rReq.getServerName()
-					+ ((rReq.getServerPort() == 80) ? "" : ":"
-							+ rReq.getServerPort());
-
-			prepareSession(rReq.getPortletSession(), credentials, hostURL, wikiURL, rReq.isSecure());
-
-			/*
-			 * WikiPage noSuchPage = new WikiPage("", credentials, "There is no
-			 * such page. Click on EDIT to start it.", 0, 0, null,
-			 * wikiEngine.getMediaDataSource(), wikiEngine
-			 * .getAttachementDataSource(), true, true);
-			 */
-
-			String page = "Wiki.jsp";
-
-			String wikiPage = defaultPage;
-
-			WikiPage pageToShow = null;
-
-			WikiContext wikiContext = null;
-
-			if (rReq.getParameter("page") != null) {
-				wikiPage = rReq.getParameter("page");
-			}
-
-			if ((rReq.getParameter("action") != null)
-					&& (rReq.getParameter("action").equals("Attach"))) {
-				rReq.setAttribute("fileAttach", "true");
-			}
-
-			if ((rReq.getParameter("action") != null)
-					&& (rReq.getParameter("action").equals("Edit"))
-					&& (credentials.isLoggedIn())) {
-				page = "Edit.jsp";
-				showPage = false;
-
-				WikiContext editWikiContext = new WikiContext(credentials,
-						wikiEngine.getWikiType("edit"), wikiSession);
-
-				pageToShow = wikiEngine.getByName(wikiPage, editWikiContext,
-						langCode);
-
-				if ((pageToShow != null)
-						&& (!pageToShow.isEditable(credentials))) {
-					if (!credentials.isAdmin()) {
-						showPage = true;
-					}
-				} else {
-					if (rReq.getParameter("version") != null) {
-						// show previous version of page
-
-						log.info("Getting page " + wikiPage + " at version "
-								+ rReq.getParameter("version"));
-
-						if ((pageToShow.getLastVersion() > Integer.valueOf(rReq
-								.getParameter("version")))) {
-							pageToShow = wikiEngine
-									.getByName(wikiPage, editWikiContext,
-											Integer.valueOf(rReq
-													.getParameter("version")),
-											langCode);
-						}
-
-						if (pageToShow.getLastVersion() != pageToShow
-								.getVersion()) {
-							rReq.setAttribute("showedVersion", Integer
-									.valueOf(rReq.getParameter("version")));
-						}
-					} else {
-						pageToShow = wikiEngine.getByName(wikiPage,
-								editWikiContext, langCode);
-					}
-
-					if (pageToShow == null) {
-						// start editing new page
-						// wikiPage = defaultPage;
-
-						pageToShow = new WikiPage(wikiPage, credentials, "", 0,
-								0, new Date(), wikiEngine, true, true, null,
-								null, 0, langCode);
-						// wikiEngine.getByName(wikiPage, wikiContext);
-					}
-
-					int editSessionId = wikiEngine.getEditSessionId();
-
-					Date dateLock = wikiEngine.getByName(wikiPage, null,
-							langCode).lock(credentials, editSessionId);
-
-					rReq.setAttribute("editSessionId", String
-							.valueOf(editSessionId));
-
-					if (dateLock != null) {
-						rReq
-								.setAttribute(
-										"lockMsg",
-										"Page is locked by "
-												+ pageToShow.getLockUser()
-												+ " from "
-												+ dateLock
-												+ ".<br> I won't stop you from saving, but you or he can erease each other changes. Lock will expire: ");
-					}
-				}
-			} else if ((rReq.getParameter("action") != null)
-					&& (rReq.getParameter("action").equals("Info"))) {
-				page = "PageInfo.jsp";
-				showPage = false;
-
-				pageToShow = wikiEngine.getByName(wikiPage, null, langCode);
-
-				/*
-				 * if (pageToShow == null) { // if somebody entered a link to
-				 * info // non-existing page page = "Wiki.jsp"; try { pageToShow =
-				 * (WikiPage) noSuchPage.clone(); } catch
-				 * (CloneNotSupportedException cnse) { log.info(cnse); }
-				 * 
-				 * pageToShow.setName(wikiPage); } else {
-				 */
-				rReq.setAttribute("pageAtTop", pageToShow);
-
-			}
-
-			if (showPage) {
-				page = "Wiki.jsp";
-
-				String type = "html";
-
-				if (rReq.getParameter("type") != null) {
-					type = rReq.getParameter("type");
-					// log.info("Getting type: " + type);
-				}
-
-				wikiContext = new WikiContext(credentials, wikiEngine
-						.getWikiType(type), new PortletWikiSession(rReq
-						.getPortletSession()));
-
-				if (rReq.getParameter("version") != null) {
-					// show previous version of page
-					log.info("Getting page " + wikiPage + " at version "
-							+ rReq.getParameter("version"));
-					pageToShow = wikiEngine.getByName(wikiPage, wikiContext,
-							Integer.valueOf(rReq.getParameter("version")),
-							langCode);
-
-					if (pageToShow.getLastVersion() != pageToShow.getVersion()) {
-						rReq.setAttribute("showedVersion", Integer.valueOf(rReq
-								.getParameter("version")));
-					}
-				} else {
-					pageToShow = wikiEngine.getByName(wikiPage, wikiContext,
-							langCode);
-				}
-
-				/*
-				 * if (pageToShow == null) {
-				 * 
-				 * try { pageToShow = (WikiPage) noSuchPage.clone(); } catch
-				 * (CloneNotSupportedException cnse) { log.info(cnse); }
-				 * 
-				 * pageToShow.setName(wikiPage); }
-				 */
-
-			}
-
-			rReq
-					.setAttribute(
-							"wikiName",
-							"<img src=\""
-									+ hostURL
-									+ "/wiki/"
-									+ WikiCommon.wikiButtons
-									+ "/JBossWikiLogoMedium.png\" width=\"100\"  border=\"0\" style=\"vertical-align: middle\"/>");
-
-			rReq.setAttribute("wikiContent", pageToShow.getContent());
-
-			rReq.setAttribute("wikiImagesUrl", hostURL + "/wiki/"
-					+ WikiCommon.wikiButtons + "/");
-
-			rReq.setAttribute("wikiPage", pageToShow.getName());
-
-			rReq.setAttribute("editDate", pageToShow.getEditDate());
-
-			rReq.setAttribute("author", pageToShow.getLastAuthor());
-
-			rReq.setAttribute("logedIn", credentials.isLoggedIn());
-
-			rReq.setAttribute("defaultPage", defaultPage);
-
-			rReq.setAttribute("isEditable", pageToShow.isEditable(credentials));
-
-			rReq.setAttribute("isViewable", pageToShow.isViewable(credentials));
-
-			rReq.setAttribute("isAdmin", credentials.isAdmin());
-
-			rReq.setAttribute("usedLangs", wikiEngine.getUsedLanguageCodes());
-
-			rReq.setAttribute("currentLanguage", langCode);
-
-			rReq
-					.setAttribute(
-							"friendlyLink",
-							hostURL
-									+ "/wiki/"
-									+ ((!langCode
-											.equals(wikiEngine.defaultLangugeCode)) ? langCode
-											.toLowerCase()
-											+ "/"
-											: "") + pageToShow.getName());
-			rReq
-					.setAttribute(
-							"rssLink",
-							hostURL
-									+ "/wiki/"
-									+ ((!langCode
-											.equals(wikiEngine.defaultLangugeCode)) ? langCode
-											.toLowerCase()
-											+ "/"
-											: "") + "rss/"
-									+ pageToShow.getName());
-			rReq
-					.setAttribute(
-							"rdfLink",
-							hostURL
-									+ "/wiki/"
-									+ ((!langCode
-											.equals(wikiEngine.defaultLangugeCode)) ? langCode
-											.toLowerCase()
-											+ "/"
-											: "") + "rdf/"
-									+ pageToShow.getName());
-			rReq
-					.setAttribute(
-							"atomLink",
-							hostURL
-									+ "/wiki/"
-									+ ((!langCode
-											.equals(wikiEngine.defaultLangugeCode)) ? langCode
-											.toLowerCase()
-											+ "/"
-											: "") + "atom/"
-									+ pageToShow.getName());
-
-			rRes.setTitle("Wiki");
-			if (javax.portlet.WindowState.NORMAL.equals(rReq.getWindowState())
-					|| javax.portlet.WindowState.MAXIMIZED.equals(rReq
-							.getWindowState())) {
-				rRes.setContentType("text/html; charset=UTF-8");
-				javax.portlet.PortletRequestDispatcher pRD = this
-						.getPortletContext().getRequestDispatcher(
-								jspPath + page);
-				pRD.include(rReq, rRes);
-				return;
-			}
-			doDispatch(rReq, rRes);
-		} catch (RuntimeException e) {
-			e.printStackTrace();
-			throw (e);
-		}
-	}
-
-	private void prepareSession(PortletSession portletSession,
-			Credentials credentials, String hostURL, String wikiURL, Boolean isSecure) {
-		// prepare some data for plugins in session
-		portletSession.setAttribute(WikiSession.CREDENTIALS, credentials);
-		portletSession.setAttribute(WikiSession.HOST_URL, hostURL);
-		portletSession.setAttribute(WikiSession.ACTION_URL, wikiURL);
-		portletSession.setAttribute(WikiSession.IS_SECURE, isSecure);
-	}
-}
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/attributesextractor/PortletAttributesExctractor.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/attributesextractor/PortletAttributesExctractor.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/attributesextractor/PortletAttributesExctractor.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -35,6 +35,7 @@
 import org.jboss.logging.Logger;
 import org.jboss.wiki.Credentials;
 import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
 import org.jboss.wiki.helper.WikiHelper;
 import org.jboss.wiki.portlet.PortletWikiSession;
 
@@ -49,10 +50,10 @@
 	private final static Logger log = Logger
 			.getLogger(PortletAttributesExctractor.class);
 
+	private String appContext;
+	
 	private String hostURL;
 
-	private String appContext;
-
 	private WikiSession wikiSession;
 
 	private Credentials credentials;
@@ -78,7 +79,11 @@
 					+ ((rReq.getServerPort() == 80) ? "" : ":"
 							+ rReq.getServerPort());
 
-			appContext = rReq.getContextPath();
+			appContext = ConfigurationParser.getWikiContext();
+			
+			if (appContext == null) {
+				appContext = rReq.getContextPath();
+			}
 
 			wikiSession = new PortletWikiSession(rReq.getPortletSession());
 

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -52,6 +52,7 @@
 import org.jboss.wiki.WikiPage;
 import org.jboss.wiki.WikiPlugin;
 import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
 import org.jboss.wiki.exceptions.WikiManagementNotFoundException;
 import org.jboss.wiki.management.WikiServiceManagement;
 
@@ -130,7 +131,7 @@
 	public void doFilter(ServletRequest request, ServletResponse response,
 			FilterChain chain) throws IOException, ServletException {
 
-		String langCode = wikiEngine.defaultLangugeCode;
+		String langCode = ConfigurationParser.getDefaultLangugeCode();
 
 		if (request instanceof HttpServletRequest) {
 			HttpServletRequest httpRequest = (HttpServletRequest) request;

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/portlet/WikiPortletMyFaces.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/portlet/WikiPortletMyFaces.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/portlet/WikiPortletMyFaces.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -76,11 +76,11 @@
 	 */
 	public void processAction(ActionRequest request, ActionResponse response)
 			throws PortletException, IOException {
-		//if (sessionTimedOut(request))
-		//	return;
+		// if (sessionTimedOut(request))
+		// return;
 
 		log.info("pp action");
-		
+
 		setPortletRequestFlag(request);
 
 		// parse and setup any attachments if they are sent in
@@ -203,8 +203,10 @@
 		Map<String, String> paramMap = request.getParameterMap();
 
 		for (String key : paramMap.keySet()) {
-			response.setRenderParameter(key, request.getParameter(key));
-			log.info("Param: " + key + " = " + request.getParameter(key));
+			if (paramMatches(key)) {
+				response.setRenderParameter(key, request.getParameter(key));
+				log.info("Param: " + key + " = " + request.getParameter(key));
+			}
 		}
 
 		// add plugin parameters
@@ -216,4 +218,13 @@
 		}
 	}
 
+	private boolean paramMatches(String paramName) {
+		return (paramName.matches("var[123456789]\\d*"))
+				|| (paramName
+						.equals("org.apache.myfaces.portlet.MyFacesGenericPortlet.VIEW_ID"))
+				|| (paramName.equals("type")) || (paramName.equals("page"))
+				|| (paramName.equals("language"));
+
+	}
+
 }

Added: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/portlet/WikiPortletOld.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/portlet/WikiPortletOld.java	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/portlet/WikiPortletOld.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -0,0 +1,632 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wiki.portlet;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.GenericPortlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletSession;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.portlet.PortletFileUpload;
+import org.jboss.logging.Logger;
+import org.jboss.wiki.Credentials;
+import org.jboss.wiki.WikiCommon;
+import org.jboss.wiki.WikiContext;
+import org.jboss.wiki.WikiEngine;
+import org.jboss.wiki.WikiPage;
+import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
+import org.jboss.wiki.exceptions.EditSessionExpired;
+import org.jboss.wiki.exceptions.EditingNotAllowedException;
+import org.jboss.wiki.exceptions.WikiManagementNotFoundException;
+import org.jboss.wiki.exceptions.WikiSaveException;
+import org.jboss.wiki.management.WikiServiceManagement;
+
+/**
+ * The WikiPortlet.
+ * <p>
+ * 
+ * @author <a href="mailto:dsicore at jboss.org">Damon Sicore</a>
+ * @author <a href="mailto:tomasz.szymanski at jboss.com">Tomasz Szymanski</a>
+ * @version $Id$
+ */
+
+public class WikiPortletOld extends GenericPortlet {
+
+	final static String jspPath = "/WEB-INF/jsp/";
+
+	private static final String WINDOWS_FILE_NAME = "\\w:\\\\.+";
+
+	private String defaultPage = ConfigurationParser.getDefaultPage();
+
+	private WikiEngine wikiEngine;
+
+	private Logger log;
+
+	public void init() {
+		log = Logger.getLogger(WikiPortletOld.class);
+
+		WikiCommon wikiCommon = new WikiCommon();
+
+		try {
+			WikiServiceManagement wikiServiceMenagement = WikiCommon
+					.getWikiManagement();
+			wikiEngine = wikiServiceMenagement.getWikiEngine();
+		} catch (WikiManagementNotFoundException e1) {
+			log.error("Couldn't find WikiManagement", e1);
+			wikiEngine = new WikiEngine();
+		}
+	}
+
+	private Map<String, String> convertParameters(ActionRequest rReq) {
+		Map<String, String> convertedParameters = new HashMap<String, String>();
+
+		Map paramMap = rReq.getParameterMap();
+
+		for (Object key : paramMap.keySet()) {
+			try {
+				if (rReq.getParameter("editAction") != null) {
+					convertedParameters.put((String) key, new String(rReq
+							.getParameter((String) key).getBytes("ISO-8859-1"),
+							"UTF-8"));
+				} else {
+					convertedParameters.put((String) key, rReq
+							.getParameter((String) key));
+				}
+			} catch (UnsupportedEncodingException e) {
+				log.error(e);
+				convertedParameters.put((String) key, (String) paramMap
+						.get(key));
+			}
+		}
+
+		return convertedParameters;
+	}
+
+	public void processAction(ActionRequest rReq, ActionResponse rResp) {
+
+		Map<String, String> convertedParameters = convertParameters(rReq);
+
+		Credentials credentials = wikiEngine.getCredentialsInstance(rReq);
+
+		// wikiContext is null - to get refernece to actual page
+
+		WikiContext wikiContext = null;
+
+		if (PortletFileUpload.isMultipartContent(rReq)) {
+			DiskFileItemFactory factory = new DiskFileItemFactory();
+			PortletFileUpload dfu = new PortletFileUpload(factory);
+
+			// maximum allowed file upload size (10 MB)
+			dfu.setSizeMax(10 * 1000 * 1000);
+
+			try {
+				// get the FileItems
+				List fileItems = dfu.parseRequest(rReq);
+				Iterator iter = fileItems.iterator();
+				while (iter.hasNext()) {
+					FileItem item = (FileItem) iter.next();
+					if (item.isFormField()) {
+						// pass along to render request
+						String fieldName = item.getFieldName();
+						String value = item.getString();
+						rResp.setRenderParameter(fieldName, value);
+					} else {
+						// write the uploaded file to a new location
+						String fieldName = item.getFieldName();
+						String fileName = item.getName();
+
+						// change windows names (remove c:\bull\shit\)
+						if (fileName.matches(WINDOWS_FILE_NAME)) {
+							fileName = fileName.substring(fileName
+									.lastIndexOf('\\') + 1, fileName.length());
+						}
+
+						if (fileName.length() == 0) {
+							throw new FileUploadException("Wrong file name: "
+									+ item.getName());
+						}
+
+						// delete spaces
+
+						while (fileName.indexOf(' ') != -1) {
+							Character chr = fileName.charAt(fileName
+									.indexOf(' ') + 1);
+
+							fileName = fileName.substring(0, fileName
+									.indexOf(' '))
+									+ (char) Character.toUpperCase(chr)
+									+ fileName.substring(
+											fileName.indexOf(' ') + 2, fileName
+													.length());
+						}
+
+						String tempDir = System.getProperty("java.io.tmpdir");
+						String serverFileName = fieldName + fileName
+								+ "-portlet.tmp";
+
+						File serverFile = new File(tempDir, serverFileName);
+
+						item.write(serverFile);
+
+						log.info("serverFileName : " + tempDir + "/"
+								+ serverFileName + " filename: " + fileName);
+
+						WikiPage pageWithAtt = wikiEngine.getByName(
+								convertedParameters.get("page"), null,
+								(String) convertedParameters.get("language"));
+
+						FileInputStream fis = new FileInputStream(serverFile);
+
+						pageWithAtt.addAttachement(fis, fileName, credentials
+								.getName());
+
+						// at the end delete the temp file
+						serverFile.delete();
+					}
+				}
+			} catch (FileUploadException fue) {
+				String msg = "File Upload Exception: " + fue.getMessage();
+				rResp.setRenderParameter("error", msg);
+				getPortletContext().log(msg, fue);
+			} catch (Exception e) {
+				String msg = "Exception: " + e.getMessage();
+				rResp.setRenderParameter("error", msg);
+				getPortletContext().log(msg, e);
+			}
+		}
+
+		if (convertedParameters.get("page") != null
+				&& (convertedParameters.get("page").length() > 0)) {
+			StringBuffer sBuf = new StringBuffer(convertedParameters
+					.get("page"));
+
+			if (Character.isLowerCase(sBuf.charAt(0))) {
+				// change first letter to upper if it isn't
+				sBuf.setCharAt(0, Character.toUpperCase(sBuf.charAt(0)));
+			}
+
+			//
+			// Capitalise words in subpages
+			//
+
+			for (int i = 0; i < sBuf.length() - 1; i++) {
+				if ((sBuf.charAt(i) == '/')
+						&& (Character.isLowerCase(sBuf.charAt(i + 1)))) {
+					sBuf.setCharAt(i + 1, Character.toUpperCase(sBuf
+							.charAt(i + 1)));
+				}
+			}
+
+			rResp.setRenderParameter("page", sBuf.toString());
+
+		}
+
+		if (convertedParameters.get("searchQuery") != null) {
+			Map<String, Integer> pages = wikiEngine.findPages(
+					convertedParameters.get("searchQuery"),
+					(String) convertedParameters.get("language"));
+
+			rReq.getPortletSession().setAttribute("findResult", pages);
+
+			// show the results
+			rResp.setRenderParameter("page", "FindResult");
+		}
+
+		int i = 1;
+
+		while (convertedParameters.get("var" + i) != null) {
+			rReq.getPortletSession().setAttribute("var" + i,
+					convertedParameters.get("var" + i));
+			i++;
+		}
+
+		if (convertedParameters.get("action") != null) {
+			rResp.setRenderParameter("action", convertedParameters
+					.get("action"));
+		}
+
+		if (convertedParameters.get("type") != null) {
+			rResp.setRenderParameter("type", convertedParameters.get("type"));
+		}
+
+		if (convertedParameters.get("version") != null) {
+			log.info("[process action]Getting page "
+					+ convertedParameters.get("page") + " at version "
+					+ convertedParameters.get("version"));
+			rResp.setRenderParameter("version", convertedParameters
+					.get("version"));
+		}
+
+		if (convertedParameters.get("language") != null) {
+			rResp.setRenderParameter("language", (String) convertedParameters
+					.get("language"));
+		} else {
+			rResp.setRenderParameter("language", ConfigurationParser.getDefaultLangugeCode());
+		}
+
+		if (convertedParameters.get("editAction") != null) {
+			log.debug("EDITING PAGE");
+
+			String editedPageName = convertedParameters.get("editedPage");
+
+			// unlock page
+			WikiPage edPage = wikiEngine.getByName(editedPageName, wikiContext,
+					(String) convertedParameters.get("language"));
+
+			if (edPage != null) { // it may be null if the page isn't saved
+				// yet
+				edPage.unlock(credentials, Integer
+						.valueOf((String) convertedParameters
+								.get("editSessionId")));
+			}
+
+			// saving, previewing or canceling
+
+			if (convertedParameters.get("editAction").equals("Save")) {
+
+				// save the page
+
+				if (edPage == null) {
+					edPage = new WikiPage(editedPageName, credentials, "", 0,
+							0, new Date(), wikiEngine, true, true, null, null,
+							0, (String) convertedParameters.get("language"));
+				}
+
+				// save the page
+				try {
+					edPage.save(credentials, Integer
+							.valueOf((String) convertedParameters
+									.get("editSessionId")),
+							(String) convertedParameters.get("language"),
+							new PortletWikiSession(rReq.getPortletSession()), convertedParameters.get("wikiContent"));
+				} catch (NumberFormatException e) {
+					log.error(e);
+				} catch (EditSessionExpired e) {
+					rReq.setAttribute("errorMsg", e.getMessage());
+					log.error(e);
+				} catch (WikiSaveException e) {
+					rReq.setAttribute("errorMsg", e.getMessage());
+					log.error(e);
+				} catch (EditingNotAllowedException e) {
+					rReq.setAttribute("errorMsg", e.getMessage());
+					log.error(e);
+				}
+
+				// and finally remove old page object from memory to force
+				// reloading it
+				wikiEngine.refreshPage(edPage.getName(), edPage.getLangCode());
+			}
+		}
+
+	}
+
+	public void doView(RenderRequest rReq, RenderResponse rRes)
+			throws PortletException, java.io.IOException {
+		try {
+			WikiSession wikiSession = new PortletWikiSession(rReq
+					.getPortletSession());
+
+			Credentials credentials = wikiEngine.getCredentialsInstance(rReq);
+
+			String langCode = rReq.getParameter("language");
+
+			String wikiURL = rRes.createActionURL().toString() + "&language="
+					+ langCode;
+			
+			log.info(wikiURL);
+
+			rReq.setAttribute("actionURL", wikiURL);
+
+			if (langCode == null) {
+				langCode = ConfigurationParser.getDefaultLangugeCode();
+			}
+
+			boolean showPage = true;
+
+			// Create server host and put it into session for plugins
+			String hostURL = ((rReq.isSecure()) ? "https" : "http")
+					+ "://"
+					+ rReq.getServerName()
+					+ ((rReq.getServerPort() == 80) ? "" : ":"
+							+ rReq.getServerPort());
+
+			prepareSession(rReq.getPortletSession(), credentials, hostURL, wikiURL, rReq.isSecure());
+
+			/*
+			 * WikiPage noSuchPage = new WikiPage("", credentials, "There is no
+			 * such page. Click on EDIT to start it.", 0, 0, null,
+			 * wikiEngine.getMediaDataSource(), wikiEngine
+			 * .getAttachementDataSource(), true, true);
+			 */
+
+			String page = "Wiki.jsp";
+
+			String wikiPage = defaultPage;
+
+			WikiPage pageToShow = null;
+
+			WikiContext wikiContext = null;
+
+			if (rReq.getParameter("page") != null) {
+				wikiPage = rReq.getParameter("page");
+			}
+
+			if ((rReq.getParameter("action") != null)
+					&& (rReq.getParameter("action").equals("Attach"))) {
+				rReq.setAttribute("fileAttach", "true");
+			}
+
+			if ((rReq.getParameter("action") != null)
+					&& (rReq.getParameter("action").equals("Edit"))
+					&& (credentials.isLoggedIn())) {
+				page = "Edit.jsp";
+				showPage = false;
+
+				WikiContext editWikiContext = new WikiContext(credentials,
+						wikiEngine.getWikiType("edit"), wikiSession);
+
+				pageToShow = wikiEngine.getByName(wikiPage, editWikiContext,
+						langCode);
+
+				if ((pageToShow != null)
+						&& (!pageToShow.isEditable(credentials))) {
+					if (!credentials.isAdmin()) {
+						showPage = true;
+					}
+				} else {
+					if (rReq.getParameter("version") != null) {
+						// show previous version of page
+
+						log.info("Getting page " + wikiPage + " at version "
+								+ rReq.getParameter("version"));
+
+						if ((pageToShow.getLastVersion() > Integer.valueOf(rReq
+								.getParameter("version")))) {
+							pageToShow = wikiEngine
+									.getByName(wikiPage, editWikiContext,
+											Integer.valueOf(rReq
+													.getParameter("version")),
+											langCode);
+						}
+
+						if (pageToShow.getLastVersion() != pageToShow
+								.getVersion()) {
+							rReq.setAttribute("showedVersion", Integer
+									.valueOf(rReq.getParameter("version")));
+						}
+					} else {
+						pageToShow = wikiEngine.getByName(wikiPage,
+								editWikiContext, langCode);
+					}
+
+					if (pageToShow == null) {
+						// start editing new page
+						// wikiPage = defaultPage;
+
+						pageToShow = new WikiPage(wikiPage, credentials, "", 0,
+								0, new Date(), wikiEngine, true, true, null,
+								null, 0, langCode);
+						// wikiEngine.getByName(wikiPage, wikiContext);
+					}
+
+					int editSessionId = wikiEngine.getEditSessionId();
+
+					Date dateLock = wikiEngine.getByName(wikiPage, null,
+							langCode).lock(credentials, editSessionId);
+
+					rReq.setAttribute("editSessionId", String
+							.valueOf(editSessionId));
+
+					if (dateLock != null) {
+						rReq
+								.setAttribute(
+										"lockMsg",
+										"Page is locked by "
+												+ pageToShow.getLockUser()
+												+ " from "
+												+ dateLock
+												+ ".<br> I won't stop you from saving, but you or he can erease each other changes. Lock will expire: ");
+					}
+				}
+			} else if ((rReq.getParameter("action") != null)
+					&& (rReq.getParameter("action").equals("Info"))) {
+				page = "PageInfo.jsp";
+				showPage = false;
+
+				pageToShow = wikiEngine.getByName(wikiPage, null, langCode);
+
+				/*
+				 * if (pageToShow == null) { // if somebody entered a link to
+				 * info // non-existing page page = "Wiki.jsp"; try { pageToShow =
+				 * (WikiPage) noSuchPage.clone(); } catch
+				 * (CloneNotSupportedException cnse) { log.info(cnse); }
+				 * 
+				 * pageToShow.setName(wikiPage); } else {
+				 */
+				rReq.setAttribute("pageAtTop", pageToShow);
+
+			}
+
+			if (showPage) {
+				page = "Wiki.jsp";
+
+				String type = "html";
+
+				if (rReq.getParameter("type") != null) {
+					type = rReq.getParameter("type");
+					// log.info("Getting type: " + type);
+				}
+
+				wikiContext = new WikiContext(credentials, wikiEngine
+						.getWikiType(type), new PortletWikiSession(rReq
+						.getPortletSession()));
+
+				if (rReq.getParameter("version") != null) {
+					// show previous version of page
+					log.info("Getting page " + wikiPage + " at version "
+							+ rReq.getParameter("version"));
+					pageToShow = wikiEngine.getByName(wikiPage, wikiContext,
+							Integer.valueOf(rReq.getParameter("version")),
+							langCode);
+
+					if (pageToShow.getLastVersion() != pageToShow.getVersion()) {
+						rReq.setAttribute("showedVersion", Integer.valueOf(rReq
+								.getParameter("version")));
+					}
+				} else {
+					pageToShow = wikiEngine.getByName(wikiPage, wikiContext,
+							langCode);
+				}
+
+				/*
+				 * if (pageToShow == null) {
+				 * 
+				 * try { pageToShow = (WikiPage) noSuchPage.clone(); } catch
+				 * (CloneNotSupportedException cnse) { log.info(cnse); }
+				 * 
+				 * pageToShow.setName(wikiPage); }
+				 */
+
+			}
+
+			rReq
+					.setAttribute(
+							"wikiName",
+							"<img src=\""
+									+ hostURL
+									+ "/wiki/"
+									+ WikiCommon.wikiButtons
+									+ "/JBossWikiLogoMedium.png\" width=\"100\"  border=\"0\" style=\"vertical-align: middle\"/>");
+
+			rReq.setAttribute("wikiContent", pageToShow.getContent());
+
+			rReq.setAttribute("wikiImagesUrl", hostURL + "/wiki/"
+					+ WikiCommon.wikiButtons + "/");
+
+			rReq.setAttribute("wikiPage", pageToShow.getName());
+
+			rReq.setAttribute("editDate", pageToShow.getEditDate());
+
+			rReq.setAttribute("author", pageToShow.getLastAuthor());
+
+			rReq.setAttribute("logedIn", credentials.isLoggedIn());
+
+			rReq.setAttribute("defaultPage", defaultPage);
+
+			rReq.setAttribute("isEditable", pageToShow.isEditable(credentials));
+
+			rReq.setAttribute("isViewable", pageToShow.isViewable(credentials));
+
+			rReq.setAttribute("isAdmin", credentials.isAdmin());
+
+			rReq.setAttribute("usedLangs", wikiEngine.getUsedLanguageCodes());
+
+			rReq.setAttribute("currentLanguage", langCode);
+
+			rReq
+					.setAttribute(
+							"friendlyLink",
+							hostURL
+									+ "/wiki/"
+									+ ((!langCode
+											.equals(ConfigurationParser.getDefaultLangugeCode())) ? langCode
+											.toLowerCase()
+											+ "/"
+											: "") + pageToShow.getName());
+			rReq
+					.setAttribute(
+							"rssLink",
+							hostURL
+									+ "/wiki/"
+									+ ((!langCode
+											.equals(ConfigurationParser.getDefaultLangugeCode())) ? langCode
+											.toLowerCase()
+											+ "/"
+											: "") + "rss/"
+									+ pageToShow.getName());
+			rReq
+					.setAttribute(
+							"rdfLink",
+							hostURL
+									+ "/wiki/"
+									+ ((!langCode
+											.equals(ConfigurationParser.getDefaultLangugeCode())) ? langCode
+											.toLowerCase()
+											+ "/"
+											: "") + "rdf/"
+									+ pageToShow.getName());
+			rReq
+					.setAttribute(
+							"atomLink",
+							hostURL
+									+ "/wiki/"
+									+ ((!langCode
+											.equals(ConfigurationParser.getDefaultLangugeCode())) ? langCode
+											.toLowerCase()
+											+ "/"
+											: "") + "atom/"
+									+ pageToShow.getName());
+
+			rRes.setTitle("Wiki");
+			if (javax.portlet.WindowState.NORMAL.equals(rReq.getWindowState())
+					|| javax.portlet.WindowState.MAXIMIZED.equals(rReq
+							.getWindowState())) {
+				rRes.setContentType("text/html; charset=UTF-8");
+				javax.portlet.PortletRequestDispatcher pRD = this
+						.getPortletContext().getRequestDispatcher(
+								jspPath + page);
+				pRD.include(rReq, rRes);
+				return;
+			}
+			doDispatch(rReq, rRes);
+		} catch (RuntimeException e) {
+			e.printStackTrace();
+			throw (e);
+		}
+	}
+
+	private void prepareSession(PortletSession portletSession,
+			Credentials credentials, String hostURL, String wikiURL, Boolean isSecure) {
+		// prepare some data for plugins in session
+		portletSession.setAttribute(WikiSession.CREDENTIALS, credentials);
+		portletSession.setAttribute(WikiSession.HOST_URL, hostURL);
+		portletSession.setAttribute(WikiSession.ACTION_URL, wikiURL);
+		portletSession.setAttribute(WikiSession.IS_SECURE, isSecure);
+	}
+}
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiCommonSession.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiCommonSession.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiCommonSession.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -22,9 +22,12 @@
 
 package org.jboss.wiki.ui;
 
+import java.util.Map;
+
 import org.jboss.logging.Logger;
 import org.jboss.wiki.WikiEngine;
 import org.jboss.wiki.attributesextractor.AttributesExtractor;
+import org.jboss.wiki.configuration.ConfigurationParser;
 import org.jboss.wiki.helper.WikiHelper;
 
 /**
@@ -36,15 +39,17 @@
 public class WikiCommonSession {
 	private static final Logger log = Logger.getLogger(WikiCommonSession.class);
 	
-	private String pageName = WikiEngine.defaultPage;
+	private String pageName = ConfigurationParser.getDefaultPage();
 	
-	private String langCode = WikiEngine.defaultLangugeCode;
+	private String langCode = ConfigurationParser.getDefaultLangugeCode();
 	
 	private Integer pageVersion = null;
 	
 	private int pageToDiff;
 	
 	private AttributesExtractor attrExtractor;
+
+	private Map<String, Integer> searchResults;
 	
 	public WikiCommonSession() {
 		attrExtractor = WikiHelper.getAttributesExtractor(WikiHelper.getRequest(),
@@ -89,4 +94,12 @@
 	public boolean isUserLoggedIn() {
 		return attrExtractor.getCredentials().isLoggedIn();
 	}
+
+	public void setSearchResults(Map<String, Integer> searchResults) {
+		this.searchResults = searchResults;
+	}
+
+	public Map<String, Integer> getSearchResults() {
+		return searchResults;
+	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiView.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiView.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiView.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -23,6 +23,7 @@
 package org.jboss.wiki.ui;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Vector;
 
 import javax.faces.context.FacesContext;
@@ -35,6 +36,7 @@
 import org.jboss.wiki.WikiPage;
 import org.jboss.wiki.WikiType;
 import org.jboss.wiki.attributesextractor.AttributesExtractor;
+import org.jboss.wiki.configuration.ConfigurationParser;
 import org.jboss.wiki.helper.WikiHelper;
 
 /**
@@ -48,9 +50,13 @@
 
 	private static final Object TYPE_PARAM = "type";
 
+	private static final String FIND_ATTRIBUTE = "findResult";
+
 	private AttributesExtractor attrExtractor;
 
 	private WikiPage currentPage;
+	
+	private String searchQuery;
 
 	public WikiView() {
 		attrExtractor = WikiHelper.getAttributesExtractor(WikiHelper
@@ -89,7 +95,7 @@
 	public String getWikiMainPageURL() {
 		return attrExtractor.getHostURL() + attrExtractor.getAppContext() + "/"
 				+ WikiHelper.getWikiCommonSession().getLangCode() + "/"
-				+ WikiEngine.defaultPage;
+				+ ConfigurationParser.getDefaultPage();
 	}
 
 	public String getPageName() {
@@ -151,6 +157,10 @@
 					.getExternalContext().getRequestParameterMap().get(
 							TYPE_PARAM);
 		}
+		
+		if (attrExtractor.getWikiSession().getAttribute(FIND_ATTRIBUTE) != null) {
+			type = "find";
+		}
 
 		return type;
 	}
@@ -183,4 +193,27 @@
 		return false;
 	}
 
+	
+	public String search() {
+		
+		Map<String, Integer> pages = WikiHelper.getWikiEngine().findPages(
+				searchQuery, WikiHelper.getWikiCommonSession().getLangCode());
+
+		WikiHelper.getWikiCommonSession().setSearchResults(pages);
+		
+		attrExtractor.getWikiSession().setAttribute(FIND_ATTRIBUTE, pages);
+
+		// show the results
+		//rResp.setRenderParameter("page", "FindResult");
+		
+		return "";
+	}
+
+	public String getSearchQuery() {
+		return searchQuery;
+	}
+
+	public void setSearchQuery(String searchQuery) {
+		this.searchQuery = searchQuery;
+	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/Messages.properties
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/Messages.properties	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/Messages.properties	2007-02-22 21:58:04 UTC (rev 9716)
@@ -27,3 +27,4 @@
 
 addFile = Add file
 upload_error = File couldn't have been uploaded
+search = Search
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_view.xhtml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_view.xhtml	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_view.xhtml	2007-02-22 21:58:04 UTC (rev 9716)
@@ -40,10 +40,16 @@
 						<h:graphicImage value="#{wikiView.wikiImagesURL}#{msg.editButton}"/>	
 					</h:commandLink>
 					<h:commandLink action="history">
-						<h:graphicImage value="#{wikiView.wikiImagesURL}#{msg.historyButton}"/>	
+						<h:graphicImage value="#{wikiView.wikiImagesURL}#{msg.historyButton}" />	
 					</h:commandLink>
 				</h:form>
 			</h:panelGroup>
+			<h:panelGroup>
+				<h:form>
+					<h:inputText value="#{wikiView.searchQuery}" required="true" />
+					<h:commandButton value="#{msg.search}" action="#{wikiView.search}" />
+				</h:form>
+			</h:panelGroup>
 		</h:panelGrid>
 		
 		<h:panelGroup styleClass="otherVersionBox" rendered="#{wikiView.otherVersion}" >

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/etc/JBossWiki.properties
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/etc/JBossWiki.properties	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/etc/JBossWiki.properties	2007-02-22 21:58:04 UTC (rev 9716)
@@ -25,3 +25,6 @@
 
 #defaultLanguageCode - country letter of the default code language
 defaultLanguageCode=EN
+
+#default wikicontext - if you wanna use application context instead - just delete this property
+wikiContext=/wiki

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileAttachmentDataSource.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileAttachmentDataSource.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileAttachmentDataSource.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -33,6 +33,7 @@
 import java.util.Set;
 
 import org.jboss.logging.Logger;
+import org.jboss.wiki.configuration.ConfigurationParser;
 
 public class FileAttachmentDataSource implements AttachmentDataSource{
 
@@ -186,7 +187,7 @@
 
 	public void setWikiEngine(WikiEngine wikiEngine) {
 		if (langCode == null)
-			langCode = wikiEngine.defaultLangugeCode;
+			langCode = ConfigurationParser.getDefaultLangugeCode();
 	}
 	
 	public synchronized boolean deleteAttachment(String pageName,

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileMediaDataSource.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileMediaDataSource.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileMediaDataSource.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -38,6 +38,7 @@
 import java.util.TreeSet;
 
 import org.jboss.logging.Logger;
+import org.jboss.wiki.configuration.ConfigurationParser;
 import org.jboss.wiki.exceptions.DataSourceException;
 import org.jboss.wiki.exceptions.WikiSaveException;
 
@@ -88,7 +89,7 @@
 		this.wikiEngine = wikiEngine;
 
 		if (langCode == null)
-			langCode = wikiEngine.defaultLangugeCode;
+			langCode = ConfigurationParser.getDefaultLangugeCode();
 	}
 
 	public FileMediaDataSource() {
@@ -942,8 +943,8 @@
 
 		Map<String, String> map = new TreeMap<String, String>();
 
-		map.put(wikiEngine.defaultLangugeCode, wikiEngine.getAllLanguageCodes()
-				.get(wikiEngine.defaultLangugeCode));
+		map.put(ConfigurationParser.getDefaultLangugeCode(), wikiEngine.getAllLanguageCodes()
+				.get(ConfigurationParser.getDefaultLangugeCode()));
 
 		try {
 			File f = new File(pathToMedia + "/" + LANG_FILE);

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileWikiPageDictionary.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileWikiPageDictionary.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileWikiPageDictionary.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -32,6 +32,7 @@
 import java.util.Set;
 
 import org.jboss.logging.Logger;
+import org.jboss.wiki.configuration.ConfigurationParser;
 import org.jboss.wiki.exceptions.PageRenamingException;
 
 public class FileWikiPageDictionary implements WikiPageDictionary {
@@ -236,7 +237,7 @@
 	public void setWikiEngine(WikiEngine wikiEngine) {
 		
 		if (langCode == null)
-			langCode = wikiEngine.defaultLangugeCode;
+			langCode = ConfigurationParser.getDefaultLangugeCode();
 	}
 
 }

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuAttachmentDataSource.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuAttachmentDataSource.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuAttachmentDataSource.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -39,6 +39,7 @@
 import org.jboss.shotoku.exceptions.ResourceAlreadyExists;
 import org.jboss.shotoku.exceptions.ResourceDoesNotExist;
 import org.jboss.shotoku.exceptions.SaveException;
+import org.jboss.wiki.configuration.ConfigurationParser;
 
 public class ShotokuAttachmentDataSource implements AttachmentDataSource{
 
@@ -255,7 +256,7 @@
 		this.wikiEngine = wikiEngine;
 		
 		if (langCode == null) {
-			langCode = wikiEngine.defaultLangugeCode;
+			langCode = ConfigurationParser.getDefaultLangugeCode();
 		}
 	}
 

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuMediaDataSource.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuMediaDataSource.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuMediaDataSource.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -45,6 +45,7 @@
 import org.jboss.shotoku.exceptions.ResourceAlreadyExists;
 import org.jboss.shotoku.exceptions.ResourceDoesNotExist;
 import org.jboss.shotoku.exceptions.SaveException;
+import org.jboss.wiki.configuration.ConfigurationParser;
 import org.jboss.wiki.exceptions.DataSourceException;
 import org.jboss.wiki.exceptions.WikiSaveException;
 
@@ -480,7 +481,7 @@
 		this.wikiEngine = wikiEngine;
 		
 		if (langCode == null) {
-			langCode = wikiEngine.defaultLangugeCode;
+			langCode = ConfigurationParser.getDefaultLangugeCode();
 		}
 	}
 
@@ -584,8 +585,8 @@
 	public Map<String, String> getAvailableLanguages() {
 		Map<String, String> map = new TreeMap<String, String>();
 
-		map.put(wikiEngine.defaultLangugeCode, wikiEngine.getAllLanguageCodes()
-				.get(wikiEngine.defaultLangugeCode));
+		map.put(ConfigurationParser.getDefaultLangugeCode(), wikiEngine.getAllLanguageCodes()
+				.get(ConfigurationParser.getDefaultLangugeCode()));
 
 		try {
 			Directory dir = getBaseManager().getDirectory(LANG_DIR);

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuWikiPageDictionary.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuWikiPageDictionary.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/ShotokuWikiPageDictionary.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -36,6 +36,7 @@
 import org.jboss.shotoku.exceptions.ResourceAlreadyExists;
 import org.jboss.shotoku.exceptions.ResourceDoesNotExist;
 import org.jboss.shotoku.exceptions.SaveException;
+import org.jboss.wiki.configuration.ConfigurationParser;
 import org.jboss.wiki.exceptions.PageRenamingException;
 
 public class ShotokuWikiPageDictionary implements WikiPageDictionary {
@@ -194,7 +195,7 @@
 		this.wikiEngine = wikiEngine;
 
 		if (langCode == null) {
-			langCode = wikiEngine.defaultLangugeCode;
+			langCode = ConfigurationParser.getDefaultLangugeCode();
 		}
 	}
 

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/SimpleCredentials.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/SimpleCredentials.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/SimpleCredentials.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -37,6 +37,10 @@
 		this.name = name;
 	}
 	
+	public SimpleCredentials() {
+		this("default_user");
+	}
+	
 	public String getName() {
 		return name;
 	}

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -40,6 +40,7 @@
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 
+import org.jboss.wiki.configuration.ConfigurationParser;
 import org.jboss.wiki.exceptions.DataSourceException;
 import org.jboss.wiki.exceptions.EditingNotAllowedException;
 import org.jboss.wiki.exceptions.PageNotEditedException;
@@ -61,35 +62,14 @@
  */
 public class WikiEngine {
 
-	private static final String LANGUAGE_CODES_CLASS = "CountryCodes.xml";
-
-	/**
-	 * <p>
-	 * </p>
-	 * 
-	 */
-	public static String defaultPage = "Main";
-
-	public static final String PROPERTIES_FILENAME = "JBossWiki.properties";
-
-	public static final String DEFAULT_LANGUAGE_PROP = "defaultLanguageCode";
-
-	public static String defaultLangugeCode = "EN";
-
 	private HashMap<String, WikiType> wikiTypes;
 
 	private WikiPage noSuchPage;
 
-	private Integer sessionIdExpireTime = 120;
-
 	private int editSessionId = 0;
 
 	private Set<Integer> editedPages;
 
-	// private Semaphore s = new Semaphore(1);
-
-	private Class credentialsClass;
-
 	private Logger log;
 
 	private InsidePluginExcecutor insidePluginExcecutor;
@@ -100,6 +80,8 @@
 
 	private Map<String, LanguageDataSource> languageDataSources;
 
+	private static final String LANGUAGE_CODES_CLASS = "CountryCodes.xml";
+
 	public boolean pageExists(String pageName, String langCode) {
 		return languageDataSources.get(langCode).getMediaDataSource()
 				.pageExists(getUid(pageName, langCode));
@@ -122,7 +104,8 @@
 	}
 
 	private LanguageDataSource defaultDS() {
-		return languageDataSources.get(defaultLangugeCode);
+		return languageDataSources.get(ConfigurationParser
+				.getDefaultLangugeCode());
 	}
 
 	public synchronized WikiPage getByName(String pageName,
@@ -327,48 +310,19 @@
 
 		noSuchPage = new WikiPage("", new SimpleCredentials(""),
 				"There is no such page. Click on EDIT to start it.", 0, 0,
-				null, this, true, true, null, null, 0, defaultLangugeCode);
+				null, this, true, true, null, null, 0, ConfigurationParser
+						.getDefaultLangugeCode());
 
 		loadWikiTypes();
 		loadLanguageCodes();
 
 		insidePluginExcecutor = new InsidePluginExcecutor(this);
 
-		Properties jbosswikiprops = new Properties();
-
-		try {
-			jbosswikiprops.load(WikiEngine.class.getResourceAsStream("/"
-					+ PROPERTIES_FILENAME));
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-
-		// load all properties
-		if (jbosswikiprops.getProperty("defaultPage") != null) {
-			defaultPage = jbosswikiprops.getProperty("defaultPage");
-		}
-
-		if (jbosswikiprops.getProperty("sessionIdExpireTime") != null) {
-			sessionIdExpireTime = Integer.valueOf(jbosswikiprops
-					.getProperty("sessionIdExpireTime"));
-		}
-
-		if (jbosswikiprops.getProperty(DEFAULT_LANGUAGE_PROP) != null) {
-			defaultLangugeCode = jbosswikiprops
-					.getProperty(DEFAULT_LANGUAGE_PROP);
-		}
-
 		// add default language
-		usedLanguageCodes.put(defaultLangugeCode, allLanguageCodes
-				.get(defaultLangugeCode));
+		usedLanguageCodes.put(ConfigurationParser.getDefaultLangugeCode(),
+				allLanguageCodes.get(ConfigurationParser
+						.getDefaultLangugeCode()));
 
-		/*
-		 * mediaDataSource = new FileDataSource(); attachementDataSource = new
-		 * FileDataSource(); wikiPageDictionary = new FileDataSource();
-		 * 
-		 * 
-		 */
-
 		MediaDataSource mediaDataSource = null;
 
 		AttachmentDataSource attachmentDataSource = null;
@@ -376,12 +330,11 @@
 		WikiPageDictionary wikiPageDictionary = null;
 
 		// LOAD data sources
-		if (jbosswikiprops.getProperty("mediaDataSourceClass") != null) {
+		if (ConfigurationParser.getMediaDataSourceClass() != null) {
 			try {
 				mediaDataSource = (MediaDataSource) Thread.currentThread()
 						.getContextClassLoader().loadClass(
-								jbosswikiprops
-										.getProperty("mediaDataSourceClass"))
+								ConfigurationParser.getMediaDataSourceClass())
 						.newInstance();
 			} catch (InstantiationException e) {
 				log.error(e);
@@ -397,12 +350,10 @@
 			mediaDataSource = new FileMediaDataSource();
 		}
 
-		if (jbosswikiprops.getProperty("attachmentDataSourceClass") != null) {
+		if (ConfigurationParser.getAttachmentDataSourceClass() != null) {
 			try {
-				attachmentDataSource = (AttachmentDataSource) Class
-						.forName(
-								jbosswikiprops
-										.getProperty("attachmentDataSourceClass"))
+				attachmentDataSource = (AttachmentDataSource) Class.forName(
+						ConfigurationParser.getAttachmentDataSourceClass())
 						.newInstance();
 			} catch (InstantiationException e) {
 				log.error(e);
@@ -418,14 +369,12 @@
 			attachmentDataSource = new FileAttachmentDataSource();
 		}
 
-		if (jbosswikiprops.getProperty("wikiPageDictionaryClass") != null) {
+		if (ConfigurationParser.getWikiPageDictionaryClass() != null) {
 			try {
 				wikiPageDictionary = (WikiPageDictionary) Thread
-						.currentThread()
-						.getContextClassLoader()
-						.loadClass(
-								jbosswikiprops
-										.getProperty("wikiPageDictionaryClass"))
+						.currentThread().getContextClassLoader().loadClass(
+								ConfigurationParser
+										.getWikiPageDictionaryClass())
 						.newInstance();
 			} catch (InstantiationException e) {
 				log.error(e);
@@ -447,37 +396,18 @@
 
 		// create language data source pack for default language
 		LanguageDataSource languageDataSource = new LanguageDataSource(this,
-				defaultLangugeCode, mediaDataSource, attachmentDataSource,
-				wikiPageDictionary);
-		languageDataSources.put(defaultLangugeCode, languageDataSource);
+				ConfigurationParser.getDefaultLangugeCode(), mediaDataSource,
+				attachmentDataSource, wikiPageDictionary);
+		languageDataSources.put(ConfigurationParser.getDefaultLangugeCode(),
+				languageDataSource);
 
-		// load credential class
-		if (jbosswikiprops.getProperty("credentialsClass") != null) {
-			try {
-				credentialsClass = Thread.currentThread()
-						.getContextClassLoader().loadClass(
-								jbosswikiprops.getProperty("credentialsClass"));
-			} catch (ClassNotFoundException e) {
-				log.error("Coudln't load credentials class.", e);
-			}
-
-			if (credentialsClass != null)
-				log.info("Loaded credentialsClass: " + credentialsClass);
-		}
-
-		// if credentialClass didn't load or wasn't set
-		if (credentialsClass == null) {
-			credentialsClass = SimpleCredentials.class;
-			log.info("(SIMPLE)Loaded credentialsClass: " + credentialsClass);
-		}
-
 		// load all languageDSrces (except the default loaded one)
 
 		Map<String, String> langs = defaultDS().getMediaDataSource()
 				.getAvailableLanguages();
 
 		for (String lang : langs.keySet()) {
-			if (!lang.equals(defaultLangugeCode))
+			if (!lang.equals(ConfigurationParser.getDefaultLangugeCode()))
 				loadLanguage(lang);
 		}
 
@@ -656,58 +586,40 @@
 	}
 
 	public String getRealName(String uid, String langCode) {
-		/*String[] pageTokens = uid.split("/");
-
-		// log.info("Looking at page: (realName) "+uid);
-
-		if (pageTokens.length > 1) {
-			if (!languageDataSources.get(langCode).getWikiPageDictionary()
-					.getRealName(uid).equals(uid)) {
-
-				// this page is in dictionary
-				return languageDataSources.get(langCode)
-						.getWikiPageDictionary().getRealName(uid);
-			} else {
-				// log.info("checking parts");
-				// look if parts of this page are in dictionary
-
-				for (int i = pageTokens.length - 1; i > 0; i--) {
-					String page = "";
-					String suffix = "";
-					for (int j = 0; j < i; j++) {
-						page += "/" + pageTokens[j];
-					}
-
-					// build suffix
-
-					for (int j = i; j < pageTokens.length; j++) {
-						suffix += "/" + pageTokens[j];
-					}
-
-					page = page.substring(1);
-
-					// log.info("Looking at page: (realName) "+page);
-
-					if (!languageDataSources.get(langCode)
-							.getWikiPageDictionary().getRealName(page).equals(
-									page)) // this
-						// page
-						// is
-						// in
-						// dictionary
-						return languageDataSources.get(langCode)
-								.getWikiPageDictionary().getRealName(page)
-								+ suffix;
-
-				}
-
-				return uid;
-			}
-		} else
-			return languageDataSources.get(langCode).getWikiPageDictionary()
-					.getRealName(uid);*/
+		/*
+		 * String[] pageTokens = uid.split("/"); // log.info("Looking at page:
+		 * (realName) "+uid);
+		 * 
+		 * if (pageTokens.length > 1) { if
+		 * (!languageDataSources.get(langCode).getWikiPageDictionary()
+		 * .getRealName(uid).equals(uid)) { // this page is in dictionary return
+		 * languageDataSources.get(langCode)
+		 * .getWikiPageDictionary().getRealName(uid); } else { //
+		 * log.info("checking parts"); // look if parts of this page are in
+		 * dictionary
+		 * 
+		 * for (int i = pageTokens.length - 1; i > 0; i--) { String page = "";
+		 * String suffix = ""; for (int j = 0; j < i; j++) { page += "/" +
+		 * pageTokens[j]; } // build suffix
+		 * 
+		 * for (int j = i; j < pageTokens.length; j++) { suffix += "/" +
+		 * pageTokens[j]; }
+		 * 
+		 * page = page.substring(1); // log.info("Looking at page: (realName)
+		 * "+page);
+		 * 
+		 * if (!languageDataSources.get(langCode)
+		 * .getWikiPageDictionary().getRealName(page).equals( page)) // this //
+		 * page // is // in // dictionary return
+		 * languageDataSources.get(langCode)
+		 * .getWikiPageDictionary().getRealName(page) + suffix; }
+		 * 
+		 * return uid; } } else return
+		 * languageDataSources.get(langCode).getWikiPageDictionary()
+		 * .getRealName(uid);
+		 */
 		return languageDataSources.get(langCode).getWikiPageDictionary()
-		.getRealName(uid);
+				.getRealName(uid);
 	}
 
 	public String getUid(String realName, String langCode) {
@@ -723,14 +635,13 @@
 		 * 
 		 * for (int i = pageTokens.length - 1; i > 0; i--) { String page = "";
 		 * String suffix = ""; for (int j = 0; j < i; j++) { page += "/" +
-		 * pageTokens[j]; }
-		 *  // build suffix
+		 * pageTokens[j]; } // build suffix
 		 * 
 		 * for (int j = i; j < pageTokens.length; j++) { suffix += "/" +
 		 * pageTokens[j]; }
 		 * 
-		 * page = page.substring(1);
-		 *  // log.info("Looking at page: (uid) "+page);
+		 * page = page.substring(1); // log.info("Looking at page: (uid)
+		 * "+page);
 		 * 
 		 * if (!languageDataSources.get(langCode)
 		 * .getWikiPageDictionary().getUid(page).equals(page)) // this // page //
@@ -875,7 +786,7 @@
 		// put processed page to pages map
 		languageDataSources.get(langCode).getPages().put(page.getName(), page);
 
-		if (langCode.equals(defaultLangugeCode)) {
+		if (langCode.equals(ConfigurationParser.getDefaultLangugeCode())) {
 			languageDataSources.get(langCode).getMediaDataSource().savePage(
 					getUid(page.getName(), langCode), page);
 		} else {
@@ -952,7 +863,7 @@
 	}
 
 	public Integer getSessionIdExpireTime() {
-		return sessionIdExpireTime;
+		return ConfigurationParser.getSessionIdExpireTime();
 	}
 
 	public boolean arePagesEdited() {
@@ -984,14 +895,16 @@
 	public Credentials getCredentialsInstance(Object param) {
 		Credentials cred = null;
 
-		log.debug("Getting instance of " + credentialsClass.getName());
+		log.debug("Getting instance of "
+				+ ConfigurationParser.getCredentialsClass().getName());
 
 		try {
-			cred = (Credentials) credentialsClass.newInstance();
+			cred = (Credentials) ConfigurationParser.getCredentialsClass()
+					.newInstance();
 			cred.setParam(param);
 		} catch (InstantiationException e) {
 			log.error("Couldn't get instance of class "
-					+ credentialsClass.getName(), e);
+					+ ConfigurationParser.getCredentialsClass().getName(), e);
 		} catch (IllegalAccessException e) {
 			e.printStackTrace();
 		}
@@ -1035,22 +948,12 @@
 		AttachmentDataSource newADS = null;
 		WikiPageDictionary newWPD = null;
 
-		Properties jbosswikiprops = new Properties();
-
-		try {
-			jbosswikiprops.load(WikiEngine.class.getResourceAsStream("/"
-					+ PROPERTIES_FILENAME));
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-
 		// LOAD data sources
-		if (jbosswikiprops.getProperty("mediaDataSourceClass") != null) {
+		if (ConfigurationParser.getMediaDataSourceClass() != null) {
 			try {
 				newMDS = (MediaDataSource) Thread.currentThread()
 						.getContextClassLoader().loadClass(
-								jbosswikiprops
-										.getProperty("mediaDataSourceClass"))
+								ConfigurationParser.getMediaDataSourceClass())
 						.newInstance();
 			} catch (InstantiationException e) {
 				log.error(e);
@@ -1068,12 +971,10 @@
 
 		newMDS.setLanguageCode(langCode);
 
-		if (jbosswikiprops.getProperty("attachmentDataSourceClass") != null) {
+		if (ConfigurationParser.getAttachmentDataSourceClass() != null) {
 			try {
-				newADS = (AttachmentDataSource) Class
-						.forName(
-								jbosswikiprops
-										.getProperty("attachmentDataSourceClass"))
+				newADS = (AttachmentDataSource) Class.forName(
+						ConfigurationParser.getAttachmentDataSourceClass())
 						.newInstance();
 			} catch (InstantiationException e) {
 				log.error(e);
@@ -1091,14 +992,12 @@
 
 		newADS.setLanguageCode(langCode);
 
-		if (jbosswikiprops.getProperty("wikiPageDictionaryClass") != null) {
+		if (ConfigurationParser.getWikiPageDictionaryClass() != null) {
 			try {
-				newWPD = (WikiPageDictionary) Thread
-						.currentThread()
-						.getContextClassLoader()
-						.loadClass(
-								jbosswikiprops
-										.getProperty("wikiPageDictionaryClass"))
+				newWPD = (WikiPageDictionary) Thread.currentThread()
+						.getContextClassLoader().loadClass(
+								ConfigurationParser
+										.getWikiPageDictionaryClass())
 						.newInstance();
 			} catch (InstantiationException e) {
 				log.error(e);

Added: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/configuration/ConfigurationParser.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/configuration/ConfigurationParser.java	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/configuration/ConfigurationParser.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -0,0 +1,157 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.wiki.configuration;
+
+import java.io.IOException;
+import java.util.Properties;
+
+import org.jboss.logging.Logger;
+import org.jboss.wiki.SimpleCredentials;
+import org.jboss.wiki.WikiEngine;
+
+/**
+ * ConfigurationParser.java
+ * 
+ * @author <a href="mailto:tomasz.szymanski at jboss.com">Tomasz Szymanski</a>
+ */
+
+public class ConfigurationParser {
+	private static String defaultPage = "Main";
+
+	private static final String PROPERTIES_FILENAME = "JBossWiki.properties";
+
+	private static final String DEFAULT_LANGUAGE_PROP = "defaultLanguageCode";
+
+	private static String defaultLangugeCode = "EN";
+
+	private static Integer sessionIdExpireTime = 120;
+
+	private static String mediaDataSourceClass;
+
+	private static String attachmentDataSourceClass;
+
+	private static String wikiPageDictionaryClass;
+
+	private static String wikiContext;
+
+	private static Class credentialsClass;
+	
+	private static final Logger log = Logger.getLogger(ConfigurationParser.class);
+
+	static {
+		// load properties
+		reload();
+	}
+
+	public static void reload() {
+		Properties jbosswikiprops = new Properties();
+
+		try {
+			jbosswikiprops.load(WikiEngine.class.getResourceAsStream("/"
+					+ PROPERTIES_FILENAME));
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+
+		// load all properties
+		if (jbosswikiprops.getProperty("defaultPage") != null) {
+			defaultPage = jbosswikiprops.getProperty("defaultPage");
+		}
+		log.info("Default page: "+defaultPage);
+
+		if (jbosswikiprops.getProperty("sessionIdExpireTime") != null) {
+			sessionIdExpireTime = Integer.valueOf(jbosswikiprops
+					.getProperty("sessionIdExpireTime"));
+		}
+		log.info("SessionIdExpireTime: "+sessionIdExpireTime);
+
+		if (jbosswikiprops.getProperty(DEFAULT_LANGUAGE_PROP) != null) {
+			defaultLangugeCode = jbosswikiprops
+					.getProperty(DEFAULT_LANGUAGE_PROP);
+		}
+		log.info("Default Language Code: " + defaultLangugeCode);
+
+		wikiContext = jbosswikiprops.getProperty("wikiContext");
+		
+		log.info("WikiContext: "+wikiContext);
+
+		mediaDataSourceClass = jbosswikiprops
+				.getProperty("mediaDataSourceClass");
+		attachmentDataSourceClass = jbosswikiprops
+				.getProperty("attachmentDataSourceClass");
+		wikiPageDictionaryClass = jbosswikiprops
+				.getProperty("wikiPageDictionaryClass");
+		
+		log.info("MediaDataSource: "+mediaDataSourceClass);
+		log.info("attachmentDataSource: " +attachmentDataSourceClass);
+		log.info("WikiPage Dictionary: "+wikiPageDictionaryClass);
+
+//		 load credential class
+		try {
+			credentialsClass = Thread.currentThread().getContextClassLoader()
+					.loadClass(jbosswikiprops.getProperty("credentialsClass"));
+		} catch (ClassNotFoundException e) {
+			log.error(e);
+		}
+		
+//		 if credentialClass didn't load or wasn't set
+		if (credentialsClass == null) {
+			credentialsClass = SimpleCredentials.class;
+		}
+		
+		log.info("CredentialsClass: " + credentialsClass);
+	}
+
+	public static String getDefaultLangugeCode() {
+		return defaultLangugeCode;
+	}
+
+	public static String getDefaultPage() {
+		return defaultPage;
+	}
+
+	public static Integer getSessionIdExpireTime() {
+		return sessionIdExpireTime;
+	}
+
+	public static String getAttachmentDataSourceClass() {
+		return attachmentDataSourceClass;
+	}
+
+	public static String getMediaDataSourceClass() {
+		return mediaDataSourceClass;
+	}
+
+	public static String getWikiPageDictionaryClass() {
+		return wikiPageDictionaryClass;
+	}
+
+	public static String getWikiContext() {
+		return wikiContext;
+	}
+
+	public static Class getCredentialsClass() {
+		return credentialsClass;
+	}
+
+}

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/ATOMPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/ATOMPlugin.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/ATOMPlugin.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -27,6 +27,7 @@
 
 import org.jboss.wiki.WikiPlugin;
 import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
 
 public class ATOMPlugin extends WikiPlugin {
 
@@ -67,7 +68,7 @@
 				.append((String) wikiSession.getAttribute("hostURL")).append(
 						"/wiki/").append(
 								wikiPage.getLangCode().equals(
-										wikiEngine.defaultLangugeCode) ? "" : wikiPage
+										ConfigurationParser.getDefaultLangugeCode()) ? "" : wikiPage
 										.getLangCode().toLowerCase()
 										+ "/").append("atom/").append(wikiPage.getName()).append(
 						"\" />");
@@ -76,7 +77,7 @@
 				(String) wikiSession.getAttribute("hostURL")).append("/wiki/")
 				.append(
 						wikiPage.getLangCode().equals(
-								wikiEngine.defaultLangugeCode) ? "" : wikiPage
+								ConfigurationParser.getDefaultLangugeCode()) ? "" : wikiPage
 								.getLangCode().toLowerCase()
 								+ "/").append(wikiPage.getName()).append(
 						"\" />\n");

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -28,6 +28,7 @@
 import org.jboss.wiki.WikiPage;
 import org.jboss.wiki.WikiPlugin;
 import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
 
 public class AdminConsolePlugin extends WikiPlugin {
 
@@ -84,7 +85,7 @@
 						String nameToDelete = (String) wikiSession
 								.getAttribute("var2");
 
-						if (!nameToDelete.equals(WikiEngine.defaultPage)) {
+						if (!nameToDelete.equals(ConfigurationParser.getDefaultLangugeCode())) {
 							if (!wikiEngine.deletePage(nameToDelete,
 									deleteSubpages, wikiPage.getLangCode())) {
 								errorMsg += "Couldn't delete whole or parts of page: "
@@ -93,7 +94,7 @@
 							}
 						} else {
 							errorMsg += "You can't delete "
-									+ WikiEngine.defaultPage + " page !";
+									+ ConfigurationParser.getDefaultLangugeCode() + " page !";
 						}
 					}
 				} else if ((SHOWDELETE)
@@ -151,7 +152,7 @@
 
 				adminConsole.append("<h4>Page managment:</h4>");
 
-				if (!wikiPage.getName().equals(WikiEngine.defaultPage)) {
+				if (!wikiPage.getName().equals(ConfigurationParser.getDefaultLangugeCode())) {
 
 					// delete page button
 					adminConsole.append("<a href=\"").append(actionURL).append(

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminRenamingPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminRenamingPlugin.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminRenamingPlugin.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -30,6 +30,7 @@
 import org.jboss.wiki.WikiPage;
 import org.jboss.wiki.WikiPlugin;
 import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
 import org.jboss.wiki.exceptions.WikiException;
 
 public class AdminRenamingPlugin extends WikiPlugin {
@@ -174,7 +175,7 @@
 
 		return new WikiPage("AdminPage", credentials, adminContent.toString(),
 				0, 0, new Date(), wikiEngine, false, false, null, null,
-				adminContent.length(), wikiEngine.defaultLangugeCode);
+				adminContent.length(), ConfigurationParser.getDefaultLangugeCode());
 	}
 
 	@Override

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AttachmentListPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AttachmentListPlugin.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AttachmentListPlugin.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -27,6 +27,7 @@
 import org.jboss.wiki.WikiPage;
 import org.jboss.wiki.WikiPlugin;
 import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
 
 public class AttachmentListPlugin extends WikiPlugin {
 
@@ -36,7 +37,7 @@
 	public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) {
 		host = (String) wikiSession.getAttribute("hostURL")
 				+ "/wiki/"
-				+ (!wikiPage.getLangCode().equals(wikiEngine.defaultLangugeCode) ? wikiPage
+				+ (!wikiPage.getLangCode().equals(ConfigurationParser.getDefaultLangugeCode()) ? wikiPage
 						.getLangCode().toLowerCase()
 						+ "/"
 						: "");

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/FindResultPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/FindResultPlugin.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/FindResultPlugin.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -53,6 +53,8 @@
 		}
 
 		newPage.setContent(pageStr.toString());
+		
+		wikiSession.removeAttribute("findResult");
 
 		return newPage;
 	}

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/FriendlyLinkPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/FriendlyLinkPlugin.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/FriendlyLinkPlugin.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -28,6 +28,7 @@
 import org.jboss.wiki.WikiPage;
 import org.jboss.wiki.WikiPlugin;
 import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
 
 public class FriendlyLinkPlugin extends WikiPlugin {
 
@@ -46,7 +47,7 @@
 			String page = link.substring(link.lastIndexOf("&page=")+("&page=".length()), link.lastIndexOf("&language="));
 			String lang = link.substring(link.lastIndexOf("&language=")+("&language=".length()), link.length() - 2).toLowerCase() + "/";
 			
-			if (lang.equals(wikiEngine.defaultLangugeCode.toLowerCase() + "/")) {
+			if (lang.equals(ConfigurationParser.getDefaultLangugeCode().toLowerCase() + "/")) {
 				lang = "";
 			}
 			

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/HTMLTranslatorParts.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/HTMLTranslatorParts.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/HTMLTranslatorParts.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -64,6 +64,7 @@
 import org.jboss.wiki.WikiPage;
 import org.jboss.wiki.WikiPlugin;
 import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
 
 public class HTMLTranslatorParts extends WikiPlugin {
 
@@ -186,13 +187,13 @@
 
 				continue;
 			}
-			//
-			// CamelCase detection, a non-trivial endeavour.
-			// We keep track of all white-space separated entities, which we
-			// hereby refer to as "words". We then check for an existence
-			// of a CamelCase format text string inside the "word", and
-			// if one exists, we replace it with a proper link.
-			//
+			/*
+			 * CamelCase detection, a non-trivial endeavour. We keep track of
+			 * all white-space separated entities, which we hereby refer to as
+			 * "words". We then check for an existence of a CamelCase format
+			 * text string inside the "word", and if one exists, we replace it
+			 * with a proper link.
+			 */
 
 			if (m_camelCaseLinks) {
 				// Quick parse of start of a word boundary.
@@ -1030,9 +1031,9 @@
 		wikiHome = "";
 		imagePath = (String) wikiSession.getAttribute(WikiSession.HOST_URL)
 				+ "/wiki"
-				+ (!wikiPage.getLangCode().equals(wikiEngine.defaultLangugeCode) ? "/"
-						+ wikiPage.getLangCode().toLowerCase()
-						: "");
+				+ (!wikiPage.getLangCode().equals(
+						ConfigurationParser.getDefaultLangugeCode()) ? "/"
+						+ wikiPage.getLangCode().toLowerCase() : "");
 
 		try {
 			newPage = (WikiPage) wikiPage.clone();

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RDFPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RDFPlugin.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RDFPlugin.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -27,6 +27,7 @@
 
 import org.jboss.wiki.WikiPlugin;
 import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
 
 public class RDFPlugin extends WikiPlugin {
 
@@ -53,7 +54,7 @@
 				(String) wikiSession.getAttribute("hostURL")).append("/wiki/")
 				.append(
 						wikiPage.getLangCode().equals(
-								wikiEngine.defaultLangugeCode) ? "" : wikiPage
+								ConfigurationParser.getDefaultLangugeCode()) ? "" : wikiPage
 								.getLangCode().toLowerCase()
 								+ "/").append(wikiPage.getName()).append(
 						"\">\n");
@@ -62,7 +63,7 @@
 		rdfFeed.append("<link>" + (String) wikiSession.getAttribute("hostURL"))
 				.append("/wiki/").append(
 						wikiPage.getLangCode().equals(
-								wikiEngine.defaultLangugeCode) ? "" : wikiPage
+								ConfigurationParser.getDefaultLangugeCode()) ? "" : wikiPage
 								.getLangCode().toLowerCase()
 								+ "/").append(wikiPage.getName()).append(
 						"</link>\n");

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RSSPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RSSPlugin.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RSSPlugin.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -25,6 +25,7 @@
 
 import org.jboss.wiki.WikiPlugin;
 import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
 
 public class RSSPlugin extends WikiPlugin {
 
@@ -52,7 +53,7 @@
 				(String) wikiSession.getAttribute("hostURL")).append("/wiki/")
 				.append(
 						wikiPage.getLangCode().equals(
-								wikiEngine.defaultLangugeCode) ? "" : wikiPage
+								ConfigurationParser.getDefaultLangugeCode()) ? "" : wikiPage
 								.getLangCode().toLowerCase()
 								+ "/").append(wikiPage.getName()).append(
 						"</link>\n");

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/TranslateUids.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/TranslateUids.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/TranslateUids.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -44,7 +44,8 @@
 	@Override
 	public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) {
 
-		wikiPage.setContent(getNewContent(wikiPage.getContent(), wikiPage.getLangCode()));
+		wikiPage.setContent(getNewContent(wikiPage.getContent(), wikiPage
+				.getLangCode()));
 
 		return wikiPage;
 	}
@@ -102,7 +103,8 @@
 		return sBuf.toString();
 	}
 
-	protected void parsePart(StringBuffer sBuf, int start, int end, String langCode) {
+	protected void parsePart(StringBuffer sBuf, int start, int end,
+			String langCode) {
 
 		boolean insideLink = false;
 		Integer wordBegin = null;
@@ -133,11 +135,12 @@
 					// "+sBuf.substring(wordBegin, wordEnd));
 
 					// if word is GT 0
+					String linkStr = sBuf.substring(wordBegin, wordEnd);
 
-					if (!HTMLTranslatorParts.isExternalLink(sBuf.substring(
-							wordBegin, wordEnd))) {
-						String link = HTMLTranslatorParts.cleanLink(sBuf
-								.substring(wordBegin, wordEnd));
+					if (!HTMLTranslatorParts.isExternalLink(linkStr)
+							&& !HTMLTranslatorParts.isPluginLink(linkStr)
+							&& !HTMLTranslatorParts.checkImageLink(linkStr)) {
+						String link = HTMLTranslatorParts.cleanLink(linkStr);
 
 						if (link != changeName(link, langCode)) {
 							begins.add(wordBegin);

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-test/.classpath
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-test/.classpath	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-test/.classpath	2007-02-22 21:58:04 UTC (rev 9716)
@@ -1,56 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
 <classpath>
-  <classpathentry excluding="" kind="src" path="src/java">
-  </classpathentry>
-  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/log4j/jars/log4j-1.2.9.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/wiki-common/jars/wiki-common.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/javax.servlet.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/javax.servlet.jsp.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-3.8.1.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/activation.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/commons-fileupload/jars/commons-fileupload-1.0.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/commons-configuration/jars/commons-configuration-1.1.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/commons-lang/jars/commons-lang-2.1.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/commons-collections/jars/commons-collections-3.1.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/dom4j/jars/dom4j-1.6.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jdom/jars/jdom-1.0.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-ejb3x.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-ejb3.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/portlet-api/jars/portlet-api-1.0.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-jmx.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-common.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-common-lib.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-core-lib.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-portlet-lib.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jbossall-client-3.2.3.jar">
-  </classpathentry>
-  <classpathentry kind="lib" path="/home/tomek/java/sandbox/portal-extensions/shotoku/shotoku-base/target/shotoku-base.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/shotoku/jars/shotoku-aop.jar">
-  </classpathentry>
-  <classpathentry kind="output" path="target/classes">
-  </classpathentry>
-</classpath>
\ No newline at end of file
+	<classpathentry kind="src" path="src/java"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="var" path="MAVEN_REPO/log4j/jars/log4j-1.2.9.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/javax.servlet.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/javax.servlet.jsp.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-3.8.1.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/activation.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/commons-fileupload/jars/commons-fileupload-1.0.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/commons-configuration/jars/commons-configuration-1.1.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/commons-lang/jars/commons-lang-2.1.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/commons-collections/jars/commons-collections-3.1.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/dom4j/jars/dom4j-1.6.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jdom/jars/jdom-1.0.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-ejb3x.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-ejb3.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/portlet-api/jars/portlet-api-1.0.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-jmx.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-common.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-common-lib.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-core-lib.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-portlet-lib.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jbossall-client-3.2.3.jar"/>
+	<classpathentry kind="lib" path="/home/tomek/java/sandbox/portal-extensions/shotoku/shotoku-base/target/shotoku-base.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/shotoku/jars/shotoku-aop.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/wiki-common"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-test/src/java/org/jboss/wiki/test/WikiTest.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-test/src/java/org/jboss/wiki/test/WikiTest.java	2007-02-22 21:53:50 UTC (rev 9715)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/wiki-test/src/java/org/jboss/wiki/test/WikiTest.java	2007-02-22 21:58:04 UTC (rev 9716)
@@ -39,6 +39,7 @@
 import org.jboss.wiki.WikiEngine;
 import org.jboss.wiki.WikiPage;
 import org.jboss.wiki.WikiSession;
+import org.jboss.wiki.configuration.ConfigurationParser;
 import org.jboss.wiki.exceptions.PageRenamingException;
 import org.jboss.wiki.exceptions.WikiException;
 import org.jboss.wiki.exceptions.WikiManagementNotFoundException;
@@ -108,7 +109,7 @@
 		testWikiSession.setAttribute("actionURL", actionURL);
 		testWikiSession.setAttribute("hostURL", hostURL);
 
-		langCode = wikiEngine.defaultLangugeCode;
+		langCode = ConfigurationParser.getDefaultLangugeCode();
 
 		roles = new TreeSet<String>();
 		roles.add(ROLE_NAME);




More information about the jboss-svn-commits mailing list