[jboss-user] [Installation, Configuration & DEPLOYMENT] - Re: java.lang.NoSuchMethodException: org.jboss.resource.adap
cpnehete
do-not-reply at jboss.com
Fri Mar 14 08:03:19 EDT 2008
Hi Jaikiran,
Please find code for debuggable statement class below,
And I think i didn't change any jar file.
Please do the needful.
|
| package com.work.net;
|
| import java.io.InputStream;
| import java.io.Reader;
| import java.lang.reflect.InvocationTargetException;
| import java.lang.reflect.Method;
| import java.math.BigDecimal;
| import java.net.URL;
| import java.sql.Blob;
| import java.sql.Clob;
| import java.sql.Connection;
| import java.sql.ParameterMetaData;
| import java.sql.PreparedStatement;
| import java.sql.Ref;
| import java.sql.ResultSet;
| import java.sql.ResultSetMetaData;
| import java.sql.SQLException;
| import java.sql.SQLWarning;
| import java.sql.Time;
| import java.sql.Timestamp;
| import java.util.Calendar;
| import java.util.StringTokenizer;
|
|
| public class DebuggableStatement implements PreparedStatement {
|
| private PreparedStatement ps; //preparedStatement being proxied for.
| private String sql; //original statement going to database.
| private String filteredSql;
| //statement filtered for rogue '?' that are not bind variables.
| private DebugObject[] variables; //array of bind variables
| private SqlFormatter formatter; //format for dates
| private long startTime; //time that statement began execution
| private long executeTime; //time elapsed while executing statement
| private DebugLevel debugLevel; //level of debug
|
|
| protected DebuggableStatement(
| Connection con,
| String sqlStatement,
| SqlFormatter formatter,
| DebugLevel debugLevel)
| throws SQLException {
| //set values for member variables
| this.ps = con.prepareStatement(sqlStatement);
| this.sql = sqlStatement;
| this.debugLevel = debugLevel;
| this.formatter = formatter;
|
| //see if there are any '?' in the statement that are not bind variables
| //and filter them out.
| boolean isString = false;
| char[] sqlString = sqlStatement.toCharArray();
| for (int i = 0; i < sqlString.length; i++) {
| if (sqlString == '\'')
| isString = !isString;
| //substitute the ? with an unprintable character if the ? is in a
| //string.
| if (sqlString == '?' && isString)
| sqlString = '\u0007';
| }
| filteredSql = new String(sqlString);
|
| //find out how many variables are present in statement.
| int count = 0;
| int index = -1;
| while ((index = filteredSql.indexOf("?", index + 1)) != -1) {
| count++;
| }
|
| //show how many bind variables found
| if (debugLevel == DebugLevel.VERBOSE)
| System.out.println("count= " + count);
|
| //create array for bind variables
| variables = new DebugObject[count];
|
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void addBatch() throws SQLException {
| ps.addBatch();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void addBatch(String sql) throws SQLException {
| ps.addBatch();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void cancel() throws SQLException {
| ps.cancel();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void clearBatch() throws SQLException {
| ps.clearBatch();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void clearParameters() throws SQLException {
| ps.clearParameters();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void clearWarnings() throws SQLException {
| ps.clearWarnings();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void close() throws SQLException {
| ps.close();
| }
|
| /**
| * Executes query and Calculates query execution time if DebugLevel = VERBOSE
| * @return results of query
| */
| public boolean execute() throws SQLException {
| //execute query
| Boolean results = null;
| try {
| results = (Boolean) executeVerboseQuery("execute", null);
| }
| catch (SQLException sqle) {
| throw sqle;
| }
| catch (Exception e) {
| e.printStackTrace();
| throw new SQLException("Could not execute sql command");
| }
| return results.booleanValue();
| }
|
| /**
| * This method is only here for convenience. If a different sql string is executed
| * than was passed into Debuggable, unknown results will occur.
| * Executes query and Calculates query execution time if DebugLevel = VERBOSE
| * @param sql should be same string that was passed into Debuggable
| * @return results of query
| */
| public boolean execute(String sql) throws SQLException {
| //execute query
| Boolean results = null;
| try {
| results =
| (Boolean) executeVerboseQuery("execute",
| new Class[] { sql.getClass()});
| }
| catch (SQLException sqle) {
| throw sqle;
| }
| catch (Exception e) {
| e.printStackTrace();
| throw new SQLException("Could not execute sql command");
| }
| return results.booleanValue();
| }
|
| /**
| * Executes query and Calculates query execution time if DebugLevel = VERBOSE
| * @return results of query
| */
| public int[] executeBatch() throws SQLException {
| //execute query
| int[] results = null;
| try {
| results = (int[]) executeVerboseQuery("executeBatch", null);
| }
| catch (SQLException sqle) {
| throw sqle;
| }
| catch (Exception e) {
| e.printStackTrace();
| throw new SQLException("Could not execute sql command");
| }
| return results;
| }
|
| /**
| * Executes query and Calculates query execution time if DebugLevel = VERBOSE
| * @return results of query
| */
| public ResultSet executeQuery() throws SQLException {
| //execute query
| ResultSet results = null;
| try {
| results = (ResultSet) executeVerboseQuery("executeQuery", null);
| }
| catch (SQLException sqle) {
| throw sqle;
| }
| catch (Exception e) {
| e.printStackTrace();
| throw new SQLException("Could not execute sql command");
| }
| return results;
| }
|
| /**
| * This method is only here for convenience. If a different sql string is executed
| * than was passed into Debuggable, unknown results will occur.
| * Executes query and Calculates query execution time if DebugLevel = VERBOSE
| * @param sql should be same string that was passed into Debuggable
| * @return results of query
| */
| public ResultSet executeQuery(String sql) throws SQLException {
| //execute query
| ResultSet results = null;
| try {
| results =
| (ResultSet) executeVerboseQuery("executeQuery",
| new Class[] { sql.getClass()});
| }
| catch (SQLException sqle) {
| throw sqle;
| }
| catch (Exception e) {
| e.printStackTrace();
| throw new SQLException("Could not execute sql command");
| }
| return results;
| }
|
| /**
| * Executes query and Calculates query execution time if DebugLevel = VERBOSE
| * @return results of query
| */
| public int executeUpdate() throws SQLException {
| //execute query
| Integer results = null;
| try {
| results = (Integer) executeVerboseQuery("executeUpdate", null);
| }
| catch (SQLException sqle) {
| throw sqle;
| }
| catch (Exception e) {
| e.printStackTrace();
| throw new SQLException("Could not execute sql command");
| }
| return results.intValue();
| }
|
| /**
| * This method is only here for convenience. If a different sql string is executed
| * than was passed into Debuggable, unknown results will occur.
| * Executes query and Calculates query execution time if DebugLevel = VERBOSE
| * @param sql should be same string that was passed into Debuggable
| * @return results of query
| */
| public int executeUpdate(String sql) throws SQLException {
| //execute query
| Integer results = null;
| try {
| results =
| (Integer) executeVerboseQuery("executeUpdate",
| new Class[] { sql.getClass()});
| }
| catch (SQLException sqle) {
| throw sqle;
| }
| catch (Exception e) {
| e.printStackTrace();
| throw new SQLException("Could not execute sql command");
| }
| return results.intValue();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public Connection getConnection() throws SQLException {
| return ps.getConnection();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public int getFetchDirection() throws SQLException {
| return ps.getFetchDirection();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public int getFetchSize() throws SQLException {
| return ps.getFetchSize();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public int getMaxFieldSize() throws SQLException {
| return ps.getMaxFieldSize();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public int getMaxRows() throws SQLException {
| return ps.getMaxRows();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public ResultSetMetaData getMetaData() throws SQLException {
| return ps.getMetaData();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public boolean getMoreResults() throws SQLException {
| return ps.getMoreResults();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public int getQueryTimeout() throws SQLException {
| return ps.getQueryTimeout();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public ResultSet getResultSet() throws SQLException {
| return ps.getResultSet();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public int getResultSetConcurrency() throws SQLException {
| return ps.getResultSetConcurrency();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public int getResultSetType() throws SQLException {
| return ps.getResultSetType();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public String getStatement() {
| return sql;
| }
|
| /**
| * Facade for PreparedStatement
| */
| public int getUpdateCount() throws SQLException {
| return ps.getUpdateCount();
| }
|
| /**
| * Facade for PreparedStatement
| */
| public SQLWarning getWarnings() throws SQLException {
| return ps.getWarnings();
| }
|
| /**
| * Tests Object o for parameterIndex (which parameter is being set) and places
| * object in array of variables.
| * @param parameterIndex which PreparedStatement parameter is being set.
| * Sequence begins at 1.
| * @param o Object being stored as parameter
| * @exception Thrown if index exceeds number of variables.
| */
| private void saveObject(int parameterIndex, Object o)
| throws ParameterIndexOutOfBoundsException {
| if (parameterIndex > variables.length)
| throw new ParameterIndexOutOfBoundsException(
| "Parameter index of "
| + parameterIndex
| + " exceeds actual parameter count of "
| + variables.length);
|
| variables[parameterIndex - 1] = new DebugObject(o);
| }
|
| /**
| Adds name of the Array's internal class type(by using x.getBaseTypeName())
| to the debug String. If x is null, NULL is added to debug String.
| @param i index of parameter
| @param x parameter Object
| */
| public void setArray(int i, java.sql.Array x) throws SQLException {
| saveObject(i, x);
| ps.setArray(i, x);
| }
|
| /**
| Debug string prints NULL if InputStream is null, or adds "stream length = " + length
| */
| public void setAsciiStream(int parameterIndex, InputStream x, int length)
| throws SQLException {
| saveObject(
| parameterIndex,
| (x == null ? "NULL" : "<stream length= " + length + ">"));
| ps.setAsciiStream(parameterIndex, x, length);
| }
|
| /**
| Adds BigDecimal to debug string in parameterIndex position.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setBigDecimal(int parameterIndex, BigDecimal x)
| throws SQLException {
| saveObject(parameterIndex, x);
| ps.setBigDecimal(parameterIndex, x);
| }
|
| /**
| Debug string prints NULL if InputStream is null, or adds "stream length= " + length.
| @param parameterIndex index of parameter
| @param x parameter Object
| @param length length of InputStream
| */
| public void setBinaryStream(int parameterIndex, InputStream x, int length)
| throws SQLException {
| saveObject(
| parameterIndex,
| (x == null ? "NULL" : "<stream length= " + length + ">"));
| ps.setBinaryStream(parameterIndex, x, length);
| }
|
| /**
| Adds name of the object's class type(Blob) to the debug String. If
| object is null, NULL is added to debug String.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setBlob(int parameterIndex, Blob x) throws SQLException {
| saveObject(parameterIndex, x);
| ps.setBlob(parameterIndex, x);
| }
|
| /**
| Adds boolean to debug string in parameterIndex position.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setBoolean(int parameterIndex, boolean x) throws SQLException {
| saveObject(parameterIndex, new Boolean(x));
| ps.setBoolean(parameterIndex, x);
| }
|
| /**
| Adds byte to debug string in parameterIndex position.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setByte(int parameterIndex, byte x) throws SQLException {
| saveObject(parameterIndex, new Byte(x));
| ps.setByte(parameterIndex, x);
| }
|
| /**
| Adds byte[] to debug string in parameterIndex position.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setBytes(int parameterIndex, byte[] x) throws SQLException {
| saveObject(
| parameterIndex,
| (x == null ? "NULL" : "byte[] length=" + x.length));
| ps.setBytes(parameterIndex, x);
| }
|
| /**
| Debug string prints NULL if reader is null, or adds "stream length= " + length.
| @param parameterIndex index of parameter
| @param x parameter Object
| @param length length of InputStream
| */
| public void setCharacterStream(
| int parameterIndex,
| Reader reader,
| int length)
| throws SQLException {
| saveObject(
| parameterIndex,
| (reader == null ? "NULL" : "<stream length= " + length + ">"));
| ps.setCharacterStream(parameterIndex, reader, length);
| }
|
| /**
| Adds name of the object's class type(Clob) to the debug String. If
| object is null, NULL is added to debug String.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setClob(int i, Clob x) throws SQLException {
| saveObject(i, x);
| ps.setClob(i, x);
| }
|
| public void setCursorName(String name) throws SQLException {
| ps.setCursorName(name);
| }
|
| /**
| Debug string displays date in YYYY-MM-DD HH24:MI:SS.# format.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setDate(int parameterIndex, java.sql.Date x)
| throws SQLException {
| saveObject(parameterIndex, x);
| ps.setDate(parameterIndex, x);
| }
|
| /**
| this implementation assumes that the Date has the date, and the
| calendar has the local info. For the debug string, the cal date
| is set to the date of x. Debug string displays date in YYYY-MM-DD HH24:MI:SS.# format.
| @param parameterIndex index of parameter
| @param x parameter Object
| @param cal uses x to set time
| */
| public void setDate(int parameterIndex, java.sql.Date x, Calendar cal)
| throws SQLException {
| cal.setTime(new java.util.Date(x.getTime()));
| saveObject(parameterIndex, cal);
| ps.setDate(parameterIndex, x, cal);
| }
|
| /**
| Adds double to debug string in parameterIndex position.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setDouble(int parameterIndex, double x) throws SQLException {
| saveObject(parameterIndex, new Double(x));
| ps.setDouble(parameterIndex, x);
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void setEscapeProcessing(boolean enable) throws SQLException {
| ps.setEscapeProcessing(enable);
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void setFormatter(SqlFormatter formatter) {
| this.formatter = formatter;
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void setFetchDirection(int direction) throws SQLException {
| ps.setFetchDirection(direction);
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void setFetchSize(int rows) throws SQLException {
| ps.setFetchSize(rows);
| }
|
| /**
| Adds float to debug string in parameterIndex position.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setFloat(int parameterIndex, float x) throws SQLException {
| saveObject(parameterIndex, new Float(x));
| ps.setFloat(parameterIndex, x);
| }
|
| /**
| Adds int to debug string in parameterIndex position.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setInt(int parameterIndex, int x) throws SQLException {
| saveObject(parameterIndex, new Integer(x));
| ps.setInt(parameterIndex, x);
| }
|
| /**
| Adds long to debug string in parameterIndex position.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setLong(int parameterIndex, long x) throws SQLException {
| saveObject(parameterIndex, new Long(x));
| ps.setLong(parameterIndex, x);
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void setMaxFieldSize(int max) throws SQLException {
| ps.setMaxFieldSize(max);
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void setMaxRows(int max) throws SQLException {
| ps.setMaxRows(max);
| }
|
| /**
| Adds a NULL to the debug String.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setNull(int parameterIndex, int sqlType) throws SQLException {
| saveObject(parameterIndex, "NULL");
| ps.setNull(parameterIndex, sqlType);
| }
|
| /**
| Adds a NULL to the debug String.
| @param parameterIndex index of parameter
| @param x parameter Object
| @param typeName type of Object
| */
| public void setNull(int parameterIndex, int sqlType, String typeName)
| throws SQLException {
| saveObject(parameterIndex, "NULL");
| ps.setNull(parameterIndex, sqlType, typeName);
| }
|
| /**
| Adds name of the object's class type to the debug String. If
| object is null, NULL is added to debug String.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setObject(int parameterIndex, Object x) throws SQLException {
| saveObject(
| parameterIndex,
| (x == null ? "NULL" : x.getClass().getName()));
| ps.setObject(parameterIndex, x);
| }
|
| /**
| Adds name of the object's class type to the debug String. If
| object is null, NULL is added to debug String.
| @param parameterIndex index of parameter
| @param x parameter Object
| @param targetSqlType database type
| */
| public void setObject(int parameterIndex, Object x, int targetSqlType)
| throws SQLException {
| saveObject(
| parameterIndex,
| (x == null ? "NULL" : x.getClass().getName()));
| ps.setObject(parameterIndex, x, targetSqlType);
| }
|
| /**
| Adds name of the object's class type to the debug String. If
| object is null, NULL is added to debug String.
| @param parameterIndex index of parameter
| @param x parameter Object
| @param targetSqlType database type
| @param scale see PreparedStatement
| */
| public void setObject(
| int parameterIndex,
| Object x,
| int targetSqlType,
| int scale)
| throws SQLException {
| saveObject(
| parameterIndex,
| (x == null ? "NULL" : x.getClass().getName()));
| ps.setObject(parameterIndex, x, targetSqlType, scale);
| }
|
| /**
| * Facade for PreparedStatement
| */
| public void setQueryTimeout(int seconds) throws SQLException {
| ps.setQueryTimeout(seconds);
| }
|
| /**
| From the javadocs:
| A reference to an SQL structured type value in the database.
| A Ref can be saved to persistent storage.
| The output from this method call in DebuggableStatement is a string representation
| of the Ref object by calling the Ref object's getBaseTypeName() method.
| Again, this will only be a String representation of the actual object
| being stored in the database.
| @param i index of parameter
| @param x parameter Object
| */
|
| public void setRef(int i, Ref x) throws SQLException {
| saveObject(i, x);
| ps.setRef(i, x);
| }
|
| /**
| Adds short to debug string in parameterIndex position.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setShort(int parameterIndex, short x) throws SQLException {
| saveObject(parameterIndex, new Short(x));
| ps.setShort(parameterIndex, x);
| }
|
| /**
| Adds String to debug string in parameterIndex position.
| If String is null "NULL" is inserted in debug string.
| ****note****
| In situations where a single ' is in the string being
| inserted in the database. The debug string will need to be modified to
| reflect this when running the debug statement in the database.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setString(int parameterIndex, String x) throws SQLException {
| saveObject(parameterIndex, x);
| ps.setString(parameterIndex, x);
| }
|
| /**
| Debug string displays Time in HH24:MI:SS.# format.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setTime(int parameterIndex, Time x) throws SQLException {
| saveObject(parameterIndex, x);
| ps.setTime(parameterIndex, x);
| }
|
| /**
| This implementation assumes that the Time object has the time and
| Calendar has the locale info. For the debug string, the cal time
| is set to the value of x. Debug string displays time in HH24:MI:SS.# format.
| @param parameterIndex index of parameter
| @param x parameter Object
| @param cal sets time based on x
| */
| public void setTime(int parameterIndex, Time x, Calendar cal)
| throws SQLException {
| cal.setTime(new java.util.Date(x.getTime()));
| saveObject(parameterIndex, cal);
| ps.setTime(parameterIndex, x, cal);
| }
|
| /**
| Debug string displays timestamp in YYYY-MM-DD HH24:MI:SS.# format.
| @param parameterIndex index of parameter
| @param x parameter Object
| */
| public void setTimestamp(int parameterIndex, Timestamp x)
| throws SQLException {
| saveObject(parameterIndex, x);
| ps.setTimestamp(parameterIndex, x);
| }
|
| /**
| This implementation assumes that the Timestamp has the date/time and
| Calendar has the locale info. For the debug string, the cal date/time
| is set to the default value of Timestamp which is YYYY-MM-DD HH24:MI:SS.#.
| Debug string displays timestamp in DateFormat.LONG format.
| @param parameterIndex index of parameter
| @param x parameter Object
| @param cal sets time based on x
| */
| public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal)
| throws SQLException {
| cal.setTime(new java.util.Date(x.getTime()));
| saveObject(parameterIndex, cal);
| ps.setTimestamp(parameterIndex, x, cal);
| }
|
| /**
| Method has been deprecated in PreparedStatement interface.
| This method is present only to satisfy interface and does
| not do anything.
| Do not use...
| */
| public void setUnicodeStream(int parameterIndex, InputStream x, int length)
| throws SQLException {
| //ps.setUnicodeStream(parameterIndex, x, length);
| }
|
| /**
| this toString is overidden to return a String representation of
| the sql statement being sent to the database. If a bind variable
| is missing then the String contains a ? + (missing variable #)
| @return the above string representation
| */
|
| public String toString() {
| StringTokenizer st = new StringTokenizer(filteredSql, "?");
| int count = 1;
| StringBuffer statement = new StringBuffer();
| while (st.hasMoreTokens()) {
| statement.append(st.nextToken());
| if (count <= variables.length) {
| if (variables[count - 1] != null
| && variables[count - 1].isValueAssigned()) {
| try {
| statement.append(
| formatter.format(variables[count - 1]));
|
| }
| catch (SQLException e) {
| statement.append("SQLException");
| }
| }
| else {
| statement.append(
| "? " + "(missing variable # " + count + " ) ");
| }
| }
| count++;
| }
| //unfilter the string in case there where rogue '?' in query string.
| char[] unfilterSql = statement.toString().toCharArray();
| for (int i = 0; i < unfilterSql.length; i++) {
| if (unfilterSql == '\u0007')
| unfilterSql = '?';
| }
|
| //return execute time
| if (debugLevel == DebugLevel.ON)
| return new String(unfilterSql);
| else
| return new String(unfilterSql)
| + System.getProperty("line.separator")
| + System.getProperty("line.separator")
| + "query executed in "
| + executeTime
| + " milliseconds"
| + System.getProperty("line.separator");
|
| }
|
| private Object executeVerboseQuery(String methodName, Class[] parameters)
| throws
| SQLException,
| NoSuchMethodException,
| InvocationTargetException,
| IllegalAccessException {
| //determine which method we have
| Method m = ps.getClass().getDeclaredMethod(methodName, parameters);
|
| /* //debug is set to on, so no times are calculated
| if (debugLevel == DebugLevel.ON)
| return m.invoke(ps,parameters);
| */
| //calculate execution time for verbose debugging
| start();
| // Object returnObject = m.invoke(ps,parameters);
| Object returnObject = null;
| if (methodName.equals("executeUpdate")) {
| int i = ps.executeUpdate();
| returnObject = new Integer(i);
| }
| else {
| returnObject = m.invoke(ps, parameters);
| }
| end();
|
| //return the executions return type
| return returnObject;
| }
|
| private void start() {
| startTime = System.currentTimeMillis();
| }
|
| private void end() {
| executeTime = System.currentTimeMillis() - startTime;
| }
|
| private class DebugObject {
| private Object debugObject;
| private SqlFormatter formatter = new OracleSqlFormatter();
| private boolean valueAssigned;
|
| public DebugObject(Object debugObject) {
| this.debugObject = debugObject;
| valueAssigned = true;
| }
|
| public Object getDebugObject() {
| return debugObject;
| }
|
| public boolean isValueAssigned() {
| return valueAssigned;
| }
|
| public String toString() {
| String a = "";
| try {
| a = formatter.format(debugObject);
| }
| catch (SQLException sqle) {
| sqle.printStackTrace();
| }
| finally {
| }
| return a;
| }
| }
|
|
| //********* New methods are implemented, because we're going to use J2SDK1.4.2 for
| //********* the Rheumatology Application, and in 1.4.2, there are following new methods
| //********* which must be implemented if we implement the PreparedStatement interface.
|
|
| /* (non-Javadoc)
| * @see java.sql.Statement#getMoreResults(int)
| */
| public boolean getMoreResults(int current) throws SQLException {
| return false;
| }
|
| /* (non-Javadoc)
| * @see java.sql.PreparedStatement#getParameterMetaData()
| */
| public ParameterMetaData getParameterMetaData() throws SQLException {
| return null;
| }
|
| /* (non-Javadoc)
| * @see java.sql.PreparedStatement#setURL(int, java.net.URL)
| */
| public void setURL(int parameterIndex, URL x) throws SQLException {
|
| }
|
| /* (non-Javadoc)
| * @see java.sql.Statement#execute(java.lang.String, int)
| */
| public boolean execute(String sql, int autoGeneratedKeys)
| throws SQLException {
| return false;
| }
|
| /* (non-Javadoc)
| * @see java.sql.Statement#execute(java.lang.String, int[])
| */
| public boolean execute(String sql, int[] columnIndexes)
| throws SQLException {
| return false;
| }
|
| /* (non-Javadoc)
| * @see java.sql.Statement#execute(java.lang.String, java.lang.String[])
| */
| public boolean execute(String sql, String[] columnNames)
| throws SQLException {
| return false;
| }
|
| /* (non-Javadoc)
| * @see java.sql.Statement#executeUpdate(java.lang.String, int)
| */
| public int executeUpdate(String sql, int autoGeneratedKeys)
| throws SQLException {
| return 0;
| }
|
| /* (non-Javadoc)
| * @see java.sql.Statement#executeUpdate(java.lang.String, int[])
| */
| public int executeUpdate(String sql, int[] columnIndexes)
| throws SQLException {
| return 0;
| }
|
| /* (non-Javadoc)
| * @see java.sql.Statement#executeUpdate(java.lang.String, java.lang.String[])
| */
| public int executeUpdate(String sql, String[] columnNames)
| throws SQLException {
| return 0;
| }
|
| /* (non-Javadoc)
| * @see java.sql.Statement#getGeneratedKeys()
| */
| public ResultSet getGeneratedKeys() throws SQLException {
| return null;
| }
|
| /* (non-Javadoc)
| * @see java.sql.Statement#getResultSetHoldability()
| */
| public int getResultSetHoldability() throws SQLException {
| return 0;
| }
|
| }
|
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4136617#4136617
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4136617
More information about the jboss-user
mailing list