Package javax.sql.rowset

Examples of javax.sql.rowset.CachedRowSet


        /*
         * NOTICE: when run on RI, if add the listener first, then it will go
         * wrong when call createCopySchema().It's said that clone failed.
         */
        CachedRowSet copy = crset.createCopyNoConstraints();

        // default is ResultSet.CONCUR_UPDATABLE
        assertEquals(ResultSet.CONCUR_UPDATABLE, copy.getConcurrency());
        // default is ResultSet.TYPE_SCROLL_INSENSITIVE
        assertEquals(ResultSet.TYPE_SCROLL_INSENSITIVE, copy.getType());
        // default is true
        assertTrue(copy.getEscapeProcessing());
        // default is 0
        assertEquals(0, copy.getMaxRows());
        // default is Connection.TRANSACTION_READ_COMMITTED
        assertEquals(Connection.TRANSACTION_READ_COMMITTED, copy
                .getTransactionIsolation());
        // default is 0
        assertEquals(0, copy.getQueryTimeout());
        // default is false
        assertFalse(copy.getShowDeleted());
        // default is 0
        assertEquals(0, copy.getMaxFieldSize());
        // default is null
        assertNull(copy.getPassword());
        // default is null
        assertNull(copy.getUsername());
        // default is null
        assertNull(copy.getTypeMap());

        if (crset.getKeyColumns() != null && crset.getKeyColumns().length != 0) {

            int[] keyColumns = crset.getKeyColumns();
            int[] copyKeyColumns = copy.getKeyColumns();

            assertEquals(keyColumns.length, copyKeyColumns.length);
            for (int i = 0; i < keyColumns.length; i++) {
                assertEquals(keyColumns[i], copyKeyColumns[i]);
            }
            assertEquals(crset.getKeyColumns(), copy.getKeyColumns());
        }

        assertEquals(crset.getFetchDirection(), copy.getFetchDirection());
        assertEquals(crset.getPageSize(), copy.getPageSize());

        assertEquals(crset.isBeforeFirst(), copy.isBeforeFirst());
        assertEquals(crset.isAfterLast(), copy.isAfterLast());
        assertEquals(crset.isFirst(), copy.isFirst());
        assertEquals(crset.isLast(), copy.isLast());
        assertEquals(crset.getRow(), copy.getRow());

        assertEquals(crset.isReadOnly(), copy.isReadOnly());
        assertEquals(crset.size(), copy.size());

        // different metaData object
        assertNotSame(crset.getMetaData(), copy.getMetaData());

        isMetaDataEquals(crset.getMetaData(), copy.getMetaData());

        assertEquals(crset.getCommand(), copy.getCommand());

        // check SyncProvider
        assertEquals(crset.getSyncProvider().getProviderID(), copy
                .getSyncProvider().getProviderID());
        assertEquals(crset.getSyncProvider().getProviderGrade(), copy
                .getSyncProvider().getProviderGrade());
        assertEquals(crset.getSyncProvider().getDataSourceLock(), copy
                .getSyncProvider().getDataSourceLock());
        assertEquals(crset.getSyncProvider().getVendor(), copy
                .getSyncProvider().getVendor());
        assertEquals(crset.getSyncProvider().getVersion(), copy
                .getSyncProvider().getVersion());

        assertEquals(crset.getTableName(), copy.getTableName());
        assertEquals(crset.getUrl(), copy.getUrl());

    }
View Full Code Here


        assertEquals("testUserName", crset.getUsername());
        assertFalse(crset.getEscapeProcessing());
        assertTrue(Arrays.equals(new int[] { 1 }, crset.getKeyColumns()));

        // after call createCopyNoConstraints
        CachedRowSet copy = crset.createCopyNoConstraints();
        assertEquals("testCommand", copy.getCommand());
        assertEquals(ResultSet.CONCUR_UPDATABLE, copy.getConcurrency());
        assertEquals("testDataSourceName", copy.getDataSourceName());
        assertEquals(ResultSet.FETCH_REVERSE, copy.getFetchDirection());
        assertEquals(0, copy.getFetchSize());
        assertEquals(0, copy.getMaxFieldSize());
        assertEquals(0, copy.getMaxRows());
        assertEquals(10, copy.getPageSize());
        assertNull(copy.getPassword());
        assertEquals(0, copy.getQueryTimeout());
        assertEquals("testTable", copy.getTableName());
        assertEquals(ResultSet.CLOSE_CURSORS_AT_COMMIT, copy
                .getTransactionIsolation());
        assertEquals(ResultSet.TYPE_SCROLL_INSENSITIVE, copy.getType());
        assertNull(copy.getTypeMap());
        assertNull(copy.getUrl());
        assertNull(copy.getUsername());
        assertTrue(copy.getEscapeProcessing());
        assertTrue(Arrays.equals(new int[] { 1 }, copy.getKeyColumns()));
    }
View Full Code Here

         */
        // Listener listener = new Listener();
        // crset.addRowSetListener(listener);
        RowSetMetaData rsmd = (RowSetMetaData) crset.getMetaData();
        // the copy
        CachedRowSet crsetCopySchema = crset.createCopySchema();
        RowSetMetaData rsmdCopySchema = (RowSetMetaData) crsetCopySchema
                .getMetaData();

        // compare the meta data between the duplicate and the original
        assertNotSame(crset.getMetaData(), crsetCopySchema.getMetaData());
        assertNotSame(crset.getOriginal(), crsetCopySchema.getOriginal());

        assertEquals("USER_INFO", crset.getTableName());
        assertEquals("USER_INFO", rsmdCopySchema.getTableName(1));
        assertEquals(DEFAULT_COLUMN_COUNT, rsmdCopySchema.getColumnCount());
        assertEquals(rsmd.getColumnName(1), rsmdCopySchema.getColumnName(1));
        // check the primary key
        // TODO: RI doesn't evalute the keyColumns. The value of
        // crset.getKeyColumns() is null.
        if ("true".equals(System.getProperty("Testing Harmony"))) {
            assertNotNull(crset.getKeyColumns());
            assertEquals(0, crset.getKeyColumns().length);
        } else {
            assertNull(crset.getKeyColumns());
        }

        // check the attributes in the duplicate. These are supposed to be the
        // same as the original
        assertFalse(crsetCopySchema.next());
        assertEquals("testCommand", crsetCopySchema.getCommand());
        assertEquals(ResultSet.CONCUR_UPDATABLE, crsetCopySchema
                .getConcurrency());
        assertEquals("testDataSource", crsetCopySchema.getDataSourceName());
        assertEquals(ResultSet.FETCH_UNKNOWN, crsetCopySchema
                .getFetchDirection());
        assertEquals(20, crsetCopySchema.getPageSize());
        assertEquals(20, crsetCopySchema.getMaxRows());

        // fill the duplicate CachedRowSet with data, check the listener
        Listener listener = new Listener();
        crsetCopySchema.addRowSetListener(listener);
        assertNull(listener.getTag());
        rs = st.executeQuery("select * from USER_INFO");
        crsetCopySchema.populate(rs);
        assertEquals("rowSetChanged", listener.getTag());
        listener.clear();
        // the move of the original's cursor shouldn't affect the duplicate
        crset.next();
        assertNull(listener.getTag());
View Full Code Here

        crset.setTypeMap(new HashMap<String, Class<?>>());
        crset.setEscapeProcessing(false);
        crset.setKeyColumns(new int[] { 1 });

        // call createCopySchema()
        CachedRowSet copy = crset.createCopySchema();
        assertFalse(copy.next());
        assertEquals(crset.getCommand(), copy.getCommand());
        assertEquals(crset.getConcurrency(), copy.getConcurrency());
        assertEquals(crset.getDataSourceName(), copy.getDataSourceName());
        assertEquals(crset.getFetchDirection(), copy.getFetchDirection());
        assertEquals(crset.getMaxFieldSize(), copy.getMaxFieldSize());
        assertEquals(crset.getMaxRows(), copy.getMaxRows());
        assertEquals(crset.getPageSize(), copy.getPageSize());
        assertEquals(crset.getQueryTimeout(), copy.getQueryTimeout());
        assertEquals(crset.getTableName(), copy.getTableName());
        assertEquals(crset.getTransactionIsolation(), copy
                .getTransactionIsolation());
        assertEquals(crset.getType(), copy.getType());
        assertEquals(crset.getUrl(), copy.getUrl());
        assertEquals(crset.getEscapeProcessing(), copy.getEscapeProcessing());
        assertTrue(Arrays.equals(crset.getKeyColumns(), copy.getKeyColumns()));

        // compare the object reference
        assertNotSame(crset.getKeyColumns(), copy.getKeyColumns());
        assertNotSame(crset.getMetaData(), copy.getMetaData());
        assertNotSame(crset.getOriginal(), copy.getOriginal());
        assertNotSame(crset.getTypeMap(), copy.getTypeMap());
    }
View Full Code Here

        /*
         * Add another RowSet
         */
        insertDataToCustomerTable();
        CachedRowSet thirdRs = newNoInitialInstance();
        thirdRs.populate(st.executeQuery("SELECT * FROM CUSTOMER_INFO"));
        jrs.addRowSet(thirdRs, "ID");

        // check metadata
        assertEquals(15, jrs.getMetaData().getColumnCount());
        isMetaDataEqualsInColCount(crset.getMetaData(), 2, crset.getMetaData()
View Full Code Here

        /*
         * Add the second CachedRowSet, populate with table CUSTOMER_INFO
         */
        insertDataToCustomerTable();
        CachedRowSet newCrset = newNoInitialInstance();
        newCrset.populate(st.executeQuery("SELECT * FROM CUSTOMER_INFO"));
        jrs.addRowSet(newCrset, "NAME");

        /*
         * TODO NOTICE The difference between RI and Harmony
         */
 
View Full Code Here

    }

    private boolean isTypeMatch(int first, int second) throws Exception {
        jrs = newJoinRowSet();
        CachedRowSet base = newNoInitialInstance();
        rs = st.executeQuery("select * from USER_INFO");
        rs.next();
        rs.next();
        rs.next();
        base.populate(rs);

        CachedRowSet join = newNoInitialInstance();
        rs = st.executeQuery("select * from USER_INFO");
        rs.next();
        rs.next();
        rs.next();
        join.populate(rs);

        base.setMatchColumn(first);

        join.setMatchColumn(second);

        jrs.addRowSet(base);

        // TODO if type mismatch, harmony throw SQLException, ri is silent
        if ("true".equals(System.getProperty("Testing Harmony"))) {
View Full Code Here

        jrs.addRowSet(crset);
        assertEquals(2, jrs.getRowSetNames().length);
        assertEquals("USER_INFO", jrs.getRowSetNames()[0]);
        assertEquals("BOOKS", jrs.getRowSetNames()[1]);
        // add the third CachedRowSet which doesn't set a table name
        CachedRowSet thirdCrset = newNoInitialInstance();
        thirdCrset.populate(st.executeQuery("SELECT * FROM CUSTOMER_INFO"));
        thirdCrset.setMatchColumn(1);
        if ("true".equals(System.getProperty("Testing Harmony"))) {
            jrs.addRowSet(thirdCrset);
            assertEquals(3, jrs.getRowSetNames().length);
            assertEquals("CUSTOMER_INFO", jrs.getRowSetNames()[2]);
        } else {
            assertNull(thirdCrset.getTableName());
            jrs.addRowSet(thirdCrset);
            try {
                jrs.getRowSetNames();
                fail("should throw NullPointerException");
            } catch (NullPointerException e) {
View Full Code Here

    public void testToCachedRowSet_CachedRowSet() throws Exception {
        /*
         * Test empty JoinRowSet
         */
        CachedRowSet emptyToCrset = jrs.toCachedRowSet();
        assertNull(emptyToCrset.getMetaData());
        assertFalse(emptyToCrset.first());

        /*
         * The first CachedRowSet
         */
        jrs = newJoinRowSet();
        jrs.addRowSet(crset, 1);
        CachedRowSet toCrset = jrs.toCachedRowSet();
        // check metadata
        assertSame(crset.getMetaData(), jrs.getMetaData());
        assertSame(crset.getMetaData(), toCrset.getMetaData());
        assertNotSame(crset, toCrset);
        // check data
        int index = 0;
        toCrset.beforeFirst();
        crset.beforeFirst();
        while (toCrset.next() && crset.next()) {
            for (int i = 1; i <= crset.getMetaData().getColumnCount(); i++) {
                assertEquals(toCrset.getObject(i), crset.getObject(i));
            }
            index++;
        }
        assertEquals(4, index);

        /*
         * The second CachedRowSet
         */
        noInitialCrset.populate(st.executeQuery("SELECT * FROM BOOKS"));
        jrs.addRowSet(noInitialCrset, 1);
        toCrset = jrs.toCachedRowSet();
        // check metadata
        assertSame(jrs.getMetaData(), toCrset.getMetaData());
        /*
         * check data. The data order is not the same between RI and HY.
         */
        index = 0;
        rs = st.executeQuery("SELECT * FROM BOOKS");
        if ("true".equals(System.getProperty("Testing Harmony"))) {
            toCrset.beforeFirst();
            while (toCrset.next() && rs.next()) {
                index++;
                assertEquals(toCrset.getObject(14), rs.getObject(3));
            }
        } else {
            toCrset.afterLast();
            while (toCrset.previous() && rs.next()) {
                index++;
                assertEquals(toCrset.getObject(14), rs.getObject(3));
            }
        }
        assertEquals(6, index);

        /*
         * The third CachedRowSet
         */
        insertDataToCustomerTable();
        CachedRowSet thirdCrset = newNoInitialInstance();
        thirdCrset.populate(st.executeQuery("SELECT * FROM CUSTOMER_INFO"));
        jrs.addRowSet(thirdCrset, 1);
        toCrset = jrs.toCachedRowSet();
        // check metadata
        assertSame(jrs.getMetaData(), toCrset.getMetaData());
        // check data
View Full Code Here

    public void testToCachedRowSet_acceptChanges() throws Exception {
        /*
         * The first CachedRowSet
         */
        jrs.addRowSet(crset, 1);
        CachedRowSet toCrset = jrs.toCachedRowSet();
        // call crset.acceptChanges()
        assertTrue(crset.absolute(3));
        assertEquals("test3", crset.getString(2));
        crset.updateString(2, "update3");
        crset.updateRow();
        crset.acceptChanges();
        assertTrue(crset.absolute(3));
        assertEquals("update3", crset.getString(2));
        // call toCrset.acceptChanges()
        assertTrue(toCrset.absolute(3));
        assertEquals("test3", toCrset.getString(2));
        assertTrue(toCrset.last());
        assertEquals("test4", toCrset.getString(2));
        toCrset.updateString(2, "update4");
        toCrset.updateRow();
        toCrset.acceptChanges();
        assertTrue(toCrset.absolute(4));
        assertEquals("update4", toCrset.getString(2));

        /*
         * The second CachedRowSet
         */
        noInitialCrset.populate(st.executeQuery("SELECT * FROM BOOKS"));
        jrs.addRowSet(noInitialCrset, 1);
        toCrset = jrs.toCachedRowSet();
        // call toCrset.acceptChanges()
        if ("true".equals(System.getProperty("Testing Harmony"))) {
            assertTrue(toCrset.last());
        } else {
            assertTrue(toCrset.first());
        }
        assertEquals(4, toCrset.getInt(1));
        toCrset.updateString(2, "modify4");
        toCrset.updateRow();
        try {
            toCrset.acceptChanges();
            fail("should throw exception");
        } catch (Exception e) {
            // expected
        }
    }
View Full Code Here

TOP

Related Classes of javax.sql.rowset.CachedRowSet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.