svn commit: r616769 - in /lenya/branches/BRANCH_1_2_X/src: java/org/apache/lenya/cms/cocoon/uriparameterizer/ webapp/lenya/ webapp/lenya/content/admin/ webapp/lenya/content/admin/cache/ webapp/lenya/resources/i18n/ webapp/lenya/usecases/1formedit/ weba...

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Author: andreas
Date: Wed Jan 30 06:08:31 2008
New Revision: 616769

URL: http://svn.apache.org/viewvc?rev=616769&view=rev
Log:
Added usecase to clear the URIParameterizer cache, allow to change the doctype when editing with the source editor.

Added:
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/cache/
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/cache/cache.js
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/cache/cache.xsp
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/admin/cache/
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/admin/cache/cache.xsl
Modified:
    lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizer.java
    lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/admin.xmap
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/sitetree.xml
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/resources/i18n/cmsui.xml
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/resources/i18n/cmsui_de.xml
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/1formedit/usecase-1formedit.xmap
    lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/authoring/edit/oneform.xsl

Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizer.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizer.java?rev=616769&r1=616768&r2=616769&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizer.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizer.java Wed Jan 30 06:08:31 2008
@@ -39,4 +39,9 @@
      */
     Map parameterize(String uri, String src, Parameters parameters)
         throws URIParameterizerException;
+    
+    /**
+     * Clears the parameter cache.
+     */
+    void clearCache();
 }

Modified: lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java?rev=616769&r1=616768&r2=616769&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java (original)
+++ lenya/branches/BRANCH_1_2_X/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java Wed Jan 30 06:08:31 2008
@@ -73,10 +73,7 @@
             }
         }
 
-        /**
-         * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
-         */
-        public void endElement(String uri, String loc, String raw, Attributes a) {
+        public void endElement(String uri, String loc, String raw) {
             if (loc.equals("parameter")) {
                 if (logger.isDebugEnabled()) {
                     logger.debug("stop Element " + uri + ":" + loc + ":" + raw);
@@ -132,7 +129,6 @@
         SourceResolver resolver = null;
 
         try {
-            resolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
             URIParametrizerConsumer xmlConsumer = new URIParametrizerConsumer(getLogger());
 
             String[] parameterNames = parameters.getNames();
@@ -148,6 +144,9 @@
 
                     Source inputSource = null;
                     try {
+                        if (resolver == null) {
+                            resolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
+                        }
                         inputSource = resolver.resolveURI(parameterSrc);
 
                         if (getLogger().isDebugEnabled()) {
@@ -188,5 +187,9 @@
      */
     public void service(ServiceManager manager) throws ServiceException {
         this.manager = manager;
+    }
+
+    public void clearCache() {
+        cache.clear();
     }
 }

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/admin.xmap
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/admin.xmap?rev=616769&r1=616768&r2=616769&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/admin.xmap (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/admin.xmap Wed Jan 30 06:08:31 2008
@@ -28,6 +28,7 @@
     <map:script src="content/admin/users/user-admin.js"/>
     <map:script src="content/admin/groups/group-admin.js"/>
     <map:script src="content/admin/ipranges/iprange-admin.js"/>
+    <map:script src="content/admin/cache/cache.js"/>
   </map:flow>
   
     <map:resources>

Added: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/cache/cache.js
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/cache/cache.js?rev=616769&view=auto
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/cache/cache.js (added)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/cache/cache.js Wed Jan 30 06:08:31 2008
@@ -0,0 +1,33 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You 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.
+*/
+
+/*
+* Clear the URI parameterizer cache.
+*/
+function clearUriParameterizerCache() {
+    var parameterizer;
+    try {
+        parameterizer = cocoon.getComponent("org.apache.lenya.cms.cocoon.uriparameterizer.URIParameterizer");
+        parameterizer.clearCache();
+    }
+    finally {
+        if (parameterizer) {
+            cocoon.releaseComponent(parameterizer);
+        }
+    }
+    cocoon.sendPage("cache/cache.xml", { "state" : "cleared" });
+}
\ No newline at end of file

Added: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/cache/cache.xsp
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/cache/cache.xsp?rev=616769&view=auto
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/cache/cache.xsp (added)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/cache/cache.xsp Wed Jan 30 06:08:31 2008
@@ -0,0 +1,29 @@
+<?xml version="1.0" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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: content.xsp 473841 2006-11-12 00:46:38Z gregor $ -->
+
+<xsp:page 
+  language="java" 
+  xmlns:xsp="http://apache.org/xsp"
+  xmlns:xsp-request="http://apache.org/xsp/request/2.0">
+  
+  <usecase><xsp-request:get-parameter name="lenya.usecase"/></usecase>
+  
+</xsp:page>
+

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/sitetree.xml
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/sitetree.xml?rev=616769&r1=616768&r2=616769&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/sitetree.xml (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/content/admin/sitetree.xml Wed Jan 30 06:08:31 2008
@@ -46,6 +46,10 @@
     <label><i18n:text>Delete Trash</i18n:text></label>
   </node>
 
+  <node id="cache" href="cache.html">
+    <label><i18n:text>Cache</i18n:text></label>
+  </node>
+  
   <node id="lucene">
     <label><i18n:text>Search</i18n:text></label>
   </node>

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/resources/i18n/cmsui.xml
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/resources/i18n/cmsui.xml?rev=616769&r1=616768&r2=616769&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/resources/i18n/cmsui.xml (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/resources/i18n/cmsui.xml Wed Jan 30 06:08:31 2008
@@ -166,7 +166,10 @@
   <message key="Switch User">Switch User</message>
   <message key="Delete Trash">Delete Trash</message>
   <message key="Cocoon and Server Status">Cocoon and Server Status</message>
-
+  <message key="clear-uriparameterizer-cache">Clear URI parameterizer cache</message>
+  <message key="uriparameterizer-cache-cleared">The URI parameterizer cache was cleared.</message>
+  <message key="clear-uriparameterizer-cache?">Do you want to clear the URI paramterizer cache?</message>
+  
     <!-- Group Administration -->
   <message key="Profile">Profile</message>
   <message key="Members">Members</message>
@@ -348,4 +351,8 @@
   <message key="lenya.rc.nocheckin">Resource could not be checked in</message>
   <message key="Generic Exception">Generic Exception</message>
   <message key="Check the log files.">Check the log files.</message>
+  
+  <!-- Source Editor -->
+  <message key="Edit Document">Edit Document</message>
+  <message key="document-type">Document type</message>
 </catalogue>

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/resources/i18n/cmsui_de.xml
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/resources/i18n/cmsui_de.xml?rev=616769&r1=616768&r2=616769&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/resources/i18n/cmsui_de.xml (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/resources/i18n/cmsui_de.xml Wed Jan 30 06:08:31 2008
@@ -167,6 +167,9 @@
   <message key="Switch User">Benutzer wechseln</message>
   <message key="Delete Trash">Papierkorb leeren</message>
   <message key="Cocoon and Server Status">Cocoon- und Serverstatus</message>
+  <message key="clear-uriparameterizer-cache">URI-Parameterizer-Cache löschen</message>
+  <message key="uriparameterizer-cache-cleared">Der URI-Parameterizer-Cache wurde gelöscht.</message>
+  <message key="clear-uriparameterizer-cache?">Wollen Sie den URI-Parameterizer-Cache löschen?</message>
   
     <!-- Group Administration -->
   <message key="Profile">Profil</message>  
@@ -345,5 +348,10 @@
   <message key="lenya.imageupload.info.noimages">Keine Bilder verfügbar.</message>
   <message key="lenya.imageupload.links.hint">Externe Verweise müssen mit 'http://' und interne Verweise mit '/' beginnen.</message>  
   <message key="lenya.imageupload.no.image.selected">Es wurde kein Bild ausgewählt. Bitte wählen Sie eines aus.</message>
+  
+  <!-- Source Editor -->
+  <message key="Edit Document">Dokument bearbeiten</message>
+  <message key="document-type">Dokumenttyp</message>
 </catalogue>
+
 

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/1formedit/usecase-1formedit.xmap
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/1formedit/usecase-1formedit.xmap?rev=616769&r1=616768&r2=616769&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/1formedit/usecase-1formedit.xmap (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/usecases/1formedit/usecase-1formedit.xmap Wed Jan 30 06:08:31 2008
@@ -77,6 +77,8 @@
               <map:transform src="{global:basedir}/xslt/authoring/edit/oneform.xsl">
                 <map:parameter name="docid" value="{page-envelope:document-id}"/>
                 <map:parameter name="language" value="{page-envelope:document-language}"/>
+                <map:parameter name="pubId" value="{1}"/>
+                <map:parameter name="doctype" value="{page-envelope:document-type}"/>
               </map:transform>
               <map:act type="set-header">
                 <!-- prevent caching in the browser -->
@@ -93,7 +95,7 @@
                 <map:parameter name="parameters" value="save"/>
                 <map:act type="oneformeditorsave">
                   <map:parameter name="file" value="{global:basedir}/pubs/{../1}/work/oneformeditor/authoring/{page-envelope:document-id}.xml"/>
-                  <map:parameter name="schema" value="{global:basedir}/pubs/{../1}/config/doctypes/schemas/{page-envelope:document-type}.rng"/>
+                  <map:parameter name="schema" value="{global:basedir}/pubs/{../1}/config/doctypes/schemas/{request-param:doctype}.rng"/>
                   <map:generate src="{global:basedir}/pubs/{../../1}/content/authoring/{page-envelope:document-path}"/>
                   <map:transform src="{global:basedir}/xslt/authoring/edit/oneform.xsl">
                     <map:parameter name="docid" value="{page-envelope:document-id}"/>

Added: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/admin/cache/cache.xsl
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/admin/cache/cache.xsl?rev=616769&view=auto
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/admin/cache/cache.xsl (added)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/admin/cache/cache.xsl Wed Jan 30 06:08:31 2008
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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: content.xsl 473841 2006-11-12 00:46:38Z gregor $ -->
+
+ <xsl:stylesheet version="1.0"
+   xmlns="http://www.w3.org/1999/xhtml"
+   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+   xmlns:session="http://www.apache.org/xsp/session/2.0"
+   xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+   xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0"
+   >
+  
+  <xsl:output version="1.0" indent="yes" encoding="UTF-8"/>
+  
+  <xsl:template match="/">
+    <page:page>
+      <page:title><i18n:text>clear-uriparameterizer-cache</i18n:text></page:title>
+      <page:body>
+        
+        <xsl:choose>
+          <xsl:when test="normalize-space(usecase) != ''">
+            <p>
+              <i18n:text>uriparameterizer-cache-cleared</i18n:text>
+            </p>
+          </xsl:when>
+          <xsl:otherwise>
+            <p>
+              <i18n:text>clear-uriparameterizer-cache?</i18n:text>
+            </p>
+            <form method="get" action="index.html" name="clear-cache-form">
+              <input type="hidden" name="lenya.usecase" value="clearUriParameterizerCache"/>
+              <input i18n:attr="value" type="submit" value="Submit" name="submit"/>
+              &#160;
+              <input i18n:attr="value" type="submit" value="Cancel" name="cancel"/>
+            </form>
+          </xsl:otherwise>
+        </xsl:choose>
+        
+      </page:body>
+    </page:page>
+  </xsl:template>
+
+</xsl:stylesheet>
+  

Modified: lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/authoring/edit/oneform.xsl
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/authoring/edit/oneform.xsl?rev=616769&r1=616768&r2=616769&view=diff
==============================================================================
--- lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/authoring/edit/oneform.xsl (original)
+++ lenya/branches/BRANCH_1_2_X/src/webapp/lenya/xslt/authoring/edit/oneform.xsl Wed Jan 30 06:08:31 2008
@@ -28,7 +28,10 @@
   <xsl:param name="docid" />
   <xsl:param name="language" />
   <xsl:param name="message" />
+  <xsl:param name="pubId"/>
+  <xsl:param name="doctype"/>
   
+  <xsl:variable name="doctypesConfig">context://lenya/pubs/<xsl:value-of select="$pubId"/>/config/doctypes/doctypes.xconf</xsl:variable>
   
   <xsl:include href="copy-mixed-content.xsl" />
   
@@ -36,7 +39,7 @@
   
   <xsl:template match="/">
     <page:page>
-      <page:title>Edit Document</page:title>
+      <page:title><i18n:text>Edit Document</i18n:text></page:title>
       <page:body>
         
         <div class="lenya-box">
@@ -93,6 +96,11 @@
               <table border="0">
                 <tr>
                   <td align="right">
+                    <i18n:text>document-type</i18n:text>:
+                    <select name="doctype">
+                      <xsl:apply-templates select="document($doctypesConfig)/*" mode="doctypes"/>
+                    </select>
+                    &#160;
                     <input type="submit" value="Save" name="save" />
                     <input type="submit" value="Cancel" name="cancel" />
                   </td>
@@ -117,4 +125,18 @@
       </page:body>
     </page:page>
   </xsl:template>
+  
+  
+  <xsl:template match="doctypes" mode="doctypes">
+    <xsl:for-each select="doc">
+      <xsl:sort select="@type"/>
+      <option value="{@type}">
+        <xsl:if test="@type = $doctype">
+          <xsl:attribute name="selected">selected</xsl:attribute>
+        </xsl:if>
+        <xsl:value-of select="@type"/>
+      </option>
+    </xsl:for-each>
+  </xsl:template>
+  
 </xsl:stylesheet>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.