You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ha...@apache.org on 2001/11/24 19:37:01 UTC

cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl AbstractAggregateRow.java

hammant     01/11/24 10:37:01

  Modified:    apps/db/src/java/org/apache/avalon/db/basic/data
                        BasicView.java
               apps/db/src/java/org/apache/avalon/db/data Row.java
  Added:       apps/db/src/java/org/apache/avalon/db/data AggregateRow.java
               apps/db/src/java/org/apache/avalon/db/data/impl
                        AbstractAggregateRow.java
  Log:
  Start of aggregate row
  
  Revision  Changes    Path
  1.7       +81 -81    jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/data/BasicView.java
  
  Index: BasicView.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/data/BasicView.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- BasicView.java	2001/11/23 13:32:32	1.6
  +++ BasicView.java	2001/11/24 18:37:01	1.7
  @@ -25,114 +25,114 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.6 $
  + * @version $Revision: 1.7 $
    */
  -public class BasicView extends AbstractView implements RowListener {
  +public class BasicView extends AbstractView {
   
       private SimpleWhereClause mSimpleWhereClause;
       private Queryable mQueryable;
  +    private RowListener mRowListener;
   
       public BasicView(String name, Column[] columns, Queryable queryable, SimpleWhereClause whereClause) {
           super(name, columns);
           mSimpleWhereClause = whereClause;
           mQueryable = queryable;
   
  -        queryable.addRowListener(this);
  -
  -    }
  -
  -    public void rowAdded(Queryable queryable, Row row) {
  -        try {
  -            if(mSimpleWhereClause.testDataRow((BasicRow) row)) {
  -                addRow(row);
  -            }
  -        } catch (DataException de) {
  -            getLogger().debug("(BasicView) Some exception during rowAdded",de);
  -        }
  -    }
  -
  -    public void rowDeleted(Queryable queryable, Row row) {
  -        if(rowExists(row)) {
  -            deleteRow(row);
  -        }
  -    }
  -
  -    public void rowChanged(Queryable queryable, Row row) {
  -        try {
  -            boolean exists = rowExists(row);
  -            if(mSimpleWhereClause.testDataRow((BasicRow) row)) {
  -                if (exists) {
  -                    // do nothing
  -                } else {
  -                    deleteRow(row);
  -                }
  -            } else {
  -                if (exists) {
  -                    addRow(row);
  -                } else {
  -                    // do nothing
  +        mRowListener = new RowListener() {
  +            public void rowAdded(Queryable queryable, Row row) {
  +                try {
  +                    if(mSimpleWhereClause.testDataRow((BasicRow) row)) {
  +                        addRow(row);
  +                    }
  +                } catch (DataException de) {
  +                    getLogger().debug("(BasicView) Some exception during rowAdded",de);
                   }
               }
  -        } catch (DataException de) {
  -            getLogger().debug("(BasicView) Some exception during rowChanged",de);
  -        }
  -
  -    }
  -
  -    public void rowsAdded(Queryable queryable, Collection rows) {
  -        SimpleWhereClauseMatchingRowCallback cb = new SimpleWhereClauseMatchingRowCallback() {
  -            public void rowMatches(BasicRow row, boolean matches) {
  -                if (matches) {
  -                    addRow(row);
  -                } else {
  +            public void rowDeleted(Queryable queryable, Row row) {
  +                if(rowExists(row)) {
                       deleteRow(row);
                   }
               }
  -        };
  -        try {
  -            mSimpleWhereClause.testDataRows(rows.iterator(), cb);
  -        } catch (DataException de) {
  -            getLogger().debug("(BasicView) Some exception during rowsAdded",de);
  -        }
  -    }
   
  -    public void rowsDeleted(Queryable queryable, Collection rows) {
  -        Iterator it = rows.iterator();
  -        while (it.hasNext()) {
  -            Row row = (Row) it.next();
  -            if(rowExists(row)) {
  -                deleteRow(row);
  +            public void rowChanged(Queryable queryable, Row row) {
  +                try {
  +                    boolean exists = rowExists(row);
  +                    if(mSimpleWhereClause.testDataRow((BasicRow) row)) {
  +                        if (exists) {
  +                            // do nothing
  +                        } else {
  +                            deleteRow(row);
  +                        }
  +                    } else {
  +                        if (exists) {
  +                            addRow(row);
  +                        } else {
  +                            // do nothing
  +                        }
  +                    }
  +                } catch (DataException de) {
  +                    getLogger().debug("(BasicView) Some exception during rowChanged",de);
  +                }
               }
  -        }
  -    }
   
  -    public void rowsChanged(Queryable queryable, Collection rows) {
  -        SimpleWhereClauseMatchingRowCallback cb = new SimpleWhereClauseMatchingRowCallback() {
  -            public void rowMatches(BasicRow row, boolean matches) {
  -                boolean exists = rowExists(row);
  -                if (matches) {
  -                    if (exists) {
  -                        // do nothing
  -                    } else {
  -                        addRow(row);
  +            public void rowsAdded(Queryable queryable, Collection rows) {
  +                SimpleWhereClauseMatchingRowCallback cb = new SimpleWhereClauseMatchingRowCallback() {
  +                    public void rowMatches(BasicRow row, boolean matches) {
  +                        if (matches) {
  +                            addRow(row);
  +                        } else {
  +                            deleteRow(row);
  +                        }
                       }
  -                } else {
  -                    if (exists) {
  +                };
  +                try {
  +                    mSimpleWhereClause.testDataRows(rows.iterator(), cb);
  +                } catch (DataException de) {
  +                    getLogger().debug("(BasicView) Some exception during rowsAdded",de);
  +                }
  +            }
  +
  +            public void rowsDeleted(Queryable queryable, Collection rows) {
  +                Iterator it = rows.iterator();
  +                while (it.hasNext()) {
  +                    Row row = (Row) it.next();
  +                    if(rowExists(row)) {
                           deleteRow(row);
  -                    } else {
  -                        // do nothing
                       }
                   }
               }
  +
  +            public void rowsChanged(Queryable queryable, Collection rows) {
  +                SimpleWhereClauseMatchingRowCallback cb = new SimpleWhereClauseMatchingRowCallback() {
  +                    public void rowMatches(BasicRow row, boolean matches) {
  +                        boolean exists = rowExists(row);
  +                        if (matches) {
  +                            if (exists) {
  +                                // do nothing
  +                            } else {
  +                                addRow(row);
  +                            }
  +                        } else {
  +                            if (exists) {
  +                                deleteRow(row);
  +                            } else {
  +                                // do nothing
  +                            }
  +                        }
  +                    }
  +                };
  +                try {
  +                    mSimpleWhereClause.testDataRows(rows.iterator(), cb);
  +                } catch (DataException de) {
  +                    getLogger().debug("(BasicView) Some exception during rowsChanged",de);
  +                }
  +            }
           };
  -        try {
  -            mSimpleWhereClause.testDataRows(rows.iterator(), cb);
  -        } catch (DataException de) {
  -            getLogger().debug("(BasicView) Some exception during rowsChanged",de);
  -        }
  +        queryable.addRowListener(mRowListener);
       }
   
       public Queryable getSourceQueryable() {
           return mQueryable;
       }
  +
   }
  
  
  
  1.5       +2 -2      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/Row.java
  
  Index: Row.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/Row.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Row.java	2001/11/09 23:31:18	1.4
  +++ Row.java	2001/11/24 18:37:01	1.5
  @@ -11,11 +11,11 @@
   import java.io.Serializable;
   
   /**
  - * Interface AbstractTableRow
  + * Interface Row
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version * $Revision: 1.4 $
  + * @version * $Revision: 1.5 $
    */
   public interface Row extends Serializable {
       Object getValue(int idx);
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/AggregateRow.java
  
  Index: AggregateRow.java
  ===================================================================
  
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.db.data;
  
  import java.util.Collection;
  
  /**
   * Interface AggregateRow
   *
   *
   * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
   * @version * $Revision: 1.1 $
   */
  public interface AggregateRow extends Row {
      Collection getSourceRows();
  
  }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractAggregateRow.java
  
  Index: AbstractAggregateRow.java
  ===================================================================
  
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.db.data.impl;
  
  import org.apache.avalon.db.data.AggregateRow;
  
  import java.util.Vector;
  import java.util.Collection;
  
  
  /**
   * Class AbstractAggregateRow
   *
   *
   * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
   * @version $Revision: 1.1 $
   */
  public abstract class AbstractAggregateRow implements AggregateRow {
  
      protected AbstractQueryable mAbstractQueryable;
  
      protected Vector mSourceRows = new Vector();
  
      public AbstractAggregateRow(AbstractQueryable abstractQueryable) {
          mAbstractQueryable = abstractQueryable;
      }
  
      public Collection getSourceRows() {
          return mSourceRows;
      }
  }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>