User: dsundstrom
Date: 02/04/14 11:59:30
Modified: src/main/org/jboss/ejb/plugins/cmp/ejbql BasicVisitor.java
JBossQLParser.jjt
Added: src/main/org/jboss/ejb/plugins/cmp/ejbql
ASTValueClassComparison.java
Log:
Added support for comparisons of dependent value classes to JBossQL.
Revision Changes Path
1.3 +9 -1 jboss/src/main/org/jboss/ejb/plugins/cmp/ejbql/BasicVisitor.java
Index: BasicVisitor.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/ejbql/BasicVisitor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- BasicVisitor.java 14 Apr 2002 17:28:55 -0000 1.2
+++ BasicVisitor.java 14 Apr 2002 18:59:30 -0000 1.3
@@ -13,7 +13,7 @@
* extensions translate just a few elements of the tree.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Dain Sundstrom</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class BasicVisitor implements JBossQLParserVisitor {
public Object visit(SimpleNode node, Object data) {
@@ -218,6 +218,14 @@
}
public Object visit(ASTEntityComparison node, Object data) {
+ BlockStringBuffer buf = (BlockStringBuffer)data;
+ node.jjtGetChild(0).jjtAccept(this, data);
+ buf.append(" ").append(node.opp).append(" ");
+ node.jjtGetChild(1).jjtAccept(this, data);
+ return data;
+ }
+
+ public Object visit(ASTValueClassComparison node, Object data) {
BlockStringBuffer buf = (BlockStringBuffer)data;
node.jjtGetChild(0).jjtAccept(this, data);
buf.append(" ").append(node.opp).append(" ");
1.4 +26 -1 jboss/src/main/org/jboss/ejb/plugins/cmp/ejbql/JBossQLParser.jjt
Index: JBossQLParser.jjt
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/ejbql/JBossQLParser.jjt,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JBossQLParser.jjt 14 Apr 2002 17:28:55 -0000 1.3
+++ JBossQLParser.jjt 14 Apr 2002 18:59:30 -0000 1.4
@@ -46,7 +46,7 @@
* This class parses JBossQL into an abstract syntax tree.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Dain Sundstrom</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class JBossQLParser {
private Catalog catalog;
@@ -363,6 +363,17 @@
)
DatetimeExpression()
) #DatetimeComparison
+////////////////////// New or changed elements /////////////////////////////
+|
+ (
+ ValueClassValue()
+ (
+ <EQ> { jjtThis.opp="="; } |
+ <NE> { jjtThis.opp="<>"; }
+ )
+ ValueClassExpression()
+ ) #ValueClassComparison
+////////////////////////////////////////////////////////////////////////////
|
(
EntityBeanValue()
@@ -498,6 +509,20 @@
{
BooleanValue() | BooleanValuedParameter() | BooleanLiteral()
}
+
+////////////////////// New or changed elements /////////////////////////////
+void ValueClassValue() #void :
+{}
+{
+ ValueClassValuedPath()
+}
+
+void ValueClassExpression() #void :
+{}
+{
+ ValueClassValue() | ValueClassValuedParameter()
+}
+////////////////////////////////////////////////////////////////////////////
void EntityBeanValue() #void :
{}
1.1
jboss/src/main/org/jboss/ejb/plugins/cmp/ejbql/ASTValueClassComparison.java
Index: ASTValueClassComparison.java
===================================================================
/*
* JBoss, the OpenSource J2EE webOS
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.ejb.plugins.cmp.ejbql;
/**
* This abstract syntax node represents an value class comparison.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Dain Sundstrom</a>
* @version $Revision: 1.1 $
*/
public class ASTValueClassComparison extends ASTComparison {
public ASTValueClassComparison(int id) {
super(id);
}
public ASTValueClassComparison(EJBQLParser p, int id) {
super(p, id);
}
/** Accept the visitor. **/
public Object jjtAccept(JBossQLParserVisitor visitor, Object data) {
return visitor.visit(this, data);
}
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development