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/15 19:38:06 UTC
[5/9] struts git commit: Minor code improvements's in the xwork-core
module
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java
index a656634..a1e7536 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java
@@ -21,19 +21,17 @@ import com.opensymphony.xwork2.conversion.ObjectTypeDeterminer;
import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.ognl.OgnlUtil;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
-
import ognl.ObjectPropertyAccessor;
import ognl.OgnlException;
import ognl.OgnlRuntime;
import ognl.SetPropertyAccessor;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
/**
@@ -42,7 +40,6 @@ import java.util.Map;
public class XWorkCollectionPropertyAccessor extends SetPropertyAccessor {
private static final Logger LOG = LogManager.getLogger(XWorkCollectionPropertyAccessor.class);
- private static final String CONTEXT_COLLECTION_MAP = "xworkCollectionPropertyAccessorContextSetMap";
public static final String KEY_PROPERTY_FOR_CREATION = "makeNew";
@@ -87,18 +84,13 @@ public class XWorkCollectionPropertyAccessor extends SetPropertyAccessor {
* @see ognl.PropertyAccessor#getProperty(java.util.Map, Object, Object)
*/
@Override
- public Object getProperty(Map context, Object target, Object key)
- throws OgnlException {
-
- if (LOG.isDebugEnabled()) {
- LOG.debug("Entering getProperty()");
- }
+ public Object getProperty(Map context, Object target, Object key) throws OgnlException {
+ LOG.trace("Entering getProperty()");
//check if it is a generic type property.
//if so, return the value from the
//superclass which will determine this.
- if (!ReflectionContextState.isGettingByKeyProperty(context)
- && !key.equals(KEY_PROPERTY_FOR_CREATION)) {
+ if (!ReflectionContextState.isGettingByKeyProperty(context) && !key.equals(KEY_PROPERTY_FOR_CREATION)) {
return super.getProperty(context, target, key);
} else {
//reset context property
@@ -119,17 +111,15 @@ public class XWorkCollectionPropertyAccessor extends SetPropertyAccessor {
ReflectionContextState.updateCurrentPropertyPath(context, key);
return super.getProperty(context, target, key);
}
-
-
+
//get the key property to index the
//collection with from the ObjectTypeDeterminer
- String keyProperty = objectTypeDeterminer
- .getKeyProperty(lastBeanClass, lastPropertyClass);
+ String keyProperty = objectTypeDeterminer.getKeyProperty(lastBeanClass, lastPropertyClass);
//get the collection class of the
Class collClass = objectTypeDeterminer.getElementClass(lastBeanClass, lastPropertyClass, key);
- Class keyType = null;
+ Class keyType;
Class toGetTypeFrom = (collClass != null) ? collClass : c.iterator().next().getClass();
try {
keyType = OgnlRuntime.getPropertyDescriptor(toGetTypeFrom, keyProperty).getPropertyType();
@@ -139,7 +129,7 @@ public class XWorkCollectionPropertyAccessor extends SetPropertyAccessor {
if (ReflectionContextState.isCreatingNullObjects(context)) {
- Map collMap = getSetMap(context, c, keyProperty, collClass);
+ Map collMap = getSetMap(context, c, keyProperty);
if (key.toString().equals(KEY_PROPERTY_FOR_CREATION)) {
//this should return the XWorkList
//for this set that contains new entries
@@ -171,7 +161,6 @@ public class XWorkCollectionPropertyAccessor extends SetPropertyAccessor {
} catch (Exception exc) {
throw new OgnlException("Error adding new element to collection", exc);
-
}
}
@@ -194,21 +183,15 @@ public class XWorkCollectionPropertyAccessor extends SetPropertyAccessor {
* Gets an indexed Map by a given key property with the key being
* the value of the property and the value being the
*/
- private Map getSetMap(Map context, Collection collection, String property, Class valueClass)
- throws OgnlException {
- if (LOG.isDebugEnabled()) {
- LOG.debug("getting set Map");
- }
-
+ private Map getSetMap(Map context, Collection collection, String property) throws OgnlException {
+ LOG.trace("getting set Map");
+
String path = ReflectionContextState.getCurrentPropertyPath(context);
- Map map = ReflectionContextState.getSetMap(context,
- path);
+ Map map = ReflectionContextState.getSetMap(context, path);
if (map == null) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("creating set Map");
- }
-
+ LOG.trace("creating set Map");
+
map = new HashMap();
map.put(null, new SurrugateList(collection));
for (Object currTest : collection) {
@@ -238,9 +221,7 @@ public class XWorkCollectionPropertyAccessor extends SetPropertyAccessor {
}
@Override
- public void setProperty(Map context, Object target, Object name, Object value)
- throws OgnlException {
-
+ public void setProperty(Map context, Object target, Object name, Object value) throws OgnlException {
Class lastClass = (Class) context.get(XWorkConverter.LAST_BEAN_CLASS_ACCESSED);
String lastProperty = (String) context.get(XWorkConverter.LAST_BEAN_PROPERTY_ACCESSED);
Class convertToClass = objectTypeDeterminer.getElementClass(lastClass, lastProperty, name);
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkEnumerationAccessor.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkEnumerationAccessor.java b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkEnumerationAccessor.java
index 88e6408..84745e4 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkEnumerationAccessor.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkEnumerationAccessor.java
@@ -29,7 +29,6 @@ public class XWorkEnumerationAccessor extends EnumerationPropertyAccessor {
ObjectPropertyAccessor opa = new ObjectPropertyAccessor();
-
@Override
public void setProperty(Map context, Object target, Object name, Object value) throws OgnlException {
opa.setProperty(context, target, name, value);
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkIteratorPropertyAccessor.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkIteratorPropertyAccessor.java b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkIteratorPropertyAccessor.java
index 7afe3f5..2a6184b 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkIteratorPropertyAccessor.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkIteratorPropertyAccessor.java
@@ -29,7 +29,6 @@ public class XWorkIteratorPropertyAccessor extends IteratorPropertyAccessor {
ObjectPropertyAccessor opa = new ObjectPropertyAccessor();
-
@Override
public void setProperty(Map context, Object target, Object name, Object value) throws OgnlException {
opa.setProperty(context, target, name, value);
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessor.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessor.java b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessor.java
index 6dab13b..6201dae 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessor.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessor.java
@@ -72,17 +72,15 @@ public class XWorkListPropertyAccessor extends ListPropertyAccessor {
}
@Override
- public Object getProperty(Map context, Object target, Object name)
- throws OgnlException {
+ public Object getProperty(Map context, Object target, Object name) throws OgnlException {
if (ReflectionContextState.isGettingByKeyProperty(context)
|| name.equals(XWorkCollectionPropertyAccessor.KEY_PROPERTY_FOR_CREATION)) {
return _sAcc.getProperty(context, target, name);
- } else if (name instanceof String) {
+ } else if (name instanceof String) {
return super.getProperty(context, target, name);
}
ReflectionContextState.updateCurrentPropertyPath(context, name);
- //System.out.println("Entering XWorkListPropertyAccessor. Name: " + name);
Class lastClass = (Class) context.get(XWorkConverter.LAST_BEAN_CLASS_ACCESSED);
String lastProperty = (String) context.get(XWorkConverter.LAST_BEAN_PROPERTY_ACCESSED);
@@ -90,7 +88,6 @@ public class XWorkListPropertyAccessor extends ListPropertyAccessor {
&& ReflectionContextState.isCreatingNullObjects(context)
&& objectTypeDeterminer.shouldCreateIfNew(lastClass,lastProperty,target,null,true)) {
- //System.out.println("Getting index from List");
List list = (List) target;
int index = ((Number) name).intValue();
int listSize = list.size();
@@ -100,12 +97,10 @@ public class XWorkListPropertyAccessor extends ListPropertyAccessor {
}
Class beanClass = objectTypeDeterminer.getElementClass(lastClass, lastProperty, name);
if (listSize <= index) {
- Object result = null;
+ Object result;
for (int i = listSize; i < index; i++) {
-
list.add(null);
-
}
try {
list.add(index, result = objectFactory.buildBean(beanClass, context));
@@ -114,7 +109,7 @@ public class XWorkListPropertyAccessor extends ListPropertyAccessor {
}
return result;
} else if (list.get(index) == null) {
- Object result = null;
+ Object result;
try {
list.set(index, result = objectFactory.buildBean(beanClass, context));
} catch (Exception exc) {
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java
index d752216..e30f07e 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java
@@ -20,11 +20,11 @@ import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.conversion.ObjectTypeDeterminer;
import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
import com.opensymphony.xwork2.inject.Inject;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
import ognl.MapPropertyAccessor;
import ognl.OgnlException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.util.Map;
@@ -38,8 +38,7 @@ public class XWorkMapPropertyAccessor extends MapPropertyAccessor {
private static final Logger LOG = LogManager.getLogger(XWorkMapPropertyAccessor.class);
- private static final String[] INDEX_ACCESS_PROPS = new String[]
- {"size", "isEmpty", "keys", "values"};
+ private static final String[] INDEX_ACCESS_PROPS = new String[]{"size", "isEmpty", "keys", "values"};
private XWorkConverter xworkConverter;
private ObjectFactory objectFactory;
@@ -62,10 +61,7 @@ public class XWorkMapPropertyAccessor extends MapPropertyAccessor {
@Override
public Object getProperty(Map context, Object target, Object name) throws OgnlException {
-
- if (LOG.isDebugEnabled()) {
- LOG.debug("Entering getProperty ("+context+","+target+","+name+")");
- }
+ LOG.trace("Entering getProperty ({},{},{})", context, target, name);
ReflectionContextState.updateCurrentPropertyPath(context, name);
// if this is one of the regular index access
@@ -79,7 +75,7 @@ public class XWorkMapPropertyAccessor extends MapPropertyAccessor {
try{
result = super.getProperty(context, target, name);
- } catch(ClassCastException ex){
+ } catch (ClassCastException ex) {
}
if (result == null) {
@@ -103,9 +99,7 @@ public class XWorkMapPropertyAccessor extends MapPropertyAccessor {
result = objectFactory.buildBean(valueClass, context);
map.put(key, result);
} catch (Exception exc) {
-
}
-
}
}
return result;
@@ -127,16 +121,14 @@ public class XWorkMapPropertyAccessor extends MapPropertyAccessor {
@Override
public void setProperty(Map context, Object target, Object name, Object value) throws OgnlException {
- if (LOG.isDebugEnabled()) {
- LOG.debug("Entering setProperty("+context+","+target+","+name+","+value+")");
- }
-
+ LOG.trace("Entering setProperty({},{},{},{})", context, target, name, value);
+
Object key = getKey(context, name);
Map map = (Map) target;
map.put(key, getValue(context, value));
}
- private Object getValue(Map context, Object value) {
+ private Object getValue(Map context, Object value) {
Class lastClass = (Class) context.get(XWorkConverter.LAST_BEAN_CLASS_ACCESSED);
String lastProperty = (String) context.get(XWorkConverter.LAST_BEAN_PROPERTY_ACCESSED);
if (lastClass == null || lastProperty == null) {
@@ -147,7 +139,7 @@ public class XWorkMapPropertyAccessor extends MapPropertyAccessor {
return value; // nothing is specified, we assume it will be the value passed in.
}
return xworkConverter.convertValue(context, value, elementClass);
-}
+ }
private Object getKey(Map context, Object name) {
Class lastClass = (Class) context.get(XWorkConverter.LAST_BEAN_CLASS_ACCESSED);
@@ -163,7 +155,6 @@ public class XWorkMapPropertyAccessor extends MapPropertyAccessor {
}
return xworkConverter.convertValue(context, name, keyClass);
-
}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java
index 55b6280..7a05bc5 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java
@@ -15,21 +15,16 @@
*/
package com.opensymphony.xwork2.ognl.accessor;
+import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
+import ognl.*;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import java.beans.PropertyDescriptor;
import java.util.Arrays;
import java.util.Collection;
import java.util.Map;
-import ognl.MethodFailedException;
-import ognl.ObjectMethodAccessor;
-import ognl.OgnlContext;
-import ognl.OgnlRuntime;
-import ognl.PropertyAccessor;
-
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
-
/**
* Allows methods to be executed under normal cirumstances, except when {@link ReflectionContextState#DENY_METHOD_EXECUTION}
@@ -59,9 +54,8 @@ public class XWorkMethodAccessor extends ObjectMethodAccessor {
//this if statement ensures that ognl
//statements of the form someBean.mySet('keyPropVal')
//return the set element with value of the keyProp given
-
- if (objects.length==1
- && context instanceof OgnlContext) {
+
+ if (objects.length == 1 && context instanceof OgnlContext) {
try {
OgnlContext ogContext=(OgnlContext)context;
if (OgnlRuntime.hasSetProperty(ogContext, object, string)) {
@@ -90,11 +84,7 @@ public class XWorkMethodAccessor extends ObjectMethodAccessor {
}
//HACK - we pass indexed method access i.e. setXXX(A,B) pattern
- if (
- (objects.length == 2 && string.startsWith("set"))
- ||
- (objects.length == 1 && string.startsWith("get"))
- ) {
+ if ((objects.length == 2 && string.startsWith("set")) || (objects.length == 1 && string.startsWith("get"))) {
Boolean exec = (Boolean) context.get(ReflectionContextState.DENY_INDEXED_ACCESS_EXECUTION);
boolean e = ((exec == null) ? false : exec.booleanValue());
if (!e) {
@@ -111,18 +101,17 @@ public class XWorkMethodAccessor extends ObjectMethodAccessor {
}
}
- private Object callMethodWithDebugInfo(Map context, Object object, String methodName,
- Object[] objects) throws MethodFailedException {
- try {
- return super.callMethod(context, object, methodName, objects);
+ private Object callMethodWithDebugInfo(Map context, Object object, String methodName, Object[] objects) throws MethodFailedException {
+ try {
+ return super.callMethod(context, object, methodName, objects);
}
catch(MethodFailedException e) {
if (LOG.isDebugEnabled()) {
if (!(e.getReason() instanceof NoSuchMethodException)) {
// the method exists on the target object, but something went wrong
- LOG.debug( "Error calling method through OGNL: object: [{}] method: [{}] args: [{}]", e.getReason(), object.toString(), methodName, Arrays.toString(objects));
- }
- }
+ LOG.debug("Error calling method through OGNL: object: [{}] method: [{}] args: [{}]", e.getReason(), object.toString(), methodName, Arrays.toString(objects));
+ }
+ }
throw e;
}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultAcceptedPatternsChecker.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultAcceptedPatternsChecker.java b/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultAcceptedPatternsChecker.java
index deb7c03..00e9f79 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultAcceptedPatternsChecker.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultAcceptedPatternsChecker.java
@@ -3,8 +3,8 @@ package com.opensymphony.xwork2.security;
import com.opensymphony.xwork2.XWorkConstants;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.TextParseUtil;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.util.Arrays;
import java.util.HashSet;
@@ -29,7 +29,7 @@ public class DefaultAcceptedPatternsChecker implements AcceptedPatternsChecker {
public void setOverrideAcceptedPatterns(String acceptablePatterns) {
LOG.warn("Overriding accepted patterns [{}] with [{}], be aware that this affects all instances and safety of your application!",
XWorkConstants.OVERRIDE_ACCEPTED_PATTERNS, acceptablePatterns);
- acceptedPatterns = new HashSet<Pattern>();
+ acceptedPatterns = new HashSet<>();
for (String pattern : TextParseUtil.commaDelimitedStringToSet(acceptablePatterns)) {
acceptedPatterns.add(Pattern.compile(pattern, Pattern.CASE_INSENSITIVE));
}
@@ -48,12 +48,12 @@ public class DefaultAcceptedPatternsChecker implements AcceptedPatternsChecker {
}
public void setAcceptedPatterns(String[] additionalPatterns) {
- setAcceptedPatterns(new HashSet<String>(Arrays.asList(additionalPatterns)));
+ setAcceptedPatterns(new HashSet<>(Arrays.asList(additionalPatterns)));
}
public void setAcceptedPatterns(Set<String> patterns) {
LOG.trace("Sets accepted patterns [{}]", patterns);
- acceptedPatterns = new HashSet<Pattern>(patterns.size());
+ acceptedPatterns = new HashSet<>(patterns.size());
for (String pattern : patterns) {
acceptedPatterns.add(Pattern.compile(pattern, Pattern.CASE_INSENSITIVE));
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java b/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
index 1a2d2a1..f6d48cd 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
@@ -1,10 +1,10 @@
package com.opensymphony.xwork2.security;
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.XWorkConstants;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.TextParseUtil;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.util.Arrays;
import java.util.HashSet;
@@ -49,12 +49,12 @@ public class DefaultExcludedPatternsChecker implements ExcludedPatternsChecker {
}
public void setExcludedPatterns(String[] patterns) {
- setExcludedPatterns(new HashSet<String>(Arrays.asList(patterns)));
+ setExcludedPatterns(new HashSet<>(Arrays.asList(patterns)));
}
public void setExcludedPatterns(Set<String> patterns) {
LOG.trace("Sets excluded patterns [{}]", patterns);
- excludedPatterns = new HashSet<Pattern>(patterns.size());
+ excludedPatterns = new HashSet<>(patterns.size());
for (String pattern : patterns) {
excludedPatterns.add(Pattern.compile(pattern, Pattern.CASE_INSENSITIVE));
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java b/xwork-core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
index 718480f..f1137d9 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
@@ -17,6 +17,7 @@ package com.opensymphony.xwork2.spring;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.inject.Inject;
+import org.apache.commons.lang3.BooleanUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.BeansException;
@@ -44,7 +45,7 @@ public class SpringObjectFactory extends ObjectFactory implements ApplicationCon
protected ApplicationContext appContext;
protected AutowireCapableBeanFactory autoWiringFactory;
protected int autowireStrategy = AutowireCapableBeanFactory.AUTOWIRE_BY_NAME;
- private final Map<String, Object> classes = new HashMap<String, Object>();
+ private final Map<String, Object> classes = new HashMap<>();
private boolean useClassCache = true;
private boolean alwaysRespectAutowireStrategy = false;
/**
@@ -62,7 +63,7 @@ public class SpringObjectFactory extends ObjectFactory implements ApplicationCon
@Inject(value = "enableAopSupport", required = false)
public void setEnableAopSupport(String enableAopSupport) {
- this.enableAopSupport = Boolean.parseBoolean(enableAopSupport);
+ this.enableAopSupport = BooleanUtils.toBoolean(enableAopSupport);
}
/**
@@ -203,8 +204,7 @@ public class SpringObjectFactory extends ObjectFactory implements ApplicationCon
*/
public Object autoWireBean(Object bean, AutowireCapableBeanFactory autoWiringFactory) {
if (autoWiringFactory != null) {
- autoWiringFactory.autowireBeanProperties(bean,
- autowireStrategy, false);
+ autoWiringFactory.autowireBeanProperties(bean, autowireStrategy, false);
}
injectApplicationContext(bean);
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/spring/SpringProxyableObjectFactory.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/spring/SpringProxyableObjectFactory.java b/xwork-core/src/main/java/com/opensymphony/xwork2/spring/SpringProxyableObjectFactory.java
index 3f701a1..f249f5f 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/spring/SpringProxyableObjectFactory.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/spring/SpringProxyableObjectFactory.java
@@ -36,7 +36,7 @@ public class SpringProxyableObjectFactory extends SpringObjectFactory {
private static final Logger LOG = LogManager.getLogger(SpringProxyableObjectFactory.class);
- private List<String> skipBeanNames = new ArrayList<String>();
+ private List<String> skipBeanNames = new ArrayList<>();
@Override
public Object buildBean(String beanName, Map<String, Object> extraContext) throws Exception {
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java b/xwork-core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
index 611a1a3..fe02ca5 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
@@ -20,8 +20,8 @@ import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.opensymphony.xwork2.spring.SpringObjectFactory;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
@@ -97,9 +97,7 @@ public class ActionAutowiringInterceptor extends AbstractInterceptor implements
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
if (applicationContext == null) {
- if (LOG.isWarnEnabled()) {
- LOG.warn("ApplicationContext could not be found. Action classes will not be autowired.");
- }
+ LOG.warn("ApplicationContext could not be found. Action classes will not be autowired.");
} else {
setApplicationContext(applicationContext);
factory = new SpringObjectFactory();
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/AnnotationUtils.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/AnnotationUtils.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/AnnotationUtils.java
index c9f2863..08cae03 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/AnnotationUtils.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/AnnotationUtils.java
@@ -118,14 +118,14 @@ public class AnnotationUtils {
* method {@link AnnotatedElement}s matching the specified {@link Annotation}s
*/
public static Collection<Method> getAnnotatedMethods(Class clazz, Class<? extends Annotation>... annotation){
- Collection<Method> toReturn = new HashSet<Method>();
-
- for(Method m : clazz.getMethods()){
- if( ArrayUtils.isNotEmpty(annotation) && isAnnotatedBy(m, annotation) ){
- toReturn.add(m);
- }else if( ArrayUtils.isEmpty(annotation) && ArrayUtils.isNotEmpty(m.getAnnotations())){
- toReturn.add(m);
- }
+ Collection<Method> toReturn = new HashSet<>();
+
+ for (Method m : clazz.getMethods()) {
+ if (org.apache.commons.lang3.ArrayUtils.isNotEmpty(annotation) && isAnnotatedBy(m, annotation)) {
+ toReturn.add(m);
+ } else if (org.apache.commons.lang3.ArrayUtils.isEmpty(annotation) && org.apache.commons.lang3.ArrayUtils.isNotEmpty(m.getAnnotations())) {
+ toReturn.add(m);
+ }
}
return toReturn;
@@ -136,7 +136,9 @@ public class AnnotationUtils {
* @see AnnotatedElement
*/
public static boolean isAnnotatedBy(AnnotatedElement annotatedElement, Class<? extends Annotation>... annotation) {
- if(ArrayUtils.isEmpty(annotation)) return false;
+ if (org.apache.commons.lang3.ArrayUtils.isEmpty(annotation)) {
+ return false;
+ }
for( Class<? extends Annotation> c : annotation ){
if( annotatedElement.isAnnotationPresent(c) ) return true;
@@ -173,20 +175,21 @@ public class AnnotationUtils {
* Returns the annotation on the given class or the package of the class. This searchs up the
* class hierarchy and the package hierarchy for the closest match.
*
- * @param klass The class to search for the annotation.
+ * @param clazz The class to search for the annotation.
* @param annotationClass The Class of the annotation.
* @return The annotation or null.
*/
- public static <T extends Annotation> T findAnnotation(Class<?> klass, Class<T> annotationClass) {
- T ann = klass.getAnnotation(annotationClass);
- while (ann == null && klass != null) {
- ann = klass.getAnnotation(annotationClass);
- if (ann == null)
- ann = klass.getPackage().getAnnotation(annotationClass);
+ public static <T extends Annotation> T findAnnotation(Class<?> clazz, Class<T> annotationClass) {
+ T ann = clazz.getAnnotation(annotationClass);
+ while (ann == null && clazz != null) {
+ ann = clazz.getAnnotation(annotationClass);
+ if (ann == null) {
+ ann = clazz.getPackage().getAnnotation(annotationClass);
+ }
if (ann == null) {
- klass = klass.getSuperclass();
- if (klass != null ) {
- ann = klass.getAnnotation(annotationClass);
+ clazz = clazz.getSuperclass();
+ if (clazz != null) {
+ ann = clazz.getAnnotation(annotationClass);
}
}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/ArrayUtils.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/ArrayUtils.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/ArrayUtils.java
index 0da1598..99f4ab6 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/ArrayUtils.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/ArrayUtils.java
@@ -22,7 +22,9 @@ import java.util.Set;
/**
* @author Dan Oxlade, dan d0t oxlade at gmail d0t c0m
+ * @deprecated Can be replaced eith ArrayUtils from lang3 package --> org.apache.commons.lang3.ArrayUtils
*/
+@Deprecated
public class ArrayUtils {
public static boolean isEmpty(Object[] array) {
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
index 77c4685..919f5af 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
@@ -48,7 +48,7 @@ public class ClassLoaderUtil {
*/
public static Iterator<URL> getResources(String resourceName, Class callingClass, boolean aggregate) throws IOException {
- AggregateIterator<URL> iterator = new AggregateIterator<URL>();
+ AggregateIterator<URL> iterator = new AggregateIterator<>();
iterator.addEnumeration(Thread.currentThread().getContextClassLoader().getResources(resourceName));
@@ -182,7 +182,7 @@ public class ClassLoaderUtil {
*/
static class AggregateIterator<E> implements Iterator<E> {
- LinkedList<Enumeration<E>> enums = new LinkedList<Enumeration<E>>();
+ LinkedList<Enumeration<E>> enums = new LinkedList<>();
Enumeration<E> cur = null;
E next = null;
Set<E> loaded = new HashSet<E>();
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/ClassPathFinder.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/ClassPathFinder.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/ClassPathFinder.java
index a8ebca2..5743885 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/ClassPathFinder.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/ClassPathFinder.java
@@ -48,8 +48,8 @@ public class ClassPathFinder {
* The PatternMatcher implementation to use
*/
private PatternMatcher<int[]> patternMatcher = new WildcardHelper();
-
- private Vector<String> compared = new Vector<String>();
+
+ private Vector<String> compared = new Vector<>();
/**
* retrieves the pattern in use
@@ -74,13 +74,13 @@ public class ClassPathFinder {
* @return Vector<String> containing matching filenames
*/
public Vector<String> findMatches() {
- Vector<String> matches = new Vector<String>();
+ Vector<String> matches = new Vector<>();
URLClassLoader cl = getURLClassLoader();
if (cl == null ) {
throw new XWorkException("unable to attain an URLClassLoader") ;
}
URL[] parentUrls = cl.getURLs();
- compiledPattern = (int[]) patternMatcher.compilePattern(pattern);
+ compiledPattern = patternMatcher.compilePattern(pattern);
for (URL url : parentUrls) {
if (!"file".equals(url.getProtocol())) {
continue ;
@@ -105,8 +105,8 @@ public class ClassPathFinder {
if (entries == null ) {
return null;
}
-
- Vector<String> matches = new Vector<String>();
+
+ Vector<String> matches = new Vector<>();
for (String listEntry : entries) {
File tempFile ;
if (!"".equals(prefix) ) {
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java
index 3855749..47d86e1 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java
@@ -19,8 +19,8 @@ import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.XWorkException;
import com.opensymphony.xwork2.util.location.Location;
import com.opensymphony.xwork2.util.location.LocationAttributes;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -92,7 +92,7 @@ public class DomHelper {
factory.setValidating((dtdMappings != null));
factory.setNamespaceAware(true);
- SAXParser parser = null;
+ SAXParser parser;
try {
parser = factory.newSAXParser();
} catch (Exception ex) {
@@ -344,8 +344,7 @@ public class DomHelper {
@Override
public void error(SAXParseException exception) throws SAXException {
- LOG.error(exception.getMessage() + " at (" + exception.getPublicId() + ":" +
- exception.getLineNumber() + ":" + exception.getColumnNumber() + ")", exception);
+ LOG.error("{} at ({}:{}:{})", exception.getMessage(), exception.getPublicId(), exception.getLineNumber(), exception.getColumnNumber(), exception);
throw exception;
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
index 1a46ecf..2d9afa2 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
@@ -25,10 +25,10 @@ import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
import com.opensymphony.xwork2.util.reflection.ReflectionProviderFactory;
import org.apache.commons.lang3.ObjectUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
@@ -90,14 +90,14 @@ public class LocalizedTextUtil {
private static final String TOMCAT_RESOURCE_ENTRIES_FIELD = "resourceEntries";
- private static final ConcurrentMap<Integer, List<String>> classLoaderMap = new ConcurrentHashMap<Integer, List<String>>();
+ private static final ConcurrentMap<Integer, List<String>> classLoaderMap = new ConcurrentHashMap<>();
private static boolean reloadBundles = false;
private static boolean devMode;
- private static final ConcurrentMap<String, ResourceBundle> bundlesMap = new ConcurrentHashMap<String, ResourceBundle>();
- private static final ConcurrentMap<MessageFormatKey, MessageFormat> messageFormats = new ConcurrentHashMap<MessageFormatKey, MessageFormat>();
- private static final ConcurrentMap<Integer, ClassLoader> delegatedClassLoaderMap = new ConcurrentHashMap<Integer, ClassLoader>();
+ private static final ConcurrentMap<String, ResourceBundle> bundlesMap = new ConcurrentHashMap<>();
+ private static final ConcurrentMap<MessageFormatKey, MessageFormat> messageFormats = new ConcurrentHashMap<>();
+ private static final ConcurrentMap<Integer, ClassLoader> delegatedClassLoaderMap = new ConcurrentHashMap<>();
private static final String RELOADED = "com.opensymphony.xwork2.util.LocalizedTextUtil.reloaded";
private static final String XWORK_MESSAGES_BUNDLE = "com/opensymphony/xwork2/xwork-messages";
@@ -112,7 +112,7 @@ public class LocalizedTextUtil {
*/
public static void clearDefaultResourceBundles() {
ClassLoader ccl = getCurrentThreadContextClassLoader();
- List<String> bundles = new ArrayList<String>();
+ List<String> bundles = new ArrayList<>();
classLoaderMap.put(ccl.hashCode(), bundles);
bundles.add(0, XWORK_MESSAGES_BUNDLE);
}
@@ -417,9 +417,7 @@ public class LocalizedTextUtil {
ValueStack valueStack) {
String indexedTextName = null;
if (aTextName == null) {
- if (LOG.isWarnEnabled()) {
LOG.warn("Trying to find text with null key!");
- }
aTextName = "";
}
// calculate indexedTextName (collection[*]) if applicable
@@ -518,12 +516,13 @@ public class LocalizedTextUtil {
Class clazz = propertyDescriptor.getPropertyType();
if (clazz != null) {
- if (obj != null)
+ if (obj != null) {
valueStack.push(obj);
+ }
msg = findText(clazz, newKey, locale, null, args);
- if (obj != null)
+ if (obj != null) {
valueStack.pop();
-
+ }
if (msg != null) {
return msg;
}
@@ -531,7 +530,7 @@ public class LocalizedTextUtil {
}
}
} catch (Exception e) {
- LOG.debug("unable to find property " + prop, e);
+ LOG.debug("unable to find property {}", prop, e);
}
}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java
index 1203a49..8d197c6 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java
@@ -74,7 +74,7 @@ public class NamedVariablePatternMatcher implements PatternMatcher<NamedVariable
public CompiledPattern compilePattern(String data) {
StringBuilder regex = new StringBuilder();
if (data != null && data.length() > 0) {
- List<String> varNames = new ArrayList<String>();
+ List<String> varNames = new ArrayList<>();
StringBuilder varName = null;
for (int x=0; x<data.length(); x++) {
char c = data.charAt(x);
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
index 5a086c9..a25a679 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
@@ -25,37 +25,54 @@ import java.util.List;
* not terminate with new-line chars but rather when there is no
* backslash sign a the end of the line. This is used to
* concatenate multiple lines for readability.
- *
+ * <p/>
* This class was pulled out of Jakarta Commons Configuration and
* Jakarta Commons Lang trunk revision 476093
*/
-public class PropertiesReader extends LineNumberReader
-{
- /** Stores the comment lines for the currently processed property.*/
+public class PropertiesReader extends LineNumberReader {
+ /**
+ * Stores the comment lines for the currently processed property.
+ */
private List<String> commentLines;
- /** Stores the name of the last read property.*/
+ /**
+ * Stores the name of the last read property.
+ */
private String propertyName;
- /** Stores the value of the last read property.*/
+ /**
+ * Stores the value of the last read property.
+ */
private String propertyValue;
- /** Stores the list delimiter character.*/
+ /**
+ * Stores the list delimiter character.
+ */
private char delimiter;
-
- /** Constant for the supported comment characters.*/
+
+ /**
+ * Constant for the supported comment characters.
+ */
static final String COMMENT_CHARS = "#!";
-
- /** Constant for the radix of hex numbers.*/
+
+ /**
+ * Constant for the radix of hex numbers.
+ */
private static final int HEX_RADIX = 16;
- /** Constant for the length of a unicode literal.*/
+ /**
+ * Constant for the length of a unicode literal.
+ */
private static final int UNICODE_LEN = 4;
-
- /** The list of possible key/value separators */
- private static final char[] SEPARATORS = new char[] {'=', ':'};
- /** The white space characters used as key/value separators. */
+ /**
+ * The list of possible key/value separators
+ */
+ private static final char[] SEPARATORS = new char[]{'=', ':'};
+
+ /**
+ * The white space characters used as key/value separators.
+ */
private static final char[] WHITE_SPACE = new char[]{' ', '\t', '\f'};
/**
@@ -63,8 +80,7 @@ public class PropertiesReader extends LineNumberReader
*
* @param reader A Reader.
*/
- public PropertiesReader(Reader reader)
- {
+ public PropertiesReader(Reader reader) {
this(reader, ',');
}
@@ -72,17 +88,16 @@ public class PropertiesReader extends LineNumberReader
* Creates a new instance of <code>PropertiesReader</code> and sets
* the underlaying reader and the list delimiter.
*
- * @param reader the reader
+ * @param reader the reader
* @param listDelimiter the list delimiter character
* @since 1.3
*/
- public PropertiesReader(Reader reader, char listDelimiter)
- {
+ public PropertiesReader(Reader reader, char listDelimiter) {
super(reader);
commentLines = new ArrayList<String>();
delimiter = listDelimiter;
}
-
+
/**
* Tests whether a line is a comment, i.e. whether it starts with a comment
* character.
@@ -91,8 +106,7 @@ public class PropertiesReader extends LineNumberReader
* @return a flag if this is a comment line
* @since 1.3
*/
- boolean isCommentLine(String line)
- {
+ boolean isCommentLine(String line) {
String s = line.trim();
// blanc lines are also treated as comment lines
return s.length() < 1 || COMMENT_CHARS.indexOf(s.charAt(0)) >= 0;
@@ -106,38 +120,30 @@ public class PropertiesReader extends LineNumberReader
* = <code><value></code>)
*
* @return A string containing a property value or null
- *
* @throws IOException in case of an I/O error
*/
- public String readProperty() throws IOException
- {
+ public String readProperty() throws IOException {
commentLines.clear();
StringBuilder buffer = new StringBuilder();
- while (true)
- {
+ while (true) {
String line = readLine();
- if (line == null)
- {
+ if (line == null) {
// EOF
return null;
}
- if (isCommentLine(line))
- {
+ if (isCommentLine(line)) {
commentLines.add(line);
continue;
}
line = line.trim();
- if (checkCombineLines(line))
- {
+ if (checkCombineLines(line)) {
line = line.substring(0, line.length() - 1);
buffer.append(line);
- }
- else
- {
+ } else {
buffer.append(line);
break;
}
@@ -156,12 +162,10 @@ public class PropertiesReader extends LineNumberReader
* @throws IOException if an error occurs
* @since 1.3
*/
- public boolean nextProperty() throws IOException
- {
+ public boolean nextProperty() throws IOException {
String line = readProperty();
- if (line == null)
- {
+ if (line == null) {
return false; // EOF
}
@@ -179,8 +183,7 @@ public class PropertiesReader extends LineNumberReader
* <code>readProperty()</code>
* @since 1.3
*/
- public List<String> getCommentLines()
- {
+ public List<String> getCommentLines() {
return commentLines;
}
@@ -192,8 +195,7 @@ public class PropertiesReader extends LineNumberReader
* @return the name of the last read property
* @since 1.3
*/
- public String getPropertyName()
- {
+ public String getPropertyName() {
return propertyName;
}
@@ -205,8 +207,7 @@ public class PropertiesReader extends LineNumberReader
* @return the value of the last read property
* @since 1.3
*/
- public String getPropertyValue()
- {
+ public String getPropertyValue() {
return propertyValue;
}
@@ -217,11 +218,9 @@ public class PropertiesReader extends LineNumberReader
* @param line the line
* @return a flag if the lines should be combined
*/
- private boolean checkCombineLines(String line)
- {
+ private boolean checkCombineLines(String line) {
int bsCount = 0;
- for (int idx = line.length() - 1; idx >= 0 && line.charAt(idx) == '\\'; idx--)
- {
+ for (int idx = line.length() - 1; idx >= 0 && line.charAt(idx) == '\\'; idx--) {
bsCount++;
}
@@ -235,8 +234,7 @@ public class PropertiesReader extends LineNumberReader
* @return an array with the property's key and value
* @since 1.2
*/
- private String[] parseProperty(String line)
- {
+ private String[] parseProperty(String line) {
// sorry for this spaghetti code, please replace it as soon as
// possible with a regexp when the Java 1.3 requirement is dropped
@@ -251,42 +249,30 @@ public class PropertiesReader extends LineNumberReader
// 3: value parsing
int state = 0;
- for (int pos = 0; pos < line.length(); pos++)
- {
+ for (int pos = 0; pos < line.length(); pos++) {
char c = line.charAt(pos);
- switch (state)
- {
+ switch (state) {
case 0:
- if (c == '\\')
- {
+ if (c == '\\') {
state = 1;
- }
- else if (contains(WHITE_SPACE, c))
- {
+ } else if (contains(WHITE_SPACE, c)) {
// switch to the separator crossing state
state = 2;
- }
- else if (contains(SEPARATORS, c))
- {
+ } else if (contains(SEPARATORS, c)) {
// switch to the value parsing state
state = 3;
- }
- else
- {
+ } else {
key.append(c);
}
break;
case 1:
- if (contains(SEPARATORS, c) || contains(WHITE_SPACE, c))
- {
+ if (contains(SEPARATORS, c) || contains(WHITE_SPACE, c)) {
// this is an escaped separator or white space
key.append(c);
- }
- else
- {
+ } else {
// another escaped character, the '\' is preserved
key.append('\\');
key.append(c);
@@ -298,18 +284,13 @@ public class PropertiesReader extends LineNumberReader
break;
case 2:
- if (contains(WHITE_SPACE, c))
- {
+ if (contains(WHITE_SPACE, c)) {
// do nothing, eat all white spaces
state = 2;
- }
- else if (contains(SEPARATORS, c))
- {
+ } else if (contains(SEPARATORS, c)) {
// switch to the value parsing state
state = 3;
- }
- else
- {
+ } else {
// any other character indicates we encoutered the beginning of the value
value.append(c);
@@ -330,22 +311,20 @@ public class PropertiesReader extends LineNumberReader
return result;
}
-
+
/**
* <p>Unescapes any Java literals found in the <code>String</code> to a
* <code>Writer</code>.</p> This is a slightly modified version of the
* StringEscapeUtils.unescapeJava() function in commons-lang that doesn't
* drop escaped separators (i.e '\,').
*
- * @param str the <code>String</code> to unescape, may be null
+ * @param str the <code>String</code> to unescape, may be null
* @param delimiter the delimiter for multi-valued properties
* @return the processed string
* @throws IllegalArgumentException if the Writer is <code>null</code>
*/
- protected static String unescapeJava(String str, char delimiter)
- {
- if (str == null)
- {
+ protected static String unescapeJava(String str, char delimiter) {
+ if (str == null) {
return null;
}
int sz = str.length();
@@ -353,98 +332,67 @@ public class PropertiesReader extends LineNumberReader
StringBuffer unicode = new StringBuffer(UNICODE_LEN);
boolean hadSlash = false;
boolean inUnicode = false;
- for (int i = 0; i < sz; i++)
- {
+ for (int i = 0; i < sz; i++) {
char ch = str.charAt(i);
- if (inUnicode)
- {
+ if (inUnicode) {
// if in unicode, then we're reading unicode
// values in somehow
unicode.append(ch);
- if (unicode.length() == UNICODE_LEN)
- {
+ if (unicode.length() == UNICODE_LEN) {
// unicode now contains the four hex digits
// which represents our unicode character
- try
- {
+ try {
int value = Integer.parseInt(unicode.toString(), HEX_RADIX);
out.append((char) value);
unicode.setLength(0);
inUnicode = false;
hadSlash = false;
- }
- catch (NumberFormatException nfe)
- {
+ } catch (NumberFormatException nfe) {
throw new RuntimeException("Unable to parse unicode value: " + unicode, nfe);
}
}
continue;
}
- if (hadSlash)
- {
+ if (hadSlash) {
// handle an escaped value
hadSlash = false;
- if (ch == '\\')
- {
+ if (ch == '\\') {
out.append('\\');
- }
- else if (ch == '\'')
- {
+ } else if (ch == '\'') {
out.append('\'');
- }
- else if (ch == '\"')
- {
+ } else if (ch == '\"') {
out.append('"');
- }
- else if (ch == 'r')
- {
+ } else if (ch == 'r') {
out.append('\r');
- }
- else if (ch == 'f')
- {
+ } else if (ch == 'f') {
out.append('\f');
- }
- else if (ch == 't')
- {
+ } else if (ch == 't') {
out.append('\t');
- }
- else if (ch == 'n')
- {
+ } else if (ch == 'n') {
out.append('\n');
- }
- else if (ch == 'b')
- {
+ } else if (ch == 'b') {
out.append('\b');
- }
- else if (ch == delimiter)
- {
+ } else if (ch == delimiter) {
out.append('\\');
out.append(delimiter);
- }
- else if (ch == 'u')
- {
+ } else if (ch == 'u') {
// uh-oh, we're in unicode country....
inUnicode = true;
- }
- else
- {
+ } else {
out.append(ch);
}
continue;
- }
- else if (ch == '\\')
- {
+ } else if (ch == '\\') {
hadSlash = true;
continue;
}
out.append(ch);
}
- if (hadSlash)
- {
+ if (hadSlash) {
// then we're in the weird case of a \ at the end of the
// string, let's output it anyway.
out.append('\\');
@@ -452,14 +400,14 @@ public class PropertiesReader extends LineNumberReader
return out.toString();
}
-
+
/**
* <p>Checks if the object is in the given array.</p>
- *
+ * <p/>
* <p>The method returns <code>false</code> if a <code>null</code> array is passed in.</p>
- *
- * @param array the array to search through
- * @param objectToFind the object to find
+ *
+ * @param array the array to search through
+ * @param objectToFind the object to find
* @return <code>true</code> if the array contains the object
*/
public boolean contains(char[] array, char objectToFind) {
@@ -473,14 +421,14 @@ public class PropertiesReader extends LineNumberReader
}
return false;
}
-
+
/**
* <p>Unescapes any Java literals found in the <code>String</code>.
* For example, it will turn a sequence of <code>'\'</code> and
* <code>'n'</code> into a newline character, unless the <code>'\'</code>
* is preceded by another <code>'\'</code>.</p>
- *
- * @param str the <code>String</code> to unescape, may be null
+ *
+ * @param str the <code>String</code> to unescape, may be null
* @return a new unescaped <code>String</code>, <code>null</code> if null string input
*/
public static String unescapeJava(String str) {
@@ -501,17 +449,17 @@ public class PropertiesReader extends LineNumberReader
/**
* <p>Unescapes any Java literals found in the <code>String</code> to a
* <code>Writer</code>.</p>
- *
+ * <p/>
* <p>For example, it will turn a sequence of <code>'\'</code> and
* <code>'n'</code> into a newline character, unless the <code>'\'</code>
* is preceded by another <code>'\'</code>.</p>
- *
+ * <p/>
* <p>A <code>null</code> string input has no effect.</p>
- *
- * @param out the <code>Writer</code> used to output unescaped characters
- * @param str the <code>String</code> to unescape, may be null
+ *
+ * @param out the <code>Writer</code> used to output unescaped characters
+ * @param str the <code>String</code> to unescape, may be null
* @throws IllegalArgumentException if the Writer is <code>null</code>
- * @throws IOException if error occurs on underlying Writer
+ * @throws IOException if error occurs on underlying Writer
*/
public static void unescapeJava(Writer out, String str) throws IOException {
if (out == null) {
@@ -573,13 +521,12 @@ public class PropertiesReader extends LineNumberReader
case 'b':
out.write('\b');
break;
- case 'u':
- {
- // uh-oh, we're in unicode country....
- inUnicode = true;
- break;
- }
- default :
+ case 'u': {
+ // uh-oh, we're in unicode country....
+ inUnicode = true;
+ break;
+ }
+ default:
out.write(ch);
break;
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
index 211d08c..db1af6d 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
@@ -19,11 +19,7 @@ import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
import com.opensymphony.xwork2.inject.Container;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
/**
@@ -119,7 +115,7 @@ public class TextParseUtil {
/**
* Converted object from variable translation.
*
- * @param open
+ * @param openChars
* @param expression
* @param stack
* @param asType
@@ -147,7 +143,7 @@ public class TextParseUtil {
/**
* Converted object from variable translation.
*
- * @param open
+ * @param openChars
* @param expression
* @param stack
* @param asType
@@ -216,7 +212,7 @@ public class TextParseUtil {
if (result instanceof Collection) {
@SuppressWarnings("unchecked")
Collection<Object> casted = (Collection<Object>)result;
- resultCol = new ArrayList<String>();
+ resultCol = new ArrayList<>();
XWorkConverter conv = ((Container)context.get(ActionContext.CONTAINER)).getInstance(XWorkConverter.class);
@@ -230,7 +226,7 @@ public class TextParseUtil {
}
}
} else {
- resultCol = new ArrayList<String>();
+ resultCol = new ArrayList<>();
String resultStr = translateVariables(expression, stack, evaluator);
if (shallBeIncluded(resultStr, excludeEmptyElements)) {
resultCol.add(resultStr);
@@ -258,7 +254,7 @@ public class TextParseUtil {
* @return A set from comma delimted Strings.
*/
public static Set<String> commaDelimitedStringToSet(String s) {
- Set<String> set = new HashSet<String>();
+ Set<String> set = new HashSet<>();
String[] split = s.split(",");
for (String aSplit : split) {
String trimmed = aSplit.trim();
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/URLUtil.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/URLUtil.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/URLUtil.java
index 58ce870..006fd5e 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/URLUtil.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/URLUtil.java
@@ -15,10 +15,12 @@
*/
package com.opensymphony.xwork2.util;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
/**
@@ -46,10 +48,14 @@ public class URLUtil {
}
try {
- new URL(url);
-
+ URL u = new URL(url);
+ URI uri = u.toURI(); // perform a additional url syntax check
+ if (uri.getHost() == null) {
+ LOG.debug("Url [{}] does not contains a valid host: {}", url, uri);
+ return false;
+ }
return true;
- } catch (MalformedURLException e) {
+ } catch (MalformedURLException | URISyntaxException e) {
LOG.debug("Url [{}] is invalid: {}", url, e.getMessage(), e);
return false;
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
index d627473..2a50197 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
@@ -20,8 +20,8 @@ import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.XWorkException;
import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
import java.util.Collection;
@@ -98,18 +98,18 @@ public class XWorkList extends ArrayList {
* <p/>
* This method performs any necessary type conversion.
*
- * @param c the elements to be inserted into this list.
+ * @param collection the elements to be inserted into this list.
* @return <tt>true</tt> if this list changed as a result of the call.
* @throws NullPointerException if the specified collection is null.
*/
@Override
- public boolean addAll(Collection c) {
- if (c == null) {
+ public boolean addAll(Collection collection) {
+ if (collection == null) {
throw new NullPointerException("Collection to add is null");
}
- for (Object aC : c) {
- add(aC);
+ for (Object nextElement : collection) {
+ add(nextElement);
}
return true;
@@ -126,12 +126,12 @@ public class XWorkList extends ArrayList {
* also performs any necessary type conversion.
*
* @param index index at which to insert first element from the specified collection.
- * @param c elements to be inserted into this list.
+ * @param collection elements to be inserted into this list.
* @return <tt>true</tt> if this list changed as a result of the call.
*/
@Override
- public boolean addAll(int index, Collection c) {
- if (c == null) {
+ public boolean addAll(int index, Collection collection) {
+ if (collection == null) {
throw new NullPointerException("Collection to add is null");
}
@@ -141,7 +141,7 @@ public class XWorkList extends ArrayList {
trim = true;
}
- for (Iterator it = c.iterator(); it.hasNext(); index++) {
+ for (Iterator it = collection.iterator(); it.hasNext(); index++) {
add(index, it.next());
}
@@ -203,12 +203,10 @@ public class XWorkList extends ArrayList {
private Object convert(Object element) {
if ((element != null) && !clazz.isAssignableFrom(element.getClass())) {
// convert to correct type
- if (LOG.isDebugEnabled()) {
- LOG.debug("Converting from " + element.getClass().getName() + " to " + clazz.getName());
- }
- TypeConverter conv = getTypeConverter();
+ LOG.debug("Converting from {} to {}", element.getClass().getName(), clazz.getName());
+ TypeConverter converter = getTypeConverter();
Map<String, Object> context = ActionContext.getContext().getContextMap();
- element = conv.convertValue(context, null, null, null, element, clazz);
+ element = converter.convertValue(context, null, null, null, element, clazz);
}
return element;
@@ -221,7 +219,6 @@ public class XWorkList extends ArrayList {
@Override
public boolean contains(Object element) {
element = convert(element);
-
return super.contains(element);
}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkTestCaseHelper.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkTestCaseHelper.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkTestCaseHelper.java
index f5f70ed..d81b84e 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkTestCaseHelper.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkTestCaseHelper.java
@@ -60,8 +60,7 @@ public class XWorkTestCaseHelper {
public void init(Configuration configuration) throws ConfigurationException {}
public boolean needsReload() { return false; }
- public void register(ContainerBuilder builder,
- LocatableProperties props) throws ConfigurationException {
+ public void register(ContainerBuilder builder, LocatableProperties props) throws ConfigurationException {
builder.setAllowDuplicates(true);
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/AbstractResourceStore.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/AbstractResourceStore.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/AbstractResourceStore.java
new file mode 100644
index 0000000..9166389
--- /dev/null
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/AbstractResourceStore.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2002-2015 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.opensymphony.xwork2.util.classloader;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+
+
+public abstract class AbstractResourceStore implements ResourceStore {
+ private static final Logger log = LogManager.getLogger(JarResourceStore.class);
+ protected final File file;
+
+ public AbstractResourceStore(final File file) {
+ this.file = file;
+ }
+
+ protected void closeQuietly(InputStream is) {
+ try {
+ if (is != null) {
+ is.close();
+ }
+ } catch (IOException e) {
+ log.error("Unable to close file input stream", e);
+ }
+ }
+
+ public void write(String pResourceName, byte[] pResourceData) {
+ }
+
+ public String toString() {
+ return this.getClass().getName() + file.toString();
+ }
+}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/FileResourceStore.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/FileResourceStore.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/FileResourceStore.java
index 3b2714e..c2c79ea 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/FileResourceStore.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/FileResourceStore.java
@@ -15,25 +15,22 @@
*/
package com.opensymphony.xwork2.util.classloader;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.io.File;
import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
/**
* Reads a class from disk
* class taken from Apache JCI
*/
-public final class FileResourceStore implements ResourceStore {
+public final class FileResourceStore extends AbstractResourceStore {
private static final Logger LOG = LogManager.getLogger(FileResourceStore.class);
- private final File root;
- public FileResourceStore(final File pFile) {
- root = pFile;
+ public FileResourceStore(final File file) {
+ super(file);
}
public byte[] read(final String pResourceName) {
@@ -53,25 +50,8 @@ public final class FileResourceStore implements ResourceStore {
}
}
- public void write(final String pResourceName, final byte[] pData) {
-
- }
-
- private void closeQuietly(InputStream is) {
- try {
- if (is != null)
- is.close();
- } catch (IOException e) {
- LOG.error("Unable to close file input stream", e);
- }
- }
-
private File getFile(final String pResourceName) {
final String fileName = pResourceName.replace('/', File.separatorChar);
- return new File(root, fileName);
- }
-
- public String toString() {
- return this.getClass().getName() + root.toString();
+ return new File(file, fileName);
}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/JarResourceStore.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/JarResourceStore.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/JarResourceStore.java
index f7528b0..c5c1cc7 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/JarResourceStore.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/JarResourceStore.java
@@ -16,8 +16,8 @@
package com.opensymphony.xwork2.util.classloader;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.io.*;
import java.util.zip.ZipEntry;
@@ -26,16 +26,11 @@ import java.util.zip.ZipFile;
/**
* Read resources from a jar file
*/
-public class JarResourceStore implements ResourceStore {
+public class JarResourceStore extends AbstractResourceStore {
private static final Logger LOG = LogManager.getLogger(JarResourceStore.class);
- private final File file;
-
public JarResourceStore(File file) {
- this.file = file;
- }
-
- public void write(String pResourceName, byte[] pResourceData) {
+ super(file);
}
public byte[] read(String pResourceName) {
@@ -58,8 +53,7 @@ public class JarResourceStore implements ResourceStore {
}
}
- public static long copy(InputStream input, OutputStream output)
- throws IOException {
+ public static long copy(InputStream input, OutputStream output) throws IOException {
byte[] buffer = new byte[1024 * 4];
long count = 0;
int n = 0;
@@ -69,13 +63,4 @@ public class JarResourceStore implements ResourceStore {
}
return count;
}
-
- private void closeQuietly(InputStream is) {
- try {
- if (is != null)
- is.close();
- } catch (IOException e) {
- LOG.error("Unable to close input stream", e);
- }
- }
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
index 3d17ca4..55fe34f 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
@@ -19,9 +19,9 @@ import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.FileManager;
import com.opensymphony.xwork2.FileManagerFactory;
import com.opensymphony.xwork2.XWorkException;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
import org.apache.commons.lang3.ObjectUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.io.File;
import java.io.InputStream;
@@ -125,8 +125,7 @@ public class ReloadingClassLoader extends ClassLoader {
}
public void reload() {
- if (LOG.isTraceEnabled())
- LOG.trace("Reloading class loader");
+ LOG.trace("Reloading class loader");
delegate = new ResourceStoreClassLoader(parent, stores);
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ResourceStoreClassLoader.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ResourceStoreClassLoader.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ResourceStoreClassLoader.java
index d84c106..8d4a688 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ResourceStoreClassLoader.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/classloader/ResourceStoreClassLoader.java
@@ -15,16 +15,11 @@
*/
package com.opensymphony.xwork2.util.classloader;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-
/**
* class taken from Apache JCI
*/
public final class ResourceStoreClassLoader extends ClassLoader {
- private static final Logger LOG = LogManager.getLogger(ResourceStoreClassLoader.class);
-
private final ResourceStore[] stores;
public ResourceStoreClassLoader(final ClassLoader pParent, final ResourceStore[] pStores) {
@@ -63,7 +58,6 @@ public final class ResourceStoreClassLoader extends ClassLoader {
} else {
throw new ClassNotFoundException(name);
}
-
}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/2e9df577/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java b/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
index cf8fb9b..50fde4a 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
@@ -90,7 +90,7 @@ public interface ClassFinder {
}
public class Annotatable {
- private final List<AnnotationInfo> annotations = new ArrayList<AnnotationInfo>();
+ private final List<AnnotationInfo> annotations = new ArrayList<>();
public Annotatable(AnnotatedElement element) {
for (Annotation annotation : element.getAnnotations()) {
@@ -136,12 +136,12 @@ public interface ClassFinder {
public class ClassInfo extends Annotatable implements Info {
private final String name;
- private final List<MethodInfo> methods = new ArrayList<MethodInfo>();
- private final List<MethodInfo> constructors = new ArrayList<MethodInfo>();
+ private final List<MethodInfo> methods = new ArrayList<>();
+ private final List<MethodInfo> constructors = new ArrayList<>();
private final String superType;
- private final List<String> interfaces = new ArrayList<String>();
- private final List<String> superInterfaces = new ArrayList<String>();
- private final List<FieldInfo> fields = new ArrayList<FieldInfo>();
+ private final List<String> interfaces = new ArrayList<>();
+ private final List<String> superInterfaces = new ArrayList<>();
+ private final List<FieldInfo> fields = new ArrayList<>();
private Class<?> clazz;
private ClassFinder classFinder;
private ClassNotFoundException notFound;
@@ -216,7 +216,7 @@ public interface ClassFinder {
private final ClassInfo declaringClass;
private final String returnType;
private final String name;
- private final List<List<AnnotationInfo>> parameterAnnotations = new ArrayList<List<AnnotationInfo>>();
+ private final List<List<AnnotationInfo>> parameterAnnotations = new ArrayList<>();
public MethodInfo(ClassInfo info, Constructor constructor){
super(constructor);
@@ -245,7 +245,7 @@ public interface ClassFinder {
public List<AnnotationInfo> getParameterAnnotations(int index) {
if (index >= parameterAnnotations.size()) {
for (int i = parameterAnnotations.size(); i <= index; i++) {
- List<AnnotationInfo> annotationInfos = new ArrayList<AnnotationInfo>();
+ List<AnnotationInfo> annotationInfos = new ArrayList<>();
parameterAnnotations.add(i, annotationInfos);
}
}