/** * Returns true if this grid dialect logger should wrap the real grid dialect * * @return boolean */ public static boolean activationNeeded() { return log.isTraceEnabled(); }
@Override public List<Tuple> getTuples(EntityKey[] keys, TupleContext tupleContext) { if ( log.isTraceEnabled() ) { log.tracef( "Reading tuples with keys %1$s and context %2$s", Arrays.toString( keys ), tupleContext ); } return super.getTuples( keys, tupleContext ); }
@Override public void bind(Tuple resultset, X value, String[] names) { if ( value == null ) { for ( String name : names ) { log.tracef( "binding [null] to parameter [%1$s]", name ); resultset.put( name, null ); } } else { if ( log.isTraceEnabled() ) { log.tracef( "binding [%1$s] to parameter(s) %2$s", javaDescriptor.extractLoggableRepresentation( value ), Arrays.toString( names ) ); } doBind( resultset, value, names, DEFAULT_OPTIONS ); } }
@Override public J extract(final Tuple resultset, final String name) { @SuppressWarnings("unchecked") final J result = (J) resultset.get( name ); if ( result == null ) { log.tracef( "found [null] as column [%s]", name ); return null; } else { if ( log.isTraceEnabled() ) { log.tracef( "found [%1$s] as column [%2$s]", javaTypeDescriptor.extractLoggableRepresentation( result ), name ); } return wrap ? javaTypeDescriptor.wrap( result, null ) : result; } } }
@Override public J extract(Tuple resultset, String name) { @SuppressWarnings( "unchecked" ) final String result = (String) resultset.get( name ); if ( result == null ) { log.tracef( "found [null] as column [$s]", name ); return null; } else { final J resultJ = javaTypeDescriptor.fromString( result ); if ( log.isTraceEnabled() ) { log.tracef( "found [$s] as column [$s]", javaTypeDescriptor.extractLoggableRepresentation( resultJ ), name ); } return resultJ; } } }
/** * Retrieve the version number */ @Override public Object getCurrentVersion(Serializable id, SharedSessionContractImplementor session) throws HibernateException { if ( log.isTraceEnabled() ) { log.trace( "Getting version: " + MessageHelper.infoString( this, id, getFactory() ) ); } final Tuple resultset = getFreshTuple( EntityKeyBuilder.fromPersister( this, id, session ), session ); if ( resultset == null ) { return null; } else { return gridVersionType.nullSafeGet( resultset, getVersionColumnName(), session, null ); } }
if ( log.isTraceEnabled() ) { log.trace( "total objects hydrated: " + hydratedObjectsSize );
/** * This snapshot is meant to be used when updating data. */ @Override public Object[] getDatabaseSnapshot(Serializable id, SharedSessionContractImplementor session) throws HibernateException { if ( log.isTraceEnabled() ) { log.trace( "Getting current persistent state for: " + MessageHelper.infoString( this, id, getFactory() ) ); } //snapshot is a Map in the end final Tuple resultset = getFreshTuple( EntityKeyBuilder.fromPersister( this, id, session ), session ); //if there is no resulting row, return null if ( resultset == null || resultset.getSnapshot().isEmpty() ) { return null; } //otherwise return the "hydrated" state (ie. associations are not resolved) GridType[] types = gridPropertyTypes; Object[] values = new Object[types.length]; boolean[] includeProperty = getPropertyUpdateability(); for ( int i = 0; i < types.length; i++ ) { if ( includeProperty[i] ) { values[i] = types[i].hydrate( resultset, getPropertyAliases( "", i ), session, null ); //null owner ok?? } } return values; }
/** * Removes all inverse associations managed by a given entity. */ public void removeNavigationalInformationFromInverseSide() { if ( log.isTraceEnabled() ) { log.trace( "Removing inverse navigational information for entity: " + MessageHelper.infoString( persister, id, persister.getFactory() ) ); } for ( int propertyIndex = 0; propertyIndex < persister.getEntityMetamodel().getPropertySpan(); propertyIndex++ ) { if ( persister.isPropertyOfTable( propertyIndex, tableIndex ) ) { AssociationKeyMetadata associationKeyMetadata = getInverseAssociationKeyMetadata( propertyIndex ); // there is no inverse association for the given property if ( associationKeyMetadata == null ) { continue; } Object[] oldColumnValues = LogicalPhysicalConverterHelper.getColumnValuesFromResultset( resultset, persister.getPropertyColumnNames( propertyIndex ) ); //don't index null columns, this means no association if ( ! CollectionHelper.isEmptyOrContainsOnlyNull( oldColumnValues ) ) { removeNavigationalInformationFromInverseSide( propertyIndex, associationKeyMetadata, oldColumnValues ); } } } }
/** * Dehydrates the properties of a given entity, populating a {@link Tuple} with the converted column values. */ private void dehydrate( Tuple tuple, final Object[] fields, boolean[] includeProperties, int tableIndex, Serializable id, SharedSessionContractImplementor session) { if ( log.isTraceEnabled() ) { log.trace( "Dehydrating entity: " + MessageHelper.infoString( this, id, getFactory() ) ); } for ( int propertyIndex = 0; propertyIndex < getEntityMetamodel().getPropertySpan(); propertyIndex++ ) { if ( isPropertyOfTable( propertyIndex, tableIndex ) ) { if ( includeProperties[propertyIndex] ) { getGridPropertyTypes()[propertyIndex].nullSafeSet( tuple, fields[propertyIndex], getPropertyColumnNames( propertyIndex ), getPropertyColumnInsertable()[propertyIndex], session ); } } } }
/** * Updates all inverse associations managed by a given entity. */ public void addNavigationalInformationForInverseSide() { if ( log.isTraceEnabled() ) { log.trace( "Adding inverse navigational information for entity: " + MessageHelper.infoString( persister, id, persister.getFactory() ) ); } for ( int propertyIndex = 0; propertyIndex < persister.getEntityMetamodel().getPropertySpan(); propertyIndex++ ) { if ( persister.isPropertyOfTable( propertyIndex, tableIndex ) ) { AssociationKeyMetadata associationKeyMetadata = getInverseAssociationKeyMetadata( propertyIndex ); // there is no inverse association for the given property if ( associationKeyMetadata == null ) { continue; } Object[] newColumnValues = LogicalPhysicalConverterHelper.getColumnValuesFromResultset( resultset, persister.getPropertyColumnNames( propertyIndex ) ); //don't index null columns, this means no association if ( ! CollectionHelper.isEmptyOrContainsOnlyNull( ( newColumnValues ) ) ) { addNavigationalInformationForInverseSide( propertyIndex, associationKeyMetadata, newColumnValues ); } } } }
final SharedSessionContractImplementor session) throws HibernateException { if ( log.isTraceEnabled() ) { log.trace( "Hydrating entity: " + MessageHelper.infoString( this, id, getFactory() ) );
super( persistentClass, cacheAccessStrategy, naturalIdRegionAccessStrategy, creationContext ); if ( log.isTraceEnabled() ) { log.tracef( "Creating OgmEntityPersister for %s", persistentClass.getClassName() );
@Override public Object initializeLazyProperty(String fieldName, Object entity, SharedSessionContractImplementor session) throws HibernateException { final Serializable id = session.getContextEntityIdentifier( entity ); final EntityEntry entry = session.getPersistenceContext().getEntry( entity ); if ( entry == null ) { throw new HibernateException( "entity is not associated with the session: " + id ); } if ( log.isTraceEnabled() ) { log.trace( "initializing lazy properties of: " + MessageHelper.infoString( this, id, getFactory() ) + ", field access: " + fieldName ); } if ( hasCache() ) { Object cacheKey = getCacheAccessStrategy().generateCacheKey( id, this, session.getFactory(), session.getTenantIdentifier() ); Object ce = getCacheAccessStrategy().get( session, cacheKey ); if ( ce != null ) { CacheEntry cacheEntry = (CacheEntry) getCacheEntryStructure().destructure( ce, getFactory() ); final Object initializedValue = initializeLazyPropertiesFromCache( fieldName, entity, session, entry, cacheEntry ); // NOTE EARLY EXIT!!! return initializedValue; } } return initializeLazyPropertiesFromDatastore( fieldName, entity, session, id, entry ); }
if ( log.isTraceEnabled() ) { log.trace( "Forcing version increment [" + MessageHelper.infoString( this, id, getFactory() ) +
if ( log.isTraceEnabled() ) { log.trace( "Initializing object from ResultSet: " +
if ( log.isTraceEnabled() ) { log.trace( "Inserting entity: " + MessageHelper.infoString( this, id, getFactory() ) ); if ( j == 0 && isVersioned() ) {
return; if ( log.isTraceEnabled() ) { log.trace( "Deleting entity: " + MessageHelper.infoString( this, id, getFactory() ) ); if ( j == 0 && isVersioned() ) {
if ( log.isTraceEnabled() ) { log.trace( "Updating entity: " + MessageHelper.infoString( this, id, factory ) ); if ( isVersioned() ) {