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/18 21:47:21 UTC
cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/utils RhinoException.java RhinoHelper.java
hammant 01/11/18 12:47:21
Modified: apps/db/src/java/org/apache/avalon/db/basic/actions
BasicCreateIndex.java BasicCreateTable.java
BasicCreateView.java BasicDeleteRows.java
BasicSelect.java BasicUpdateRows.java
SimpleWhereClause.java
SimpleWhereClauseMatchingRowCallback.java
apps/db/src/java/org/apache/avalon/db/basic/data
BasicView.java
apps/db/src/java/org/apache/avalon/db/data RowListener.java
apps/db/src/java/org/apache/avalon/db/data/impl
AbstractNameable.java AbstractQueryable.java
apps/db/src/java/org/apache/avalon/db/persistence/store
StorePersistence.java
apps/db/src/java/org/apache/avalon/db/utils RhinoHelper.java
Added: apps/db/src/java/org/apache/avalon/db/data
DataException.java
apps/db/src/java/org/apache/avalon/db/utils
RhinoException.java
Log:
view monitors row changes
Revision Changes Path
1.9 +3 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicCreateIndex.java
Index: BasicCreateIndex.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicCreateIndex.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- BasicCreateIndex.java 2001/11/18 19:22:52 1.8
+++ BasicCreateIndex.java 2001/11/18 20:47:20 1.9
@@ -24,7 +24,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
*/
public class BasicCreateIndex extends BasicCreateQueryable implements CreateIndex {
@@ -52,7 +52,8 @@
AbstractQueryable tableOrView = null; //TODO
- Index index = new BasicIndex(mIndexName, tableOrView);
+ BasicIndex index = new BasicIndex(mIndexName, tableOrView);
+ index.enableLogging(this.getLogger());
mDatabasePersistor.addQueryable(mIndexName, index);
1.13 +2 -1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicCreateTable.java
Index: BasicCreateTable.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicCreateTable.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- BasicCreateTable.java 2001/11/18 19:22:52 1.12
+++ BasicCreateTable.java 2001/11/18 20:47:20 1.13
@@ -56,7 +56,8 @@
throw new ActionException("Table " + mTableName + " Already Exists");
}
*/
- Table table = new BasicTable(mTableName, mColumns);
+ BasicTable table = new BasicTable(mTableName, mColumns);
+ table.enableLogging(this.getLogger());
mDatabasePersistor.addQueryable(mTableName, table);
}
1.13 +9 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicCreateView.java
Index: BasicCreateView.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicCreateView.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- BasicCreateView.java 2001/11/18 19:22:52 1.12
+++ BasicCreateView.java 2001/11/18 20:47:20 1.13
@@ -14,6 +14,7 @@
import org.apache.avalon.db.data.Column;
import org.apache.avalon.db.data.Table;
import org.apache.avalon.db.data.View;
+import org.apache.avalon.db.data.Queryable;
import org.apache.avalon.db.basic.data.BasicTable;
import org.apache.avalon.db.basic.data.BasicView;
import org.apache.avalon.db.services.DatabasePersistor;
@@ -26,7 +27,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.12 $
+ * @version $Revision: 1.13 $
*/
public class BasicCreateView extends BasicCreateQueryable implements CreateView {
@@ -52,7 +53,13 @@
System.out.println("cv execute");
- View view = new BasicView(mViewName, mColumns, mSimpleWhereClause);
+ Queryable queryable = mDatabasePersistor.getQueryable(mOnName);
+
+ BasicView view = new BasicView(mViewName, mColumns, queryable ,mSimpleWhereClause);
+ view.enableLogging(this.getLogger());
+
+
+
mDatabasePersistor.addQueryable(mViewName, view);
}
1.3 +7 -5 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicDeleteRows.java
Index: BasicDeleteRows.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicDeleteRows.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- BasicDeleteRows.java 2001/11/17 17:04:26 1.2
+++ BasicDeleteRows.java 2001/11/18 20:47:20 1.3
@@ -23,7 +23,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class BasicDeleteRows extends AbstractAction
implements DeleteRows, LogEnabled, SimpleWhereClauseMatchingRowCallback {
@@ -57,7 +57,7 @@
public void execute() throws ActionException {
Iterator it = mQueryable.getRows().iterator();
- mWhereClause.testRows(it, this);
+ mWhereClause.testActionRows(it, this);
}
@@ -66,9 +66,11 @@
*
* This is the callback from JavaScript
*/
- public void rowMatches(BasicRow row) {
- mQueryable.deleteRow(row);
- mRecordCount++;
+ public void rowMatches(BasicRow row, boolean matches) {
+ if (matches) {
+ mQueryable.deleteRow(row);
+ mRecordCount++;
+ }
}
public int getRecordCount() {
1.28 +7 -2 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.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- BasicSelect.java 2001/11/18 14:40:29 1.27
+++ BasicSelect.java 2001/11/18 20:47:20 1.28
@@ -19,6 +19,7 @@
import org.apache.avalon.db.basic.results.BasicRowSet;
import org.apache.avalon.db.utils.RhinoHelper;
import org.apache.avalon.db.utils.StringUtils;
+import org.apache.avalon.db.utils.RhinoException;
import org.apache.avalon.db.data.ValidationException;
import org.apache.avalon.db.data.Table;
import org.apache.avalon.db.data.Column;
@@ -136,7 +137,11 @@
rh.addBean("rc",rc);
rh.addBean("table",mTable);
getLogger().debug("mWhereBuffer.toString()" + mWhereBuffer.toString());
- rh.executeAction("if (" + mWhereBuffer.toString() + ") { rc.itDidMatch(true); } ");
+ try {
+ rh.executeScript("if (" + mWhereBuffer.toString() + ") { rc.itDidMatch(true); } ");
+ } catch (RhinoException re) {
+ throw new ActionException(re.getMessage());
+ }
return rc.didItMatch();
} else {
return true;
@@ -154,7 +159,7 @@
}
public class ColumnCheck {
-
+
public Column getColumn(BasicTable table, String name) {
if(table.getColumn(name,false) == null) {
return getConstantColumn("constantcolumn",name);
1.3 +8 -6 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicUpdateRows.java
Index: BasicUpdateRows.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicUpdateRows.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- BasicUpdateRows.java 2001/11/17 17:04:26 1.2
+++ BasicUpdateRows.java 2001/11/18 20:47:20 1.3
@@ -22,7 +22,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class BasicUpdateRows extends AbstractAction
implements UpdateRows, LogEnabled, SimpleWhereClauseMatchingRowCallback {
@@ -56,7 +56,7 @@
public void execute() throws ActionException {
Iterator it = mQueryable.getRows().iterator();
- mWhereClause.testRows(it, this);
+ mWhereClause.testActionRows(it, this);
}
@@ -65,10 +65,12 @@
*
* This is the callback from JavaScript
*/
- public void rowMatches(BasicRow row) {
- // TODO all the setting of columns
- mQueryable.rowChanged(row);
- mRecordCount++;
+ public void rowMatches(BasicRow row, boolean matches) {
+ if (matches) {
+ // TODO all the setting of columns
+ mQueryable.rowChanged(row);
+ mRecordCount++;
+ }
}
public int getRecordCount() {
1.3 +51 -10 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/SimpleWhereClause.java
Index: SimpleWhereClause.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/SimpleWhereClause.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SimpleWhereClause.java 2001/11/18 14:23:26 1.2
+++ SimpleWhereClause.java 2001/11/18 20:47:20 1.3
@@ -11,6 +11,8 @@
import org.apache.avalon.db.basic.data.BasicRow;
import org.apache.avalon.db.actions.ActionException;
import org.apache.avalon.db.utils.RhinoHelper;
+import org.apache.avalon.db.utils.RhinoException;
+import org.apache.avalon.db.data.DataException;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import java.util.Iterator;
@@ -21,7 +23,7 @@
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @author Gerhard Froehlich <a href="mailto:g-froehlich@gmx.de">g-froehlich@gmx.de</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class SimpleWhereClause extends AbstractLogEnabled {
private String mWhereClause;
@@ -34,7 +36,22 @@
return mWhereClause;
}
- public void testRows(Iterator rowIterator, SimpleWhereClauseMatchingRowCallback callBack) throws ActionException {
+ public void testDataRows(Iterator rowIterator, SimpleWhereClauseMatchingRowCallback callBack) throws DataException {
+ try {
+ testRows(rowIterator, callBack);
+ } catch (RhinoException re) {
+ throw new DataException(re.getMessage());
+ }
+ }
+ public void testActionRows(Iterator rowIterator, SimpleWhereClauseMatchingRowCallback callBack) throws ActionException {
+ try {
+ testRows(rowIterator, callBack);
+ } catch (RhinoException re) {
+ throw new ActionException(re.getMessage());
+ }
+ }
+
+ private void testRows(Iterator rowIterator, SimpleWhereClauseMatchingRowCallback callBack) throws RhinoException {
RhinoHelper rh = new RhinoHelper();
rh.addBean("iterator",rowIterator);
rh.addBean("callback",callBack);
@@ -45,13 +62,31 @@
"while(iterator.hasNext()) {" +
"var row = it.next();" +
"if ( " + mWhereClause + " ) {" +
- "callBack.rowMatches(row);" +
+ "callBack.rowMatches(row, true);" +
+ "} else {" +
+ "callBack.rowMatches(row, false);" +
"}" +
"}";
- rh.executeAction(js);
+ rh.executeScript(js);
+ }
+
+ public boolean testDataRow(BasicRow row) throws DataException {
+ try {
+ return testRow(row);
+ } catch (RhinoException re) {
+ throw new DataException(re.getMessage());
+ }
+ }
+
+ public boolean testActionRow(BasicRow row) throws ActionException {
+ try {
+ return testRow(row);
+ } catch (RhinoException re) {
+ throw new ActionException(re.getMessage());
+ }
}
- public boolean testRow(BasicRow row) throws ActionException {
+ private boolean testRow(BasicRow row) throws RhinoException {
if(!mWhereClause.toString().equals("")) {
RhinoHelper rh = new RhinoHelper();
MatchingHelper mh = new MatchingHelper();
@@ -60,16 +95,22 @@
TestHelper testHelper = new TestHelper();
rh.addBean("testHelper",testHelper);
getLogger().debug("mWhereClause" + mWhereClause.toString());
- rh.executeAction("if (" + mWhereClause.toString() + ") { callback.rowMatches(row); } ");
- return mh.matched;
+ rh.executeScript(
+ "if (" + mWhereClause.toString() + ") { " +
+ "callBack.rowMatches(row, true);" +
+ "} else {" +
+ "callBack.rowMatches(row, false);" +
+ "}");
+ return mh.mMatched;
} else {
return true;
}
}
+
public class MatchingHelper implements SimpleWhereClauseMatchingRowCallback {
- public boolean matched = false;
- public void rowMatches(BasicRow row) {
- matched = true;
+ public boolean mMatched = false;
+ public void rowMatches(BasicRow row, boolean matched) {
+ mMatched = matched;
}
}
}
1.2 +1 -1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/SimpleWhereClauseMatchingRowCallback.java
Index: SimpleWhereClauseMatchingRowCallback.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/SimpleWhereClauseMatchingRowCallback.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SimpleWhereClauseMatchingRowCallback.java 2001/11/17 17:04:26 1.1
+++ SimpleWhereClauseMatchingRowCallback.java 2001/11/18 20:47:20 1.2
@@ -15,9 +15,9 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public interface SimpleWhereClauseMatchingRowCallback {
- void rowMatches(BasicRow row);
+ void rowMatches(BasicRow row, boolean matches);
}
1.4 +108 -6 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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- BasicView.java 2001/11/18 14:18:01 1.3
+++ BasicView.java 2001/11/18 20:47:20 1.4
@@ -9,26 +9,39 @@
import org.apache.avalon.db.data.impl.AbstractView;
import org.apache.avalon.db.data.Column;
+import org.apache.avalon.db.data.Queryable;
+import org.apache.avalon.db.data.RowListener;
+import org.apache.avalon.db.data.Row;
+import org.apache.avalon.db.data.DataException;
import org.apache.avalon.db.basic.actions.BasicSelect;
import org.apache.avalon.db.basic.actions.SimpleWhereClause;
+import org.apache.avalon.db.basic.actions.SimpleWhereClauseMatchingRowCallback;
+import java.util.Collection;
+import java.util.Iterator;
+
/**
* Class BasicView
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
-public class BasicView extends AbstractView {
+public class BasicView extends AbstractView implements RowListener {
- private SimpleWhereClause mWhereClause;
+ private SimpleWhereClause mSimpleWhereClause;
+ private Queryable mQueryable;
- public BasicView(String name, Column[] columns, SimpleWhereClause whereClause) {
+ public BasicView(String name, Column[] columns, Queryable queryable, SimpleWhereClause whereClause) {
super(name, columns);
- mWhereClause = whereClause;
+ mSimpleWhereClause = whereClause;
+ mQueryable = queryable;
+
+ queryable.addRowListener(this);
+
}
- public int getColumnIndex(String columnName) {
+ public int getcColumnIndex(String columnName) {
for (int x = 0; x < mColumns.length; x++) {
if (mColumns[x].getColumnName().equals(columnName)) {
return x;
@@ -37,5 +50,94 @@
return -1;
}
+ 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
+ }
+ }
+ } 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 {
+ 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 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);
+ }
+ }
}
1.4 +4 -4 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/RowListener.java
Index: RowListener.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/RowListener.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- RowListener.java 2001/11/18 14:18:02 1.3
+++ RowListener.java 2001/11/18 20:47:20 1.4
@@ -15,13 +15,13 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version * $Revision: 1.3 $
+ * @version * $Revision: 1.4 $
*/
public interface RowListener {
- void rowsAdded(Queryable queryable, Row row);
- void rowsDeleted(Queryable queryable, Row row);
- void rowsChanged(Queryable queryable, Row row);
+ void rowAdded(Queryable queryable, Row row);
+ void rowDeleted(Queryable queryable, Row row);
+ void rowChanged(Queryable queryable, Row row);
void rowsAdded(Queryable queryable, Collection rows);
void rowsDeleted(Queryable queryable, Collection rows);
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/DataException.java
Index: DataException.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;
/**
* Class DataException
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public class DataException extends Exception {
public DataException(String reason) {
super(reason);
}
}
1.2 +3 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractNameable.java
Index: AbstractNameable.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractNameable.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractNameable.java 2001/11/09 14:45:58 1.1
+++ AbstractNameable.java 2001/11/18 20:47:20 1.2
@@ -9,15 +9,16 @@
package org.apache.avalon.db.data.impl;
import org.apache.avalon.db.data.Nameable;
+import org.apache.avalon.framework.logger.AbstractLogEnabled;
/**
* Class AbstractNameable
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
-public abstract class AbstractNameable implements Nameable {
+public abstract class AbstractNameable extends AbstractLogEnabled implements Nameable {
private String mName;
1.7 +7 -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.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- AbstractQueryable.java 2001/11/18 14:18:02 1.6
+++ AbstractQueryable.java 2001/11/18 20:47:20 1.7
@@ -26,7 +26,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
*/
public abstract class AbstractQueryable extends AbstractNameable implements Queryable {
@@ -60,7 +60,9 @@
return mRows;
}
-
+ public boolean rowExists(Row row) {
+ return mRows.contains(row);
+ }
/**
* Method getColumns
@@ -135,7 +137,7 @@
if (listener == null) {
it.remove();
} else {
- listener.rowsAdded(this, row);
+ listener.rowAdded(this, row);
}
}
}
@@ -162,7 +164,7 @@
if (listener == null) {
it.remove();
} else {
- listener.rowsChanged(this, row);
+ listener.rowChanged(this, row);
}
}
}
@@ -187,7 +189,7 @@
if (listener == null) {
it.remove();
} else {
- listener.rowsDeleted(this, row);
+ listener.rowDeleted(this, row);
}
}
}
1.12 +4 -4 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/persistence/store/StorePersistence.java
Index: StorePersistence.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/persistence/store/StorePersistence.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- StorePersistence.java 2001/11/18 14:18:02 1.11
+++ StorePersistence.java 2001/11/18 20:47:20 1.12
@@ -28,7 +28,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.11 $
+ * @version $Revision: 1.12 $
*/
public class StorePersistence extends NoPersistence implements RowListener {
@@ -91,15 +91,15 @@
persist(queryable);
}
- public void rowsAdded(Queryable queryable, Row row) {
+ public void rowAdded(Queryable queryable, Row row) {
persist(queryable);
}
- public void rowsDeleted(Queryable queryable, Row row) {
+ public void rowDeleted(Queryable queryable, Row row) {
persist(queryable);
}
- public void rowsChanged(Queryable queryable, Row row) {
+ public void rowChanged(Queryable queryable, Row row) {
persist(queryable);
}
1.3 +4 -4 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/utils/RhinoHelper.java
Index: RhinoHelper.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/utils/RhinoHelper.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- RhinoHelper.java 2001/11/08 16:03:07 1.2
+++ RhinoHelper.java 2001/11/18 20:47:20 1.3
@@ -10,8 +10,8 @@
import com.ibm.bsf.BSFManager;
import com.ibm.bsf.BSFException;
-import org.apache.avalon.db.actions.ActionException;
+
public class RhinoHelper {
BSFManager mBsfManager;
@@ -29,13 +29,13 @@
}
}
- public void executeAction(String script) throws ActionException {
+ public void executeScript(String script) throws RhinoException {
try {
mBsfManager.exec("javascript", "<ANT>", 0, 0, script);
} catch (BSFException bsfe) {
bsfe.printStackTrace();
bsfe.getTargetException().printStackTrace();
- throw new ActionException("Action Execution Failed because of scripting error : " + bsfe.getMessage());
+ throw new RhinoException("Script Execution Failed because of error : " + bsfe.getMessage());
}
}
@@ -44,6 +44,6 @@
String bean = new String("Millis are " + System.currentTimeMillis());
rh.addBean("msg",bean);
rh.addBean("out",System.out);
- rh.executeAction("out.println(msg);");
+ rh.executeScript("out.println(msg);");
}
}
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/utils/RhinoException.java
Index: RhinoException.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.utils;
/**
* Class RhinoException
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public class RhinoException extends Exception {
public RhinoException(String reason) {
super(reason);
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>