Author: ggregory
Date: Sat Sep 14 02:13:01 2013
New Revision: 1523175
URL: http://svn.apache.org/r1523175
Log:
No need to lazy-init statics contextFactory and compilationContext, make them
final.
Modified:
commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathContext.java
Modified:
commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathContext.java
URL:
http://svn.apache.org/viewvc/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathContext.java?rev=1523175&r1=1523174&r2=1523175&view=diff
==============================================================================
---
commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathContext.java
(original)
+++
commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathContext.java
Sat Sep 14 02:13:01 2013
@@ -380,8 +380,17 @@ import org.apache.commons.jxpath.util.Ke
* @version $Revision$ $Date$
*/
public abstract class JXPathContext {
- private static volatile JXPathContextFactory contextFactory;
- private static volatile JXPathContext compilationContext;
+
+ static {
+ // Initialize in this order:
+ // 1) contextFactory
+ contextFactory = JXPathContextFactory.newInstance();
+ // 2) compilationContext
+ compilationContext = JXPathContext.newContext(null);
+ }
+
+ private static final JXPathContextFactory contextFactory;
+ private static final JXPathContext compilationContext;
private static final PackageFunctions GENERIC_FUNCTIONS =
new PackageFunctions("", null);
@@ -435,9 +444,6 @@ public abstract class JXPathContext {
* @return JXPathContextFactory
*/
private static JXPathContextFactory getContextFactory () {
- if (contextFactory == null) {
- contextFactory = JXPathContextFactory.newInstance();
- }
return contextFactory;
}
@@ -646,9 +652,6 @@ public abstract class JXPathContext {
* @return CompiledExpression
*/
public static CompiledExpression compile(String xpath) {
- if (compilationContext == null) {
- compilationContext = JXPathContext.newContext(null);
- }
return compilationContext.compilePath(xpath);
}