froehlich 01/11/12 10:09:43
Modified: apps/db/src/java/org/apache/avalon/db/basic/actions
BasicSelect.java
Log:
Revision Changes Path
1.10 +44 -34
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicSelect.java
Index: BasicSelect.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicSelect.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- BasicSelect.java 2001/11/12 14:04:40 1.9
+++ BasicSelect.java 2001/11/12 18:09:43 1.10
@@ -17,7 +17,10 @@
import org.apache.avalon.db.basic.data.BasicRow;
import org.apache.avalon.db.basic.results.BasicColumns;
import org.apache.avalon.db.basic.results.BasicRowSet;
+import org.apache.avalon.db.basic.parser.BasicLXSQLParser;
import org.apache.avalon.db.utils.RhinoHelper;
+import org.apache.avalon.db.transport.SelectRequest;
+import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
@@ -62,7 +65,7 @@
String[] tablenames;
Object[] selectedrow = null;
- System.out.println("execute(): select");
+ System.out.println("execute(): select without params");
if(true) {
cols = parseSelect(mRootElement);
tablenames = parseFrom(mRootElement);
@@ -171,49 +174,58 @@
}
private StringBuffer parseWhereRoot(Element rootElement) {
+ System.out.println("Enter parseWhereRoot()");
StringBuffer sb = new StringBuffer();
+ Element whereElement = null;
+
NodeList subRootNodes = this.getSubRootNodes(rootElement);
for (int i=0; i < subRootNodes.getLength(); i++) {
if(subRootNodes.item(i).getNodeName().equals("where")) {
System.out.println("parseWhereRoot(): found where");
-
this.parseWhereTerm((Element)subRootNodes.item(i).getFirstChild(),sb);
+ whereElement = (Element)subRootNodes.item(i);
}
}
+ this.parseWhereTerm((Element)whereElement.getFirstChild(),sb);
+ System.out.println("parseWhereRoot(): END");
+ System.out.println("sb=" + sb);
return sb;
}
- private StringBuffer parseWhereTerm(Element element, StringBuffer sb) {
- try {
- System.out.println("Enter parseWhereTerm()");
- if(element != null) {
- sb.append("{\n");
- if(element.getTagName().equals("and")) {
- System.out.println("parseWhereTerm(): found and");
- parseWhereAndTerm(element.getChildNodes(),sb);
- } else if(element.getTagName().equals("or")) {
- System.out.println("parseWhereTerm(): found or");
- parseWhereOrTerm(element.getChildNodes(),sb);
- } else if(element.getTagName().equals("condition")) {
- System.out.println("parseWhereTerm(): found condition");
- //parseWhereConditionTerm(element,sb);
- }
- sb.append("}\n");
+ private void parseWhereTerm(Element element, StringBuffer sb) {
+ System.out.println("Enter parseWhereTerm()");
+ sb.append("{\n");
+ if(element != null) {
+ System.out.println("Element != null " + element);
+ if(element.getTagName().equals("and")) {
+ System.out.println("parseWhereTerm(): found and");
+ parseWhereAndTerm(element.getChildNodes(),sb);
+ } else if(element.getTagName().equals("or")) {
+ System.out.println("parseWhereTerm(): found or");
+ parseWhereOrTerm(element.getChildNodes(),sb);
+ } else if(element.getTagName().equals("condition")) {
+ System.out.println("parseWhereTerm(): found condition");
+ parseWhereConditionTerm(element,sb);
+ } else {
+ return;
}
- System.out.println("sb=" + sb.toString());
- } catch (Exception e) {
- e.printStackTrace();
- }
- return sb;
+ } else {
+ System.out.println("Element == null " + element);
+ System.out.println("parseWhereTerm after if");
+ return;
+ }
+ //System.exit(0);
+ //System.out.println("sb=" + sb.toString());
+ System.out.println("parseWhereTerm at the end");
+ sb.append("}\n");
+ return;
}
private void parseWhereAndTerm(NodeList nodes, StringBuffer sb) {
try {
- System.out.println("parseWhereAndTerm() nodes=" + nodes);
- System.out.println("nodes.getLength()=" + nodes.getLength());
- for(int i=-1;i<nodes.getLength();i++) {
- System.out.println("parseWhereAndTerm(): found and");
- sb.append("&\n");
+ for(int i=0; i<nodes.getLength(); i++) {
+ System.out.println("Looping and");
parseWhereTerm((Element)nodes.item(i),sb);
+ sb.append("&\n");
}
} catch(Exception e) {
e.printStackTrace();
@@ -222,11 +234,10 @@
private void parseWhereOrTerm(NodeList nodes, StringBuffer sb) {
try {
- System.out.println("parseWhereOrTerm() nodes=" + nodes);
- for(int i=0;i<nodes.getLength();i++) {
- System.out.println("parseWhereOrTerm(): found or");
- sb.append("|\n");
+ for(int i=0; i<nodes.getLength(); i++) {
+ System.out.println("Looping or");
parseWhereTerm((Element)nodes.item(i),sb);
+ sb.append("|\n");
}
} catch(Exception e) {
e.printStackTrace();
@@ -235,11 +246,10 @@
private void parseWhereConditionTerm(Element element, StringBuffer sb) {
try {
-
System.out.println("parseWhereConditionTerm(): found condition");
Node nextSibling = (Node)element.getNextSibling();
- parseWhereTerm((Element)nextSibling,sb);
sb.append(element.getAttribute("expr") + "\n");
+ parseWhereTerm((Element)nextSibling,sb);
} catch(Exception e) {
e.printStackTrace();
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>