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 C20A518604 for ; Fri, 4 Mar 2016 08:56:38 +0000 (UTC) Received: (qmail 54953 invoked by uid 500); 4 Mar 2016 08:56:38 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 54890 invoked by uid 500); 4 Mar 2016 08:56:38 -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 54881 invoked by uid 99); 4 Mar 2016 08:56:38 -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; Fri, 04 Mar 2016 08:56:38 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 70A44DFC6F; Fri, 4 Mar 2016 08:56:38 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: ema@apache.org To: commits@cxf.apache.org Message-Id: <8a61bddea44e4e558a68c4ef4bab4362@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: cxf git commit: [CXF-6819]:ConfigurationImp returns wrong value for isRegistered(Object obj) Date: Fri, 4 Mar 2016 08:56:38 +0000 (UTC) Repository: cxf Updated Branches: refs/heads/master 7044b08a9 -> 42fa890e7 [CXF-6819]:ConfigurationImp returns wrong value for isRegistered(Object obj) Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/42fa890e Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/42fa890e Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/42fa890e Branch: refs/heads/master Commit: 42fa890e7069ece5ef662e88887cd2aec9cbc62c Parents: 7044b08 Author: Jim Ma Authored: Fri Mar 4 16:55:10 2016 +0800 Committer: Jim Ma Committed: Fri Mar 4 16:56:27 2016 +0800 ---------------------------------------------------------------------- .../org/apache/cxf/jaxrs/impl/ConfigurationImpl.java | 13 +++++++++++-- .../apache/cxf/jaxrs/impl/ConfigurationImplTest.java | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/42fa890e/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurationImpl.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurationImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurationImpl.java index 57b65c8..f1dfdce 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurationImpl.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurationImpl.java @@ -141,7 +141,12 @@ public class ConfigurationImpl implements Configuration { @Override public boolean isRegistered(Object obj) { - return isRegistered(obj.getClass()); + for (Object o : getInstances()) { + if (o.equals(obj)) { + return true; + } + } + return false; } @Override @@ -171,8 +176,12 @@ public class ConfigurationImpl implements Configuration { register(provider, initContractsMap(bindingPriority, contracts)); } - public boolean register(Object provider, Map, Integer> contracts) { + public boolean register(Object provider, Map, Integer> contracts) { if (provider.getClass() == Class.class) { + if (isRegistered((Class)provider)) { + LOG.warning("Provider class " + ((Class)provider).getName() + " has already been registered"); + return false; + } provider = createProvider((Class)provider); } if (isRegistered(provider)) { http://git-wip-us.apache.org/repos/asf/cxf/blob/42fa890e/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ConfigurationImplTest.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ConfigurationImplTest.java b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ConfigurationImplTest.java index b5dbd6c..5363d16 100644 --- a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ConfigurationImplTest.java +++ b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ConfigurationImplTest.java @@ -39,6 +39,7 @@ public class ConfigurationImplTest extends Assert { assertTrue(c.register(filter, Collections., Integer>singletonMap(ContainerResponseFilter.class, 1000))); assertTrue(c.isRegistered(filter)); + assertFalse(c.isRegistered(new ContainerResponseFilterImpl())); assertTrue(c.isRegistered(ContainerResponseFilterImpl.class)); assertFalse(c.isRegistered(ContainerResponseFilter.class)); assertFalse(c.register(filter,