org.hibernate.testing.jdbc.SQLStatementInterceptor Maven / Gradle / Ivy
                 Go to download
                
        
                    Show more of this group  Show more artifacts with this name
Show all versions of hibernate-testing Show documentation
                Show all versions of hibernate-testing Show documentation
Support for testing Hibernate ORM functionality
                
             The newest version!
        
        /*
 * SPDX-License-Identifier: Apache-2.0
 * Copyright Red Hat Inc. and Hibernate Authors
 */
package org.hibernate.testing.jdbc;
import java.util.LinkedList;
import java.util.Map;
import org.hibernate.boot.SessionFactoryBuilder;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.AvailableSettings;
import org.hibernate.cfg.Configuration;
import org.hibernate.internal.util.PropertiesHelper;
import org.hibernate.resource.jdbc.spi.StatementInspector;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
/**
 * @author Vlad Mihalcea
 * @deprecated use {@link SQLStatementInspector} instead
 */
@Deprecated
public class SQLStatementInterceptor {
	private final LinkedList sqlQueries = new LinkedList<>();
	public SQLStatementInterceptor(SessionFactoryBuilder sessionFactoryBuilder) {
		sessionFactoryBuilder.applyStatementInspector( (StatementInspector) sql -> {
			sqlQueries.add( sql );
			return sql;
		} );
	}
	public SQLStatementInterceptor(Map settings) {
		settings.put( AvailableSettings.STATEMENT_INSPECTOR, (StatementInspector) sql -> {
			sqlQueries.add( sql );
			return sql;
		} );
	}
	public SQLStatementInterceptor(StandardServiceRegistryBuilder ssrb) {
		ssrb.applySetting(
				AvailableSettings.STATEMENT_INSPECTOR,
				(StatementInspector) sql -> {
					sqlQueries.add( sql );
					return sql;
				}
		);
	}
	public SQLStatementInterceptor(Configuration configuration) {
		this( PropertiesHelper.map( configuration.getProperties() ) );
	}
	public LinkedList getSqlQueries() {
		return sqlQueries;
	}
	public void clear() {
		sqlQueries.clear();
	}
	public void assertExecuted(String expected) {
		assertTrue(sqlQueries.contains( expected ));
	}
	public void assertExecutedCount(int expected) {
		assertEquals(expected, sqlQueries.size());
	}
	public int getQueryCount() {
		return sqlQueries.size();
	}
}
       © 2015 - 2025 Weber Informatics LLC | Privacy Policy