From: <one...@us...> - 2003-01-19 11:47:13
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv29025/sf/hibernate/test Modified Files: Foo.java FooBarTest.java Glarch.hbm.xml Glarch.java GlarchProxy.java Log Message: added DynaBean support Index: Foo.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/Foo.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Foo.java 5 Jan 2003 02:11:23 -0000 1.3 --- Foo.java 19 Jan 2003 11:47:08 -0000 1.4 *************** *** 2,12 **** package net.sf.hibernate.test; - import net.sf.hibernate.*; - import net.sf.hibernate.Session; - import java.io.Serializable; import java.sql.Timestamp; import java.util.Date; import java.util.Locale; public class Foo implements Lifecycle, FooProxy, Serializable { --- 2,13 ---- package net.sf.hibernate.test; import java.io.Serializable; import java.sql.Timestamp; import java.util.Date; import java.util.Locale; + + import net.sf.hibernate.CallbackException; + import net.sf.hibernate.Lifecycle; + import net.sf.hibernate.Session; public class Foo implements Lifecycle, FooProxy, Serializable { Index: FooBarTest.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/FooBarTest.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** FooBarTest.java 15 Jan 2003 10:33:17 -0000 1.10 --- FooBarTest.java 19 Jan 2003 11:47:08 -0000 1.11 *************** *** 59,62 **** --- 59,95 ---- } + public void testDyna() throws Exception { + Session s = sessions.openSession(); + GlarchProxy g = new Glarch(); + Serializable id = s.save(g); + s.flush(); + s.connection().commit(); + s.close(); + + s = sessions.openSession(); + g = (GlarchProxy) s.load(Glarch.class, id); + assertTrue( g.getDynaBean().get("foo").equals("foo") && g.getDynaBean().get("bar").equals( new Integer(66) ) ); + g.getDynaBean().set("foo", "bar"); + s.flush(); + s.connection().commit(); + s.close(); + + s = sessions.openSession(); + g = (GlarchProxy) s.load(Glarch.class, id); + assertTrue( g.getDynaBean().get("foo").equals("bar") && g.getDynaBean().get("bar").equals( new Integer(66) ) ); + g.setDynaBean(null); + s.flush(); + s.connection().commit(); + s.close(); + + s = sessions.openSession(); + g = (GlarchProxy) s.load(Glarch.class, id); + assertTrue( g.getDynaBean()==null ); + s.delete(g); + s.flush(); + s.connection().commit(); + s.close(); + } + public void testAfterDelete() throws Exception { Session s = sessions.openSession(); Index: Glarch.hbm.xml =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/Glarch.hbm.xml,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** Glarch.hbm.xml 1 Jan 2003 13:57:07 -0000 1.1.1.1 --- Glarch.hbm.xml 19 Jan 2003 11:47:08 -0000 1.2 *************** *** 1,4 **** <?xml version="1.0"?> ! <!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping.dtd" > <hibernate-mapping> --- 1,4 ---- <?xml version="1.0"?> ! <!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" > <hibernate-mapping> *************** *** 13,22 **** <many-to-one name="next" column="next_" class="net.sf.hibernate.test.Glarch"/> <property name="order" column="order_"/> ! <list role="strings"> <key column="glarch_key"/> <index column="i"/> <element type="string" column="tha_stryng"/> </list> ! <list role="fooComponents" lazy="true" cascade="all"> <key column="glarch_key"/> <index column="tha_indecks"/> --- 13,26 ---- <many-to-one name="next" column="next_" class="net.sf.hibernate.test.Glarch"/> <property name="order" column="order_"/> ! <dynabean name="dynaBean" dynaclass="foo"> ! <property name="foo" type="string"/> ! <property name="bar" type="integer"/> ! </dynabean> ! <list name="strings"> <key column="glarch_key"/> <index column="i"/> <element type="string" column="tha_stryng"/> </list> ! <list name="fooComponents" lazy="true" cascade="all"> <key column="glarch_key"/> <index column="tha_indecks"/> *************** *** 31,40 **** </composite-element> </list> ! <array role="proxyArray" element-class="net.sf.hibernate.test.GlarchProxy"> <key column="array_key"/> <index column="array_indecks"/> <one-to-many class="net.sf.hibernate.test.Glarch"/> </array> ! <set role="proxySet"> <key column="set_key"/> <one-to-many class="net.sf.hibernate.test.Glarch"/> --- 35,44 ---- </composite-element> </list> ! <array name="proxyArray" element-class="net.sf.hibernate.test.GlarchProxy"> <key column="array_key"/> <index column="array_indecks"/> <one-to-many class="net.sf.hibernate.test.Glarch"/> </array> ! <set name="proxySet"> <key column="set_key"/> <one-to-many class="net.sf.hibernate.test.Glarch"/> Index: Glarch.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/Glarch.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Glarch.java 5 Jan 2003 02:11:23 -0000 1.3 --- Glarch.java 19 Jan 2003 11:47:08 -0000 1.4 *************** *** 11,15 **** --- 11,22 ---- import net.sf.hibernate.Session; + import org.apache.commons.beanutils.DynaBean; + import org.apache.commons.beanutils.DynaClass; + import org.apache.commons.beanutils.BasicDynaBean; + import org.apache.commons.beanutils.DynaProperty; + import org.apache.commons.beanutils.BasicDynaClass; + public class Glarch implements GlarchProxy, Lifecycle, Named, Serializable { + private int version; private String name; *************** *** 22,25 **** --- 29,33 ---- private Set proxySet; //private Currency currency = Currency.getInstance( Locale.getDefault() ); + private transient DynaBean dynaBean; public int getVersion() { *************** *** 103,106 **** --- 111,130 ---- public boolean onSave(Session s) throws CallbackException { + DynaClass dc = new BasicDynaClass( + "dyna", + BasicDynaBean.class, + new DynaProperty[] { + new DynaProperty("foo", String.class), + new DynaProperty("bar", Integer.class) + } + ); + try { + dynaBean = dc.newInstance(); + } + catch (Exception e) { + throw new CallbackException(e); + } + dynaBean.set("foo", "foo"); + dynaBean.set("bar", new Integer(66)); return NO_VETO; } *************** *** 118,121 **** --- 142,161 ---- }*/ + /** + * Returns the dynaBean. + * @return DynaBean + */ + public DynaBean getDynaBean() { + return dynaBean; + } + + /** + * Sets the dynaBean. + * @param dynaBean The dynaBean to set + */ + public void setDynaBean(DynaBean dynaBean) { + this.dynaBean = dynaBean; + } + } Index: GlarchProxy.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/GlarchProxy.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** GlarchProxy.java 5 Jan 2003 02:11:23 -0000 1.3 --- GlarchProxy.java 19 Jan 2003 11:47:08 -0000 1.4 *************** *** 1,5 **** package net.sf.hibernate.test; ! import java.util.*; public interface GlarchProxy { --- 1,9 ---- package net.sf.hibernate.test; ! import java.util.List; ! import java.util.Map; ! import java.util.Set; ! ! import org.apache.commons.beanutils.DynaBean; public interface GlarchProxy { *************** *** 19,22 **** --- 23,29 ---- public List getStrings(); public void setStrings(List strings); + + public DynaBean getDynaBean(); + public void setDynaBean(DynaBean bean); public Map getStringSets(); |