From 0dd0f045d2cbe6dc6144299e444fe05aa03c0180 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Tue, 13 Oct 2015 08:38:09 +0200 Subject: [PATCH] Drops deprecation interceptor --- .../interceptor/DeprecationInterceptor.java | 106 ------------------ core/src/main/resources/struts-default.xml | 3 - 2 files changed, 109 deletions(-) delete mode 100644 core/src/main/java/org/apache/struts2/interceptor/DeprecationInterceptor.java diff --git a/core/src/main/java/org/apache/struts2/interceptor/DeprecationInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/DeprecationInterceptor.java deleted file mode 100644 index 3722efe79..000000000 --- a/core/src/main/java/org/apache/struts2/interceptor/DeprecationInterceptor.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.apache.struts2.interceptor; - -import com.opensymphony.xwork2.ActionInvocation; -import com.opensymphony.xwork2.XWorkConstants; -import com.opensymphony.xwork2.inject.Container; -import com.opensymphony.xwork2.inject.Inject; -import com.opensymphony.xwork2.interceptor.AbstractInterceptor; -import org.apache.commons.lang3.BooleanUtils; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.apache.struts2.StrutsConstants; - -import java.lang.reflect.Field; -import java.util.HashSet; -import java.util.Set; - -/** - * - * In devMode checks if application uses deprecated or unknown constants and displays warning - * when logging level is set to DEBUG - * - * - * - * no special parameters yet - * - */ -public class DeprecationInterceptor extends AbstractInterceptor { - - private static final Logger LOG = LogManager.getLogger(DeprecationInterceptor.class); - - private Container container; - private boolean devMode; - - @Override - public String intercept(ActionInvocation invocation) throws Exception { - if (devMode) { - String message = validate(); - if (message != null) { - LOG.debug(message); - } - } - return invocation.invoke(); - } - - /** - * Validates constants. Validation goes on only if devMode is set. - * - * @throws Exception - */ - private String validate() throws Exception { - Set constants = new HashSet<>(); - - readConstants(constants, StrutsConstants.class); - readConstants(constants, XWorkConstants.class); - - Set applicationConstants = container.getInstanceNames(String.class); - String message = null; - if (!constants.containsAll(applicationConstants)) { - Set deprecated = new HashSet<>(applicationConstants); - deprecated.removeAll(constants); - message = prepareMessage(deprecated); - } - return message; - } - - private void readConstants(Set constants, Class clazz) throws IllegalAccessException { - for (Field field : clazz.getDeclaredFields()) { - if (String.class.equals(field.getType())) { - constants.add((String) field.get(clazz)); - } - } - } - - /** - * Prepares message to display - * - * @param deprecated A set with deprecated/unknown constants - */ - private String prepareMessage(Set deprecated) { - StringBuilder sb = new StringBuilder("\n"); - sb.append("*******************************************************************************\n"); - sb.append("** **\n"); - sb.append("** WARNING **\n"); - sb.append("** YOU USE DEPRECATED / UNKNOWN CONSTANTS **\n"); - sb.append("** **\n"); - - for (String dep : deprecated) { - sb.append(String.format("** -> %-69s **\n", dep)); - } - - sb.append("*******************************************************************************\n"); - - return sb.toString(); - } - - @Inject(StrutsConstants.STRUTS_DEVMODE) - public void setDevMode(String state) { - this.devMode = BooleanUtils.toBoolean(state); - } - - @Inject - public void setContainer(Container container) { - this.container = container; - } - -} diff --git a/core/src/main/resources/struts-default.xml b/core/src/main/resources/struts-default.xml index b95a1a0aa..1f5fa17bd 100644 --- a/core/src/main/resources/struts-default.xml +++ b/core/src/main/resources/struts-default.xml @@ -215,7 +215,6 @@ - @@ -228,7 +227,6 @@ - @@ -334,7 +332,6 @@ input,back,cancel,browse -