cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Quinn <>
Subject Re: persisting re-arranged repeater-rows
Date Tue, 25 Nov 2003 14:22:47 GMT

On 25 Nov 2003, at 13:44, Hugo Burm wrote:

Hi Hugo, thanks for your help.

> What are you using for the Hibernate mapping? A Set or a List?

A java.util.List.

> I think you nee a List and set the <index> attribute (ch 5.2 of the
> Hibernate ref manual) to the index of your Woody ArrayList.

Albums are mapped like this (they use 'posn' as the index) :

<class name="" table="albums">
	<id name="id" column="id" type="long">
		<generator class="native"/>
	<property name="title" type="string" length="128" not-null="true"/>
	<property name="text" type="string" length="1024" not-null="true"/>
	<property name="publishable" type="boolean" not-null="true"/>
	<property name="modified" type="timestamp"/>
	<many-to-one name="user" class="" column="userid" 
	<list name="resources" table="resources" cascade="all" lazy="true">
		<key column="albumid"/>
		<index column="posn"/>
		<one-to-many class=""/>

The Resource mapping looks like this :

<class name="" table="resources">
	<id name="id" column="id" type="long">
		<generator class="native"/>
	<property name="text" type="string" length="1024" not-null="true"/>
	<property name="reference" type="string" length="512" not-null="true"/>

This jUnit tests successfully re-arrange the Resources :

// re-arrange test
((Resource)resources.get (0)).setText ("blah");
Resource temp = (Resource)resources.get (1);
resources.set (1, resources.get (0));
resources.set (0, temp);, album);
SESSION.refresh (album);
assertTrue ("Resources not re-arranged", ((Resource)album.getResources 
().get (1)).getText ().equals ("blah"));

This is basically a copy of how Woody does it.
When this runs, I see the 'posn' being updated by Hibernate.

However, when you call (album); and then persist the Album, 
the reverse-binding has not effected the positioning of the Persisted 

Hibernate is not updating 'posn' when the Albums is persisted after the 
re-arrangement, when that re-arrangement has been done by Woody.

> I guess one of the problems will be sorting after you added a new item,
> because the new item does not yet have an id in Woody.

I have not got that far yet ;)

regards Jeremy

> Hugo Burm
>> -----Original Message-----
>> From: Jeremy Quinn []
>> Sent: 25 November 2003 13:47
>> To:
>> Subject: persisting re-arranged repeater-rows
>> Hi All,
>> I am struggling with persisting re-arranged repeater rows.
>> I have a form that edits an Album Bean which has a (java.util.List)
>> 'Resources' Property which is populated by Resource Beans.
>> I have the List of Resource Beans represented in the form as a
>> repeater-widget, with move-up, move-down buttons.
>> When I click one of the up/down buttons, the repeater-rows get
>> re-arranged correctly in the form.
>> When I save the Album (I am using Hibernate, with cascading)
>> the change
>> in the ordering is not persisted.
>> I am clearly missing something ..... has anyone else had with
>> a similar
>> issue?
>> Any suggestions?
>> Thanks for any help
>> regards Jeremy

View raw message