|
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>
|