You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2017/05/10 14:39:51 UTC

[01/10] struts git commit: WW-4749 Implements buffered write

Repository: struts
Updated Branches:
  refs/heads/master 0314ddcb5 -> 5a0f2e1aa


WW-4749 Implements buffered write


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/d739be34
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/d739be34
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/d739be34

Branch: refs/heads/master
Commit: d739be34bccebbde2972c9e2c6225b94bad68d27
Parents: 8f75e1a
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed Apr 26 08:42:42 2017 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed Apr 26 08:42:42 2017 +0200

----------------------------------------------------------------------
 .../views/freemarker/FreemarkerResult.java      | 22 ++++++++++++--------
 1 file changed, 13 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/d739be34/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
index 52ad637..0c7de59 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
@@ -112,6 +112,8 @@ public class FreemarkerResult extends StrutsResultSupport {
     protected FreemarkerManager freemarkerManager;
     private Writer writer;
     private boolean writeIfCompleted = false;
+    private String useBufferedWriter;
+
     /*
      * Struts results are constructed for each result execution
      *
@@ -194,11 +196,18 @@ public class FreemarkerResult extends StrutsResultSupport {
         // Give subclasses a chance to hook into preprocessing
         if (preTemplateProcess(template, model)) {
             try {
+                final boolean willUseBufferedWriter;
+                if (useBufferedWriter != null) {
+                    willUseBufferedWriter = Boolean.parseBoolean(useBufferedWriter);
+                } else {
+                    willUseBufferedWriter = isWriteIfCompleted() || template.getTemplateExceptionHandler() == TemplateExceptionHandler.RETHROW_HANDLER;
+                }
+
                 // Process the template
                 Writer writer = getWriter();
-                if (isWriteIfCompleted() || configuration.getTemplateExceptionHandler() == TemplateExceptionHandler.RETHROW_HANDLER) {
+                if (willUseBufferedWriter){
                     CharArrayWriter parentCharArrayWriter = (CharArrayWriter) req.getAttribute(PARENT_TEMPLATE_WRITER);
-                    boolean isTopTemplate = false;
+                    boolean isTopTemplate;
                     if (isTopTemplate = (parentCharArrayWriter == null)) {
                         //this is the top template
                         parentCharArrayWriter = new CharArrayWriter();
@@ -213,18 +222,13 @@ public class FreemarkerResult extends StrutsResultSupport {
                             parentCharArrayWriter.flush();
                             parentCharArrayWriter.writeTo(writer);
                         }
-                    } catch (TemplateException e) {
+                    } catch (TemplateException | IOException e) {
                         if (LOG.isErrorEnabled()) {
                             LOG.error("Error processing Freemarker result!", e);
                         }
                         throw e;
-                    } catch (IOException e) {
-                        if (LOG.isErrorEnabled()){
-                            LOG.error("Error processing Freemarker result!", e);
-                        }
-                        throw e;
                     } finally {
-                        if (isTopTemplate && parentCharArrayWriter != null) {
+                        if (isTopTemplate) {
                             req.removeAttribute(PARENT_TEMPLATE_WRITER);
                             parentCharArrayWriter.close();
                         }


[05/10] struts git commit: WW-4749 Uses ordinary boolean instead of Boolean

Posted by lu...@apache.org.
WW-4749 Uses ordinary boolean instead of Boolean


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/bbcd9dc2
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/bbcd9dc2
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/bbcd9dc2

Branch: refs/heads/master
Commit: bbcd9dc2514b286065a16657d58418aa9ef4be75
Parents: 1df8979
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Apr 28 09:33:56 2017 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Apr 28 09:33:56 2017 +0200

----------------------------------------------------------------------
 .../org/apache/struts2/views/freemarker/FreemarkerResult.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/bbcd9dc2/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
index 4ff393d..c9683b8 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
@@ -60,7 +60,7 @@ public class FreemarkerResult extends StrutsResultSupport {
     protected ObjectWrapper wrapper;
     protected FreemarkerManager freemarkerManager;
     private Writer writer;
-    private Boolean useBufferedWriter = null;
+    private boolean useBufferedWriter = false;
 
     /*
      * Struts results are constructed for each result execution
@@ -352,13 +352,13 @@ public class FreemarkerResult extends StrutsResultSupport {
     }
 
     public boolean isUseBufferedWriter() {
-        return useBufferedWriter != null && useBufferedWriter;
+        return useBufferedWriter;
     }
 
     /**
      * @param useBufferedWriter template is processed and flushed according to freemarker library policies
      */
-    public void setUseBufferedWriter(Boolean useBufferedWriter) {
+    public void setUseBufferedWriter(boolean useBufferedWriter) {
         this.useBufferedWriter = useBufferedWriter;
     }
 }


[10/10] struts git commit: WW-4749 Implements buffer/flush behaviour in FreemarkerResult

Posted by lu...@apache.org.
WW-4749 Implements buffer/flush behaviour in FreemarkerResult


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/5a0f2e1a
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/5a0f2e1a
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/5a0f2e1a

Branch: refs/heads/master
Commit: 5a0f2e1aaf8d420bd74033175e6e459883160487
Parents: 0314ddc b842a4c
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed May 10 16:39:41 2017 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed May 10 16:39:41 2017 +0200

----------------------------------------------------------------------
 .../views/freemarker/FreemarkerResult.java      | 83 ++++----------------
 .../views/freemarker/FreeMarkerResultTest.java  | 12 ---
 2 files changed, 16 insertions(+), 79 deletions(-)
----------------------------------------------------------------------



[08/10] struts git commit: WW-4749 Uses writeIfCompleted to keep backward compatibility

Posted by lu...@apache.org.
WW-4749 Uses writeIfCompleted to keep backward compatibility


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/38a2ebb7
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/38a2ebb7
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/38a2ebb7

Branch: refs/heads/master
Commit: 38a2ebb72abd90c74bd52d6a81e3a0d967965c7b
Parents: 3034b3a
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Apr 28 13:14:30 2017 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Apr 28 13:14:30 2017 +0200

----------------------------------------------------------------------
 .../struts2/views/freemarker/FreemarkerResult.java  | 16 ++++++++--------
 .../views/freemarker/FreeMarkerResultTest.java      | 14 +-------------
 2 files changed, 9 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/38a2ebb7/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
index b083796..da631d9 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
@@ -60,7 +60,7 @@ public class FreemarkerResult extends StrutsResultSupport {
     protected ObjectWrapper wrapper;
     protected FreemarkerManager freemarkerManager;
     private Writer writer;
-    private Boolean useBufferedWriter = null;
+    private Boolean writeIfCompleted = null;
 
     /*
      * Struts results are constructed for each result execution
@@ -145,8 +145,8 @@ public class FreemarkerResult extends StrutsResultSupport {
         if (preTemplateProcess(template, model)) {
             try {
                 final boolean willUseBufferedWriter;
-                if (useBufferedWriter != null) {
-                    willUseBufferedWriter = isUseBufferedWriter();
+                if (writeIfCompleted != null) {
+                    willUseBufferedWriter = isWriteIfCompleted();
                 } else {
                     willUseBufferedWriter = template.getTemplateExceptionHandler() == TemplateExceptionHandler.RETHROW_HANDLER;
                 }
@@ -356,14 +356,14 @@ public class FreemarkerResult extends StrutsResultSupport {
         return (Boolean) ObjectUtils.defaultIfNull(attribute, Boolean.FALSE);
     }
 
-    public boolean isUseBufferedWriter() {
-        return useBufferedWriter != null && useBufferedWriter;
+    public boolean isWriteIfCompleted() {
+        return writeIfCompleted != null && writeIfCompleted;
     }
 
     /**
-     * @param useBufferedWriter template is processed and flushed according to freemarker library policies
+     * @param writeIfCompleted template is processed and flushed according to freemarker library policies
      */
-    public void setUseBufferedWriter(Boolean useBufferedWriter) {
-        this.useBufferedWriter = useBufferedWriter;
+    public void setWriteIfCompleted(Boolean writeIfCompleted) {
+        this.writeIfCompleted = writeIfCompleted;
     }
 }

http://git-wip-us.apache.org/repos/asf/struts/blob/38a2ebb7/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java b/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java
index ec8ec05..1d8cb8f 100644
--- a/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java
+++ b/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java
@@ -22,32 +22,20 @@
 package org.apache.struts2.views.freemarker;
 
 import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.ActionProxy;
 import com.opensymphony.xwork2.mock.MockActionInvocation;
 import com.opensymphony.xwork2.mock.MockActionProxy;
-import com.opensymphony.xwork2.util.ClassLoaderUtil;
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory;
-import freemarker.template.Configuration;
-import freemarker.template.TemplateExceptionHandler;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsInternalTestCase;
 import org.apache.struts2.StrutsStatics;
-import org.apache.struts2.dispatcher.Dispatcher;
-import org.apache.struts2.dispatcher.mapper.ActionMapper;
-import org.apache.struts2.dispatcher.mapper.ActionMapping;
 import org.apache.struts2.views.jsp.StrutsMockHttpServletResponse;
 import org.apache.struts2.views.jsp.StrutsMockServletContext;
-import org.easymock.EasyMock;
 import org.springframework.mock.web.MockHttpServletRequest;
 
-import javax.servlet.ServletContext;
 import java.io.File;
 import java.io.PrintWriter;
 import java.io.StringWriter;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.util.HashMap;
 
 import static org.apache.struts2.views.jsp.AbstractUITagTest.normalize;
 
@@ -70,7 +58,7 @@ public class FreeMarkerResultTest extends StrutsInternalTestCase {
         FreemarkerResult result = new FreemarkerResult();
         result.setLocation("someFreeMarkerFile.ftl");
         result.setFreemarkerManager(mgr);
-        result.setUseBufferedWriter(true);
+        result.setWriteIfCompleted(true);
 
         try {
             result.execute(invocation);


[03/10] struts git commit: WW-4749 Defines setter to allow specify useBufferedWriter

Posted by lu...@apache.org.
WW-4749 Defines setter to allow specify useBufferedWriter


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/f5125bcd
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/f5125bcd
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/f5125bcd

Branch: refs/heads/master
Commit: f5125bcd1bb97a75ab54e266399c2bf96987c1dc
Parents: 787150d
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed Apr 26 08:51:45 2017 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed Apr 26 08:51:45 2017 +0200

----------------------------------------------------------------------
 .../struts2/views/freemarker/FreemarkerResult.java     | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/f5125bcd/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
index 226fb70..7ea7fe3 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
@@ -147,7 +147,7 @@ public class FreemarkerResult extends StrutsResultSupport {
             try {
                 final boolean willUseBufferedWriter;
                 if (useBufferedWriter != null) {
-                    willUseBufferedWriter = Boolean.parseBoolean(useBufferedWriter);
+                    willUseBufferedWriter = isUseBufferedWriter();
                 } else {
                     willUseBufferedWriter = isWriteIfCompleted() || template.getTemplateExceptionHandler() == TemplateExceptionHandler.RETHROW_HANDLER;
                 }
@@ -370,4 +370,15 @@ public class FreemarkerResult extends StrutsResultSupport {
     public void setWriteIfCompleted(boolean writeIfCompleted) {
         this.writeIfCompleted = writeIfCompleted;
     }
+
+    public boolean isUseBufferedWriter() {
+        return useBufferedWriter != null && Boolean.parseBoolean(useBufferedWriter);
+    }
+
+    /**
+     * @param useBufferedWriter template is processed and flushed according to freemarker library policies
+     */
+    public void setUseBufferedWriter(String useBufferedWriter) {
+        this.useBufferedWriter = useBufferedWriter;
+    }
 }


[06/10] struts git commit: WW-4749 Fixes test

Posted by lu...@apache.org.
WW-4749 Fixes test


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/6dad53c5
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/6dad53c5
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/6dad53c5

Branch: refs/heads/master
Commit: 6dad53c5e316b3be2551a1bab47ee71b64ac3542
Parents: bbcd9dc
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Apr 28 10:01:27 2017 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Apr 28 10:01:27 2017 +0200

----------------------------------------------------------------------
 .../org/apache/struts2/views/freemarker/FreeMarkerResultTest.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/6dad53c5/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java b/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java
index 060b927..ec8ec05 100644
--- a/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java
+++ b/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java
@@ -70,7 +70,7 @@ public class FreeMarkerResultTest extends StrutsInternalTestCase {
         FreemarkerResult result = new FreemarkerResult();
         result.setLocation("someFreeMarkerFile.ftl");
         result.setFreemarkerManager(mgr);
-        result.setWriteIfCompleted(true);
+        result.setUseBufferedWriter(true);
 
         try {
             result.execute(invocation);


[02/10] struts git commit: Moves documentation to wiki

Posted by lu...@apache.org.
Moves documentation to wiki


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/787150d0
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/787150d0
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/787150d0

Branch: refs/heads/master
Commit: 787150d041e32e8e579df5d44c1258881fad6c94
Parents: d739be3
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed Apr 26 08:48:01 2017 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed Apr 26 08:48:01 2017 +0200

----------------------------------------------------------------------
 .../views/freemarker/FreemarkerResult.java      | 51 --------------------
 1 file changed, 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/787150d0/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
index 0c7de59..226fb70 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
@@ -1,6 +1,4 @@
 /*
- * $Id$
- *
  * 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
@@ -48,57 +46,8 @@ import java.io.IOException;
 import java.io.Writer;
 import java.util.Locale;
 
-
 /**
- * <!-- START SNIPPET: description -->
- *
  * Renders a view using the Freemarker template engine.
- * <p>
- * The FreemarkarManager class configures the template loaders so that the
- * template location can be either
- * </p>
- *
- * <ul>
- *
- * <li>relative to the web root folder. eg <code>/WEB-INF/views/home.ftl</code>
- * </li>
- *
- * <li>a classpath resuorce. eg <code>/com/company/web/views/home.ftl</code></li>
- *
- * </ul>
- *
- * <!-- END SNIPPET: description -->
- *
- * <b>This result type takes the following parameters:</b>
- *
- * <!-- START SNIPPET: params -->
- *
- * <ul>
- *
- * <li><b>location (default)</b> - the location of the template to process.</li>
- *
- * <li><b>parse</b> - true by default. If set to false, the location param will
- * not be parsed for Ognl expressions.</li>
- *
- * <li><b>contentType</b> - defaults to "text/html" unless specified.</li>
- * 
- * <li><b>writeIfCompleted</b> - false by default, write to stream only if there isn't any error 
- * processing the template. Setting template_exception_handler=rethrow in freemarker.properties
- * will have the same effect.</li>
- *
- * </ul>
- *
- * <!-- END SNIPPET: params -->
- *
- * <b>Example:</b>
- *
- * <pre>
- * <!-- START SNIPPET: example -->
- *
- * &lt;result name="success" type="freemarker"&gt;foo.ftl&lt;/result&gt;
- *
- * <!-- END SNIPPET: example -->
- * </pre>
  */
 public class FreemarkerResult extends StrutsResultSupport {
 


[09/10] struts git commit: WW-4749 Renames local variable to better express its meaning

Posted by lu...@apache.org.
WW-4749 Renames local variable to better express its meaning


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/b842a4c7
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/b842a4c7
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/b842a4c7

Branch: refs/heads/master
Commit: b842a4c779e45e1193e6319970c2dc6f52ec6bf1
Parents: 38a2ebb
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed May 10 10:08:48 2017 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed May 10 10:08:48 2017 +0200

----------------------------------------------------------------------
 .../apache/struts2/views/freemarker/FreemarkerResult.java    | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/b842a4c7/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
index da631d9..c9130ac 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
@@ -144,16 +144,16 @@ public class FreemarkerResult extends StrutsResultSupport {
         // Give subclasses a chance to hook into preprocessing
         if (preTemplateProcess(template, model)) {
             try {
-                final boolean willUseBufferedWriter;
+                final boolean willWriteIfCompleted;
                 if (writeIfCompleted != null) {
-                    willUseBufferedWriter = isWriteIfCompleted();
+                    willWriteIfCompleted = isWriteIfCompleted();
                 } else {
-                    willUseBufferedWriter = template.getTemplateExceptionHandler() == TemplateExceptionHandler.RETHROW_HANDLER;
+                    willWriteIfCompleted = template.getTemplateExceptionHandler() == TemplateExceptionHandler.RETHROW_HANDLER;
                 }
 
                 // Process the template
                 Writer writer = getWriter();
-                if (willUseBufferedWriter){
+                if (willWriteIfCompleted){
                     CharArrayWriter parentCharArrayWriter = (CharArrayWriter) req.getAttribute(PARENT_TEMPLATE_WRITER);
                     boolean isTopTemplate;
                     if (isTopTemplate = (parentCharArrayWriter == null)) {


[07/10] struts git commit: WW-4749 Uses Boolean to allow define behaviour per result

Posted by lu...@apache.org.
WW-4749 Uses Boolean to allow define behaviour per result


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/3034b3a9
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/3034b3a9
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/3034b3a9

Branch: refs/heads/master
Commit: 3034b3a97050bcb24e34f39b203a960a0ddca93e
Parents: 6dad53c
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Apr 28 13:00:09 2017 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Apr 28 13:00:09 2017 +0200

----------------------------------------------------------------------
 .../struts2/views/freemarker/FreemarkerResult.java     | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/3034b3a9/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
index c9683b8..b083796 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
@@ -60,7 +60,7 @@ public class FreemarkerResult extends StrutsResultSupport {
     protected ObjectWrapper wrapper;
     protected FreemarkerManager freemarkerManager;
     private Writer writer;
-    private boolean useBufferedWriter = false;
+    private Boolean useBufferedWriter = null;
 
     /*
      * Struts results are constructed for each result execution
@@ -144,7 +144,12 @@ public class FreemarkerResult extends StrutsResultSupport {
         // Give subclasses a chance to hook into preprocessing
         if (preTemplateProcess(template, model)) {
             try {
-                final boolean willUseBufferedWriter = isUseBufferedWriter() || template.getTemplateExceptionHandler() == TemplateExceptionHandler.RETHROW_HANDLER;
+                final boolean willUseBufferedWriter;
+                if (useBufferedWriter != null) {
+                    willUseBufferedWriter = isUseBufferedWriter();
+                } else {
+                    willUseBufferedWriter = template.getTemplateExceptionHandler() == TemplateExceptionHandler.RETHROW_HANDLER;
+                }
 
                 // Process the template
                 Writer writer = getWriter();
@@ -352,13 +357,13 @@ public class FreemarkerResult extends StrutsResultSupport {
     }
 
     public boolean isUseBufferedWriter() {
-        return useBufferedWriter;
+        return useBufferedWriter != null && useBufferedWriter;
     }
 
     /**
      * @param useBufferedWriter template is processed and flushed according to freemarker library policies
      */
-    public void setUseBufferedWriter(boolean useBufferedWriter) {
+    public void setUseBufferedWriter(Boolean useBufferedWriter) {
         this.useBufferedWriter = useBufferedWriter;
     }
 }


[04/10] struts git commit: WW-4749 Drops writeIfCompleted and uses Boolean instead String

Posted by lu...@apache.org.
WW-4749 Drops writeIfCompleted and uses Boolean instead String


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/1df89792
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/1df89792
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/1df89792

Branch: refs/heads/master
Commit: 1df89792f93fa71f374eef8a2b1a72b43cc28eab
Parents: f5125bc
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Apr 28 09:32:47 2017 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Apr 28 09:32:47 2017 +0200

----------------------------------------------------------------------
 .../views/freemarker/FreemarkerResult.java      | 28 +++-----------------
 1 file changed, 4 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/1df89792/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
index 7ea7fe3..4ff393d 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
@@ -60,8 +60,7 @@ public class FreemarkerResult extends StrutsResultSupport {
     protected ObjectWrapper wrapper;
     protected FreemarkerManager freemarkerManager;
     private Writer writer;
-    private boolean writeIfCompleted = false;
-    private String useBufferedWriter;
+    private Boolean useBufferedWriter = null;
 
     /*
      * Struts results are constructed for each result execution
@@ -145,12 +144,7 @@ public class FreemarkerResult extends StrutsResultSupport {
         // Give subclasses a chance to hook into preprocessing
         if (preTemplateProcess(template, model)) {
             try {
-                final boolean willUseBufferedWriter;
-                if (useBufferedWriter != null) {
-                    willUseBufferedWriter = isUseBufferedWriter();
-                } else {
-                    willUseBufferedWriter = isWriteIfCompleted() || template.getTemplateExceptionHandler() == TemplateExceptionHandler.RETHROW_HANDLER;
-                }
+                final boolean willUseBufferedWriter = isUseBufferedWriter() || template.getTemplateExceptionHandler() == TemplateExceptionHandler.RETHROW_HANDLER;
 
                 // Process the template
                 Writer writer = getWriter();
@@ -357,28 +351,14 @@ public class FreemarkerResult extends StrutsResultSupport {
         return (Boolean) ObjectUtils.defaultIfNull(attribute, Boolean.FALSE);
     }
 
-    /**
-     * @return true write to the stream only when template processing completed successfully (false by default)
-     */
-    public boolean isWriteIfCompleted() {
-        return writeIfCompleted;
-    }
-
-    /**
-     * @param writeIfCompleted Writes to the stream only when template processing completed successfully
-     */
-    public void setWriteIfCompleted(boolean writeIfCompleted) {
-        this.writeIfCompleted = writeIfCompleted;
-    }
-
     public boolean isUseBufferedWriter() {
-        return useBufferedWriter != null && Boolean.parseBoolean(useBufferedWriter);
+        return useBufferedWriter != null && useBufferedWriter;
     }
 
     /**
      * @param useBufferedWriter template is processed and flushed according to freemarker library policies
      */
-    public void setUseBufferedWriter(String useBufferedWriter) {
+    public void setUseBufferedWriter(Boolean useBufferedWriter) {
         this.useBufferedWriter = useBufferedWriter;
     }
 }