Package org.hibernate.engine.jdbc.jdbc3

Source Code of org.hibernate.engine.jdbc.jdbc3.JdbcSupportTest$LobCreationContextImpl

/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* Copyright (c) 2009 by Red Hat Inc and/or its affiliates or by
* third-party contributors as indicated by either @author tags or express
* copyright attribution statements applied by the authors.  All
* third-party contributions are distributed under license by Red Hat Inc.
*
* This copyrighted material is made available to anyone wishing to use, modify,
* copy, or redistribute it subject to the terms and conditions of the GNU
* Lesser General Public License, as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this distribution; if not, write to:
* Free Software Foundation, Inc.
* 51 Franklin Street, Fifth Floor
* Boston, MA  02110-1301  USA
*/
package org.hibernate.engine.jdbc.jdbc3;

import java.sql.SQLException;
import java.sql.Blob;
import java.sql.Clob;

import junit.framework.TestCase;

import org.hibernate.engine.jdbc.LobCreationContext;
import org.hibernate.engine.jdbc.LobCreator;
import org.hibernate.engine.jdbc.JdbcSupportLoader;
import org.hibernate.engine.jdbc.BlobImplementer;
import org.hibernate.engine.jdbc.WrappedBlob;
import org.hibernate.engine.jdbc.WrappedClob;
import org.hibernate.engine.jdbc.ClobImplementer;
import org.hibernate.engine.jdbc.NClobImplementer;


/**
* TODO : javadoc
*
* @author Steve Ebersole
*/
public class JdbcSupportTest extends TestCase {
  private static class LobCreationContextImpl implements LobCreationContext {
    public Object execute(Callback callback) {
      fail( "Unexpected call to getConnection" );
      return null;
    }
  }

  private LobCreationContextImpl lobCreationContext = new LobCreationContextImpl();

  public void testLobCreator() throws ClassNotFoundException, SQLException {
    LobCreator lobCreator = JdbcSupportLoader.loadJdbcSupport( null ).getLobCreator( lobCreationContext );

    Blob blob = lobCreator.createBlob( new byte[] {} );
    assertTrue( blob instanceof BlobImplementer );
    blob = lobCreator.wrap( blob );
    assertTrue( blob instanceof WrappedBlob );

    Clob clob = lobCreator.createClob( "Hi" );
    assertTrue( clob instanceof ClobImplementer );
    clob = lobCreator.wrap( clob );
    assertTrue( clob instanceof WrappedClob );

    Clob nclob = lobCreator.createNClob( "Hi" );
    assertTrue( nclob instanceof NClobImplementer );
    nclob = lobCreator.wrap( nclob );
    assertTrue( nclob instanceof WrappedClob );
  }

  public void testLobAccess() throws SQLException {
    LobCreator lobCreator = JdbcSupportLoader.loadJdbcSupport( null ).getLobCreator( lobCreationContext );

    Blob blob = lobCreator.createBlob( "Hi".getBytes() );
    assertEquals( 2, blob.length() );
    assertEquals( 2, blob.getBytes( 1, 5 ).length );
    blob.getBinaryStream();

    Clob clob = lobCreator.createClob( "Hi" );
    assertEquals( 2, clob.length() );
    assertEquals( 2, clob.getSubString( 1, 5 ).length() );
    clob.getCharacterStream();
    clob.getAsciiStream();
  }
}
TOP

Related Classes of org.hibernate.engine.jdbc.jdbc3.JdbcSupportTest$LobCreationContextImpl

TOP
Copyright © 2018 www.massapi.com. 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.