* Set the async support for the associated servlet.
*/
public void setAsyncSupported(boolean asyncSupport);
+
+ /**
+ * Is the associated Servlet enabled? Defaults to <code>true</code>.
+ */
+ public boolean isEnabled();
+
+ /**
+ * Sets the enabled attribute for the associated servlet.
+ */
+ public void setEnabled(boolean enabled);
+
}
protected boolean asyncSupported = true;
/**
+ * Enabled
+ */
+ protected boolean enabled = true;
+
+ /**
* Static class array used when the SecurityManager is turned on and
* <code>Servlet.init</code> is invoked.
*/
*/
public boolean isUnavailable() {
- if (available == 0L)
- return (false);
+ if (!isEnabled())
+ return true;
+ else if (available == 0L)
+ return false;
else if (available <= System.currentTimeMillis()) {
available = 0L;
- return (false);
+ return false;
} else
- return (true);
+ return true;
}
this.asyncSupported = asyncSupported;
}
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ }
+
// -------------------------------------------------------- Package Methods
public void setAsyncSupported(String asyncSupported) {
this.asyncSupported = Boolean.valueOf(asyncSupported);
}
+
+
+ /**
+ * Is this servlet enabled.
+ */
+ private Boolean enabled = null;
+
+ public Boolean getEnabled() {
+ return this.enabled;
+ }
+
+ public void setEnabled(String enabled) {
+ this.enabled = Boolean.valueOf(enabled);
+ }
}
"setFileSizeThreshold", 0);
digester.addCallMethod(fullPrefix + "/servlet/async-supported",
- "setAsyncSupported", 0);
+ "setAsyncSupported", 0);
+ digester.addCallMethod(fullPrefix + "/servlet/enabled",
+ "setEnabled", 0);
digester.addRule(fullPrefix + "/servlet-mapping",
}
appendElement(sb, INDENT4, "load-on-startup",
servletDef.getLoadOnStartup());
- // TODO enabled
+ appendElement(sb, INDENT4, "enabled", servletDef.getEnabled());
appendElement(sb, INDENT4, "async-supported",
servletDef.getAsyncSupported());
sb.append(" <run-as>\n");
if (servlet.getLoadOnStartup() != null) {
wrapper.setLoadOnStartup(servlet.getLoadOnStartup().intValue());
}
+ if (servlet.getEnabled() != null) {
+ wrapper.setEnabled(servlet.getEnabled().booleanValue());
+ }
wrapper.setName(servlet.getServletName());
Map<String,String> params = servlet.getParameterMap();
for (String param : params.keySet()) {
}
}
+ if (dest.getEnabled() == null) {
+ dest.setEnabled(src.getEnabled().toString());
+ } else if (src.getEnabled() != null) {
+ if (failOnConflict &&
+ !src.getEnabled().equals(dest.getEnabled())) {
+ return false;
+ }
+ }
+
for (Map.Entry<String,String> srcEntry :
src.getParameterMap().entrySet()) {
if (dest.getParameterMap().containsKey(srcEntry.getKey())) {