+
/WEB-INF/tags/non-ui/debug.jsp
diff --git a/apps/showcase/src/main/webapp/WEB-INF/tags/non-ui/debug.jsp b/apps/showcase/src/main/webapp/WEB-INF/tags/non-ui/debug.jsp
index 45131e87c..1629bf3ab 100644
--- a/apps/showcase/src/main/webapp/WEB-INF/tags/non-ui/debug.jsp
+++ b/apps/showcase/src/main/webapp/WEB-INF/tags/non-ui/debug.jsp
@@ -42,7 +42,7 @@
Just click on the Debug label to see the Struts ValueStack Debug information.
-
+
diff --git a/core/src/main/java/org/apache/struts2/components/Debug.java b/core/src/main/java/org/apache/struts2/components/Debug.java
index 87c32de87..e1c72fb28 100644
--- a/core/src/main/java/org/apache/struts2/components/Debug.java
+++ b/core/src/main/java/org/apache/struts2/components/Debug.java
@@ -30,11 +30,12 @@ import java.util.Map;
import java.util.ArrayList;
import java.util.List;
+import org.apache.struts2.dispatcher.PrepareOperations;
import org.apache.struts2.views.annotations.StrutsTag;
import org.apache.struts2.StrutsException;
@StrutsTag(name="debug", tldTagClass="org.apache.struts2.views.jsp.ui.DebugTag",
- description="Prints debugging information (Only if 'struts.devMode' enabled or disable tag is set 'false')")
+ description="Prints debugging information (Only if 'struts.devMode' is enabled)")
public class Debug extends UIBean {
public static final String TEMPLATE = "debug";
@@ -88,7 +89,7 @@ public class Debug extends UIBean {
}
protected boolean showDebug() {
- return (devMode || "false".equalsIgnoreCase(disabled));
+ return (devMode || Boolean.TRUE == PrepareOperations.getDevModeOverride());
}
private static class DebugMapEntry implements Map.Entry {
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/DebugTagTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/DebugTagTest.java
index 4fc1de30f..0a4e50d97 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/DebugTagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/DebugTagTest.java
@@ -25,6 +25,7 @@ import com.opensymphony.xwork2.test.StubConfigurationProvider;
import com.opensymphony.xwork2.util.location.LocatableProperties;
import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.StrutsConstants;
+import org.apache.struts2.dispatcher.PrepareOperations;
import org.apache.struts2.views.jsp.AbstractUITagTest;
import java.util.HashMap;
@@ -63,44 +64,26 @@ public class DebugTagTest extends AbstractUITagTest {
assertTrue("nothing to see here, devMode=false", StringUtils.isEmpty(writer.toString()));
}
- public void testTagAttributeDisableEmpty() throws Exception {
+ public void testTagAttributeOverrideDevModeTrue() throws Exception {
setDevMode(false);
- tag.doStartTag();
- tag.doEndTag();
- assertTrue("nothing to see here, devMode=false and Tag not set", StringUtils.isEmpty(writer.toString()));
- }
-
- public void testTagAttributeDisableFalse() throws Exception {
- setDevMode(false);
-
- tag.setDisabled("false");
+ PrepareOperations.overrideDevMode(true);
tag.doStartTag();
tag.doEndTag();
String result = writer.toString();
- assertTrue("devMode=false but Tag is set 'false'", StringUtils.isNotEmpty(result));
+ assertTrue(StringUtils.isNotEmpty(result));
assertTrue("Property 'checkStackProperty' should be in Debug Tag output", StringUtils.contains(result, "checkStackProperty | "));
}
- public void testTagAttributeDisableTrue() throws Exception {
+ public void testTagAttributeOverrideDevModeFalse() throws Exception {
setDevMode(false);
- tag.setDisabled("true");
+ PrepareOperations.overrideDevMode(false);
tag.doStartTag();
tag.doEndTag();
- assertTrue("nothing to see here, devMode=false and Tag is set 'true", StringUtils.isEmpty(writer.toString()));
+ assertTrue("nothing to see here, devMode=false and overrideDevMode=false", StringUtils.isEmpty(writer.toString()));
}
- public void testTagAttributeDisableAny() throws Exception {
- setDevMode(false);
-
- tag.setDisabled("rubbish");
- tag.doStartTag();
- tag.doEndTag();
- assertTrue("nothing to see here, devMode=false and Tag is set 'rubbish", StringUtils.isEmpty(writer.toString()));
- }
-
-
private void setDevMode(final boolean devMode) {
setStrutsConstant(new HashMap() {{
put(StrutsConstants.STRUTS_DEVMODE, Boolean.toString(devMode));