You are viewing a plain text version of this content. The canonical link for it is here.
Posted to graffito-commits@incubator.apache.org by cl...@apache.org on 2006/10/09 21:28:32 UTC

svn commit: r454522 [1/10] - in /incubator/graffito/trunk: applications/browser/src/java/org/apache/portals/graffito/servlets/ applications/browser/src/java/org/apache/portals/graffito/servlets/browser/ applications/browser/src/webapp/META-INF/ applica...

Author: clombart
Date: Mon Oct  9 14:28:27 2006
New Revision: 454522

URL: http://svn.apache.org/viewvc?view=rev&rev=454522
Log:
Upgrate the HTML Kupu editor (1.3.5).
This is not yet complete. 

Added:
    incubator/graffito/trunk/applications/browser/src/java/org/apache/portals/graffito/servlets/
    incubator/graffito/trunk/applications/browser/src/java/org/apache/portals/graffito/servlets/browser/
    incubator/graffito/trunk/applications/browser/src/java/org/apache/portals/graffito/servlets/browser/UpdateServlet.java
    incubator/graffito/trunk/applications/browser/src/webapp/META-INF/
    incubator/graffito/trunk/applications/browser/src/webapp/META-INF/context.xml
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/fulldoc.html
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu-original.html
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu-pox.cgi   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.cgi   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.pox
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.pox.jspx
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.vm
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupubasetools.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupubeforeunload.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupublank.html
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupucleanupexpressions.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupucnf.html
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupucnftable.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupucontentfilters.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupucontentstyles.css
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupucontextmenu.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/.objects
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/allimages.xml   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/drawer.xsl   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/drawer.xsl.metadata
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/imagelibrary.xml   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/kupubuttons.xml
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/linklibrary.xml   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos.xml   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/bitflux_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/bitflux_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/bubnbros.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/bubnbros_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/codespeak_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/codespeak_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/diver_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/diver_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/eth_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/eth_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/infrae_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/infrae_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/kupu_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/kupu_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/lenya_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/lenya_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/opensource.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/opensource_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/oscom4_banner.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/oscom4_banner_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/oscom_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/oscom_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/plone_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/plone_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/pypy_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/pypy_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/silva_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/silva_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/twiki_logo.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/twiki_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/zea_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/zea_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/zope_logo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawers/logos/zope_logo_preview.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupudrawerstyles.css
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupueditor.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuform.html
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuhelpers.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/background-color.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/bold.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/bold.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/buttons.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/caret.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/closed.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/copy.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/create-new.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/cut.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/definitionlist.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/document.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/exit.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/exthyperlink.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/folder.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/fonts.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/format.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/hr.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/image.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/indent.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/indent.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/inthyperlink.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/italic.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/italic.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/justify-center.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/justify-full.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/justify-left.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/justify-right.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/kupu_icon.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/kupulibrary.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/kupusearch_icon.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/larger-text.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/link.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/opened.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/ordered-list.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/outdent.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/paste.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/redo-disabled.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/redo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/remove.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/save.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/size.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/smaller-text.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/space.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/strikethrough.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/subscript.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/superscript.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/table.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/text-check.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/text-color.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/toolbarbg_blue.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/toolbarbg_green.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/toolbarbg_purple.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/toolbarbg_wood.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/underline.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/underline.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/undo-disabled.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/undo.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/unlink.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/unordered-list.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/view-source.png   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/zoom-in.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuimages/zoom-out.gif   (with props)
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuinit.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuinit_experimental.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuinit_form.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuinit_genericelements.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuinit_multi.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuinspector.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuloggers.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupumacros.html
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupumulti.html
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupumultieditor.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupunoi18n.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupupopups/
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupupopups/image.html
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupupopups/link.html
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupusaveonpart.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupusourceedit.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupuspellchecker.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupustart.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupustart_form.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupustart_multi.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupustyles.css
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kuputoolcollapser.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/sarissa.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/sarissa_ieemu_xpath.js
    incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/spellcheck.cgi   (with props)
    incubator/graffito/trunk/jetspeed2-deploy/src/java/org/apache/portals/jetspeed/valve/GraffitoCleanUpContextValve.java

Added: incubator/graffito/trunk/applications/browser/src/java/org/apache/portals/graffito/servlets/browser/UpdateServlet.java
URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/applications/browser/src/java/org/apache/portals/graffito/servlets/browser/UpdateServlet.java?view=auto&rev=454522
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/java/org/apache/portals/graffito/servlets/browser/UpdateServlet.java (added)
+++ incubator/graffito/trunk/applications/browser/src/java/org/apache/portals/graffito/servlets/browser/UpdateServlet.java Mon Oct  9 14:28:27 2006
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2000-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.portals.graffito.servlets.browser;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.PortletException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.portals.graffito.exception.ContentManagementException;
+import org.apache.portals.graffito.model.dm.Document;
+import org.apache.portals.graffito.portlets.bean.BeanUtil;
+import org.apache.portals.graffito.portlets.browser.session.BrowserSession;
+import org.apache.portals.graffito.portlets.browser.session.SessionUtil;
+import org.apache.portals.graffito.portlets.page.action.PortletActionInfo;
+import org.apache.portals.graffito.portlets.page.manager.PortletPageManager;
+import org.apache.portals.graffito.portlets.util.ServiceUtil;
+import org.apache.portals.graffito.services.dm.DocumentModelService;
+import org.apache.portals.graffito.util.StreamUtil;
+
+
+
+
+/**
+ * This servlet can be used to update a document stream like a word document, images, pdf, ....
+ * It used the HTTP put method.  
+ * 
+ * @author <a href="mailto:christophe.lombart@gmail.com">Christophe Lombart</a>
+ * @version $Id:  Exp $
+ */
+public class UpdateServlet extends HttpServlet
+{
+    /** URI REQUEST PARAM */
+    private static final String URI_PARAM = "uri";
+    private static final String FOLDER_EDIT_PAGE = "folderEdit";
+    private static final String SELECTED_EDIT_PAGE_ID = "javax.portlet.p.graffitoBrowser?selectedEditPageId";
+	    
+    protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
+    {
+    	if (request.getSession() == null)
+    	{
+    		throw new ServletException("Invalid Session - you are not connected to the portal");
+    	}
+    	
+    	BrowserSession browserSession = SessionUtil.getBrowserSession(request);
+    	if (browserSession == null)
+    	{
+    		throw new ServletException("Invalid Session - Browser Info is not defined ");	
+    	}
+    	
+    	if (browserSession.isInsert())
+    	{
+    	   this.insert(request, browserSession);	
+    	}
+    	else
+    	{
+    		this.update(request, browserSession);
+    	}
+    }
+    
+    public void insert(HttpServletRequest request, BrowserSession browserSession) throws ServletException
+    {
+        try
+        {
+                            
+            DocumentModelService documentService = ServiceUtil.getDocumentService();            
+            Document document = (Document) browserSession.getWizardInfo();
+            
+            BeanUtil.populate(request, document);
+            InputStream inputStream =  request.getInputStream();
+            if (inputStream != null)
+            {
+                    if (request.getCharacterEncoding() != null)
+                    {                    	
+                    	document.getDocumentStream().setEncoding(request.getCharacterEncoding());
+                    }
+                    document.getDocumentStream().setContent(inputStream);
+                
+                    document.setSize(request.getContentLength());
+                    documentService.addDocument(document);
+                    
+            }
+            else
+            {
+            	throw new ServletException("the document stream is empty ");
+            }
+                        
+        }
+        catch (Exception e)
+        {
+        	throw new ServletException("Impossible to insert the document", e);
+        }
+        
+    }
+    
+    public void update(HttpServletRequest request, BrowserSession browserSession) throws ServletException
+    {
+        try
+        {
+                            
+            DocumentModelService documentService = ServiceUtil.getDocumentService();            
+            Document document = documentService.getDocument(browserSession.getUri());
+                        
+            InputStream inputStream =  request.getInputStream();
+            if (inputStream != null)
+            {
+                    if (request.getCharacterEncoding() != null)
+                    {                    	
+                    	document.getDocumentStream().setEncoding(request.getCharacterEncoding());
+                    }
+                    document.getDocumentStream().setContent(inputStream);
+                
+                    document.setSize(request.getContentLength());
+                    documentService.updateDocument(document);
+            }
+            else
+            {
+            	throw new ServletException("the document stream is empty ");
+            }
+                        
+        }
+        catch (Exception e)
+        {
+        	throw new ServletException("Impossible to insert the document", e);
+        }
+        
+    }
+    
+}

Added: incubator/graffito/trunk/applications/browser/src/webapp/META-INF/context.xml
URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/applications/browser/src/webapp/META-INF/context.xml?view=auto&rev=454522
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/META-INF/context.xml (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/META-INF/context.xml Mon Oct  9 14:28:27 2006
@@ -0,0 +1,18 @@
+<!--
+Copyright 2004 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+  $Id: context.xml 348264 2005-11-22 22:06:45Z taylor $
+-->
+<Context crossContext="true"/>

Added: incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/fulldoc.html
URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/fulldoc.html?view=auto&rev=454522
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/fulldoc.html (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/fulldoc.html Mon Oct  9 14:28:27 2006
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <title>Test Content Document</title>
+
+ <link href="kupucontentstyles.css" rel="stylesheet" type="text/css" />
+
+ <!-- headers to prevent the browser from caching, these *must* be provided,
+        either in meta-tag form or as HTTP headers -->
+ <meta http-equiv="Pragma" content="no-cache" />
+ <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
+
+ <!-- make sure the browser's charset is UTF-8 -->
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
+
+ <!-- some meta data, customizations could build property tools that
+        edit more of them -->
+ <meta name="Subject" content="" />
+ <meta name="Publisher" content="No publisher" />
+ <meta name="Description" content="Document-centric editing overview." />
+ <meta name="Contributors" content="" />
+ <meta name="Effective_date" content="None" />
+ <meta name="Expiration_date" content="None" />
+ <meta name="Type" content="Document" />
+ <meta name="Format" content="text/html" />
+ <meta name="Language" content="" />
+ <meta name="Rights" content="" />
+ </head>
+<body>
+
+<h1>Document-Centric Editing</h1>
+
+<p>There are two approaches to content editing in a web browser.  The
+first is a <em>data-oriented</em> approach, where the content is split into
+concrete parts.  The editing occurs in a <code>&lt;form&gt;</code> with various 
+fields. This approach fits best when there are specific pieces of information 
+needed for the resource.</p>
+<p>The second is a <em>document-oriented</em> approach, where the essence of 
+the resource is free-flowing. This does not mean that the content is 
+unstructured, but it is less rigid than fields. Often there are elements that
+provide metadata for the resource.</p>
+
+<p>Most information in organizations is free-flowing, as studies show.
+For these cases, a rich editor like Kupu makes sense.  Equally, these
+cases point towards a <em>document-centric</em> approach, rather than
+rigid <a title="HTML Specification" href="http://www.w3.org/Markup">HTML</a> 
+forms.</p>
+
+<p>The following table shows different aspects, and happens to give 
+us a chance to test table editing in Kupu:</p>
+
+<h4>Comparing Data- and Document-Centric</h4>
+<table border="0" class="plain" cellspacing="0">
+<tbody>
+    <tr>
+        <th>&nbsp;</th>
+        <th>Data-centric</th>
+        <th>Document-centric</th>
+    </tr>
+    <tr>
+        <td>Implementation</td>
+        <td>form fields</td>
+        <td>iframe</td>
+    </tr>
+    <tr>
+        <td>Metadata</td>
+        <td>form elements</td>
+        <td>iframe document "head"</td>
+    </tr>
+</tbody>
+</table>
+
+
+</body>
+</html>

Added: incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu-original.html
URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu-original.html?view=auto&rev=454522
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu-original.html (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu-original.html Mon Oct  9 14:28:27 2006
@@ -0,0 +1,542 @@
+#set ($MESSAGES = $portletConfig.getResourceBundle($renderRequest.Locale))
+#set ($document = $documentDTO.getDocument())
+#set ($browserSession = $renderRequest.getPortletSession().getAttribute("browserSession"))
+
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:domain="kupu">
+
+  
+    <head>
+      
+    <title>Test Editor</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+  
+    <link href="$renderRequest.getContextPath()/new-kupu/kupustyles.css" rel="stylesheet" type="text/css"/> 
+    <link href="$renderRequest.getContextPath()/new-kupu/kupudrawerstyles.css" rel="stylesheet" type="text/css"/>
+  
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/sarissa.js"> </script>
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/sarissa_ieemu_xpath.js"> </script>
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupuhelpers.js"> </script>
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupueditor.js"> </script>
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupubasetools.js"> </script>
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupuloggers.js"> </script>
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupunoi18n.js"> </script>
+    <!-- script type="text/javascript" src="../../i18n.js/i18n.js"> </script -->
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupucleanupexpressions.js"> </script>
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupucontentfilters.js"> </script>
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kuputoolcollapser.js"> </script>
+  
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupucontextmenu.js"> </script>
+  
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupuinit.js"> </script>
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupustart.js"> </script>
+  
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupusaveonpart.js"> </script>
+  
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupusourceedit.js"> </script>
+  
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupuspellchecker.js"> </script>
+  
+    <script type="text/javascript" src="$renderRequest.getContextPath()/new-kupu/kupudrawers.js"> </script>
+  
+    </head>
+  
+    <body onload="kupu = startKupu()">
+
+	#if($browserSession.isInsert())				
+		#set($paramSubmit = "?portletAction_document.insert")
+	#else
+		#set($paramSubmit = "?portletAction_document.save")
+	#end
+
+      
+    <div style="display: none;">
+      <xml id="kupuconfig" class="kupuconfig">
+        <kupuconfig>
+          
+    <dst>$renderRequest.getContextPath()/$paramSubmit</dst>
+    <use_css>1</use_css>
+    <reload_after_save>0</reload_after_save>
+    <strict_output>1</strict_output>
+    <content_type>application/xhtml+xml</content_type>
+    <compatible_singletons>1</compatible_singletons>
+    <table_classes>
+      <class>plain</class>
+      <class>listing</class>
+      <class>grid</class>
+      <class>data</class>
+    </table_classes>
+
+    <cleanup_expressions>
+      <set>
+        <name>Convert single quotes to curly ones</name>
+        <expression>
+          <reg>
+            (\W)'
+          </reg>
+          <replacement>
+            \1&#8216;
+          </replacement>
+        </expression>
+        <expression>
+          <reg>
+            '
+          </reg>
+          <replacement>
+            &#8217;
+          </replacement>
+        </expression>
+      </set>
+      <set>
+        <name>Reduce whitespace</name>
+        <expression>
+          <reg>
+            [\n\r\t]
+          </reg>
+          <replacement>
+            \x20
+          </replacement>
+        </expression>
+        <expression>
+          <reg>
+            [ ]{2}
+          </reg>
+          <replacement>
+            \x20
+          </replacement>
+        </expression>
+      </set>
+    </cleanup_expressions>
+  
+    <image_xsl_uri>kupudrawers/drawer.xsl</image_xsl_uri>
+    <link_xsl_uri>kupudrawers/drawer.xsl</link_xsl_uri>
+    <image_libraries_uri>kupudrawers/imagelibrary.xml</image_libraries_uri>
+    <link_libraries_uri>kupudrawers/linklibrary.xml</link_libraries_uri>
+    <search_images_uri> </search_images_uri>
+    <search_links_uri> </search_links_uri>
+  
+        </kupuconfig>
+      </xml>
+    </div>
+  
+    <div class="kupu-fulleditor">
+      
+    <div class="kupu-tb" id="toolbar">
+      
+    <span id="kupu-tb-buttons" class="kupu-tb-buttons">
+      
+    <span class="kupu-tb-buttongroup kupu-logo" style="float: right" id="kupu-logo">
+      <button type="button" class="kupu-logo" title="Kupu 1.3.5" i18n:attributes="title" accesskey="k" onclick="window.open('http://kupu.oscom.org');">&#160;</button>
+    </span>
+  
+    <span class="kupu-tb-buttongroup" style="float: right" id="kupu-zoom">
+      <button type="button" class="kupu-zoom" id="kupu-zoom-button" i18n:attributes="title" title="zoom: alt-x" accesskey="x">&#160;</button>
+    </span>
+  
+    <select id="kupu-tb-styles">
+      <option value="P" i18n:translate="">
+        Normal
+      </option>
+      <option value="H1">
+        <span i18n:translate="">Heading 1</span>
+      </option>
+      <option value="H2">
+        <span i18n:translate="">Heading 2</span>
+      </option>
+      <option value="H3">
+        <span i18n:translate="">Heading 3</span>
+      </option>
+      <option value="H4">
+        <span i18n:translate="">Heading 4</span>
+      </option>
+      <option value="H5">
+        <span i18n:translate="">Heading 5</span>
+      </option>
+      <option value="H6">
+        <span i18n:translate="">Heading 6</span>
+      </option>
+      <option value="PRE" i18n:translate="">
+        Formatted
+      </option>
+    </select>
+  
+    <span class="kupu-tb-buttongroup">
+      <button type="button" class="kupu-save" id="kupu-save-button" title="save: alt-s" i18n:attributes="title" accesskey="s">&#160;</button>
+    </span>
+  
+    <span class="kupu-tb-buttongroup" id="kupu-bg-basicmarkup">
+      <button type="button" class="kupu-bold" id="kupu-bold-button" title="bold: alt-b" i18n:attributes="title" accesskey="b">&#160;</button>
+      <button type="button" class="kupu-italic" id="kupu-italic-button" title="italic: alt-i" i18n:attributes="title" accesskey="i">&#160;</button>
+      <button type="button" class="kupu-underline" id="kupu-underline-button" title="underline: alt-u" i18n:attributes="title" accesskey="u">&#160;</button>
+    </span>
+  
+    <span class="kupu-tb-buttongroup" id="kupu-bg-subsuper">
+      <button type="button" class="kupu-subscript" id="kupu-subscript-button" title="subscript: alt--" i18n:attributes="title" accesskey="-">&#160;</button>
+      <button type="button" class="kupu-superscript" id="kupu-superscript-button" title="superscript: alt-+" i18n:attributes="title" accesskey="+">&#160;</button>
+    </span>
+  
+    <span class="kupu-tb-buttongroup">
+      
+      <button type="button" class="kupu-forecolor" id="kupu-forecolor-button" title="text color: alt-f" i18n:attributes="title" accesskey="f">&#160;</button>
+      <button type="button" class="kupu-hilitecolor" id="kupu-hilitecolor-button" title="background color: alt-h" i18n:attributes="title" accesskey="h">&#160;</button>
+    </span>
+  
+    <span class="kupu-tb-buttongroup" id="kupu-bg-justify">
+      <button type="button" class="kupu-justifyleft" id="kupu-justifyleft-button" title="left justify: alt-l" i18n:attributes="title" accesskey="l">&#160;</button>
+      <button type="button" class="kupu-justifycenter" id="kupu-justifycenter-button" title="center justify: alt-c" i18n:attributes="title" accesskey="c">&#160;</button>
+      <button type="button" class="kupu-justifyright" id="kupu-justifyright-button" title="right justify: alt-r" i18n:attributes="title" accesskey="r">&#160;</button>
+    </span>
+  
+              <span class="kupu-tb-buttongroup" id="kupu-bg-list">
+      
+      <button type="button" class="kupu-insertorderedlist" title="numbered list: alt-#" id="kupu-list-ol-addbutton" i18n:attributes="title" accesskey="#">&#160;</button>
+      <button type="button" class="kupu-insertunorderedlist" title="unordered list: alt-*" id="kupu-list-ul-addbutton" i18n:attributes="title" accesskey="*">&#160;</button>
+              </span>
+  
+    <span class="kupu-tb-buttongroup" id="kupu-bg-definitionlist">
+      
+      <button type="button" class="kupu-insertdefinitionlist" title="definition list: alt-=" id="kupu-list-dl-addbutton" i18n:attributes="title" accesskey="=">&#160;</button>
+    </span>
+  
+    <span class="kupu-tb-buttongroup" id="kupu-bg-indent">
+      <button type="button" class="kupu-outdent" id="kupu-outdent-button" title="outdent: alt-&lt;" i18n:attributes="title" accesskey="&lt;">&#160;</button>
+      <button type="button" class="kupu-indent" id="kupu-indent-button" title="indent: alt-&gt;" i18n:attributes="title" accesskey="&gt;">&#160;</button>
+    </span>
+  
+    <span class="kupu-tb-buttongroup">
+      <button type="button" class="kupu-image" id="kupu-imagelibdrawer-button" title="image" i18n:attributes="title">&#160;</button>
+      <button type="button" class="kupu-inthyperlink" id="kupu-linklibdrawer-button" title="internal link" i18n:attributes="title">&#160;</button>
+      <button type="button" class="kupu-exthyperlink" id="kupu-linkdrawer-button" title="external link" i18n:attributes="title">&#160;</button>
+      <button type="button" class="kupu-table" id="kupu-tabledrawer-button" title="table" i18n:attributes="title">&#160;</button>
+    </span>
+  
+    <span class="kupu-tb-buttongroup" id="kupu-bg-remove">
+      <button type="button" class="kupu-removeimage invisible" id="kupu-removeimage-button" title="Remove image" i18n:attributes="title">&#160;</button>
+      <button type="button" class="kupu-removelink invisible" id="kupu-removelink-button" title="Remove link" i18n:attributes="title">&#160;</button>
+    </span>
+  
+    <span class="kupu-tb-buttongroup" id="kupu-bg-undo">
+      <button type="button" class="kupu-undo" id="kupu-undo-button" title="undo: alt-z" i18n:attributes="title" accesskey="z">&#160;</button>
+      <button type="button" class="kupu-redo" id="kupu-redo-button" title="redo: alt-y" i18n:attributes="title" accesskey="y">&#160;</button>
+    </span>
+  
+    <span class="kupu-tb-buttongroup kupu-spellchecker-span" id="kupu-spellchecker">
+      <button type="button" class="kupu-spellchecker" id="kupu-spellchecker-button" title="check spelling" i18n:attributes="title">&#160;</button>
+    </span>
+  
+    <span class="kupu-tb-buttongroup kupu-source-span" id="kupu-source">
+      <button type="button" class="kupu-source" id="kupu-source-button" title="edit HTML code" i18n:attributes="title" accesskey="h">&#160;</button>
+    </span>
+  
+    </span>
+  
+    <select id="kupu-ulstyles" class="kupu-ulstyles">
+      <option value="disc" i18n:translate="list-disc">&#9679;</option>
+      <option value="square" i18n:translate="list-square">&#9632;</option>
+      <option value="circle" i18n:translate="list-circle">&#9675;</option>
+      <option value="none" i18n:translate="list-nobullet">no bullet</option>
+    </select>
+    <select id="kupu-olstyles" class="kupu-olstyles">
+      <option value="decimal" i18n:translate="list-decimal">1</option>
+      <option value="upper-roman" i18n:translate="list-upperroman">I</option>
+      <option value="lower-roman" i18n:translate="list-lowerroman">i</option>
+      <option value="upper-alpha" i18n:translate="list-upperalpha">A</option>
+      <option value="lower-alpha" i18n:translate="list-loweralpha">a</option>
+    </select>
+  
+    
+    <div style="display:block;" class="kupu-librarydrawer-parent">
+
+    </div>
+  
+    <div id="kupu-linkdrawer" class="kupu-drawer kupu-linkdrawer">
+      <h1 i18n:translate="">External Link</h1>
+
+      <div id="kupu-linkdrawer-addlink" class="kupu-panels kupu-linkdrawer-addlink">
+        <table cellspacing="0">
+        <tr><td><div class="kupu-toolbox-label">
+          
+          <span i18n:translate="">
+            Link the highlighted text to this URL:
+          </span>
+        </div>
+
+        <input class="kupu-toolbox-st kupu-linkdrawer-input" type="text" onkeypress="return HandleDrawerEnter(event, 'linkdrawer-preview');"/>
+        </td>
+        <td class="kupu-preview-button">
+          <button class="kupu-dialog-button" type="button" id="linkdrawer-preview" onclick="drawertool.current_drawer.preview()" i18n:translate="">Preview</button>
+        </td></tr>
+        <tr><td colspan="2" align="center">
+        <iframe frameborder="1" scrolling="auto" width="440" height="198" class="kupu-linkdrawer-preview" src="kupublank.html">
+        </iframe>
+        </td></tr>
+        </table>
+
+        <div class="kupu-dialogbuttons">
+          <button class="kupu-dialog-button" type="button" onclick="drawertool.current_drawer.save()" i18n:translate="">Ok</button>
+          <button class="kupu-dialog-button" type="button" onclick="drawertool.closeDrawer()" i18n:translate="">Cancel</button>
+        </div>
+
+      </div>
+    </div>
+  
+    <div id="kupu-tabledrawer" class="kupu-drawer kupu-tabledrawer">
+    <h1 i18n:translate="tabledrawer_title">Table</h1>
+    <div class="kupu-panels">
+      <table width="300">
+        <tr class="kupu-panelsrow">
+          <td class="kupu-panel">
+            
+            <div class="kupu-tabledrawer-addtable">
+              <table>
+                <tr>
+                  <th i18n:translate="tabledrawer_class_label" class="kupu-toolbox-label">Table Class</th>
+                  <td>
+                    <select class="kupu-tabledrawer-addclasschooser">
+                      <option i18n:translate="" value="plain">Plain</option>
+                      <option i18n:translate="" value="listing">Listing</option>
+                      <option i18n:translate="" value="grid">Grid</option>
+                      <option i18n:translate="" value="data">Data</option>
+                    </select>
+                  </td>
+                </tr>
+                <tr>
+                  <th i18n:translate="tabledrawer_rows_label" class="kupu-toolbox-label">Rows</th>
+                  <td><input type="text" class="kupu-tabledrawer-newrows" onkeypress="return HandleDrawerEnter(event);"/></td>
+                </tr>
+                <tr>
+                  <th i18n:translate="tabledrawer_columns_label" class="kupu-toolbox-label">Columns</th>
+                  <td><input type="text" class="kupu-tabledrawer-newcols" onkeypress="return HandleDrawerEnter(event);"/></td>
+                </tr>
+                <tr>
+                  <th class="kupu-toolbox-label"> </th>
+                  <td>
+                    <label><input class="kupu-tabledrawer-makeheader" type="checkbox" onkeypress="return HandleDrawerEnter(event);"/>
+                    <span i18n:translate="tabledrawer_headings_label">Create Headings</span></label>
+                  </td>
+                </tr>
+                <tr>
+                  <th class="kupu-toolbox-label"> </th>
+                  <td>
+                      <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_add_table_button" onclick="drawertool.current_drawer.createTable()">Add Table</button>
+                      <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_fix_tables_button" onclick="drawertool.current_drawer.fixAllTables()">Fix All Tables</button>
+                  </td>
+                </tr>
+              </table>
+            </div>
+
+            
+            <div class="kupu-tabledrawer-edittable">
+              <table>
+                <tr>
+                  <th class="kupu-toolbox-label" i18n:translate="tabledrawer_class_label">Table Class</th>
+                  <td>
+                    <select class="kupu-tabledrawer-editclasschooser" onchange="drawertool.current_drawer.setTableClass(this.options[this.selectedIndex].value)">
+                      <option i18n:translate="" value="plain">Plain</option>
+                      <option i18n:translate="" value="listing">Listing</option>
+                      <option i18n:translate="" value="grid">Grid</option>
+                      <option i18n:translate="" value="data">Data</option>
+                    </select>
+                  </td>
+                </tr>
+                <tr>
+                  <th class="kupu-toolbox-label" i18n:translate="tabledrawer_alignment_label">Current column alignment</th>
+                  <td>
+                    <select id="kupu-tabledrawer-alignchooser" class="kupu-tabledrawer-alignchooser" onchange="drawertool.current_drawer.tool.setColumnAlign(this.options[this.selectedIndex].value)">
+                      <option i18n:translate="tabledrawer_left_option" value="left">Left</option>
+                      <option i18n:translate="tabledrawer_center_option" value="center">Center</option>
+                      <option i18n:translate="tabledrawer_right_option" value="right">Right</option>
+                      </select>
+                  </td>
+                </tr>
+                <tr>
+                  <th class="kupu-toolbox-label" i18n:translate="tabledrawer_column_label">Column</th>
+                  <td>
+                    <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_add_button" onclick="drawertool.current_drawer.addTableColumn()">Add</button>
+                    <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_remove_button" onclick="drawertool.current_drawer.delTableColumn()">Remove</button>
+                  </td>
+                </tr>
+                <tr>
+                  <th class="kupu-toolbox-label" i18n:translate="tabledrawer_row_label">Row</th>
+                  <td>
+                    <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_add_button" onclick="drawertool.current_drawer.addTableRow()">Add</button> 
+                    <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_remove_button" onclick="drawertool.current_drawer.delTableRow()">Remove</button>
+                  </td>
+                </tr>
+                <tr>
+                  <th class="kupu-toolbox-label" i18n:translate="tabledrawer_fix_table_label">Fix Table</th>
+                  <td>
+                    <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_fix_button" onclick="drawertool.current_drawer.fixTable()">Fix</button> 
+                  </td>
+                </tr>
+              </table>
+            </div>
+          </td>
+        </tr>
+      </table>
+      <div class="kupu-dialogbuttons">
+        <button class="kupu-dialog-button" type="button" onfocus="window.status='focus';" onmousedown="window.status ='onmousedown';" i18n:translate="tabledrawer_close_button" onclick="drawertool.closeDrawer(this)">Close</button>
+      </div>
+    </div>
+    </div>
+
+  
+  
+    </div>
+  
+    <div class="kupu-toolboxes" id="kupu-toolboxes">
+      
+    <div class="kupu-toolbox" id="kupu-toolbox-properties">
+      <h1 class="kupu-toolbox-heading" i18n:translate="">Properties</h1>
+
+      <div>
+        <div class="kupu-toolbox-label" i18n:translate="">Title:</div>
+        <input class="wide" id="kupu-properties-title"/>
+        <div class="kupu-toolbox-label" i18n:translate="">Description:</div>
+        <textarea class="wide" id="kupu-properties-description"> </textarea>
+      </div>
+    </div>
+  
+    <div class="kupu-toolbox" id="kupu-toolbox-links">
+      <h1 class="kupu-toolbox-heading" i18n:translate="">Links</h1>
+
+      <div id="kupu-toolbox-addlink">
+        <div class="kupu-toolbox-label">
+          
+          <span i18n:translate="">
+            Link the highlighted text to this URL:
+          </span>
+        </div>
+
+        <input id="kupu-link-input" class="wide" type="text"/>
+        <div class="kupu-toolbox-buttons">
+          <button type="button" id="kupu-link-button" class="kupu-toolbox-action" i18n:translate="">Make Link</button>
+        </div>
+      </div>
+    </div>
+  
+    <div class="kupu-toolbox" id="kupu-toolbox-images">
+      <h1 class="kupu-toolbox-heading" i18n:translate="">Images</h1>
+
+      <div>
+        <div class="kupu-toolbox-label">
+          <span i18n:translate="">Image class:</span>
+        </div>
+        <select class="wide" id="kupu-image-float-select">
+          <option value="image-inline" i18n:translate="">Inline</option>
+          <option value="image-left" i18n:translate="">Left</option>
+          <option value="image-right" i18n:translate="">Right</option>
+        </select>
+
+        <div class="kupu-toolbox-label">
+          <span i18n:translate="">Insert image at the following URL:</span>
+        </div>
+        <input id="kupu-image-input" value="kupuimages/kupu_icon.gif" class="wide" type="text"/>
+
+        <div class="kupu-toolbox-buttons">
+          <button type="button" id="kupu-image-addbutton" class="kupu-toolbox-action" i18n:translate="">Insert Image</button>
+        </div>
+      </div>
+    </div>
+  
+    <div class="kupu-toolbox" id="kupu-toolbox-tables">
+      <h1 class="kupu-toolbox-heading" i18n:translate="">Tables</h1>
+
+      <div>
+      <div class="kupu-toolbox-label">
+        <span i18n:translate="">Table Class:</span>
+        <select class="wide" id="kupu-table-classchooser"> </select>
+      </div>
+
+      <div id="kupu-toolbox-addtable" class="kupu-toolbox-addtable">
+        <div class="kupu-toolbox-label" i18n:translate="">Rows:</div>
+        <input class="wide" type="text" id="kupu-table-newrows"/>
+
+        <div class="kupu-toolbox-label" i18n:translate="">Columns:</div>
+        <input class="wide" type="text" id="kupu-table-newcols"/>
+
+        <div class="kupu-toolbox-label">
+          <span i18n:translate="">Headings:</span>
+          <input name="kupu-table-makeheader" id="kupu-table-makeheader" type="checkbox"/>
+          <label for="kupu-table-makeheader" i18n:translate="">Create</label>
+        </div>
+
+        <div class="kupu-toolbox-buttons">
+          <button type="button" id="kupu-table-fixall-button" i18n:translate="">Fix Table</button> 
+          <button type="button" id="kupu-table-addtable-button" i18n:translate="">Add Table</button> 
+        </div>
+
+      </div>
+
+      <div id="kupu-toolbox-edittable" class="kupu-toolbox-edittable">
+      
+          <div class="kupu-toolbox-label">
+            <span i18n:translate="">Col Align:</span>
+            <select class="wide" id="kupu-table-alignchooser">
+              <option value="left" i18n:translate="">Left</option>
+              <option value="center" i18n:translate="">Center</option>
+              <option value="right" i18n:translate="">Right</option>
+            </select>
+          </div>
+      
+          <div class="kupu-toolbox-buttons">
+            <br/>
+            <button type="button" id="kupu-table-addcolumn-button" i18n:translate="">Add Column</button>
+            <button type="button" id="kupu-table-delcolumn-button" i18n:translate="">Remove Column</button>
+            
+            <br/>
+            <button type="button" id="kupu-table-addrow-button" i18n:translate="">Add Row</button>
+            <button type="button" id="kupu-table-delrow-button" i18n:translate="">Remove Row</button>
+          
+            <button type="button" id="kupu-table-fix-button" i18n:translate="">Fix</button>
+          </div>
+          
+      </div>
+      </div>
+
+    </div>
+  
+    <div class="kupu-toolbox" id="kupu-toolbox-cleanupexpressions">
+      <h1 class="kupu-toolbox-heading" i18n:translate="">Cleanup expressions</h1>
+
+      <div>
+        <div class="kupu-toolbox-label">
+          <span i18n:translate="">
+            Select a cleanup action:
+          </span>
+        </div>
+
+        <select id="kupucleanupexpressionselect" class="kupu-toolbox-st">
+        </select>
+        <div style="text-align: center">
+          <button type="button" id="kupucleanupexpressionbutton" class="kupu-toolbox-action">Perform action</button>
+        </div>
+      </div>
+    </div>
+  
+    <div class="kupu-toolbox" id="kupu-toolbox-debug">
+      <h1 class="kupu-toolbox-heading" i18n:translate="">Debug Log</h1>
+      <div id="kupu-toolbox-debuglog" class="kupu-toolbox-label">
+      </div>
+    </div>
+  
+    </div>
+  
+    <table id="kupu-colorchooser" cellpadding="0" cellspacing="0" style="position: fixed; border-style: solid; border-color: black; border-width: 1px;">
+    </table>
+  
+    <div class="kupu-editorframe">
+      <form>
+        <iframe id="kupu-editor" class="kupu-editor-iframe" frameborder="0" src="fulldoc.html" scrolling="auto">
+        </iframe>
+        
+        <textarea class="kupu-editor-textarea" id="kupu-editor-textarea"> </textarea>
+      </form>
+    </div>
+  
+    </div>
+  
+    </body>
+  
+
+</html>
+  

Added: incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu-pox.cgi
URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu-pox.cgi?view=auto&rev=454522
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu-pox.cgi (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu-pox.cgi Mon Oct  9 14:28:27 2006
@@ -0,0 +1,16 @@
+#!/usr/bin/python2.3
+
+import os, sys
+os.chdir(os.path.abspath(os.path.dirname(__file__)))
+sys.path.append(os.path.abspath('../python'))
+
+from nationalizer import Nationalizer, get_locale
+
+if __name__ == '__main__':
+    print 'Content-Type: text/xml,charset=UTF-8'
+    print
+    locale = get_locale()
+    if locale is None:
+        locale = ['nl']
+    i = Nationalizer('kupu.pox', locale)
+    print i.translate().encode('UTF-8')

Propchange: incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu-pox.cgi
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.cgi
URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.cgi?view=auto&rev=454522
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.cgi (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.cgi Mon Oct  9 14:28:27 2006
@@ -0,0 +1,16 @@
+#!/usr/bin/python2.3
+
+import os, sys
+os.chdir(os.path.abspath(os.path.dirname(__file__)))
+sys.path.append(os.path.abspath('../python'))
+
+from nationalizer import Nationalizer, get_locale
+
+if __name__ == '__main__':
+    print 'Content-Type: text/html;charset=UTF-8'
+    print
+    locale = get_locale()
+    if locale is None:
+        locale = ['nl']
+    i = Nationalizer('kupu.html', locale)
+    print i.translate().encode('UTF-8')

Propchange: incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.cgi
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.pox
URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.pox?view=auto&rev=454522
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.pox (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.pox Mon Oct  9 14:28:27 2006
@@ -0,0 +1,700 @@
+<?xml version="1.0" ?>
+<catalog xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:domain="kupu">
+	<message filenames="./common/kupuinit.js ./common/kupuinit_genericelements.js">
+		<msgid>
+			There was a problem initializing the drawers. Most likely the XSLT or XML files aren\'t available. If this is not the Kupu demo version, check your files or the service that provide them (error: ${error}).
+		</msgid>
+		<msgstr i18n:translate="">
+			There was a problem initializing the drawers. Most likely the XSLT or XML files aren\'t available. If this is not the Kupu demo version, check your files or the service that provide them (error: ${error}).
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubeforeunload.js">
+		<msgid>
+			Your form has not been saved. All changes you have made will be lost
+		</msgid>
+		<msgstr i18n:translate="">
+			Your form has not been saved. All changes you have made will be lost
+		</msgstr>
+	</message>
+	<message filenames="./common/kupusourceedit.js">
+		<msgid>
+			Source edit tool initialized
+		</msgid>
+		<msgstr i18n:translate="">
+			Source edit tool initialized
+		</msgstr>
+	</message>
+	<message filenames="./common/kupusourceedit.js">
+		<msgid>
+			Cleaning up HTML...
+		</msgid>
+		<msgstr i18n:translate="">
+			Cleaning up HTML...
+		</msgstr>
+	</message>
+	<message filenames="./common/kupumultieditor.js ./common/kupueditor.js">
+		<msgid>
+			Editor initialized
+		</msgid>
+		<msgstr i18n:translate="">
+			Editor initialized
+		</msgstr>
+	</message>
+	<message filenames="./common/kupumultieditor.js ./common/kupueditor.js">
+		<msgid>
+			Couldn\'t set design mode. Kupu will not work on this browser.
+		</msgid>
+		<msgstr i18n:translate="">
+			Couldn\'t set design mode. Kupu will not work on this browser.
+		</msgstr>
+	</message>
+	<message filenames="./common/kupumultieditor.js ./common/kupueditor.js">
+		<msgid>
+			Please wait while saving document...
+		</msgid>
+		<msgstr i18n:translate="">
+			Please wait while saving document...
+		</msgstr>
+	</message>
+	<message filenames="./common/kupumultieditor.js ./common/kupueditor.js">
+		<msgid>
+			Starting HTML cleanup
+		</msgid>
+		<msgstr i18n:translate="">
+			Starting HTML cleanup
+		</msgstr>
+	</message>
+	<message filenames="./common/kupumultieditor.js ./common/kupueditor.js">
+		<msgid>
+			Cleanup done, sending document to server
+		</msgid>
+		<msgstr i18n:translate="">
+			Cleanup done, sending document to server
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			Exception while processing updateState on ${id}: ${msg}
+		</msgid>
+		<msgstr i18n:translate="">
+			Exception while processing updateState on ${id}: ${msg}
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			No destination URL available!
+		</msgid>
+		<msgstr i18n:translate="">
+			No destination URL available!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			Request sent to server
+		</msgid>
+		<msgstr i18n:translate="">
+			Request sent to server
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			Sending request to server
+		</msgid>
+		<msgstr i18n:translate="">
+			Sending request to server
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			Editor not initialized yet!
+		</msgid>
+		<msgstr i18n:translate="">
+			Editor not initialized yet!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			Command ${command} executed
+		</msgid>
+		<msgstr i18n:translate="">
+			Command ${command} executed
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			Command ${command} executed with parameter ${param}
+		</msgid>
+		<msgstr i18n:translate="">
+			Command ${command} executed with parameter ${param}
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			Browser not supported!
+		</msgid>
+		<msgstr i18n:translate="">
+			Browser not supported!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			Error saving your data.\nResponse status: ${status}.\nCheck your server log for more information.
+		</msgid>
+		<msgstr i18n:translate="">
+			Error saving your data.\nResponse status: ${status}.\nCheck your server log for more information.
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			Error saving document
+		</msgid>
+		<msgstr i18n:translate="">
+			Error saving document
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			Document saved
+		</msgid>
+		<msgstr i18n:translate="">
+			Document saved
+		</msgstr>
+	</message>
+	<message filenames="./common/kupueditor.js">
+		<msgid>
+			Error placing back selection
+		</msgid>
+		<msgstr i18n:translate="">
+			Error placing back selection
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Deprecation warning: KupuTool._selectSelectItem
+		</msgid>
+		<msgstr i18n:translate="">
+			Deprecation warning: KupuTool._selectSelectItem
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Deprecation warning: KupuToolBox._selectSelectItem
+		</msgid>
+		<msgstr i18n:translate="">
+			Deprecation warning: KupuToolBox._selectSelectItem
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Cutting from JavaScript is disabled on your Mozilla due to security settings. For more information, read http://www.mozilla.org/editor/midasdemo/securityprefs.html
+		</msgid>
+		<msgstr i18n:translate="">
+			Cutting from JavaScript is disabled on your Mozilla due to security settings. For more information, read http://www.mozilla.org/editor/midasdemo/securityprefs.html
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Copying from JavaScript is disabled on your Mozilla due to security settings. For more information, read http://www.mozilla.org/editor/midasdemo/securityprefs.html
+		</msgid>
+		<msgstr i18n:translate="">
+			Copying from JavaScript is disabled on your Mozilla due to security settings. For more information, read http://www.mozilla.org/editor/midasdemo/securityprefs.html
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Pasting from JavaScript is disabled on your Mozilla due to security settings. For more information, read http://www.mozilla.org/editor/midasdemo/securityprefs.html
+		</msgid>
+		<msgstr i18n:translate="">
+			Pasting from JavaScript is disabled on your Mozilla due to security settings. For more information, read http://www.mozilla.org/editor/midasdemo/securityprefs.html
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Cut
+		</msgid>
+		<msgstr i18n:translate="">
+			Cut
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Copy
+		</msgid>
+		<msgstr i18n:translate="">
+			Copy
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Paste
+		</msgid>
+		<msgstr i18n:translate="">
+			Paste
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Colorchooser tool initialized
+		</msgid>
+		<msgstr i18n:translate="">
+			Colorchooser tool initialized
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Color chosen
+		</msgid>
+		<msgstr i18n:translate="">
+			Color chosen
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			No head in document!
+		</msgid>
+		<msgstr i18n:translate="">
+			No head in document!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Property tool initialized
+		</msgid>
+		<msgstr i18n:translate="">
+			Property tool initialized
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Properties modified
+		</msgid>
+		<msgstr i18n:translate="">
+			Properties modified
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Link tool initialized
+		</msgid>
+		<msgstr i18n:translate="">
+			Link tool initialized
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Link added
+		</msgid>
+		<msgstr i18n:translate="">
+			Link added
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Not inside link
+		</msgid>
+		<msgstr i18n:translate="">
+			Not inside link
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Link removed
+		</msgid>
+		<msgstr i18n:translate="">
+			Link removed
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Delete link
+		</msgid>
+		<msgstr i18n:translate="">
+			Delete link
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Create link
+		</msgid>
+		<msgstr i18n:translate="">
+			Create link
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Link modified
+		</msgid>
+		<msgstr i18n:translate="">
+			Link modified
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Image tool initialized
+		</msgid>
+		<msgstr i18n:translate="">
+			Image tool initialized
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Image inserted
+		</msgid>
+		<msgstr i18n:translate="">
+			Image inserted
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Create image
+		</msgid>
+		<msgstr i18n:translate="">
+			Create image
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Add table
+		</msgid>
+		<msgstr i18n:translate="">
+			Add table
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Add row
+		</msgid>
+		<msgstr i18n:translate="">
+			Add row
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Delete row
+		</msgid>
+		<msgstr i18n:translate="">
+			Delete row
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Add column
+		</msgid>
+		<msgstr i18n:translate="">
+			Add column
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Delete column
+		</msgid>
+		<msgstr i18n:translate="">
+			Delete column
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Delete Table
+		</msgid>
+		<msgstr i18n:translate="">
+			Delete Table
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Invalid table size
+		</msgid>
+		<msgstr i18n:translate="">
+			Invalid table size
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Table added
+		</msgid>
+		<msgstr i18n:translate="">
+			Table added
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Table row added
+		</msgid>
+		<msgstr i18n:translate="">
+			Table row added
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			No row to delete
+		</msgid>
+		<msgstr i18n:translate="">
+			No row to delete
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Table row removed
+		</msgid>
+		<msgstr i18n:translate="">
+			Table row removed
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			No parentcolumn found!
+		</msgid>
+		<msgstr i18n:translate="">
+			No parentcolumn found!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			tdindex: ${tdindex}
+		</msgid>
+		<msgstr i18n:translate="">
+			tdindex: ${tdindex}
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Table column added
+		</msgid>
+		<msgstr i18n:translate="">
+			Table column added
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Table column deleted
+		</msgid>
+		<msgstr i18n:translate="">
+			Table column deleted
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Not inside a table!
+		</msgid>
+		<msgstr i18n:translate="">
+			Not inside a table!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Table removed
+		</msgid>
+		<msgstr i18n:translate="">
+			Table removed
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Recursion detected when counting column position
+		</msgid>
+		<msgstr i18n:translate="">
+			Recursion detected when counting column position
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Table cleaned up
+		</msgid>
+		<msgstr i18n:translate="">
+			Table cleaned up
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js ./common/kupucnftable.js">
+		<msgid>
+			Table tool initialized
+		</msgid>
+		<msgstr i18n:translate="">
+			Table tool initialized
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			List style tool initialized
+		</msgid>
+		<msgstr i18n:translate="">
+			List style tool initialized
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			List style changed
+		</msgid>
+		<msgstr i18n:translate="">
+			List style changed
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Could not set status bar message, check your browser\'s security settings.
+		</msgid>
+		<msgstr i18n:translate="">
+			Could not set status bar message, check your browser\'s security settings.
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			View source
+		</msgid>
+		<msgstr i18n:translate="">
+			View source
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Not inside a definition list element!
+		</msgid>
+		<msgstr i18n:translate="">
+			Not inside a definition list element!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupubasetools.js">
+		<msgid>
+			Zoom tool initialized
+		</msgid>
+		<msgstr i18n:translate="">
+			Zoom tool initialized
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuspellchecker.js">
+		<msgid>
+			There were no errors.
+		</msgid>
+		<msgstr i18n:translate="">
+			There were no errors.
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuspellchecker.js">
+		<msgid>
+			Error loading data, status ${status}
+		</msgid>
+		<msgstr i18n:translate="">
+			Error loading data, status ${status}
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuspellchecker.js">
+		<msgid>
+			This feature requires pop-ups to be enabled on your browser!
+		</msgid>
+		<msgstr i18n:translate="">
+			This feature requires pop-ups to be enabled on your browser!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuhelpers.js">
+		<msgid>
+			Unsupported browser!
+		</msgid>
+		<msgstr i18n:translate="">
+			Unsupported browser!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuhelpers.js">
+		<msgid>
+			exception ${message} while registering an event handler for element ${element}, event ${event}, method ${method}
+		</msgid>
+		<msgstr i18n:translate="">
+			exception ${message} while registering an event handler for element ${element}, event ${event}, method ${method}
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuhelpers.js">
+		<msgid>
+			No element found in the config island!
+		</msgid>
+		<msgstr i18n:translate="">
+			No element found in the config island!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuhelpers.js">
+		<msgid>
+			Selection not inside the node!
+		</msgid>
+		<msgstr i18n:translate="">
+			Selection not inside the node!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuhelpers.js">
+		<msgid>
+			Start node offset detected in a node without children!
+		</msgid>
+		<msgstr i18n:translate="">
+			Start node offset detected in a node without children!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuhelpers.js">
+		<msgid>
+			End node offset detected in a node without children!
+		</msgid>
+		<msgstr i18n:translate="">
+			End node offset detected in a node without children!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuhelpers.js">
+		<msgid>
+			Start offset out of range!
+		</msgid>
+		<msgstr i18n:translate="">
+			Start offset out of range!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuhelpers.js">
+		<msgid>
+			End offset out of range!
+		</msgid>
+		<msgstr i18n:translate="">
+			End offset out of range!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupuhelpers.js">
+		<msgid>
+			Offset out of document range
+		</msgid>
+		<msgstr i18n:translate="">
+			Offset out of document range
+		</msgstr>
+	</message>
+	<message filenames="./common/kupustart_multi.js ./common/kupustart_form.js">
+		<msgid>
+			Error loading translation (status ${status} ), falling back to english
+		</msgid>
+		<msgstr i18n:translate="">
+			Error loading translation (status ${status} ), falling back to english
+		</msgstr>
+	</message>
+	<message filenames="./common/kupucnftable.js">
+		<msgid>
+			Not inside a row!
+		</msgid>
+		<msgstr i18n:translate="">
+			Not inside a row!
+		</msgstr>
+	</message>
+	<message filenames="./common/kupucnftable.js">
+		<msgid>
+			Row repeated
+		</msgid>
+		<msgstr i18n:translate="">
+			Row repeated
+		</msgstr>
+	</message>
+	<message filenames="./common/kupucnftable.js">
+		<msgid>
+			Row repeat turned off
+		</msgid>
+		<msgstr i18n:translate="">
+			Row repeat turned off
+		</msgstr>
+	</message>
+	<message filenames="./common/kupusaveonpart.js">
+		<msgid>
+			You have unsaved changes. Do you want to save before leaving the page?
+		</msgid>
+		<msgstr i18n:translate="">
+			You have unsaved changes. Do you want to save before leaving the page?
+		</msgstr>
+	</message>
+</catalog>
+

Added: incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.pox.jspx
URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.pox.jspx?view=auto&rev=454522
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.pox.jspx (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/kupu-1.3.5/kupu.pox.jspx Mon Oct  9 14:28:27 2006
@@ -0,0 +1,35 @@
+<!--
+    Based on JSTL, see http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html
+    and JSP 2.0. JSP 2.0 is part of the Servlet 2.4 API and supported e.g. by Tomcat 5, see http://jakarta.apache.org/tomcat/.
+
+    Place kupu-i18n.jar, jstl.jar and standard.jar in WEB-INF/lib.
+
+    See also: ../make-jspx.xml (which can be used to create localized Jspx temlates from kupu-files)
+
+    $Id: $
+-->
+<jsp:root version="2.0" 
+          xmlns:jsp="http://java.sun.com/JSP/Page" 
+          xmlns:c="http://java.sun.com/jsp/jstl/core" 
+          xmlns:x="http://java.sun.com/jsp/jstl/xml" 
+          xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
+>    
+  <c:import url="kupu.pox" var="xml"/>
+  <x:parse var="doc" doc="${xml}" scope="application" />
+  <catalog>
+    <fmt:setLocale value="${param.language}" />
+    <fmt:bundle basename="org.oscom.kupu.Messages">
+      <x:forEach  select="$doc/catalog/message">
+        <x:set select="string(@filenames)" var="fn" />
+        <x:set select="normalize-space(msgid)" var="msgid" />
+        <message filenames="${fn}">
+          <msgid>${msgid}</msgid>
+          <msgstr><fmt:message key="${msgid}" /></msgstr>
+        </message>
+      </x:forEach>
+    </fmt:bundle>
+    <c:if test="${param.mymessages != null}">
+      <jsp:include page="${param.mymessages}" />
+    </c:if>
+  </catalog>
+</jsp:root>