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]>

Reply via email to