public XmlMappingBinderAccess(ServiceRegistry serviceRegistry) { this.classLoaderService = serviceRegistry.getService( ClassLoaderService.class ); // NOTE : The boolean here indicates whether or not to perform validation as we load XML documents. // Should we expose this setting? Disabling would speed up JAXP and JAXB at runtime, but potentially // at the cost of less obvious errors when a document is not valid. this.mappingBinder = new MappingBinder( serviceRegistry.getService( ClassLoaderService.class ), true ); }
private ManagedBean<? extends RevisionListener> resolveRevisionListenerBean( Class<? extends RevisionListener> listenerClass, ServiceRegistry serviceRegistry) { if ( !listenerClass.equals( RevisionListener.class ) ) { return serviceRegistry.getService( ManagedBeanRegistry.class ).getBean( listenerClass ); } return null; } }
private void resolveLegacyLimitHandlerBehavior(ServiceRegistry serviceRegistry) { // HHH-11194 // Temporary solution to set whether legacy limit handler behavior should be used. final ConfigurationService configurationService = serviceRegistry.getService( ConfigurationService.class ); legacyLimitHandlerBehavior = configurationService.getSetting( AvailableSettings.USE_LEGACY_LIMIT_HANDLERS, StandardConverters.BOOLEAN, false ); }
public SchemaCreatorImpl(ServiceRegistry serviceRegistry, SchemaFilter schemaFilter) { SchemaManagementTool smt = serviceRegistry.getService( SchemaManagementTool.class ); if ( smt == null || !HibernateSchemaManagementTool.class.isInstance( smt ) ) { smt = new HibernateSchemaManagementTool(); ( (HibernateSchemaManagementTool) smt ).injectServices( (ServiceRegistryImplementor) serviceRegistry ); } this.tool = (HibernateSchemaManagementTool) smt; this.schemaFilter = schemaFilter; }
public static void drop(Metadata metadata, ServiceRegistry serviceRegistry) { final Map settings = serviceRegistry.getService( ConfigurationService.class ).getSettings(); settings.put( AvailableSettings.HBM2DDL_DATABASE_ACTION, Action.DROP ); SchemaManagementToolCoordinator.process( metadata, serviceRegistry, settings, DelayedDropRegistryNotAvailableImpl.INSTANCE ); }
public SchemaDropperImpl(ServiceRegistry serviceRegistry, SchemaFilter schemaFilter) { SchemaManagementTool smt = serviceRegistry.getService( SchemaManagementTool.class ); if ( smt == null || !HibernateSchemaManagementTool.class.isInstance( smt ) ) { smt = new HibernateSchemaManagementTool(); ( (HibernateSchemaManagementTool) smt ).injectServices( (ServiceRegistryImplementor) serviceRegistry ); } this.tool = (HibernateSchemaManagementTool) smt; this.schemaFilter = schemaFilter; }
public static void update(Metadata metadata, ServiceRegistry serviceRegistry) { final Map settings = serviceRegistry.getService( ConfigurationService.class ).getSettings(); settings.put( AvailableSettings.HBM2DDL_DATABASE_ACTION, Action.UPDATE ); SchemaManagementToolCoordinator.process( metadata, serviceRegistry, settings, DelayedDropRegistryNotAvailableImpl.INSTANCE ); }
public static void createOnly(Metadata metadata, ServiceRegistry serviceRegistry) { final Map settings = serviceRegistry.getService( ConfigurationService.class ).getSettings(); settings.put( AvailableSettings.HBM2DDL_DATABASE_ACTION, Action.CREATE_ONLY ); SchemaManagementToolCoordinator.process( metadata, serviceRegistry, settings, DelayedDropRegistryNotAvailableImpl.INSTANCE ); }
public static void create(Metadata metadata, ServiceRegistry serviceRegistry) { final Map settings = serviceRegistry.getService( ConfigurationService.class ).getSettings(); settings.put( AvailableSettings.HBM2DDL_DATABASE_ACTION, Action.CREATE ); SchemaManagementToolCoordinator.process( metadata, serviceRegistry, settings, DelayedDropRegistryNotAvailableImpl.INSTANCE ); }
public JdbcContextDelayedDropImpl(ServiceRegistry serviceRegistry) { this.serviceRegistry = serviceRegistry; this.jdbcServices = serviceRegistry.getService( JdbcServices.class ); this.jdbcConnectionAccess = jdbcServices.getBootstrapJdbcConnectionAccess(); if ( jdbcConnectionAccess == null ) { // todo : log or error? throw new SchemaManagementException( "Could not build JDBC Connection context to drop schema on SessionFactory close" ); } }
@Override protected TransactionManager locateTransactionManager() { try { final Class tmClass = serviceRegistry().getService( ClassLoaderService.class ).classForName( TM_CLASS_NAME ); final Method getTransactionManagerMethod = tmClass.getMethod( "getTransactionManager" ); return (TransactionManager) getTransactionManagerMethod.invoke( null, (Object[]) null ); } catch (Exception e) { throw new JtaPlatformException( "Could not obtain JOTM transaction manager instance", e ); } }
@Override protected TransactionManager locateTransactionManager() { try { Class transactionManagerClass = serviceRegistry().getService( ClassLoaderService.class ).classForName( TM_CLASS_NAME ); return (TransactionManager) transactionManagerClass.newInstance(); } catch (Exception e) { throw new JtaPlatformException( "Could not instantiate Atomikos TransactionManager", e ); } }
@Override protected String expectedIndexName() { if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof AbstractHANADialect ) { return "IDXinnacp0woeltj5l0k4vgabf8k"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA } else { return "IDXpm66tdjkgtsca5x2uwux487t5"; } } }
private JdbcCoordinatorImpl( LogicalConnectionImplementor logicalConnection, boolean isUserSuppliedConnection, JdbcSessionOwner owner) { this.logicalConnection = logicalConnection; this.isUserSuppliedConnection = isUserSuppliedConnection; this.owner = owner; this.exceptionHelper = owner.getJdbcSessionContext() .getServiceRegistry() .getService( JdbcServices.class ) .getSqlExceptionHelper(); }
@Override public void initialize(final MetadataImplementor metadata, final MappingCollector mappingCollector) { if ( initialized ) { throw new UnsupportedOperationException( "EnversService#initialize should be called only once" ); } initialized = true; this.serviceRegistry = metadata.getMetadataBuildingOptions().getServiceRegistry(); this.classLoaderService = serviceRegistry.getService( ClassLoaderService.class ); this.xmlHelper = new XMLHelper( classLoaderService ); doInitialize( metadata, mappingCollector, serviceRegistry ); }
@Override protected String expectedForeignKeyName() { if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof AbstractHANADialect ) { return "FKe1lr9dd16cmmon53r7m736yev"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA } else { return "FKgvrnki5fwp3qo0hfp1bu1jj0q"; } }
public DdlTransactionIsolator getDdlTransactionIsolator(JdbcContext jdbcContext) { if ( jdbcContext.getJdbcConnectionAccess() instanceof JdbcConnectionAccessProvidedConnectionImpl ) { return new DdlTransactionIsolatorProvidedConnectionImpl( jdbcContext ); } return serviceRegistry.getService( TransactionCoordinatorBuilder.class ).buildDdlTransactionIsolator( jdbcContext ); }
@Override public DelayedDropAction buildDelayedAction( Metadata metadata, ExecutionOptions options, SourceDescriptor sourceDescriptor) { final JournalingGenerationTarget target = new JournalingGenerationTarget(); doDrop( metadata, options, tool.getServiceRegistry().getService( JdbcEnvironment.class ).getDialect(), sourceDescriptor, target ); return new DelayedDropActionImpl( target.commands ); }
public JdbcContextBuilder(ServiceRegistry serviceRegistry) { this.serviceRegistry = serviceRegistry; final JdbcServices jdbcServices = serviceRegistry.getService( JdbcServices.class ); this.sqlStatementLogger = jdbcServices.getSqlStatementLogger(); this.sqlExceptionHelper = jdbcServices.getSqlExceptionHelper(); this.dialect = jdbcServices.getJdbcEnvironment().getDialect(); this.jdbcConnectionAccess = jdbcServices.getBootstrapJdbcConnectionAccess(); }
private boolean canDoNameParameterBinding(Type hibernateType) { final ExtractedDatabaseMetaData databaseMetaData = procedureCall.getSession() .getJdbcCoordinator() .getJdbcSessionOwner() .getJdbcSessionContext() .getServiceRegistry().getService( JdbcEnvironment.class ) .getExtractedDatabaseMetaData(); return databaseMetaData.supportsNamedParameters() && ProcedureParameterNamedBinder.class.isInstance( hibernateType ) && ((ProcedureParameterNamedBinder) hibernateType).canDoSetting(); }