org.hibernate.testing.boot.ServiceRegistryTestingImpl.java Source code

Java tutorial

Introduction

Here is the source code for org.hibernate.testing.boot.ServiceRegistryTestingImpl.java

Source

/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
 */
package org.hibernate.testing.boot;

import java.util.Arrays;
import java.util.List;
import java.util.Map;

import org.hibernate.boot.registry.BootstrapServiceRegistry;
import org.hibernate.boot.registry.BootstrapServiceRegistryBuilder;
import org.hibernate.boot.registry.StandardServiceInitiator;
import org.hibernate.boot.registry.internal.StandardServiceRegistryImpl;
import org.hibernate.cfg.Environment;
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
import org.hibernate.engine.jdbc.dialect.spi.DialectFactory;
import org.hibernate.service.StandardServiceInitiators;
import org.hibernate.service.internal.ProvidedService;
import org.hibernate.service.spi.ServiceRegistryImplementor;

import org.hibernate.testing.env.ConnectionProviderBuilder;

/**
 * ServiceRegistry useful in testing
 *
 * @author Steve Ebersole
 */
public class ServiceRegistryTestingImpl extends StandardServiceRegistryImpl implements ServiceRegistryImplementor {

    public static ServiceRegistryTestingImpl forUnitTesting() {
        return new ServiceRegistryTestingImpl(true, new BootstrapServiceRegistryBuilder().build(),
                StandardServiceInitiators.LIST, Arrays.asList(dialectFactoryService(), connectionProviderService()),
                Environment.getProperties());
    }

    public static ServiceRegistryTestingImpl forUnitTesting(Map settings) {
        return new ServiceRegistryTestingImpl(true, new BootstrapServiceRegistryBuilder().build(),
                StandardServiceInitiators.LIST, Arrays.asList(dialectFactoryService(), connectionProviderService()),
                settings);
    }

    private static ProvidedService dialectFactoryService() {
        return new ProvidedService<DialectFactory>(DialectFactory.class, new DialectFactoryTestingImpl());
    }

    private static ProvidedService connectionProviderService() {
        return new ProvidedService<ConnectionProvider>(ConnectionProvider.class,
                ConnectionProviderBuilder.buildConnectionProvider(true));
    }

    public ServiceRegistryTestingImpl(boolean autoCloseRegistry, BootstrapServiceRegistry bootstrapServiceRegistry,
            List<StandardServiceInitiator> serviceInitiators, List<ProvidedService> providedServices,
            Map<?, ?> configurationValues) {
        super(autoCloseRegistry, bootstrapServiceRegistry, serviceInitiators, providedServices,
                configurationValues);
    }
}