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

Thomas Hug resolved DELTASPIKE-606.
-----------------------------------

    Resolution: Fixed

> Simplified DTO mapping for Entity updates
> -----------------------------------------
>
>                 Key: DELTASPIKE-606
>                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-606
>             Project: DeltaSpike
>          Issue Type: Improvement
>          Components: Data-Module
>            Reporter: Thomas Hug
>            Assignee: Thomas Hug
>             Fix For: 0.8
>
>
> Updating a DTO currently still requires custom code in a mapper. This should 
> be reduced to a minimum in the mapper base class.
> SimpleQueryInOutMapperBase:
> {code:java}
> @Inject
> private QueryInvocationContext context;
> protected abstract Object getPrimaryKey(Dto dto);
> protected E findEntity(Object pk)
> {
>     return (E) context.getEntityManager().find(context.getEntityClass(), pk);
> } 
> @Override
> public Object mapParameter(final Object parameter)
> {
>     Object pk = getPrimaryKey((Dto) parameter);
>     if (pk != null)
>     {
>         E entity = findEntity(pk);
>         return toEntity(entity, (Dto) parameter);
>     }
>     return toEntity(newEntity(), (Dto) parameter);
> }
> {code}
> Note that this is an API breaking change (toEntity).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to