You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by ra...@apache.org on 2010/11/21 15:19:29 UTC

svn commit: r1037467 - in /lenya/branches/BRANCH_2_0_X/src/modules/webdav: java/src/org/apache/lenya/cms/usecases/webdav/Propfind.java usecases/webdav/propfind.jx webdav.js

Author: rainer
Date: Sun Nov 21 14:19:29 2010
New Revision: 1037467

URL: http://svn.apache.org/viewvc?rev=1037467&view=rev
Log:
More WebDAV fixes.


Modified:
    lenya/branches/BRANCH_2_0_X/src/modules/webdav/java/src/org/apache/lenya/cms/usecases/webdav/Propfind.java
    lenya/branches/BRANCH_2_0_X/src/modules/webdav/usecases/webdav/propfind.jx
    lenya/branches/BRANCH_2_0_X/src/modules/webdav/webdav.js

Modified: lenya/branches/BRANCH_2_0_X/src/modules/webdav/java/src/org/apache/lenya/cms/usecases/webdav/Propfind.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/webdav/java/src/org/apache/lenya/cms/usecases/webdav/Propfind.java?rev=1037467&r1=1037466&r2=1037467&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/modules/webdav/java/src/org/apache/lenya/cms/usecases/webdav/Propfind.java (original)
+++ lenya/branches/BRANCH_2_0_X/src/modules/webdav/java/src/org/apache/lenya/cms/usecases/webdav/Propfind.java Sun Nov 21 14:19:29 2010
@@ -96,6 +96,13 @@ public class Propfind extends SiteUsecas
                 }
             }
 
+	    //FIXME: This is a workaround for the error
+	    //  "This usecase can only be invoked on documents!"
+	    // triggered in (superclass) DocumentUsecase.doCheckPreconditions()
+	    // when the usecase parameter "document" is not set properly.
+	    if (docs.size() > 0) {
+		setParameter(DOCUMENT, docs.get(0));
+	    }
             setParameter(DOCUMENTS, docs);
             setParameter(RC, checkedOut);
             setParameter(SOURCEURL, request);

Modified: lenya/branches/BRANCH_2_0_X/src/modules/webdav/usecases/webdav/propfind.jx
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/webdav/usecases/webdav/propfind.jx?rev=1037467&r1=1037466&r2=1037467&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/modules/webdav/usecases/webdav/propfind.jx (original)
+++ lenya/branches/BRANCH_2_0_X/src/modules/webdav/usecases/webdav/propfind.jx Sun Nov 21 14:19:29 2010
@@ -26,7 +26,7 @@
   <jx:if test="${request.getHeader('depth') &gt; 0}">
     <jx:forEach var="doc" items="${usecase.getParameter('documents')}">
       <!-- FIXME: shouldn't this conditional be doc.exists()? -->
-      <jx:if test="${doc.getId()}">
+      <jx:if test="${doc.getIdentifier()}">
         <jx:if test="${doc.getLanguage().equals(defaultLang)}">
          <!-- create a directory for each document;
           the language check is to prevent multiple folders appearing with the same name
@@ -54,7 +54,7 @@
     <jx:set var="checkedOut" value="${usecase.getParameter('rc')}"/>
     <jx:forEach var="doc" items="${usecase.getParameter('documents')}"
       varStatus="status">
-      <jx:if test="${doc.getId()}">
+      <jx:if test="${doc.getIdentifier()}">
       <jx:set var="fileExtension" value="${doc.getSourceExtension()}"/>
       <jx:if test="${doc.getSourceExtension().equals('xml')}">
           <jx:set var="fileExtension" value="html"/>

Modified: lenya/branches/BRANCH_2_0_X/src/modules/webdav/webdav.js
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/webdav/webdav.js?rev=1037467&r1=1037466&r2=1037467&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/modules/webdav/webdav.js (original)
+++ lenya/branches/BRANCH_2_0_X/src/modules/webdav/webdav.js Sun Nov 21 14:19:29 2010
@@ -104,8 +104,9 @@ function propfind() {
   sendStatus(500);
 }
 
-function options(type) {
+function options() {
   cocoon.response.setHeader("DAV","1");
+  var type = "";
   var options = "";
   if (type == "file") {
     options = "OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,PUT,LOCK,UNLOCK";
@@ -165,7 +166,7 @@ function executeUsecase(usecaseName) {
     var preconditionsOk;
     
     if (cocoon.log.isDebugEnabled())
-       cocoon.log.debug("usecases.js::executeUsecase() called, parameter lenya.usecase = [" + usecaseName + "]");
+       cocoon.log.debug("webdav.js::executeUsecase() called, parameter lenya.usecase = [" + usecaseName + "]");
     
     try {
 
@@ -223,7 +224,7 @@ function executeUsecase(usecaseName) {
                 if (templateUri) {
                     var viewUri = "view/" + menu + "/" + view.getViewURI();
                     if (cocoon.log.isDebugEnabled())
-                        cocoon.log.debug("usecases.js::executeUsecase() in usecase " + usecaseName + ", creating view, calling Cocoon with viewUri = [" + viewUri + "]");
+                        cocoon.log.debug("webdav.js::executeUsecase() in usecase " + usecaseName + ", creating view, calling Cocoon with viewUri = [" + viewUri + "]");
 
                     cocoon.sendPageAndWait(viewUri, {"usecase" : proxy});
                     
@@ -236,6 +237,9 @@ function executeUsecase(usecaseName) {
             }
             catch (exception) {
                 /* if an exception was thrown by the view, allow the usecase to rollback the transition */
+		if (cocoon.log.isDebugEnabled())
+		    cocoon.log.debug("webdav.js::executeUsecase() in usecase " + usecaseName + ": exception " + exception.name + "caught, message is '" + exception.message +"'");
+
                 try {
                     usecaseResolver = cocoon.getComponent("org.apache.lenya.cms.usecase.UsecaseResolver");
                     usecase = usecaseResolver.resolve(sourceUrl, usecaseName);
@@ -255,7 +259,7 @@ function executeUsecase(usecaseName) {
             }
             
             if (cocoon.log.isDebugEnabled())
-                cocoon.log.debug("usecases.js::executeUsecase() in usecase " + usecaseName + ", after view, now advancing in usecase");
+                cocoon.log.debug("webdav.js::executeUsecase() in usecase " + usecaseName + ", after view, now advancing in usecase");
         
             try {
                 usecaseResolver = cocoon.getComponent("org.apache.lenya.cms.usecase.UsecaseResolver");



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org