cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: [VOTE] 3.1B2
Date Sun, 17 Feb 2013 13:49:07 GMT
Resuming the vote.. 

I investigated the issue with the mapping and found it to be a user mapping error. There's
room for validation improvement there, but no Cayenne bug as such. I'll wait till Dima confirms
this before closing the vote, but I think it is safe now to resume the vote. 

Andrus

On Feb 15, 2013, at 4:43 PM, Andrus Adamchik <andrus@objectstyle.org> wrote:

> Ok, I checked with Dima - my fix per CAY-1794 didn't help. I'll have to spend some more
time reproducing the problem. I guess I'll be suspending the vote for a few days until we
identify the problem and decide whether it warrants the release cancelation.
> 
> Andrus
> 
> On Feb 15, 2013, at 2:50 PM, Andrus Adamchik <andrus@objectstyle.org> wrote:
> 
>> Thanks for the information. Let me try to reproduce this. 
>> 
>> On Feb 15, 2013, at 11:32 AM, Dzmitry Kazimirchyk <dkazimirchyk@gmail.com>
wrote:
>> 
>>> From what I was able to find now it seems like it is related to CAY-1729. I'm
not sure how it used to work before but now for us the problem is that we have id property
declared in super entity and inherited by sub entities. Now this property is present in every
sub entity descriptor's declaredProperties list which itself looks like it is meant to accumulate
only NEW UNIQUE properties declared in sub entities and not present in parent. This in turn
leads to id column descriptor type of super entity always being reset to VOID by following
code inside SelectTranslator and therefore field always containing null value.
>>> 
>>>  private void appendColumn(..........  {
>>>      if (skipSet.add(new ColumnTracker(alias, attribute))) {
>>>         ..... add new column descriptor.......
>>>      }
>>>      else if (objAttribute != null) {
>>>          .............
>>>          for (ColumnDescriptor column : columns) {
>>>              if (attribute.getName().equals(column.getName())) {
>>>                  ........
>>>                  if (original != null) {
>>>                      if (attributeOverrides == null) {
>>>                          attributeOverrides = new HashMap<ObjAttribute, ColumnDescriptor>();
>>>                      }
>>> 
>>>                      attributeOverrides.put(original, column);
>>>                      column.setJavaClass(Void.TYPE.getName());
>>>                  }
>>>                  ..............
>>>              }
>>>          }
>>>      }
>>>  }
>>> 
>>> ELSE part is executed if the attribute is already present: the case we get with
id props coming again from sub entities.
>>> 
>>> Not sure if my rough investigation is helpful in some way but probably might
be a place to start with.
>>> 
>>> Dima
>>> 
>>> On 02/15/2013 01:29 PM, Andrus Adamchik wrote:
>>>> Dima, do you have the details of the problem to post on this list?
>>> 
>>> 
>> 
>> 
> 
> 


Mime
View raw message