[ 
https://issues.apache.org/jira/browse/ISIS-1101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Haywood updated ISIS-1101:
------------------------------
    Fix Version/s:     (was: 1.10.0)
                   1.9.0

> Avoid unexpected concurrency exceptions if using a custom page.
> ---------------------------------------------------------------
>
>                 Key: ISIS-1101
>                 URL: https://issues.apache.org/jira/browse/ISIS-1101
>             Project: Isis
>          Issue Type: Improvement
>          Components: Core: Viewer: Wicket
>    Affects Versions: core-1.8.0
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>            Priority: Minor
>             Fix For: 1.9.0
>
>
> The Wicket viewer uses the redirect-after-post strategy, meaning that after 
> an action is invoked, an EntityModel (wrapping the oid of the entity) is 
> serialized as the content of the next page to show, but the browser is then 
> returned as 30x response.  The browser then reloads the page afresh.
> However, the entity model will (normally) encode the oid of the entity before 
> the xactn of the first request has completed; if that entity is modified (as 
> is normally the case) then that oid is stale.
> To counteract this the EntityPage page uses the onBeforeRender hook to load 
> the objectAdapter from the EntityModel without concurrency checking.
> So far so good.
> However, the Wicket viewer also supports custom home pages.  If these are 
> rendered for the resultant entity then this hook is not called, resulting in 
> a concurrency check exception.
> This ticket is therefore for the component factories (that render the object 
> after the redirect) to load the entity without concurrent checking; this will 
> allow them to work even if embedded in custom pages.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to