froehlich    01/11/13 08:05:06

  Modified:    apps/db/src/java/org/apache/avalon/db/basic/actions
                        BasicSelect.java
  Log:
  fixed some things to get a simple select without where working
  
  Revision  Changes    Path
  1.19      +43 -42    
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.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- BasicSelect.java  2001/11/13 15:28:02     1.18
  +++ BasicSelect.java  2001/11/13 16:05:06     1.19
  @@ -62,8 +62,8 @@
           mCols = parseSelect(mRootElement);
           mTablenames = parseFrom(mRootElement);
           parseLXSQL(mRootElement);
  -        System.out.println("cols.length=" + mCols.length);
  -        System.out.println("tablenames.length=" + mTablenames.length);
  +        getLogger().debug("cols.length=" + mCols.length);
  +        getLogger().debug("tablenames.length=" + mTablenames.length);
       }
   
       /**
  @@ -75,45 +75,46 @@
           Object[] selectedRow = null;
   
           selectedRows = new Vector();
  -        if(true) {
  -            /** without where all rows */
  -            for(int i=0; i < mTablenames.length; i++) {
  -                /** get the table, should be only one */
  -                mTable = 
(BasicTable)mDatabasePersistor.getQueryable(mTablenames[i]);
  -                Iterator it = mTable.getRows().iterator();
  -                while(it.hasNext()) {
  -                    /** iterate rows and select only the needed cols */
  -                    BasicRow row = (BasicRow)it.next();
  -                    if (testRow(row)) {
  -                        if(((String)mCols[0]).equals("*")) {
  -                            selectedRow = new Object[row.getColumsLength()];
  -                            for (int j=0; j < row.getColumsLength(); j++) {
  -                               selectedRow[j] = row.getValue(j);
  -                            }
  -                        } else {
  -                            selectedRow = new Object[mCols.length];
  -                            for (int j=0; j < mCols.length; j++) {
  -                               selectedRow[j] = row.getValue(mCols[j]);
  -                            }
  +        for(int i=0; i < mTablenames.length; i++) {
  +            /** get the table, should be only one */
  +            mTable = 
(BasicTable)mDatabasePersistor.getQueryable(mTablenames[i]);
  +            Iterator it = mTable.getRows().iterator();
  +            while(it.hasNext()) {
  +                /** iterate rows and select only the needed cols */
  +                BasicRow row = (BasicRow)it.next();
  +                if (testRow(row)) {
  +                    if(((String)mCols[0]).equals("*")) {
  +                        selectedRow = new Object[row.getColumsLength()];
  +                        for (int j=0; j < row.getColumsLength(); j++) {
  +                           selectedRow[j] = row.getValue(j);
                           }
  -                        selectedRows.add(selectedRow);
  +                    } else {
  +                        selectedRow = new Object[mCols.length];
  +                        for (int j=0; j < mCols.length; j++) {
  +                           selectedRow[j] = row.getValue(mCols[j]);
  +                        }
                       }
  +                    selectedRows.add(selectedRow);
                   }
               }
  +            getLogger().debug("selectedRows.size()=" + selectedRows.size());
               mColumns = new BasicColumns();
               mRowSet = new BasicRowSet(mColumns,selectedRows);
  -        } else {
  -
           }
       }
   
       public boolean testRow(BasicRow row) throws ActionException {
  -        RhinoHelper rh = new RhinoHelper();
  -        Matched rc = new Matched();
  -        rh.addBean("row",row);
  -        rh.addBean("rc",rc);
  -        rh.executeAction("if (" + mWhereBuffer.toString() + ") { 
rc.itDidMatch(); } ");
  -        return rc.didItMatch();
  +        //Just for debug
  +        if(!mWhereBuffer.toString().equals("")) {
  +            RhinoHelper rh = new RhinoHelper();
  +            Matched rc = new Matched();
  +            rh.addBean("row",row);
  +            rh.addBean("rc",rc);
  +            rh.executeAction("if (" + mWhereBuffer.toString() + ") { 
rc.itDidMatch(); } ");
  +            return rc.didItMatch();
  +        } else {
  +            return true;
  +        }
       }
   
       public class Matched {
  @@ -175,7 +176,7 @@
               throw new ActionException("Validation Exception: " + 
ve.getMessage());
           }
           mWhereBuffer = whereBuffer;
  -        System.out.println("sb=[\n" + whereBuffer + "\n]");
  +        getLogger().debug("sb=[\n" + whereBuffer + "\n]");
   
   
       }
  @@ -226,32 +227,32 @@
   
       private void parseWhereTerm(Element element, StringBuffer sb, int 
indent) throws ValidationException {
           if(element != null) {
  -            System.out.println("Element != null " + element);
  +            getLogger().debug("Element != null " + element);
               if(element.getTagName().equals("and")) {
  -                System.out.println("parseWhereTerm(): found and");
  +                getLogger().debug("parseWhereTerm(): found and");
                   parseWhereAndOrTerm(element.getChildNodes(),sb, indent, "&");
               } else if(element.getTagName().equals("or")) {
  -                System.out.println("parseWhereTerm(): found or");
  +                getLogger().debug("parseWhereTerm(): found or");
                   parseWhereAndOrTerm(element.getChildNodes(),sb, indent, "|");
               } else if(element.getTagName().equals("condition")) {
  -                System.out.println("parseWhereTerm(): found condition");
  +                getLogger().debug("parseWhereTerm(): found condition");
                   parseWhereConditionTerm(element,sb,indent);
               } else {
                   throw new ValidationException("Unknown where term " + 
element.getTagName());
               }
           } else {
  -            System.out.println("Element == null " + element);
  -            System.out.println("parseWhereTerm after if");
  +            getLogger().debug("Element == null " + element);
  +            getLogger().debug("parseWhereTerm after if");
               throw new ValidationException("Null where element");
           }
  -        System.out.println("parseWhereTerm at the end");
  +        getLogger().debug("parseWhereTerm at the end");
       }
   
       private void parseWhereAndOrTerm(NodeList nodes, StringBuffer sb, int 
indent, String andOr) {
           sb.append(getIndent(indent) + "(\n");
           try {
               for(int i=0; i<nodes.getLength(); i++) {
  -                System.out.println("Looping and/or");
  +                getLogger().debug("Looping and/or");
                   parseWhereTerm((Element)nodes.item(i),sb, indent +1);
                   if (i+1 < nodes.getLength()) {
                     sb.append( getIndent(indent) + andOr + "\n");
  @@ -266,7 +267,7 @@
   
       private void parseWhereConditionTerm(Element element, StringBuffer sb, 
int indent) {
           try {
  -            System.out.println("parseWhereConditionTerm(): found condition");
  +            getLogger().debug("parseWhereConditionTerm(): found condition");
               //Node nextSibling = (Node)element.getNextSibling();
               sb.append(getIndent(indent) + element.getAttribute("expr") + 
"\n");
               //parseWhereTerm((Element)nextSibling,sb);
  @@ -289,7 +290,7 @@
       }
   
       public void execute(Object[] params) throws ActionException {
  -        System.out.println("select execute prepared");
  +        getLogger().debug("select execute prepared");
       }
   
       public void setPrepared(boolean b) {
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to