Return-Path: X-Original-To: apmail-tapestry-dev-archive@www.apache.org Delivered-To: apmail-tapestry-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2EA64187D0 for ; Sat, 27 Jun 2015 03:27:05 +0000 (UTC) Received: (qmail 82296 invoked by uid 500); 27 Jun 2015 03:27:04 -0000 Delivered-To: apmail-tapestry-dev-archive@tapestry.apache.org Received: (qmail 82243 invoked by uid 500); 27 Jun 2015 03:27:04 -0000 Mailing-List: contact commits-help@tapestry.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tapestry.apache.org Delivered-To: mailing list commits@tapestry.apache.org Received: (qmail 82233 invoked by uid 99); 27 Jun 2015 03:27:04 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 27 Jun 2015 03:27:04 +0000 Date: Sat, 27 Jun 2015 03:27:04 +0000 (UTC) From: "Thiago H. de Paula Figueiredo (JIRA)" To: commits@tapestry.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Closed] (TAP5-2029) Copy annotations from service implementation to proxy (was JPA annotations expose implementation details in service interfaces) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/TAP5-2029?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thiago H. de Paula Figueiredo closed TAP5-2029. ----------------------------------------------- Resolution: Fixed Fix Version/s: 5.4 One year and a half after starting working on this ticket, I think I've finally finished it, also finishing the Month of Tapestry. Now the implementation handles generic interfaces (in a best effort basis) and the same class, method or parameter being annotated both in the interface and in the service implementation. > Copy annotations from service implementation to proxy (was JPA annotations expose implementation details in service interfaces) > ------------------------------------------------------------------------------------------------------------------------------- > > Key: TAP5-2029 > URL: https://issues.apache.org/jira/browse/TAP5-2029 > Project: Tapestry 5 > Issue Type: Improvement > Components: tapestry-ioc > Affects Versions: 5.3.6, 5.4 > Reporter: John Coleman > Assignee: Thiago H. de Paula Figueiredo > Priority: Minor > Labels: month-of-tapestry > Fix For: 5.4 > > Attachments: 0001-TAP5-2029-Test-case-involving-generic-interface.patch > > > The commit after and persistence context annotations are required on the service interface definition thereby exposing internal implementation details (see below example from docs). Details of implementation should be hidden at the interface level, both these annotations break the rule. > Perhaps this code could appear in the Impl classes, or be provided in configuration somehow? > public interface UserDAO { > @CommitAfter > @PersistenceContext(unitName = "DemoUnit") > void add(User user); -- This message was sent by Atlassian JIRA (v6.3.4#6332)