Return-Path: Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: (qmail 30053 invoked from network); 17 Jun 2009 10:54:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 17 Jun 2009 10:54:46 -0000 Received: (qmail 65431 invoked by uid 500); 17 Jun 2009 10:54:57 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 65347 invoked by uid 500); 17 Jun 2009 10:54:57 -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 65337 invoked by uid 99); 17 Jun 2009 10:54:57 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Jun 2009 10:54:57 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Jun 2009 10:54:53 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 3126C23888E7; Wed, 17 Jun 2009 10:54:32 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r785550 - in /cxf/dosgi/trunk/dsw/cxf-dsw/src: main/java/org/apache/cxf/dosgi/dsw/ main/java/org/apache/cxf/dosgi/dsw/handlers/ main/java/org/apache/cxf/dosgi/dsw/hooks/ test/java/org/apache/cxf/dosgi/dsw/hooks/ Date: Wed, 17 Jun 2009 10:54:31 -0000 To: commits@cxf.apache.org From: davidb@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090617105432.3126C23888E7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: davidb Date: Wed Jun 17 10:54:31 2009 New Revision: 785550 URL: http://svn.apache.org/viewvc?rev=785550&view=rev Log: Setting the service.imported.configs property on the consumer side. Modified: cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/Constants.java cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractPojoConfigurationTypeHandler.java cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ConfigurationTypeHandler.java cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/HttpServiceConfigurationTypeHandler.java cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/WsdlConfigurationTypeHandler.java cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/hooks/AbstractClientHook.java cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/hooks/AbstractClientHookTest.java cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/hooks/CxfPublishHookTest.java Modified: cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/Constants.java URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/Constants.java?rev=785550&r1=785549&r2=785550&view=diff ============================================================================== --- cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/Constants.java (original) +++ cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/Constants.java Wed Jun 17 10:54:31 2009 @@ -30,7 +30,9 @@ public static final String EXPORTED_INTENTS_EXTRA = "service.exported.intents.extra"; public static final String EXPORTED_INTENTS_OLD = "osgi.remote.requires.intents"; - public static final String IMPORTED = "service.imported"; + public static final String IMPORTED = "service.imported"; + public static final String IMPORTD_CONFIGS = "service.imported.configs"; + public static final String INTENTS = "service.intents"; // WSDL Modified: cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractPojoConfigurationTypeHandler.java URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractPojoConfigurationTypeHandler.java?rev=785550&r1=785549&r2=785550&view=diff ============================================================================== --- cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractPojoConfigurationTypeHandler.java (original) +++ cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractPojoConfigurationTypeHandler.java Wed Jun 17 10:54:31 2009 @@ -48,6 +48,7 @@ public abstract class AbstractPojoConfigurationTypeHandler extends AbstractConfigurationHandler { private static final Logger LOG = Logger.getLogger(AbstractPojoConfigurationTypeHandler.class.getName()); private static final String PROVIDED_INTENT_VALUE = "PROVIDED"; + private static final String CONFIGURATION_TYPE = "org.apache.cxf.ws"; private IntentMap masterMap; @@ -175,6 +176,10 @@ return OsgiUtils.getIntentMap(callingContext); } + public String getType() { + return CONFIGURATION_TYPE; + } + private static String[] getRequestedIntents(ServiceEndpointDescription sd) { Collection intents = Arrays.asList( OsgiUtils.parseIntents(OsgiUtils.getProperty(sd, Constants.EXPORTED_INTENTS))); Modified: cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ConfigurationTypeHandler.java URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ConfigurationTypeHandler.java?rev=785550&r1=785549&r2=785550&view=diff ============================================================================== --- cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ConfigurationTypeHandler.java (original) +++ cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ConfigurationTypeHandler.java Wed Jun 17 10:54:31 2009 @@ -24,6 +24,8 @@ import org.osgi.service.discovery.ServiceEndpointDescription; public interface ConfigurationTypeHandler { + String getType(); + Server createServer(ServiceReference serviceReference, BundleContext dswContext, BundleContext callingContext, Modified: cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/HttpServiceConfigurationTypeHandler.java URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/HttpServiceConfigurationTypeHandler.java?rev=785550&r1=785549&r2=785550&view=diff ============================================================================== --- cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/HttpServiceConfigurationTypeHandler.java (original) +++ cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/HttpServiceConfigurationTypeHandler.java Wed Jun 17 10:54:31 2009 @@ -45,7 +45,7 @@ private static final Logger LOG = Logger.getLogger(HttpServiceConfigurationTypeHandler.class.getName()); Set httpServiceReferences = new CopyOnWriteArraySet(); - + protected HttpServiceConfigurationTypeHandler(BundleContext dswBC, CxfDistributionProvider dp, Map handlerProps) { Modified: cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/WsdlConfigurationTypeHandler.java URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/WsdlConfigurationTypeHandler.java?rev=785550&r1=785549&r2=785550&view=diff ============================================================================== --- cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/WsdlConfigurationTypeHandler.java (original) +++ cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/WsdlConfigurationTypeHandler.java Wed Jun 17 10:54:31 2009 @@ -36,7 +36,7 @@ import org.osgi.service.discovery.ServiceEndpointDescription; public class WsdlConfigurationTypeHandler extends AbstractConfigurationHandler { - + private static final String CONFIGURATION_TYPE = "wsdl"; private static final Logger LOG = Logger.getLogger(WsdlConfigurationTypeHandler.class.getName()); public WsdlConfigurationTypeHandler(BundleContext dswBC, @@ -45,6 +45,10 @@ super(dswBC, dp, handlerProps); } + public String getType() { + return CONFIGURATION_TYPE; + } + public Object createProxy(ServiceReference serviceReference, BundleContext dswContext, BundleContext callingContext, Modified: cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/hooks/AbstractClientHook.java URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/hooks/AbstractClientHook.java?rev=785550&r1=785549&r2=785550&view=diff ============================================================================== --- cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/hooks/AbstractClientHook.java (original) +++ cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/hooks/AbstractClientHook.java Wed Jun 17 10:54:31 2009 @@ -46,7 +46,6 @@ import org.osgi.service.discovery.DiscoveredServiceNotification; import org.osgi.service.discovery.DiscoveredServiceTracker; import org.osgi.service.discovery.ServiceEndpointDescription; -import org.osgi.service.distribution.DistributionConstants; public class AbstractClientHook extends AbstractHook { @@ -119,7 +118,7 @@ ServiceRegistration proxyRegistration = actualContext.registerService(interfaceName, new ClientServiceFactory(actualContext, iClass, sd, handler), - new Hashtable(getProperties(sd))); + new Hashtable(getProperties(sd, handler))); cacheEndpointId(sd, proxyRegistration); } } @@ -181,11 +180,20 @@ } @SuppressWarnings("unchecked") - protected Map getProperties(ServiceEndpointDescription sd) { + protected Map getProperties(ServiceEndpointDescription sd, ConfigurationTypeHandler handler) { Map props = new HashMap(); props.putAll(sd.getProperties()); + + for (Iterator> i = props.entrySet().iterator(); i.hasNext(); ) { + Map.Entry e = i.next(); + if (e.getKey().startsWith("service.exported")) { + i.remove(); + } + } + props.put(Constants.DSW_CLIENT_ID, getIdentificationProperty()); props.put(Constants.IMPORTED, "true"); + props.put(Constants.IMPORTD_CONFIGS, handler.getType()); return props; } Modified: cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/hooks/AbstractClientHookTest.java URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/hooks/AbstractClientHookTest.java?rev=785550&r1=785549&r2=785550&view=diff ============================================================================== --- cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/hooks/AbstractClientHookTest.java (original) +++ cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/hooks/AbstractClientHookTest.java Wed Jun 17 10:54:31 2009 @@ -26,6 +26,7 @@ import junit.framework.TestCase; +import org.apache.cxf.dosgi.dsw.handlers.ConfigurationTypeHandler; import org.apache.cxf.dosgi.dsw.service.CxfDistributionProvider; import org.easymock.EasyMock; import org.easymock.IMocksControl; @@ -41,7 +42,10 @@ CxfDistributionProvider dp = control.createMock(CxfDistributionProvider.class); ServiceEndpointDescription sed = control.createMock(ServiceEndpointDescription.class); EasyMock.expect(sed.getProperties()).andReturn(new HashMap()).anyTimes(); + ConfigurationTypeHandler handler = control.createMock(ConfigurationTypeHandler.class); + EasyMock.expect(handler.getType()).andReturn("test").anyTimes(); control.replay(); + AbstractClientHook ch = new AbstractClientHook(bc, dp) { @Override @@ -49,8 +53,9 @@ return "ID"; } }; - Map props = ch.getProperties(sed); + Map props = ch.getProperties(sed, handler); assertTrue(Boolean.valueOf((String) props.get("service.imported"))); + assertEquals("test", props.get("service.imported.configs")); } public void testLookupDiscoveryServiceInterface() { Modified: cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/hooks/CxfPublishHookTest.java URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/hooks/CxfPublishHookTest.java?rev=785550&r1=785549&r2=785550&view=diff ============================================================================== --- cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/hooks/CxfPublishHookTest.java (original) +++ cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/hooks/CxfPublishHookTest.java Wed Jun 17 10:54:31 2009 @@ -276,6 +276,9 @@ protected ConfigurationTypeHandler getHandler(ServiceEndpointDescription sd, Map props) { return new ConfigurationTypeHandler() { + public String getType() { + return "test"; + } public Object createProxy(ServiceReference sr, BundleContext dswContext, BundleContext callingContext,