Return-Path: X-Original-To: apmail-cxf-commits-archive@www.apache.org Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C55F810B4D for ; Mon, 19 Jan 2015 11:09:44 +0000 (UTC) Received: (qmail 7602 invoked by uid 500); 19 Jan 2015 11:09:41 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 7538 invoked by uid 500); 19 Jan 2015 11:09:41 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 7529 invoked by uid 99); 19 Jan 2015 11:09:41 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Jan 2015 11:09:41 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id A14D1E0383; Mon, 19 Jan 2015 11:09:41 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sergeyb@apache.org To: commits@cxf.apache.org Date: Mon, 19 Jan 2015 11:09:41 -0000 Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: [1/2] cxf git commit: Minor updates to JAXRS Factory beans to make it easier ovveride some of the checks Repository: cxf Updated Branches: refs/heads/master f429d8afd -> 8cd3eb88f Minor updates to JAXRS Factory beans to make it easier ovveride some of the checks Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/c36d8d8f Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/c36d8d8f Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/c36d8d8f Branch: refs/heads/master Commit: c36d8d8fa79af3581feba355af866a109187f76f Parents: 4fa4691 Author: Sergey Beryozkin Authored: Mon Jan 19 11:08:45 2015 +0000 Committer: Sergey Beryozkin Committed: Mon Jan 19 11:08:45 2015 +0000 ---------------------------------------------------------------------- .../org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java | 9 +++++++-- .../java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java | 10 ++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/c36d8d8f/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java index dbddd9b..b9dfbbf 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java @@ -304,8 +304,7 @@ public class AbstractJAXRSFactoryBean extends AbstractEndpointFactory { if (server) { for (Iterator it = list.iterator(); it.hasNext();) { ClassResourceInfo cri = it.next(); - if (cri.isCreatedFromModel() && cri.getServiceClass() == cri.getResourceClass() - && !InjectionUtils.isConcreteClass(cri.getServiceClass())) { + if (!isValidClassResourceInfo(cri)) { it.remove(); } } @@ -319,6 +318,12 @@ public class AbstractJAXRSFactoryBean extends AbstractEndpointFactory { } } + protected boolean isValidClassResourceInfo(ClassResourceInfo cri) { + Class serviceCls = cri.getServiceClass(); + return !(cri.isCreatedFromModel() && serviceCls == cri.getResourceClass() + && !InjectionUtils.isConcreteClass(serviceCls)); + } + protected void setupFactory(ProviderFactory factory, Endpoint ep) { if (providerComparator != null) { factory.setProviderComparator(providerComparator); http://git-wip-us.apache.org/repos/asf/cxf/blob/c36d8d8f/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java index 5378854..1c35647 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java @@ -398,7 +398,7 @@ public class JAXRSServerFactoryBean extends AbstractJAXRSFactoryBean { this.start = start; } - private void injectContexts() { + protected void injectContexts() { Application application = appProvider == null ? null : appProvider.getProvider(); for (ClassResourceInfo cri : serviceFactory.getClassResourceInfo()) { if (cri.isSingleton()) { @@ -423,14 +423,16 @@ public class JAXRSServerFactoryBean extends AbstractJAXRSFactoryBean { if (rp != null) { cri.setResourceProvider(rp); } else { - //default lifecycle is per-request - rp = new PerRequestResourceProvider(cri.getResourceClass()); - cri.setResourceProvider(rp); + setDefaultResourceProvider(cri); } } injectContexts(); } + protected void setDefaultResourceProvider(ClassResourceInfo cri) { + cri.setResourceProvider(new PerRequestResourceProvider(cri.getResourceClass())); + } + /** * Set the reference to the document (WADL, etc) describing the endpoint * @param documentLocation document location