6680198: UnmarshalException caused by incompatible serialVersionUID
Reviewed-by: sherman
This commit is contained in:
parent
96eebc523f
commit
0b8bc76cef
jdk/src/share/classes/com/sun/rowset
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -518,7 +518,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
|
||||
setReadOnly(true);
|
||||
setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
|
||||
setEscapeProcessing(true);
|
||||
setTypeMap(null);
|
||||
//setTypeMap(null);
|
||||
checkTransactionalWriter();
|
||||
|
||||
//Instantiating the vector for MatchColumns
|
||||
@ -679,7 +679,10 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
|
||||
} else if (obj instanceof Clob) {
|
||||
obj = new SerialClob((Clob)obj);
|
||||
} else if (obj instanceof java.sql.Array) {
|
||||
obj = new SerialArray((java.sql.Array)obj, map);
|
||||
if(map != null)
|
||||
obj = new SerialArray((java.sql.Array)obj, map);
|
||||
else
|
||||
obj = new SerialArray((java.sql.Array)obj);
|
||||
}
|
||||
|
||||
((Row)currentRow).initColumnObject(i, obj);
|
||||
@ -762,7 +765,8 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
|
||||
if( conn != null){
|
||||
// JDBC 4.0 mandates as does the Java EE spec that all DataBaseMetaData methods
|
||||
// must be implemented, therefore, the previous fix for 5055528 is being backed out
|
||||
dbmslocatorsUpdateCopy = conn.getMetaData().locatorsUpdateCopy();
|
||||
|
||||
dbmslocatorsUpdateCopy = conn.getMetaData().locatorsUpdateCopy();
|
||||
}
|
||||
}
|
||||
|
||||
@ -6322,6 +6326,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
|
||||
crs.RowSetMD = RowSetMD;
|
||||
crs.numRows = 1;
|
||||
crs.cursorPos = 0;
|
||||
crs.setTypeMap(this.getTypeMap());
|
||||
|
||||
// make sure we don't get someone playing with these
|
||||
// %%% is this now necessary ???
|
||||
@ -10114,7 +10119,7 @@ a
|
||||
* during the deserialization process
|
||||
*
|
||||
*/
|
||||
protected void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
// Default state initialization happens here
|
||||
ois.defaultReadObject();
|
||||
// Initialization of transient Res Bundle happens here .
|
||||
@ -10125,5 +10130,6 @@ a
|
||||
}
|
||||
|
||||
}
|
||||
static final long serialVersionUID =1884577171200622428L;
|
||||
|
||||
static final long serialVersionUID =1884577171200622428L;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -1746,5 +1746,23 @@ public class FilteredRowSetImpl extends WebRowSetImpl implements Serializable, C
|
||||
onInsertRow = false;
|
||||
super.insertRow();
|
||||
}
|
||||
static final long serialVersionUID = 6178454588413509360L;
|
||||
|
||||
/**
|
||||
* This method re populates the resBundle
|
||||
* during the deserialization process
|
||||
*
|
||||
*/
|
||||
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
// Default state initialization happens here
|
||||
ois.defaultReadObject();
|
||||
// Initialization of transient Res Bundle happens here .
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static final long serialVersionUID = 6178454588413509360L;
|
||||
} // end FilteredRowSetImpl class
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -153,4 +153,5 @@ public class JdbcRowSetResourceBundle implements Serializable {
|
||||
return propResBundle.handleGetObject(key);
|
||||
}
|
||||
|
||||
static final long serialVersionUID = 436199386225359954L;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -127,6 +127,11 @@ public class JoinRowSetImpl extends WebRowSetImpl implements JoinRowSet {
|
||||
strMatchKey = null;
|
||||
supportedJOINs =
|
||||
new boolean[] {false, true, false, false, false};
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -4306,5 +4311,22 @@ public class JoinRowSetImpl extends WebRowSetImpl implements JoinRowSet {
|
||||
return crsInternal.createCopySchema();
|
||||
}
|
||||
|
||||
static final long serialVersionUID = -5590501621560008453L;
|
||||
/**
|
||||
* This method re populates the resBundle
|
||||
* during the deserialization process
|
||||
*
|
||||
*/
|
||||
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
// Default state initialization happens here
|
||||
ois.defaultReadObject();
|
||||
// Initialization of transient Res Bundle happens here .
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static final long serialVersionUID = -5590501621560008453L;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -103,6 +103,12 @@ public class WebRowSetImpl extends CachedRowSetImpl implements WebRowSet {
|
||||
*/
|
||||
public WebRowSetImpl(Hashtable env) throws SQLException {
|
||||
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
if ( env == null) {
|
||||
throw new SQLException(resBundle.handleGetObject("webrowsetimpl.nullhash").toString());
|
||||
}
|
||||
@ -263,5 +269,23 @@ public class WebRowSetImpl extends CachedRowSetImpl implements WebRowSet {
|
||||
|
||||
this.writeXml(oStream);
|
||||
}
|
||||
static final long serialVersionUID = -8771775154092422943L;
|
||||
|
||||
/**
|
||||
* This method re populates the resBundle
|
||||
* during the deserialization process
|
||||
*
|
||||
*/
|
||||
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
// Default state initialization happens here
|
||||
ois.defaultReadObject();
|
||||
// Initialization of transient Res Bundle happens here .
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static final long serialVersionUID = -8771775154092422943L;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -490,4 +490,17 @@ public class CachedRowSetReader implements RowSetReader, Serializable {
|
||||
startPosition = pos;
|
||||
}
|
||||
|
||||
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
// Default state initialization happens here
|
||||
ois.defaultReadObject();
|
||||
// Initialization of Res Bundle happens here .
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static final long serialVersionUID =5049738185801363801L;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -31,7 +31,13 @@ import java.util.*;
|
||||
import java.io.*;
|
||||
|
||||
import com.sun.rowset.*;
|
||||
import java.text.MessageFormat;
|
||||
import javax.sql.rowset.*;
|
||||
import javax.sql.rowset.serial.SQLInputImpl;
|
||||
import javax.sql.rowset.serial.SerialArray;
|
||||
import javax.sql.rowset.serial.SerialBlob;
|
||||
import javax.sql.rowset.serial.SerialClob;
|
||||
import javax.sql.rowset.serial.SerialStruct;
|
||||
import javax.sql.rowset.spi.*;
|
||||
|
||||
|
||||
@ -53,6 +59,7 @@ import javax.sql.rowset.spi.*;
|
||||
* Standard JDBC RowSet implementations provide an object instance of this
|
||||
* writer by invoking the <code>SyncProvider.getRowSetWriter()</code> method.
|
||||
*
|
||||
* @version 0.2
|
||||
* @author Jonathan Bruce
|
||||
* @see javax.sql.rowset.spi.SyncProvider
|
||||
* @see javax.sql.rowset.spi.SyncFactory
|
||||
@ -508,10 +515,11 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
|
||||
|
||||
ResultSet rs = null;
|
||||
rs = pstmt.executeQuery();
|
||||
if (rs.next() == true) {
|
||||
ResultSetMetaData rsmd = rs.getMetaData();
|
||||
|
||||
if (rs.next()) {
|
||||
if (rs.next()) {
|
||||
/** More than one row conflict.
|
||||
/** More than one row conflict.
|
||||
* If rs has only one row we are able to
|
||||
* uniquely identify the row where update
|
||||
* have to happen else if more than one
|
||||
@ -528,7 +536,7 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
|
||||
// we require the record in rs to be used.
|
||||
// rs.close();
|
||||
// pstmt.close();
|
||||
rs.first();
|
||||
rs.first();
|
||||
|
||||
// how many fields need to be updated
|
||||
int colsNotChanged = 0;
|
||||
@ -552,6 +560,49 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
|
||||
orig = origVals.getObject(i);
|
||||
curr = crs.getObject(i);
|
||||
rsval = rs.getObject(i);
|
||||
/*
|
||||
* the following block creates equivalent objects
|
||||
* that would have been created if this rs is populated
|
||||
* into a CachedRowSet so that comparison of the column values
|
||||
* from the ResultSet and CachedRowSet are possible
|
||||
*/
|
||||
Map map = (crs.getTypeMap() == null)?con.getTypeMap():crs.getTypeMap();
|
||||
if (rsval instanceof Struct) {
|
||||
|
||||
Struct s = (Struct)rsval;
|
||||
|
||||
// look up the class in the map
|
||||
Class c = null;
|
||||
c = (Class)map.get(s.getSQLTypeName());
|
||||
if (c != null) {
|
||||
// create new instance of the class
|
||||
SQLData obj = null;
|
||||
try {
|
||||
obj = (SQLData)c.newInstance();
|
||||
} catch (java.lang.InstantiationException ex) {
|
||||
throw new SQLException(MessageFormat.format(resBundle.handleGetObject("cachedrowsetimpl.unableins").toString(),
|
||||
ex.getMessage()));
|
||||
} catch (java.lang.IllegalAccessException ex) {
|
||||
throw new SQLException(MessageFormat.format(resBundle.handleGetObject("cachedrowsetimpl.unableins").toString(),
|
||||
ex.getMessage()));
|
||||
}
|
||||
// get the attributes from the struct
|
||||
Object attribs[] = s.getAttributes(map);
|
||||
// create the SQLInput "stream"
|
||||
SQLInputImpl sqlInput = new SQLInputImpl(attribs, map);
|
||||
// read the values...
|
||||
obj.readSQL(sqlInput, s.getSQLTypeName());
|
||||
rsval = obj;
|
||||
}
|
||||
} else if (rsval instanceof SQLData) {
|
||||
rsval = new SerialStruct((SQLData)rsval, map);
|
||||
} else if (rsval instanceof Blob) {
|
||||
rsval = new SerialBlob((Blob)rsval);
|
||||
} else if (rsval instanceof Clob) {
|
||||
rsval = new SerialClob((Clob)rsval);
|
||||
} else if (rsval instanceof java.sql.Array) {
|
||||
rsval = new SerialArray((java.sql.Array)rsval, map);
|
||||
}
|
||||
|
||||
// reset boolNull if it had been set
|
||||
boolNull = true;
|
||||
@ -669,6 +720,9 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
|
||||
}
|
||||
} //end for
|
||||
|
||||
rs.close();
|
||||
pstmt.close();
|
||||
|
||||
this.crsResolve.insertRow();
|
||||
this.crsResolve.moveToCurrentRow();
|
||||
|
||||
@ -1179,11 +1233,22 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
|
||||
private void buildKeyDesc(CachedRowSet crs) throws SQLException {
|
||||
|
||||
keyCols = crs.getKeyColumns();
|
||||
ResultSetMetaData resultsetmd = crs.getMetaData();
|
||||
if (keyCols == null || keyCols.length == 0) {
|
||||
keyCols = new int[callerColumnCount];
|
||||
for (int i = 0; i < keyCols.length; ) {
|
||||
keyCols[i] = ++i;
|
||||
ArrayList<Integer> listKeys = new ArrayList<Integer>();
|
||||
|
||||
for (int i = 0; i < callerColumnCount; i++ ) {
|
||||
if(resultsetmd.getColumnType(i+1) != java.sql.Types.CLOB &&
|
||||
resultsetmd.getColumnType(i+1) != java.sql.Types.STRUCT &&
|
||||
resultsetmd.getColumnType(i+1) != java.sql.Types.SQLXML &&
|
||||
resultsetmd.getColumnType(i+1) != java.sql.Types.BLOB &&
|
||||
resultsetmd.getColumnType(i+1) != java.sql.Types.ARRAY &&
|
||||
resultsetmd.getColumnType(i+1) != java.sql.Types.OTHER )
|
||||
listKeys.add(i+1);
|
||||
}
|
||||
keyCols = new int[listKeys.size()];
|
||||
for (int i = 0; i < listKeys.size(); i++ )
|
||||
keyCols[i] = listKeys.get(i);
|
||||
}
|
||||
params = new Object[keyCols.length];
|
||||
}
|
||||
@ -1359,4 +1424,17 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
|
||||
}
|
||||
}
|
||||
|
||||
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
// Default state initialization happens here
|
||||
ois.defaultReadObject();
|
||||
// Initialization of Res Bundle happens here .
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static final long serialVersionUID =-8506030970299413976L;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -157,4 +157,23 @@ public class InsertRow extends BaseRow implements Serializable, Cloneable {
|
||||
origVals[idx - 1] = val;
|
||||
markColInserted(idx - 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* This method re populates the resBundle
|
||||
* during the deserialization process
|
||||
*
|
||||
*/
|
||||
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
// Default state initialization happens here
|
||||
ois.defaultReadObject();
|
||||
// Initialization of transient Res Bundle happens here .
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static final long serialVersionUID = 1066099658102869344L;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -35,6 +35,7 @@ import javax.sql.rowset.spi.*;
|
||||
|
||||
import com.sun.rowset.*;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
|
||||
/**
|
||||
* There will be two sets of data which will be maintained by the rowset at the
|
||||
@ -4837,4 +4838,23 @@ public class SyncResolverImpl extends CachedRowSetImpl implements SyncResolver {
|
||||
throws SQLException {
|
||||
throw new UnsupportedOperationException("Operation not yet supported");
|
||||
}
|
||||
|
||||
/**
|
||||
* This method re populates the resBundle
|
||||
* during the deserialization process
|
||||
*
|
||||
*/
|
||||
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
// Default state initialization happens here
|
||||
ois.defaultReadObject();
|
||||
// Initialization of transient Res Bundle happens here .
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static final long serialVersionUID = -3345004441725080251L;
|
||||
} //end class
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -216,4 +216,22 @@ public class WebRowSetXmlReader implements XmlReader, Serializable {
|
||||
public void readData(RowSetInternal caller) {
|
||||
}
|
||||
|
||||
/**
|
||||
* This method re populates the resBundle
|
||||
* during the deserialization process
|
||||
*
|
||||
*/
|
||||
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
// Default state initialization happens here
|
||||
ois.defaultReadObject();
|
||||
// Initialization of transient Res Bundle happens here .
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static final long serialVersionUID = -9127058392819008014L;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -663,4 +663,23 @@ public class WebRowSetXmlWriter implements XmlWriter, Serializable {
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This method re populates the resBundle
|
||||
* during the deserialization process
|
||||
*
|
||||
*/
|
||||
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
// Default state initialization happens here
|
||||
ois.defaultReadObject();
|
||||
// Initialization of transient Res Bundle happens here .
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static final long serialVersionUID = 7163134986189677641L;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -245,4 +245,18 @@ public final class RIOptimisticProvider extends SyncProvider implements Serializ
|
||||
public String getVendor() {
|
||||
return this.vendorName;
|
||||
}
|
||||
|
||||
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
|
||||
// Default state initialization happens here
|
||||
ois.defaultReadObject();
|
||||
// Initialization of transient Res Bundle happens here .
|
||||
try {
|
||||
resBundle = JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle();
|
||||
} catch(IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
|
||||
}
|
||||
static final long serialVersionUID =-3143367176751761936L;
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user