Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4915816

javax.sql.rowset.serial.SerialRef.getObject() throws NPE

XMLWordPrintable

    • beta2
    • sparc
    • solaris_2.6
    • Verified

        Name: sdR10048 Date: 09/02/2003


        Filed By : SPB JCK team (###@###.###)
        JDK : java full version "1.5.0-beta-b16"
        JCK : 1.5
        Platform[s] : Solaris
        JCK test owner : http://javaweb.eng/jct/sqe/JCK-tck/usr/owners.jto
        Failing Test [s] :
        api/javax_sql/rowset/serial/SerialRef/index.html#Object[SerialRef2003]


        Spec says:
        ===================
            /**
             * Returns an object resolved from the stored <code>Ref</code>
             * reference.
             *
             * @return an object instance resolve from the Ref refernce
             * @throws SerialException if an error is encounter in the reference
             * resolution
             */
            public Object getObject() throws SerialException


        Problem description
        ===================
        javax.sql.rowset.serial.SerialRef.getObject() throws NullPointerException
        in case setObject has not been called before. But in this case underlying
        ref's object expected. See demo.
            
        Minimized test:
        ===============
        ------- T.java -------
        import javax.sql.rowset.*;
        import javax.sql.rowset.serial.*;
        import java.sql.*;
        import java.util.*;
        import java.io.*;

        public class T {

            public static void main(String[] args) {
                try {
                    MyRef ref = new MyRef("test");
                    SerialRef serial_ref = new SerialRef(ref);
                    System.out.println("getObject(): "+serial_ref.getObject());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }

        class MyRef implements Ref {
            private Object object;
            public MyRef(Object object) {
                this.object = object;
            }
            public String getBaseTypeName()
                throws SQLException {
                return "javasoft.sqe.tests.api.javax.sql.rowset.serial.SerialRef.MyRef";
            }
            public Object getObject(Map map)
                throws SQLException {
                return object;
            }
            public Object getObject()
                throws SQLException {
                return object;
            }
            public void setObject(Object value)
                throws SQLException {
                this.object = value;
            }
        }
        ------- end-of-T.java -------

        Minimized test output:
        ======================
        java.lang.NullPointerException
                at javax.sql.rowset.serial.SerialRef.getObject(SerialRef.java:81)
                at T.main(T.java:13)

        ======================================================================

              jbrucesunw Jonathan Bruce (Inactive)
              dsvsunw Dsv Dsv (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: