You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2006/06/13 18:01:38 UTC
svn commit: r413926 -
/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/PatternMatchNode.java
Author: aadamchik
Date: Tue Jun 13 09:01:37 2006
New Revision: 413926
URL: http://svn.apache.org/viewvc?rev=413926&view=rev
Log:
CAY-567
Modified:
incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/PatternMatchNode.java
Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/PatternMatchNode.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/PatternMatchNode.java?rev=413926&r1=413925&r2=413926&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/PatternMatchNode.java (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/PatternMatchNode.java Tue Jun 13 09:01:37 2006
@@ -84,25 +84,31 @@
protected Pattern getPattern() {
// compile pattern on demand
if (!patternCompiled) {
- pattern = null;
- patternCompiled = true;
- if (jjtGetNumChildren() < 2) {
- return null;
- }
+ synchronized (this) {
- // precompile pattern
- ASTScalar patternNode = (ASTScalar) jjtGetChild(1);
- if (patternNode == null) {
- return null;
- }
+ if (!patternCompiled) {
+ pattern = null;
+ patternCompiled = true;
- String srcPattern = (String) patternNode.getValue();
- if (srcPattern == null) {
- return null;
- }
+ if (jjtGetNumChildren() < 2) {
+ return null;
+ }
- pattern = Util.sqlPatternToPattern(srcPattern, ignoringCase);
+ // precompile pattern
+ ASTScalar patternNode = (ASTScalar) jjtGetChild(1);
+ if (patternNode == null) {
+ return null;
+ }
+
+ String srcPattern = (String) patternNode.getValue();
+ if (srcPattern == null) {
+ return null;
+ }
+
+ pattern = Util.sqlPatternToPattern(srcPattern, ignoringCase);
+ }
+ }
}
return pattern;