[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