@Override public boolean isReadOnly(Object entityOrProxy) { if ( entityOrProxy == null ) { throw new AssertionFailure( "object must be non-null." ); } boolean isReadOnly; if ( entityOrProxy instanceof HibernateProxy ) { isReadOnly = ( (HibernateProxy) entityOrProxy ).getHibernateLazyInitializer().isReadOnly(); } else { final EntityEntry ee = getEntry( entityOrProxy ); if ( ee == null ) { throw new TransientObjectException("Instance was not associated with this persistence context" ); } isReadOnly = ee.isReadOnly(); } return isReadOnly; }
@Test public void testIsReadOnlyAfterSessionClosedViaLazyInitializer() { DataPoint dpOrig = createDataPoint( CacheMode.IGNORE ); Session s = openSession(); s.setCacheMode(CacheMode.IGNORE); s.beginTransaction(); DataPoint dp = ( DataPoint ) s.load( DataPoint.class, new Long( dpOrig.getId() ) ); assertTrue( dp instanceof HibernateProxy ); assertFalse( Hibernate.isInitialized( dp ) ); checkReadOnly( s, dp, false ); s.getTransaction().commit(); assertTrue( s.contains( dp ) ); s.close(); assertNull( ( ( HibernateProxy ) dp ).getHibernateLazyInitializer().getSession() ); try { ( ( HibernateProxy ) dp ).getHibernateLazyInitializer().isReadOnly(); fail( "should have failed because session was detached" ); } catch ( TransientObjectException ex) { // expected assertFalse( ( ( HibernateProxy ) dp ).getHibernateLazyInitializer().isReadOnlySettingAvailable() ); } finally { s = openSession(); s.beginTransaction(); s.delete( dp ); s.getTransaction().commit(); s.close(); } }
final boolean readOnlyOrig = originalHibernateProxy.getHibernateLazyInitializer().isReadOnly(); narrowedProxy.getHibernateLazyInitializer().setReadOnly( readOnlyOrig );
@Test public void testDetachedIsReadOnlyAfterEvictViaLazyInitializer() { DataPoint dpOrig = createDataPoint( CacheMode.IGNORE ); Session s = openSession(); s.setCacheMode(CacheMode.IGNORE); s.beginTransaction(); DataPoint dp = ( DataPoint ) s.load( DataPoint.class, new Long( dpOrig.getId() ) ); assertTrue( dp instanceof HibernateProxy ); assertFalse( Hibernate.isInitialized( dp ) ); checkReadOnly( s, dp, false ); s.evict( dp ); assertFalse( s.contains( dp ) ); assertNull( ( ( HibernateProxy ) dp ).getHibernateLazyInitializer().getSession() ); try { ( ( HibernateProxy ) dp ).getHibernateLazyInitializer().isReadOnly(); fail( "should have failed because proxy was detached" ); } catch ( TransientObjectException ex) { // expected assertFalse( ( ( HibernateProxy ) dp ).getHibernateLazyInitializer().isReadOnlySettingAvailable() ); } finally { s.delete( dp ); s.getTransaction().commit(); s.close(); } }
private void checkProxyReadOnly(Session s, Object proxy, boolean expectedReadOnly) { assertTrue( proxy instanceof HibernateProxy ); LazyInitializer li = ( ( HibernateProxy ) proxy ).getHibernateLazyInitializer(); assertSame( s, li.getSession() ); assertEquals( expectedReadOnly, s.isReadOnly( proxy ) ); assertEquals( expectedReadOnly, li.isReadOnly() ); assertEquals( Hibernate.isInitialized( proxy ), ! li.isUninitialized() ); if ( Hibernate.isInitialized( proxy ) ) { assertEquals( expectedReadOnly, s.isReadOnly( li.getImplementation() ) ); } }
private void checkReadOnly(Session s, Object proxy, boolean expectedReadOnly) { assertTrue( proxy instanceof HibernateProxy ); LazyInitializer li = ( ( HibernateProxy ) proxy ).getHibernateLazyInitializer(); assertSame( s, li.getSession() ); assertEquals( expectedReadOnly, s.isReadOnly( proxy ) ); assertEquals( expectedReadOnly, li.isReadOnly() ); assertEquals( Hibernate.isInitialized( proxy ), ! li.isUninitialized() ); if ( Hibernate.isInitialized( proxy ) ) { assertEquals( expectedReadOnly, s.isReadOnly( li.getImplementation() ) ); } } }
isReadOnly = ( (HibernateProxy) proxy ).getHibernateLazyInitializer().isReadOnly();
@Override public boolean isReadOnly() { return this.lazyInitializer.isReadOnly(); }
isReallyReadOnly = ( (HibernateProxy) proxy ).getHibernateLazyInitializer().isReadOnly();
@Override public boolean isReadOnly(Object entityOrProxy) { if ( entityOrProxy == null ) { throw new AssertionFailure( "object must be non-null." ); } boolean isReadOnly; if ( entityOrProxy instanceof HibernateProxy ) { isReadOnly = ( (HibernateProxy) entityOrProxy ).getHibernateLazyInitializer().isReadOnly(); } else { final EntityEntry ee = getEntry( entityOrProxy ); if ( ee == null ) { throw new TransientObjectException("Instance was not associated with this persistence context" ); } isReadOnly = ee.isReadOnly(); } return isReadOnly; }
@Override public boolean isReadOnly(Object entityOrProxy) { if ( entityOrProxy == null ) { throw new AssertionFailure( "object must be non-null." ); } boolean isReadOnly; if ( entityOrProxy instanceof HibernateProxy ) { isReadOnly = ( ( HibernateProxy ) entityOrProxy ).getHibernateLazyInitializer().isReadOnly(); } else { EntityEntry ee = getEntry( entityOrProxy ); if ( ee == null ) { throw new TransientObjectException("Instance was not associated with this persistence context" ); } isReadOnly = ee.isReadOnly(); } return isReadOnly; }
@Override public boolean isReadOnly(Object entityOrProxy) { if ( entityOrProxy == null ) { throw new AssertionFailure( "object must be non-null." ); } boolean isReadOnly; if ( entityOrProxy instanceof HibernateProxy ) { isReadOnly = ( ( HibernateProxy ) entityOrProxy ).getHibernateLazyInitializer().isReadOnly(); } else { EntityEntry ee = getEntry( entityOrProxy ); if ( ee == null ) { throw new TransientObjectException("Instance was not associated with this persistence context" ); } isReadOnly = ee.isReadOnly(); } return isReadOnly; }
boolean readOnlyOrig = ( ( HibernateProxy ) proxyOrig ).getHibernateLazyInitializer().isReadOnly(); ( ( HibernateProxy ) proxy ).getHibernateLazyInitializer().setReadOnly( readOnlyOrig );
boolean readOnlyOrig = ( ( HibernateProxy ) proxyOrig ).getHibernateLazyInitializer().isReadOnly(); ( ( HibernateProxy ) proxy ).getHibernateLazyInitializer().setReadOnly( readOnlyOrig );
final boolean readOnlyOrig = originalHibernateProxy.getHibernateLazyInitializer().isReadOnly(); narrowedProxy.getHibernateLazyInitializer().setReadOnly( readOnlyOrig );
isReadOnly = ( ( HibernateProxy ) proxy ).getHibernateLazyInitializer().isReadOnly();
isReadOnly = ( ( HibernateProxy ) proxy ).getHibernateLazyInitializer().isReadOnly();
isReallyReadOnly = ( (HibernateProxy) proxy ).getHibernateLazyInitializer().isReadOnly();
isReallyReadOnly = ( ( HibernateProxy ) proxy ).getHibernateLazyInitializer().isReadOnly();
isReallyReadOnly = ( ( HibernateProxy ) proxy ).getHibernateLazyInitializer().isReadOnly();