Hi Andrus !
I was away for some time, I'm sorry that I had not replied to your
email.
We are about to release some intermediate version, and right after
that w would look at moving to HEAD.
We can live with many to many count broken for some time.
Thank you
Marcin
On 07/08/2006, at 11:14 AM, Andrus Adamchik wrote:
Hi Marcin,
I just tried to reproduce it with the code from HEAD, and it seems
to work
(CayenneContextClientChannelEventsTst.testSyncManyToManyRelationship1)
. Don't know if you have an opportunity to upgrade from 3.0-PROTO
to HEAD (this will require package changes to Apache, and also
using the new Modeler from HEAD). If not, please either submit your
test case via Jira or send it to me directly. Let's take a look.
Andrus
On Aug 6, 2006, at 3:35 AM, Marcin Skladaniec wrote:
Hi everyone !
I have a problem with some counts in flattened many to many
relationships. (remote persistence, v.3.0-PROTO July 5 2006)
Generally the problem is when object exist in two contexts and
the many to many relationship is modified.
To reproduce this :
CayenneContext context = new CayenneContext(channel, true, true);
CLocation location = (CLocation) context.newObject
(CLocation.class);
CSpiece spiece = (CSpiece) context.newObject(CSpiece.class);
context.commitChanges();
logger.warn("location has spieces : "+location.getSpieces
().size()); //prints 0 as supposed.
CayenneContext context2 = new CayenneContext(channel,
true, true);
CLocation loc = (CLocation)context2.localObject
(location.getObjectId(), null);
CSpiece sp = (CSpiece)context2.localObject(spiece.getObjectId(),
null);
loc.addToSpieces(sp);
context2.commitChanges();
logger.warn("loc has spieces : "+loc.getSpieces().size
()); // prints 1 as expected
logger.warn("location has spieces : "+location.getSpieces
().size());// prints 2, and here lies the problem.
printing all spieces for location gives two results :
1 - <[EMAIL PROTECTED],
id=<ObjectId:Spieceid=280>, state=committed,
[EMAIL PROTECTED]>
2 - <[EMAIL PROTECTED],
id=<ObjectId:Spieceid=280>, state=committed,
[EMAIL PROTECTED]>
Of course in context this object exists only once.
If new context is spawned everything works fine, but I cant use
new context in this case.
There is no problem as well when removing from relationship.
Is it a bug, or I'm doing something wrong here ?
Marcin
PS I have a small standalone project which reproduces this
problem, if it would be needed please e-mail me.
-------------------------->
ish
http://www.ish.com.au
Level 1, 30 Wilson Street Newtown 2042 Australia
phone +61 2 9550 5001 fax +61 2 9550 4001
-------------------------->
ish
http://www.ish.com.au
Level 1, 30 Wilson Street Newtown 2042 Australia
phone +61 2 9550 5001 fax +61 2 9550 4001