Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/query
In directory sc8-pr-cvs1:/tmp/cvs-serv20166/cirrus/hibernate/query
Modified Files:
ClauseParser.java FromParser.java OrderByParser.java
Parser.java PreprocessingParser.java SelectParser.java
WhereParser.java
Log Message:
fixed broken line-endings and added a test
Index: ClauseParser.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/query/ClauseParser.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** ClauseParser.java 19 Nov 2002 15:28:06 -0000 1.16
--- ClauseParser.java 26 Nov 2002 03:35:44 -0000 1.17
***************
*** 10,14 ****
/**
* Parses the hibernate query into its constituent clauses.
! */
public class ClauseParser implements Parser {
--- 10,14 ----
/**
* Parses the hibernate query into its constituent clauses.
! */
public class ClauseParser implements Parser {
***************
*** 105,109 ****
cacheSelectTokens = false;
}
!
}
!
--- 105,109 ----
cacheSelectTokens = false;
}
!
}
!
Index: FromParser.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/query/FromParser.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** FromParser.java 19 Nov 2002 15:28:06 -0000 1.10
--- FromParser.java 26 Nov 2002 03:35:44 -0000 1.11
***************
*** 16,20 ****
private String name;
private PathExpressionParser peParser = new PathExpressionParser();
!
public void token(String token, QueryTranslator q) throws QueryException {
--- 16,20 ----
private String name;
private PathExpressionParser peParser = new PathExpressionParser();
!
public void token(String token, QueryTranslator q) throws QueryException {
***************
*** 68,72 ****
public void end(QueryTranslator q) {
}
!
}
!
--- 68,72 ----
public void end(QueryTranslator q) {
}
!
}
!
Index: OrderByParser.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/query/OrderByParser.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** OrderByParser.java 19 Nov 2002 15:28:07 -0000 1.12
--- OrderByParser.java 26 Nov 2002 03:35:44 -0000 1.13
***************
*** 38,42 ****
public void end(QueryTranslator q) throws QueryException {
}
!
}
--- 38,42 ----
public void end(QueryTranslator q) throws QueryException {
}
!
}
Index: Parser.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/query/Parser.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Parser.java 29 Jul 2002 07:27:42 -0000 1.4
--- Parser.java 26 Nov 2002 03:35:44 -0000 1.5
***************
*** 16,18 ****
public void end(QueryTranslator q) throws QueryException;
}
!
--- 16,18 ----
public void end(QueryTranslator q) throws QueryException;
}
!
Index: PreprocessingParser.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/query/PreprocessingParser.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** PreprocessingParser.java 20 Nov 2002 07:06:44 -0000 1.2
--- PreprocessingParser.java 26 Nov 2002 03:35:44 -0000 1.3
***************
*** 1,108 ****
! //$Id$
! package cirrus.hibernate.query;
!
! import java.util.HashSet;
! import java.util.Map;
! import java.util.Set;
!
! import cirrus.hibernate.QueryException;
!
! /**
! *
! */
! public class PreprocessingParser implements Parser {
!
! private static final Set operators;
! static {
! operators = new HashSet();
! operators.add("<=");
! operators.add(">=");
! operators.add("=>");
! operators.add("=<");
! operators.add("!=");
! operators.add("<>");
! operators.add("!#");
! operators.add("!~");
! operators.add("!<");
! operators.add("!>");
! operators.add("is not");
! operators.add("not like");
! operators.add("not in");
! operators.add("not between");
! operators.add("not exists");
! }
!
! private Map replacements;
! private boolean quoted;
! private StringBuffer quotedString;
! private ClauseParser parser = new ClauseParser();
! private String lastToken;
!
! public PreprocessingParser(Map replacements) {
! this.replacements=replacements;
! }
!
! /**
! * @see cirrus.hibernate.query.Parser#token(String, QueryTranslator)
! */
! public void token(String token, QueryTranslator q) throws QueryException {
!
! //handle quoted strings
! if (quoted) {
! quotedString.append(token);
! }
! if ( "'".equals(token) ) {
! if (quoted) {
! token = quotedString.toString();
! }
! else {
! quotedString = new StringBuffer(20).append(token);
! }
! quoted = !quoted;
! }
! if (quoted) return;
!
! //ignore whitespace
! if ( ParserHelper.isWhitespace(token) ) return;
!
! //do replacements
! String substoken = (String) replacements.get(token);
! token = (substoken==null) ? token : substoken;
!
! //handle <=, >=, !=, is not, not between, not in
! if (lastToken==null) {
! lastToken=token;
! }
! else {
! String doubleToken = (token.length()>1) ?
! lastToken + ' ' + token :
! lastToken + token;
! if ( operators.contains(doubleToken) ) {
! parser.token(doubleToken, q);
! lastToken=null;
! }
! else {
! parser.token(lastToken, q);
! lastToken=token;
! }
! }
!
! }
!
! /**
! * @see cirrus.hibernate.query.Parser#start(QueryTranslator)
! */
! public void start(QueryTranslator q) throws QueryException {
! quoted = false;
! parser.start(q);
! }
!
! /**
! * @see cirrus.hibernate.query.Parser#end(QueryTranslator)
! */
! public void end(QueryTranslator q) throws QueryException {
! if (lastToken!=null) parser.token(lastToken, q);
! parser.end(q);
! }
!
! }
--- 1,108 ----
! //$Id$
! package cirrus.hibernate.query;
!
! import java.util.HashSet;
! import java.util.Map;
! import java.util.Set;
!
! import cirrus.hibernate.QueryException;
!
! /**
! *
! */
! public class PreprocessingParser implements Parser {
!
! private static final Set operators;
! static {
! operators = new HashSet();
! operators.add("<=");
! operators.add(">=");
! operators.add("=>");
! operators.add("=<");
! operators.add("!=");
! operators.add("<>");
! operators.add("!#");
! operators.add("!~");
! operators.add("!<");
! operators.add("!>");
! operators.add("is not");
! operators.add("not like");
! operators.add("not in");
! operators.add("not between");
! operators.add("not exists");
! }
!
! private Map replacements;
! private boolean quoted;
! private StringBuffer quotedString;
! private ClauseParser parser = new ClauseParser();
! private String lastToken;
!
! public PreprocessingParser(Map replacements) {
! this.replacements=replacements;
! }
!
! /**
! * @see cirrus.hibernate.query.Parser#token(String, QueryTranslator)
! */
! public void token(String token, QueryTranslator q) throws QueryException {
!
! //handle quoted strings
! if (quoted) {
! quotedString.append(token);
! }
! if ( "'".equals(token) ) {
! if (quoted) {
! token = quotedString.toString();
! }
! else {
! quotedString = new StringBuffer(20).append(token);
! }
! quoted = !quoted;
! }
! if (quoted) return;
!
! //ignore whitespace
! if ( ParserHelper.isWhitespace(token) ) return;
!
! //do replacements
! String substoken = (String) replacements.get(token);
! token = (substoken==null) ? token : substoken;
!
! //handle <=, >=, !=, is not, not between, not in
! if (lastToken==null) {
! lastToken=token;
! }
! else {
! String doubleToken = (token.length()>1) ?
! lastToken + ' ' + token :
! lastToken + token;
! if ( operators.contains(doubleToken) ) {
! parser.token(doubleToken, q);
! lastToken=null;
! }
! else {
! parser.token(lastToken, q);
! lastToken=token;
! }
! }
!
! }
!
! /**
! * @see cirrus.hibernate.query.Parser#start(QueryTranslator)
! */
! public void start(QueryTranslator q) throws QueryException {
! quoted = false;
! parser.start(q);
! }
!
! /**
! * @see cirrus.hibernate.query.Parser#end(QueryTranslator)
! */
! public void end(QueryTranslator q) throws QueryException {
! if (lastToken!=null) parser.token(lastToken, q);
! parser.end(q);
! }
!
! }
Index: SelectParser.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/query/SelectParser.java,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -d -r1.35 -r1.36
*** SelectParser.java 22 Nov 2002 07:03:07 -0000 1.35
--- SelectParser.java 26 Nov 2002 03:35:44 -0000 1.36
***************
*** 136,140 ****
public void end(QueryTranslator q) {
}
!
}
!
--- 136,140 ----
public void end(QueryTranslator q) {
}
!
}
!
Index: WhereParser.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/query/WhereParser.java,v
retrieving revision 1.40
retrieving revision 1.41
diff -C2 -d -r1.40 -r1.41
*** WhereParser.java 21 Nov 2002 07:44:57 -0000 1.40
--- WhereParser.java 26 Nov 2002 03:35:44 -0000 1.41
***************
*** 173,177 ****
}
return name;
! }
public void token(String token, QueryTranslator q) throws QueryException {
--- 173,177 ----
}
return name;
! }
public void token(String token, QueryTranslator q) throws QueryException {
***************
*** 454,456 ****
}
}
!
--- 454,456 ----
}
}
!
|