This is an automated email from the ASF dual-hosted git repository.

doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/master by this push:
     new 9769b8a8 EMPIREDB-388 Added validity checks to DBReader
9769b8a8 is described below

commit 9769b8a8d3bc2741fa2f5526c10f7a4fa6bef7f3
Author: Rainer Döbele <[email protected]>
AuthorDate: Tue Mar 7 10:52:32 2023 +0100

    EMPIREDB-388
    Added validity checks to DBReader
---
 empire-db/src/main/java/org/apache/empire/db/DBReader.java    | 11 ++++++++---
 .../src/main/java/org/apache/empire/db/DBRecordBase.java      |  1 -
 .../src/main/java/org/apache/empire/db/DBRecordData.java      |  3 ---
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/empire-db/src/main/java/org/apache/empire/db/DBReader.java 
b/empire-db/src/main/java/org/apache/empire/db/DBReader.java
index 88e2a848..10197d73 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBReader.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBReader.java
@@ -691,6 +691,11 @@ public class DBReader extends DBRecordData implements 
Closeable
      */
     public void initRecord(DBRecordBase rec)
     {
+        // Check Open
+        if (!isOpen())
+        {   // Resultset not available
+            throw new ObjectNotValidException(this);
+        }
         // init Record
         DBRowSet rowset = rec.getRowSet();
        rowset.initRecord(rec, this);
@@ -709,8 +714,8 @@ public class DBReader extends DBRecordData implements 
Closeable
     @SuppressWarnings("unchecked")
     public <L extends List<T>, T> L getBeanList(L list, Class<T> t, Object 
parent, int maxCount)
     {
-        // Check Recordset
-        if (rset == null)
+        // Check Open
+        if (!isOpen())
         {   // Resultset not available
             throw new ObjectNotValidException(this);
         }
@@ -935,7 +940,7 @@ public class DBReader extends DBRecordData implements 
Closeable
     protected int findFieldIndex(ColumnExpr column)
     {
         if (columns == null)
-            return -1;
+            throw new ObjectNotValidException(this);
         // First chance: Try to find an expression match
         int index = ObjectUtils.indexOf(columns, column);
         if (index>= 0)
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBRecordBase.java 
b/empire-db/src/main/java/org/apache/empire/db/DBRecordBase.java
index 58631751..0344abd7 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBRecordBase.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBRecordBase.java
@@ -273,7 +273,6 @@ public abstract class DBRecordBase extends DBRecordData 
implements Record, Clone
     /**
      * Closes the record by releasing all resources and resetting the record's 
state to invalid.
      */
-    @Override
     public void close()
     {
         // clear fields
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBRecordData.java 
b/empire-db/src/main/java/org/apache/empire/db/DBRecordData.java
index c4a9170d..fb740639 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBRecordData.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBRecordData.java
@@ -77,9 +77,6 @@ public abstract class DBRecordData extends DBObject
     public abstract int addXmlData(Element parent);
     public abstract Document getXmlDocument();
 
-    // others
-    public abstract void close();
-
     /**
      * Returns a value based on an index.
      */

Reply via email to