From: <hib...@li...> - 2006-07-24 17:57:19
|
Author: epbernard Date: 2006-07-24 13:57:17 -0400 (Mon, 24 Jul 2006) New Revision: 10144 Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/Hammer.java branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/ProxyBreakingTest.java branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/Tool.java branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/hammer.hbm.xml Log: HHH-1938 test Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/Hammer.java =================================================================== --- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/Hammer.java 2006-07-24 17:56:29 UTC (rev 10143) +++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/Hammer.java 2006-07-24 17:57:17 UTC (rev 10144) @@ -0,0 +1,21 @@ +//$Id: $ +package org.hibernate.test.bytecode.javassist; + +/** + * @author Emmanuel Bernard + */ +public class Hammer implements Tool { + private Long id; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Integer usage() { + return 0; + } +} Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/ProxyBreakingTest.java =================================================================== --- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/ProxyBreakingTest.java 2006-07-24 17:56:29 UTC (rev 10143) +++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/ProxyBreakingTest.java 2006-07-24 17:57:17 UTC (rev 10144) @@ -0,0 +1,48 @@ +//$Id: $ +package org.hibernate.test.bytecode.javassist; + +import org.hibernate.Session; +import org.hibernate.Transaction; +import org.hibernate.Hibernate; +import org.hibernate.cfg.Configuration; +import org.hibernate.test.TestCase; + +/** + * @author Emmanuel Bernard + */ +public class ProxyBreakingTest extends TestCase { + + static { + System.setProperty( "hibernate.bytecode.provider", "javassist" ); + } + + public void testProxiedBridgeMethod() throws Exception { + //bridge methods should not be proxied + Session s = openSession( ); + Transaction tx = s.beginTransaction(); + Hammer h = new Hammer(); + s.save(h); + s.flush(); + s.clear(); + assertNotNull( "The proxy creation failure is breaking things", h.getId() ); + h = (Hammer) s.load( Hammer.class, h.getId() ); + assertFalse( Hibernate.isInitialized( h ) ); + tx.rollback(); + s.close(); + } + + public ProxyBreakingTest(String name) { + super( name ); + } + + protected String[] getMappings() { + return new String[] { + "bytecode/javassist/Hammer.hbm.xml" + }; + } + + @Override + protected void configure(Configuration cfg) { + super.configure( cfg.setProperty( "hibernate.bytecode.provider", "javassist" ) ); + } +} Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/Tool.java =================================================================== --- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/Tool.java 2006-07-24 17:56:29 UTC (rev 10143) +++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/Tool.java 2006-07-24 17:57:17 UTC (rev 10144) @@ -0,0 +1,13 @@ +//$Id: $ +package org.hibernate.test.bytecode.javassist; + +/** + * @author Emmanuel Bernard + */ +public interface Tool { + public Long getId(); + + public void setId(Long id); + + public Number usage(); +} Added: branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/hammer.hbm.xml =================================================================== --- branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/hammer.hbm.xml 2006-07-24 17:56:29 UTC (rev 10143) +++ branches/Branch_3_2/Hibernate3/test/org/hibernate/test/bytecode/javassist/hammer.hbm.xml 2006-07-24 17:57:17 UTC (rev 10144) @@ -0,0 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE hibernate-mapping PUBLIC + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<hibernate-mapping package="org.hibernate.test.bytecode.javassist"> + <class name="Hammer"> + <id name="id" type="java.lang.Long"> + <generator class="increment"/> + </id> + </class> +</hibernate-mapping> |