Package javax.sql.rowset.spi

Examples of javax.sql.rowset.spi.SyncProviderException


    public void acceptChanges(Connection connection)
            throws SyncProviderException {
        if (isCursorOnInsert) {
            // rowset.11=Illegal operation on an insert row
            throw new SyncProviderException(Messages.getString("rowset.11")); //$NON-NLS-1$
        }

        // Follow RI to assign conn before checking whether conn is null
        conn = connection;

        if (conn == null) {
            throw new SyncProviderException();
        }

        boolean isShowDeleted = false;
        try {
            isShowDeleted = getShowDeleted();
        } catch (SQLException e) {
            // ignore
        }

        try {
            conn.setAutoCommit(false);
            CachedRowSetWriter rowSetWriter = (CachedRowSetWriter) syncProvider
                    .getRowSetWriter();
            rowSetWriter.setConnection(conn);
            int beforeWriteIndex = currentRowIndex;
            // writer use next navigate rowset, so must make all rows visible
            setShowDeleted(true);

            if (!rowSetWriter.writeData(this)) {
                throw rowSetWriter.getSyncException();
            }

            // must reset curosr before reset showDeleted
            absolute(beforeWriteIndex);
            setShowDeleted(isShowDeleted);

            // record to the next visible row index
            int index = getRow();
            if (index == 0) {
                next();
                index = getRow();
                if (index == 0) {
                    index = rows.size() + 1;
                }
            }

            boolean isChanged = false;
            for (int i = rows.size() - 1; i >= 0; i--) {
                currentRow = rows.get(i);
                if (rowDeleted()) {
                    isChanged = true;
                    setOriginalRow();
                } else if (rowInserted() || rowUpdated()) {
                    isChanged = true;
                    setOriginalRow();
                }
            }
            // Set originalResultSet
            if (isChanged) {
                try {
                    ArrayList<CachedRow> nowRows = new ArrayList<CachedRow>();
                    for (int i = 0; i < rows.size(); i++) {
                        nowRows.add(rows.get(i).createClone());
                        nowRows.get(i).restoreOriginal();
                    }
                    originalResultSet.setRows(nowRows, columnCount);
                } catch (CloneNotSupportedException cloneE) {
                    throw new SyncProviderException(cloneE.getMessage());
                }
            }

            deletedRowCount = 0;

            // move cursor
            if (index > rows.size()) {
                afterLast();
            } else if (index <= 0) {
                beforeFirst();
            } else {
                absolute(index);
            }

            if (isNotifyListener) {
                notifyRowSetChanged();
            }

        } catch (SyncProviderException e) {
            throw e;
        } catch (SQLException e) {
            SyncProviderException ex = new SyncProviderException();
            ex.initCause(e);
            throw ex;
        } finally {
            try {
                setShowDeleted(isShowDeleted);
            } catch (SQLException e) {
View Full Code Here


     *      {@link javax.sql.rowset.spi.SyncProviderException#SyncProviderException()}
     * @add tests
     *      {@link javax.sql.rowset.spi.SyncProviderException#SyncProviderException(String)}
     */
    public void test_constructor() {
        SyncProviderException ex = new SyncProviderException();
        assertNull(ex.getMessage());
        ex = new SyncProviderException("test");
        assertEquals("test", ex.getMessage());
        ex = new SyncProviderException((String) null);
        assertNull(ex.getMessage());
    }
View Full Code Here

     * @add tests
     *      {@link javax.sql.rowset.spi.SyncProviderException#SyncProviderException(javax.sql.rowset.spi.SyncResolver)}
     */
    public void test_constructor_Ljavax_sql_rowset_spi_SyncResolver() {
        try {
            new SyncProviderException((SyncResolver) null);
            fail("should throw IllegalArgumentException");
        } catch (IllegalArgumentException e) {
            // expected
        }
    }
View Full Code Here

     *      {@link javax.sql.rowset.spi.SyncProviderException#setSyncResolver(SyncResolver)}
     * @add tests
     *      {@link javax.sql.rowset.spi.SyncProviderException#getSyncResolver()}
     */
    public void test_setSyncResolver_Ljavax_sql_rowset_spi_SyncResolver() {
        SyncProviderException ex = new SyncProviderException();
        try {
            ex.setSyncResolver(null);
            fail("should throw IllegalArgumentException");
        } catch (IllegalArgumentException e) {
            // expected
        }
        assertNull(ex.getSyncResolver());
    }
View Full Code Here

        assertEquals(copy.getString(2), "updated");
        assertEquals(crset.getString(2), "again");

        crset.updateRow();

        SyncProviderException ex = null;
        try {
            crset.acceptChanges(conn);
        } catch (SyncProviderException e) {
            ex = e;
        }

        SyncResolver resolver = ex.getSyncResolver();

        try {
            resolver.absolute(1);
            fail("Should throw UnsupportedOperationException");
        } catch (UnsupportedOperationException e) {
View Full Code Here

TOP

Related Classes of javax.sql.rowset.spi.SyncProviderException

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.