You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2007/04/17 16:04:52 UTC

svn commit: r529609 - in /lenya/trunk/src/modules/cforms: config/cocoon-xconf/usecase-edit.xconf flow/customFlow.js java/src/org/apache/lenya/cms/editors/cforms/CForms.java usecases/dynamicrepeater.xml

Author: andreas
Date: Tue Apr 17 07:04:51 2007
New Revision: 529609

URL: http://svn.apache.org/viewvc?view=rev&rev=529609
Log:
Fixed and refactored CForms saving

Modified:
    lenya/trunk/src/modules/cforms/config/cocoon-xconf/usecase-edit.xconf
    lenya/trunk/src/modules/cforms/flow/customFlow.js
    lenya/trunk/src/modules/cforms/java/src/org/apache/lenya/cms/editors/cforms/CForms.java
    lenya/trunk/src/modules/cforms/usecases/dynamicrepeater.xml

Modified: lenya/trunk/src/modules/cforms/config/cocoon-xconf/usecase-edit.xconf
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/cforms/config/cocoon-xconf/usecase-edit.xconf?view=diff&rev=529609&r1=529608&r2=529609
==============================================================================
--- lenya/trunk/src/modules/cforms/config/cocoon-xconf/usecase-edit.xconf (original)
+++ lenya/trunk/src/modules/cforms/config/cocoon-xconf/usecase-edit.xconf Tue Apr 17 07:04:51 2007
@@ -8,6 +8,7 @@
        uri="modules/cforms/usecases/dynamicrepeater_template.xml" 
        customFlow="fallback://lenya/modules/cforms/flow/customFlow.js"
     />
+    <event id="edit"/>
   </component-instance>
 </xconf>
 

Modified: lenya/trunk/src/modules/cforms/flow/customFlow.js
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/cforms/flow/customFlow.js?view=diff&rev=529609&r1=529608&r2=529609
==============================================================================
--- lenya/trunk/src/modules/cforms/flow/customFlow.js (original)
+++ lenya/trunk/src/modules/cforms/flow/customFlow.js Tue Apr 17 07:04:51 2007
@@ -31,62 +31,9 @@
         throw exception;
     }
 }
+
 function customSubmitFlow(usecase, generic) {
     generic.form.save(generic.doc);
-    var flowHelper = cocoon.getComponent("org.apache.lenya.cms.cocoon.flow.FlowHelper");
-//    try {
-        flowHelper.triggerWorkflow(cocoon, 'edit');
-        //saveDocument(generic.doc, usecase.getSourceURL());
-//        try {
-            var resolver = cocoon.getComponent(Packages.org.apache.cocoon.environment.SourceResolver.ROLE);
-            var source = resolver.resolveURI(usecase.getSourceURL());
-            var tf = Packages.javax.xml.transform.TransformerFactory.newInstance();
-            log("debug", "source instanceof ModifiableSource ? " + (source instanceof Packages.org.apache.excalibur.source.ModifiableSource));
-            log("debug", "tf.getFeature(SAXTransformerFactory.FEATURE): " + tf.getFeature(Packages.javax.xml.transform.sax.SAXTransformerFactory.FEATURE));
-            if (source instanceof Packages.org.apache.excalibur.source.ModifiableSource
-                    && tf.getFeature(Packages.javax.xml.transform.sax.SAXTransformerFactory.FEATURE)) {
-                var outputStream = source.getOutputStream();
-                var transformerHandler = tf.newTransformerHandler();
-                var transformer = transformerHandler.getTransformer();
-                transformer.setOutputProperty(Packages.javax.xml.transform.OutputKeys.INDENT, "true");
-                transformer.setOutputProperty(Packages.javax.xml.transform.OutputKeys.METHOD, "xml");
-                transformerHandler.setResult(new Packages.javax.xml.transform.stream.StreamResult(outputStream));
-
-                var streamer = new Packages.org.apache.cocoon.xml.dom.DOMStreamer(transformerHandler);
-                streamer.stream(generic.doc);
-            } else {
-                throw new Packages.org.apache.cocoon.ProcessingException("Cannot write to source " + usecase.getSourceURL());
-            }
-/*        } catch (exception) {
-            log("error", "Something went wrong during saving: " + exception, usecase.getName());
-            log("debug", "usecase.getSourceURL(): " + usecase.getSourceURL(), usecase.getName());
-            log("debug", "source: " + source, usecase.getName());
-            log("debug", "tf: " + tf, usecase.getName());
-            log("debug", "generic.doc: " + generic.doc, usecase.getName());
-            log("debug", "outputStream: " + outputStream, usecase.getName());
-            //log("debug", "streamer.stream(generic.doc): " + streamer.stream(generic.doc), usecase.getName());
-            throw exception;
-        } finally {
-            if (source != null)
-            resolver.release(source);
-            cocoon.releaseComponent(resolver);
-            if (outputStream != null) {
-            try {
-                outputStream.flush();
-                outputStream.close();
-            } catch (exception) {
-                log("error", "Could not flush/close outputstream: " + exception, usecase.getName());
-                throw exception;
-            }
-            }
-        }
-
-    } catch (exception) {
-        log("error", "Exception during customSubmitFlow: " + exception, usecase.getName());
-        throw exception;
-    } finally {
-        cocoon.releaseComponent(flowHelper);
-    }
-*/
-    return "success";
+    usecase.setParameter("xml", generic.doc);
+    defaultSubmitFlow(usecase);
 }

Modified: lenya/trunk/src/modules/cforms/java/src/org/apache/lenya/cms/editors/cforms/CForms.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/cforms/java/src/org/apache/lenya/cms/editors/cforms/CForms.java?view=diff&rev=529609&r1=529608&r2=529609
==============================================================================
--- lenya/trunk/src/modules/cforms/java/src/org/apache/lenya/cms/editors/cforms/CForms.java (original)
+++ lenya/trunk/src/modules/cforms/java/src/org/apache/lenya/cms/editors/cforms/CForms.java Tue Apr 17 07:04:51 2007
@@ -16,16 +16,17 @@
 package org.apache.lenya.cms.editors.cforms;
 
 import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.repository.Node;
-import org.apache.lenya.cms.usecase.DocumentUsecase;
 import org.apache.cocoon.components.ContextHelper;
 import org.apache.cocoon.environment.Request;
+import org.apache.lenya.cms.publication.Document;
+import org.apache.lenya.cms.repository.Node;
+import org.apache.lenya.cms.workflow.usecases.InvokeWorkflow;
+import org.apache.lenya.xml.DocumentHelper;
 
 /**
  * Dummy CForms usecase.
  */
-public class CForms extends DocumentUsecase {
+public class CForms extends InvokeWorkflow {
     
     /**
      * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
@@ -52,6 +53,8 @@
      */
     protected void doExecute() throws Exception {
         super.doExecute();
+        org.w3c.dom.Document xml = (org.w3c.dom.Document) getParameter("xml");
+        DocumentHelper.writeDocument(xml, getSourceDocument().getOutputStream());
     }
     
     protected Node[] getNodesToLock() {

Modified: lenya/trunk/src/modules/cforms/usecases/dynamicrepeater.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/cforms/usecases/dynamicrepeater.xml?view=diff&rev=529609&r1=529608&r2=529609
==============================================================================
--- lenya/trunk/src/modules/cforms/usecases/dynamicrepeater.xml (original)
+++ lenya/trunk/src/modules/cforms/usecases/dynamicrepeater.xml Tue Apr 17 07:04:51 2007
@@ -78,7 +78,7 @@
     </fd:repeater-action>
 
     <fd:submit id="ok">
-      <fd:label>Submit</fd:label>
+      <fd:label><i18n:text>Submit</i18n:text></fd:label>
     </fd:submit>
   </fd:widgets>
 



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