hammant 01/11/12 14:14:29 Modified: apps/db/src/java/org/apache/avalon/db/basic/data BasicRow.java apps/db/src/java/org/apache/avalon/db/bcel/data BCELTable.java apps/db/src/java/org/apache/avalon/db/data/impl AbstractQueryable.java AbstractTable.java AbstractTableRow.java apps/db/src/java/org/apache/avalon/db/results RowSet.java Log: Notifications on Table Events. Revision Changes Path 1.7 +2 -0 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/data/BasicRow.java Index: BasicRow.java =================================================================== RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/data/BasicRow.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- BasicRow.java 2001/11/12 20:03:22 1.6 +++ BasicRow.java 2001/11/12 22:14:29 1.7 @@ -9,6 +9,7 @@ import org.apache.avalon.db.data.impl.AbstractTableRow; import org.apache.avalon.db.data.Column; +import org.apache.avalon.db.data.Row; import java.util.Vector; import java.io.Serializable; @@ -32,6 +33,7 @@ mRow.setElementAt(value,x); } } + mAbstractQueryable.notifyRowListenersChanged(new Row[] { this }); } public Object getValue(String columnName) { 1.5 +1 -0 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/data/BCELTable.java Index: BCELTable.java =================================================================== RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/data/BCELTable.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- BCELTable.java 2001/11/06 00:32:34 1.4 +++ BCELTable.java 2001/11/12 22:14:29 1.5 @@ -9,6 +9,7 @@ import org.apache.avalon.db.data.impl.AbstractTable; import org.apache.avalon.db.data.Column; +import org.apache.avalon.db.data.Row; public class BCELTable extends AbstractTable { 1.4 +14 -5 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractQueryable.java Index: AbstractQueryable.java =================================================================== RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractQueryable.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- AbstractQueryable.java 2001/11/12 21:46:24 1.3 +++ AbstractQueryable.java 2001/11/12 22:14:29 1.4 @@ -17,6 +17,7 @@ import java.util.Vector; import java.util.Iterator; +import java.util.Collection; import java.lang.ref.WeakReference; @@ -25,7 +26,7 @@ * * * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a> - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ */ public abstract class AbstractQueryable extends AbstractNameable implements Queryable { @@ -55,7 +56,12 @@ mCatalogName = catalogName; } + public Collection getRows() { + return mRows; + } + + /** * Method getColumns * @@ -75,7 +81,10 @@ * */ public void addRow(Row row) { - mRows.add(row); + AbstractTableRow atr = (AbstractTableRow) row; + mRows.add(atr); + atr.setAbstractQueryable(this); + } public void addRowListener(RowListener rowListener) { @@ -93,7 +102,7 @@ } } - protected void notifyRowListenersAdded(Row[] rows) { + public void notifyRowListenersAdded(Row[] rows) { Iterator it = mListeners.iterator(); while (it.hasNext()) { WeakReference ref = (WeakReference) it.next(); @@ -106,7 +115,7 @@ } } - protected void notifyRowListenersChanged(Row[] rows) { + public void notifyRowListenersChanged(Row[] rows) { Iterator it = mListeners.iterator(); while (it.hasNext()) { WeakReference ref = (WeakReference) it.next(); @@ -119,7 +128,7 @@ } } - protected void notifyRowListenersDeleted(Row[] rows) { + public void notifyRowListenersDeleted(Row[] rows) { Iterator it = mListeners.iterator(); while (it.hasNext()) { WeakReference ref = (WeakReference) it.next(); 1.7 +1 -16 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractTable.java Index: AbstractTable.java =================================================================== RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractTable.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- AbstractTable.java 2001/11/12 21:46:24 1.6 +++ AbstractTable.java 2001/11/12 22:14:29 1.7 @@ -25,13 +25,11 @@ * * * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a> - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ */ public abstract class AbstractTable extends AbstractQueryable implements Table { - private Vector rows = new Vector(); - /** * Constructor AbstractTable * @@ -44,18 +42,5 @@ super(name, columns); } - public void addRow(AbstractTableRow atr) { - rows.add(atr); - notifyRowListenersAdded(new Row[] {atr}); - } - - public void removeRow(AbstractTableRow atr) { - rows.remove(atr); - notifyRowListenersDeleted(new Row[] {atr}); - } - - public Collection getRows() { - return Collections.unmodifiableCollection(rows); - } } 1.3 +7 -1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractTableRow.java Index: AbstractTableRow.java =================================================================== RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractTableRow.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- AbstractTableRow.java 2001/10/30 17:45:14 1.2 +++ AbstractTableRow.java 2001/11/12 22:14:29 1.3 @@ -19,9 +19,15 @@ * * * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a> - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ */ public abstract class AbstractTableRow implements Row { + + protected AbstractQueryable mAbstractQueryable; + + public void setAbstractQueryable(AbstractQueryable absQueryable) { + mAbstractQueryable = absQueryable; + } /** * Method testLength 1.5 +1 -3 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/results/RowSet.java Index: RowSet.java =================================================================== RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/results/RowSet.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- RowSet.java 2001/11/11 14:47:34 1.4 +++ RowSet.java 2001/11/12 22:14:29 1.5 @@ -8,15 +8,13 @@ */ package org.apache.avalon.db.results; -import org.apache.avalon.db.data.Row; - /** * Interface RowSet * * * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a> - * @version * $Revision: 1.4 $ + * @version * $Revision: 1.5 $ */ public interface RowSet extends Result { Columns getColumns();
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>