Hi Andrus,

We sometimes get this exception:

Sorting objects for [entity] failed. Cycles found.

This is obviously coming out of AshwoodEntitySorter.java.  Do you
think the annotation would help in that circumstance?  I'm just now
starting to investigate this and another graph issue we are having.

Thanks,

mrg


On Fri, Mar 25, 2011 at 3:48 AM, Andrus Adamchik <[email protected]> wrote:
> You can already override the sorter via DI (and create a chain yourself, 
> decorated as EntitySorter interface). The sorter has the same scope as 
> Cayenne stack, although I guess internal implementation can be done as 
> dynamic strategy based on contextual parameters.
>
> Suggested annotation is a way to attach a per-entity piece of configuration 
> that can be used by the sorter. Due to the nature of the annotations it will 
> also have a stack lifetime scope.
>
> Andrus
>
>
> On Mar 25, 2011, at 1:03 AM, Aristedes Maniatis wrote:
>
>> How pluggable is the sorter? Could a user specify a different sorter for one 
>> particular commit? Or for a whole context? Or chain the sorters so that 
>> Ashwood is used first and then another sorter is used to adjust the results 
>> under particular circumstances?
>>
>>
>> Ari
>>
>> On 25/03/11 5:00 AM, Andrus Adamchik wrote:
>>> Here is an algorithm analysis task for graph-theory-minded folks. I came up 
>>> with the @SortWeight solution below for a very specific problem when commit 
>>> operation ordering can not be derived from the cross-entity relationships 
>>> in the DataMap. Now I wondering how many other cases raised on this list 
>>> that are not addressed by the default AshwoodEntitySorter can be solved by 
>>> manually overriding entities ordering "weight"?
>>>
>>> Andrus
>>>
>>>
>>> On Mar 24, 2011, at 4:50 PM, Andrus Adamchik (JIRA) wrote:
>>>
>>>> cayenne-lifecycle: @SortWeight annotation
>>>> ------------------------------------------
>>>>
>>>>                Key: CAY-1553
>>>>                URL: https://issues.apache.org/jira/browse/CAY-1553
>>>>            Project: Cayenne
>>>>         Issue Type: Task
>>>>         Components: Lifecycle Extensions
>>>>   Affects Versions: 3.1M2
>>>>           Reporter: Andrus Adamchik
>>>>           Assignee: Andrus Adamchik
>>>>
>>>>
>>>> Sometimes it is useful to manually override the operation ordering for 
>>>> some entities. E.g. per CAY-1547 we support UuidRelationships, but saving 
>>>> an object with a UuidRelationship to another object does not generate 
>>>> correct ordering. So we may want to override default ordering for entities 
>>>> annotated with @UuidRelationship. E.g.:
>>>>
>>>> @SortWeight(1.1)
>>>> @UuidRelationship("UUID")
>>>> class My extends _My {}
>>>>
>>>> Note that this approach will not be able to address all shortcomings of a 
>>>> generic AshwoodEntitySorter. It is somewhat of a hack. So it will be 
>>>> placed in cayenne-lifecycle and treated as an "extension".
>>>>
>>>> --
>>>> This message is automatically generated by JIRA.
>>>> For more information on JIRA, see: http://www.atlassian.com/software/jira
>>>>
>>>
>>
>> --
>> -------------------------->
>> Aristedes Maniatis
>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
>>
>
>

Reply via email to