You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by jo...@apache.org on 2015/06/08 20:17:52 UTC
struts git commit: Minor code improvement's in the struts json plugin
Repository: struts
Updated Branches:
refs/heads/master decf48eb7 -> 5d86c0e5c
Minor code improvement's in the struts json plugin
- Use Java 7 features like diamond operator
- Improve some logging message
- Use BooleanUtils.toBoolean(string) instead of "true".isEquals to be more robust
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/5d86c0e5
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/5d86c0e5
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/5d86c0e5
Branch: refs/heads/master
Commit: 5d86c0e5c982272fc1650623fb49feec15fc836a
Parents: decf48e
Author: Johannes Geppert <po...@jgeppert.com>
Authored: Mon Jun 8 20:17:45 2015 +0200
Committer: Johannes Geppert <po...@jgeppert.com>
Committed: Mon Jun 8 20:17:45 2015 +0200
----------------------------------------------------------------------
.../org/apache/struts2/json/JSONCleaner.java | 29 +++------
.../apache/struts2/json/JSONInterceptor.java | 64 +++++++++----------
.../org/apache/struts2/json/JSONPopulator.java | 65 +++++++-------------
.../org/apache/struts2/json/JSONResult.java | 10 +--
.../java/org/apache/struts2/json/JSONUtil.java | 31 +++++-----
.../org/apache/struts2/json/JSONWriter.java | 16 ++---
.../struts2/json/bridge/StringBridge.java | 4 +-
.../java/org/apache/struts2/json/smd/SMD.java | 4 +-
8 files changed, 92 insertions(+), 131 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/5d86c0e5/plugins/json/src/main/java/org/apache/struts2/json/JSONCleaner.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONCleaner.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONCleaner.java
index 8a8d0a7..3328101 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONCleaner.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONCleaner.java
@@ -20,20 +20,13 @@
*/
package org.apache.struts2.json;
-import java.util.Iterator;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.HashMap;
-
-import java.util.regex.Pattern;
-import java.util.regex.Matcher;
-
import com.opensymphony.xwork2.util.TextParseUtil;
import com.opensymphony.xwork2.util.WildcardUtil;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.util.*;
+import java.util.regex.Pattern;
/**
* <p>Isolate the process of cleaning JSON data from the Interceptor class
@@ -95,9 +88,7 @@ public abstract class JSONCleaner {
if (allow(key)) {
e.setValue(clean(key, e.getValue()));
} else {
- if (LOG.isDebugEnabled()) {
- LOG.debug("blocked: " + key);
- }
+ LOG.debug("Blocked: {}", key);
iter.remove();
}
}
@@ -132,9 +123,9 @@ public abstract class JSONCleaner {
}
if (includesExcludesMap == null) {
- includesExcludesMap = new TreeMap<String, Filter>();
+ includesExcludesMap = new TreeMap<>();
- Map<String, Boolean> existingExpr = new HashMap<String, Boolean>();
+ Map<String, Boolean> existingExpr = new HashMap<>();
Map<String, Map<String, String>> includePatternData = JSONUtil.getIncludePatternData();
String splitPattern = includePatternData.get(JSONUtil.SPLIT_PATTERN).get(JSONUtil.WILDCARD_PATTERN);
@@ -165,9 +156,7 @@ public abstract class JSONCleaner {
if (s.length() > 0) {
includesExcludesMap.put(s, new Filter(s, true));
- if (LOG.isDebugEnabled()) {
- LOG.debug("Adding include wildcard expression: " + s);
- }
+ LOG.debug("Adding include wildcard expression: {}", s);
}
}
}
@@ -221,7 +210,7 @@ public abstract class JSONCleaner {
}
/**
- * @param blocked The blocked paramters as comma separated String.
+ * @param blocked The blocked parameters as comma separated String.
*/
public void setBlocked(String blocked) {
setBlockedCollection(asCollection(blocked));
http://git-wip-us.apache.org/repos/asf/struts/blob/5d86c0e5/plugins/json/src/main/java/org/apache/struts2/json/JSONInterceptor.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONInterceptor.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONInterceptor.java
index 227d66a..895245a 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONInterceptor.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONInterceptor.java
@@ -20,20 +20,15 @@
*/
package org.apache.struts2.json;
-import java.beans.IntrospectionException;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionInvocation;
+import com.opensymphony.xwork2.inject.Inject;
+import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
+import com.opensymphony.xwork2.util.ValueStack;
+import com.opensymphony.xwork2.util.WildcardUtil;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.dispatcher.FilterDispatcher;
@@ -42,21 +37,23 @@ import org.apache.struts2.json.rpc.RPCError;
import org.apache.struts2.json.rpc.RPCErrorCode;
import org.apache.struts2.json.rpc.RPCResponse;
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.inject.Inject;
-import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
-import com.opensymphony.xwork2.util.ValueStack;
-import com.opensymphony.xwork2.util.WildcardUtil;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.beans.IntrospectionException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.*;
+import java.util.regex.Pattern;
/**
* Populates an action from a JSON string
*/
public class JSONInterceptor extends AbstractInterceptor {
+
private static final long serialVersionUID = 4950170304212158803L;
private static final Logger LOG = LogManager.getLogger(JSONInterceptor.class);
+
private boolean enableSMD = false;
private boolean enableGZIP = false;
private boolean wrapWithComments;
@@ -145,8 +142,9 @@ public class JSONInterceptor extends AbstractInterceptor {
if (obj instanceof Map) {
Map smd = (Map) obj;
- if (rootObject == null) // model makes no sense when using RPC
+ if (rootObject == null) { // model makes no sense when using RPC
rootObject = invocation.getAction();
+ }
// invoke method
try {
@@ -183,10 +181,7 @@ public class JSONInterceptor extends AbstractInterceptor {
return Action.NONE;
} else {
- if (LOG.isDebugEnabled()) {
- LOG.debug("Content type must be 'application/json' or 'application/json-rpc'. " +
- "Ignoring request with content type " + contentType);
- }
+ LOG.debug("Content type must be 'application/json' or 'application/json-rpc'. Ignoring request with content type ", contentType);
}
return invocation.invoke();
@@ -256,8 +251,9 @@ public class JSONInterceptor extends AbstractInterceptor {
Type genericType = genericTypes[i];
// clean up the values
- if (dataCleaner != null)
+ if (dataCleaner != null) {
parameter = dataCleaner.clean("[" + i + "]", parameter);
+ }
Object converted = populator.convert(paramType, genericType, parameter, method);
invocationParameters.add(converted);
@@ -387,7 +383,7 @@ public class JSONInterceptor extends AbstractInterceptor {
*/
public boolean getDebug() {
Boolean devModeOverride = FilterDispatcher.getDevModeOverride();
- return devModeOverride != null ? devModeOverride.booleanValue() : this.debug;
+ return devModeOverride != null ? devModeOverride : this.debug;
}
/**
@@ -401,10 +397,8 @@ public class JSONInterceptor extends AbstractInterceptor {
}
@Inject(StrutsConstants.STRUTS_DEVMODE)
- public void setDevMode(
- String mode)
- {
- setDebug("true".equalsIgnoreCase(mode));
+ public void setDevMode(String mode) {
+ setDebug(BooleanUtils.toBoolean(mode));
}
/**
@@ -417,7 +411,7 @@ public class JSONInterceptor extends AbstractInterceptor {
public void setExcludeProperties(String commaDelim) {
Set<String> excludePatterns = JSONUtil.asSet(commaDelim);
if (excludePatterns != null) {
- this.excludeProperties = new ArrayList<Pattern>(excludePatterns.size());
+ this.excludeProperties = new ArrayList<>(excludePatterns.size());
for (String pattern : excludePatterns) {
this.excludeProperties.add(Pattern.compile(pattern));
}
@@ -434,7 +428,7 @@ public class JSONInterceptor extends AbstractInterceptor {
public void setExcludeWildcards(String commaDelim) {
Set<String> excludePatterns = JSONUtil.asSet(commaDelim);
if (excludePatterns != null) {
- this.excludeProperties = new ArrayList<Pattern>(excludePatterns.size());
+ this.excludeProperties = new ArrayList<>(excludePatterns.size());
for (String pattern : excludePatterns) {
this.excludeProperties.add(WildcardUtil.compileWildcardPattern(pattern));
}
http://git-wip-us.apache.org/repos/asf/struts/blob/5d86c0e5/plugins/json/src/main/java/org/apache/struts2/json/JSONPopulator.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONPopulator.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONPopulator.java
index a0b1f8b..be3847f 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONPopulator.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONPopulator.java
@@ -20,36 +20,21 @@
*/
package org.apache.struts2.json;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.struts2.json.annotations.JSON;
+
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
+import java.lang.reflect.*;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.struts2.json.annotations.JSON;
-
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
+import java.util.*;
/**
* Isolate the process of populating JSON objects from the Interceptor class
@@ -86,8 +71,7 @@ public class JSONPopulator {
PropertyDescriptor[] props = info.getPropertyDescriptors();
// iterate over class fields
- for (int i = 0; i < props.length; ++i) {
- PropertyDescriptor prop = props[i];
+ for (PropertyDescriptor prop : props) {
String name = prop.getName();
if (elements.containsKey(name)) {
@@ -106,8 +90,7 @@ public class JSONPopulator {
Type[] genericTypes = method.getGenericParameterTypes();
if (paramTypes.length == 1) {
- Object convertedValue = this.convert(paramTypes[0], genericTypes[0], value,
- method);
+ Object convertedValue = this.convert(paramTypes[0], genericTypes[0], value, method);
method.invoke(object, new Object[] { convertedValue });
}
}
@@ -139,9 +122,9 @@ public class JSONPopulator {
this.populateObject(convertedValue, (Map) value);
return convertedValue;
} else if (BigDecimal.class.equals(clazz)) {
- return new BigDecimal(value != null ? value.toString() : "0");
+ return new BigDecimal(value.toString());
} else if (BigInteger.class.equals(clazz)) {
- return new BigInteger(value != null ? value.toString() : "0");
+ return new BigInteger(value.toString());
} else
throw new JSONException("Incompatible types for property " + method.getName());
}
@@ -177,7 +160,7 @@ public class JSONPopulator {
Array.set(newArray, j, this.convertPrimitive(arrayType, listValue, accessor));
} else if (listValue instanceof Map) {
// array of other class
- Object newObject = null;
+ Object newObject;
if (Map.class.isAssignableFrom(arrayType)) {
newObject = convertToMap(arrayType, type, listValue, accessor);
} else if (List.class.isAssignableFrom(arrayType)) {
@@ -230,8 +213,7 @@ public class JSONPopulator {
}
// create an object for each element
- for (int j = 0; j < values.size(); j++) {
- Object listValue = values.get(j);
+ for (Object listValue : values) {
if (itemClass.equals(Object.class)) {
// Object[]
@@ -279,7 +261,7 @@ public class JSONPopulator {
}
Map values = (Map) value;
- Map newMap = null;
+ Map newMap;
try {
newMap = (Map) clazz.newInstance();
} catch (InstantiationException ex) {
@@ -288,9 +270,8 @@ public class JSONPopulator {
}
// create an object for each element
- Iterator iter = values.entrySet().iterator();
- while (iter.hasNext()) {
- Map.Entry entry = (Map.Entry) iter.next();
+ for (Object next : values.entrySet()) {
+ Map.Entry entry = (Map.Entry) next;
String key = (String) entry.getKey();
Object v = entry.getValue();
@@ -350,27 +331,27 @@ public class JSONPopulator {
if (Short.TYPE.equals(clazz))
return number.shortValue();
else if (Short.class.equals(clazz))
- return new Short(number.shortValue());
+ return number.shortValue();
else if (Byte.TYPE.equals(clazz))
return number.byteValue();
else if (Byte.class.equals(clazz))
- return new Byte(number.byteValue());
+ return number.byteValue();
else if (Integer.TYPE.equals(clazz))
return number.intValue();
else if (Integer.class.equals(clazz))
- return new Integer(number.intValue());
+ return number.intValue();
else if (Long.TYPE.equals(clazz))
return number.longValue();
else if (Long.class.equals(clazz))
- return new Long(number.longValue());
+ return number.longValue();
else if (Float.TYPE.equals(clazz))
return number.floatValue();
else if (Float.class.equals(clazz))
- return new Float(number.floatValue());
+ return number.floatValue();
else if (Double.TYPE.equals(clazz))
return number.doubleValue();
else if (Double.class.equals(clazz))
- return new Double(number.doubleValue());
+ return number.doubleValue();
else if (String.class.equals(clazz))
return value.toString();
} else if (clazz.equals(Date.class)) {
@@ -381,7 +362,7 @@ public class JSONPopulator {
(json != null) && (json.format().length() > 0) ? json.format() : this.dateFormat);
return formatter.parse((String) value);
} catch (ParseException e) {
- LOG.error(e.getMessage(), e);
+ LOG.error("Unable to parse date from: {}", value, e);
throw new JSONException("Unable to parse date from: " + value);
}
} else if (clazz.isEnum()) {
@@ -425,7 +406,7 @@ public class JSONPopulator {
if (Character.TYPE.equals(clazz))
return charValue;
else
- return new Character(charValue);
+ return charValue;
} else if (clazz.equals(Locale.class)) {
String[] components = sValue.split("_", 2);
if (components.length == 2) {
http://git-wip-us.apache.org/repos/asf/struts/blob/5d86c0e5/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
index 32025a8..dfa0d6c 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
@@ -26,8 +26,9 @@ import com.opensymphony.xwork2.Result;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.WildcardUtil;
-import org.apache.logging.log4j.Logger;
+import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsStatics;
import org.apache.struts2.json.smd.SMDGenerator;
@@ -116,7 +117,7 @@ public class JSONResult implements Result {
public void setExcludeProperties(String commaDelim) {
Set<String> excludePatterns = JSONUtil.asSet(commaDelim);
if (excludePatterns != null) {
- this.excludeProperties = new ArrayList<Pattern>(excludePatterns.size());
+ this.excludeProperties = new ArrayList<>(excludePatterns.size());
for (String pattern : excludePatterns) {
this.excludeProperties.add(Pattern.compile(pattern));
}
@@ -132,7 +133,7 @@ public class JSONResult implements Result {
public void setExcludeWildcards(String commaDelim) {
Set<String> excludePatterns = JSONUtil.asSet(commaDelim);
if (excludePatterns != null) {
- this.excludeProperties = new ArrayList<Pattern>(excludePatterns.size());
+ this.excludeProperties = new ArrayList<>(excludePatterns.size());
for (String pattern : excludePatterns) {
this.excludeProperties.add(WildcardUtil.compileWildcardPattern(pattern));
}
@@ -248,8 +249,9 @@ public class JSONResult implements Result {
protected String addCallbackIfApplicable(HttpServletRequest request, String json) {
if ((callbackParameter != null) && (callbackParameter.length() > 0)) {
String callbackName = request.getParameter(callbackParameter);
- if ((callbackName != null) && (callbackName.length() > 0))
+ if (StringUtils.isNotEmpty(callbackName)) {
json = callbackName + "(" + json + ")";
+ }
}
return json;
}
http://git-wip-us.apache.org/repos/asf/struts/blob/5d86c0e5/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
index 993de80..0ee024e 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
@@ -22,9 +22,9 @@ package org.apache.struts2.json;
import com.opensymphony.xwork2.util.TextParseUtil;
import com.opensymphony.xwork2.util.WildcardUtil;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
import org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.struts2.json.annotations.SMDMethod;
import javax.servlet.http.HttpServletRequest;
@@ -198,9 +198,7 @@ public class JSONUtil {
String json = stringBuilder.toString();
- if (LOG.isDebugEnabled()) {
- LOG.debug("[JSON]" + json);
- }
+ LOG.debug("[JSON] {}", json);
HttpServletResponse response = serializationParams.getResponse();
@@ -265,7 +263,7 @@ public class JSONUtil {
*/
@SuppressWarnings("unchecked")
public static Method[] listSMDMethods(Class clazz, boolean ignoreInterfaces) {
- final List<Method> methods = new LinkedList<Method>();
+ final List<Method> methods = new LinkedList<>();
if (ignoreInterfaces) {
for (Method method : clazz.getMethods()) {
SMDMethod smdMethodAnnotation = method.getAnnotation(SMDMethod.class);
@@ -329,7 +327,7 @@ public class JSONUtil {
*/
@SuppressWarnings("unchecked")
public static boolean visitInterfaces(Class aClass, ClassVisitor visitor) {
- List<Class> classesVisited = new LinkedList<Class>();
+ List<Class> classesVisited = new LinkedList<>();
return visitUniqueInterfaces(aClass, visitor, classesVisited);
}
@@ -373,8 +371,7 @@ public class JSONUtil {
}
public static boolean isGzipInRequest(HttpServletRequest request) {
- String header = request.getHeader("Accept-Encoding");
- return (header != null) && (header.indexOf("gzip") >= 0);
+ return StringUtils.contains(request.getHeader("Accept-Encoding"), "gzip");
}
public static final String REGEXP_PATTERN = "regexp";
@@ -386,24 +383,24 @@ public class JSONUtil {
/* package */ static Map<String, Map<String, String>> getIncludePatternData()
{
- Map<String, Map<String, String>> includePatternData = new HashMap<String, Map<String, String>>();
+ Map<String, Map<String, String>> includePatternData = new HashMap<>();
- Map<String, String> data = new HashMap<String, String>();
+ Map<String, String> data = new HashMap<>();
data.put(REGEXP_PATTERN, "\\\\\\.");
data.put(WILDCARD_PATTERN, "\\.");
includePatternData.put(SPLIT_PATTERN, data);
- data = new HashMap<String, String>();
+ data = new HashMap<>();
data.put(REGEXP_PATTERN, "\\.");
data.put(WILDCARD_PATTERN, ".");
includePatternData.put(JOIN_STRING, data);
- data = new HashMap<String, String>();
+ data = new HashMap<>();
data.put(REGEXP_PATTERN, "\\[");
data.put(WILDCARD_PATTERN, "[");
includePatternData.put(ARRAY_BEGIN_STRING, data);
- data = new HashMap<String, String>();
+ data = new HashMap<>();
data.put(REGEXP_PATTERN, "\\]");
data.put(WILDCARD_PATTERN, "]");
includePatternData.put(ARRAY_END_STRING, data);
@@ -419,8 +416,8 @@ public class JSONUtil {
/* package */ static List<Pattern> processIncludePatterns(Set<String> includePatterns, String type, Map<String, Map<String, String>> includePatternData) {
if (includePatterns != null) {
- List<Pattern> results = new ArrayList<Pattern>(includePatterns.size());
- Map<String, String> existingPatterns = new HashMap<String, String>();
+ List<Pattern> results = new ArrayList<>(includePatterns.size());
+ Map<String, String> existingPatterns = new HashMap<>();
for (String pattern : includePatterns) {
processPattern(results, existingPatterns, pattern, type, includePatternData);
}
@@ -468,7 +465,7 @@ public class JSONUtil {
private static void addPattern(List<Pattern> results, String pattern, String type) {
results.add(REGEXP_PATTERN.equals(type) ? Pattern.compile(pattern) : WildcardUtil.compileWildcardPattern(pattern));
if (LOG.isTraceEnabled()) {
- LOG.trace("Adding include " + (REGEXP_PATTERN.equals(type) ? "property" : "wildcard") + " expression: " + pattern);
+ LOG.trace("Adding include {} expression: {}", (REGEXP_PATTERN.equals(type) ? "property" : "wildcard"), pattern);
}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/5d86c0e5/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java
index 41262d2..1545084 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java
@@ -20,8 +20,8 @@
*/
package org.apache.struts2.json;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.struts2.json.annotations.JSON;
import org.apache.struts2.json.annotations.JSONFieldBridge;
import org.apache.struts2.json.annotations.JSONParameter;
@@ -60,11 +60,11 @@ public class JSONWriter {
private static char[] hex = "0123456789ABCDEF".toCharArray();
- private static final ConcurrentMap<Class<?>, BeanInfo> BEAN_INFO_CACHE_IGNORE_HIERARCHY = new ConcurrentHashMap<Class<?>, BeanInfo>();
- private static final ConcurrentMap<Class<?>, BeanInfo> BEAN_INFO_CACHE = new ConcurrentHashMap<Class<?>, BeanInfo>();
+ private static final ConcurrentMap<Class<?>, BeanInfo> BEAN_INFO_CACHE_IGNORE_HIERARCHY = new ConcurrentHashMap<>();
+ private static final ConcurrentMap<Class<?>, BeanInfo> BEAN_INFO_CACHE = new ConcurrentHashMap<>();
private StringBuilder buf = new StringBuilder();
- private Stack<Object> stack = new Stack<Object>();
+ private Stack<Object> stack = new Stack<>();
private boolean ignoreHierarchy = true;
private Object root;
private boolean buildExpr = true;
@@ -110,7 +110,6 @@ public class JSONWriter {
protected void value(Object object, Method method) throws JSONException {
if (object == null) {
this.add("null");
-
return;
}
@@ -121,10 +120,7 @@ public class JSONWriter {
if (clazz.isPrimitive() || clazz.equals(String.class)) {
this.process(object, method);
} else {
- if (LOG.isDebugEnabled()) {
- LOG.debug("Cyclic reference detected on " + object);
- }
-
+ LOG.debug("Cyclic reference detected on {}", object);
this.add("null");
}
@@ -276,7 +272,7 @@ public class JSONWriter {
FieldBridge instance = (FieldBridge) impl.newInstance();
if (fieldBridgeAnn.params().length > 0 && ParameterizedBridge.class.isAssignableFrom(impl)) {
- Map<String, String> params = new HashMap<String, String>(fieldBridgeAnn.params().length);
+ Map<String, String> params = new HashMap<>(fieldBridgeAnn.params().length);
for (JSONParameter param : fieldBridgeAnn.params()) {
params.put(param.name(), param.value());
}
http://git-wip-us.apache.org/repos/asf/struts/blob/5d86c0e5/plugins/json/src/main/java/org/apache/struts2/json/bridge/StringBridge.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/bridge/StringBridge.java b/plugins/json/src/main/java/org/apache/struts2/json/bridge/StringBridge.java
index a226f7d..29ea15b 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/bridge/StringBridge.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/bridge/StringBridge.java
@@ -29,7 +29,9 @@ package org.apache.struts2.json.bridge;
public class StringBridge implements FieldBridge{
public String objectToString(Object object) {
- if(object==null) return null;
+ if (object == null) {
+ return null;
+ }
return object.toString();
}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/5d86c0e5/plugins/json/src/main/java/org/apache/struts2/json/smd/SMD.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/smd/SMD.java b/plugins/json/src/main/java/org/apache/struts2/json/smd/SMD.java
index c5ddf05..2ced949 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/smd/SMD.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/smd/SMD.java
@@ -24,7 +24,7 @@ import java.util.Set;
import java.util.TreeSet;
/*
- * HOlds SMD declarations for a class
+ * Holds SMD declarations for a class
*/
public class SMD {
public static final String DEFAULT_VERSION = ".1";
@@ -34,7 +34,7 @@ public class SMD {
private String objectName;
private String serviceType = DEFAULT_SERVICE_TYPE;
private String serviceUrl;
- private Set<SMDMethod> methods = new TreeSet<SMDMethod>();
+ private Set<SMDMethod> methods = new TreeSet<>();
public void addSMDMethod(SMDMethod method) {
this.methods.add(method);