Hello,
I have noticed that running the appended test case requires
a small change in BaseContentImpl, the super class of Paper:
add the following accessors:
public List getQualifiers()
{
return qualifiers;
}
public void setQualifiers(List qualifiers)
{
this.qualifiers = qualifiers;
}
BTW: the field BaseContentImpl.qualifiers in currently unused.
Intended?
If someone could please verify that this is a bug, then I will
try to fix it. It currently prevents us from
updating to current CVS head, and I do not want to
change our application unless I have to.
Olli
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, June 17, 2003 8:38 AM
> To: [EMAIL PROTECTED]
> Subject: updating n-m relation with rc4
>
>
> Hello,
>
> I have noiticed a change of behaviour from
> rc3 to rc4 which I consider a bug.
>
> I have wrote a junit test case that reveals the behaviour.
> Recall that Paper has a collection of Qualifiers,
> which is mapped to an indirection table.
> The collection-descriptor (in repository_junit.xml)
> has auto-update="false".
>
> public void testStorePaper()
> {
> String now = new Date().toString();
> Paper paper = new Paper();
> paper.setAuthor("Jonny Myers");
> paper.setDate(now);
> Qualifier qual = new Topic();
> qual.setName("qual " + now);
> paper.setQualifiers(Arrays.asList(new Qualifier[] {qual}));
> broker.beginTransaction();
> broker.store(paper); // will appear in the database
> broker.store(qual); // will appear in the database
> Identity paperId = new Identity(paper, broker);
> broker.commitTransaction();
> // now the indirection table CONTENT_QUALIFIER is still empty.
>
> broker.clearCache();
>
> broker.beginTransaction();
> Paper retPaper = (Paper)broker.getObjectByIdentity(paperId);
> System.out.println("retrieved: " + retPaper);
> List qualifiers = retPaper.getQualifiers(); // should
> contain the above
> qual.
> System.out.println("ret qualifiers: " + qualifiers);
> assertEquals(1, qualifiers.size()); // fails, qualifiers
> is empty !
> broker.commitTransaction();
> }
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]