Thomas Hug created DELTASPIKE-606:
-------------------------------------
Summary: 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)