Author: davidb
Date: Fri Jun  4 12:25:21 2010
New Revision: 951390

URL: http://svn.apache.org/viewvc?rev=951390&view=rev
Log:
Fix for the endpoint properties and a test for it.

Modified:
    
cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractConfigurationHandler.java
    
cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/handlers/PojoConfigurationTypeHandlerTest.java

Modified: 
cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractConfigurationHandler.java
URL: 
http://svn.apache.org/viewvc/cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractConfigurationHandler.java?rev=951390&r1=951389&r2=951390&view=diff
==============================================================================
--- 
cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractConfigurationHandler.java
 (original)
+++ 
cxf/dosgi/trunk/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractConfigurationHandler.java
 Fri Jun  4 12:25:21 2010
@@ -96,21 +96,16 @@ public abstract class AbstractConfigurat
 
         copyEndpointProperties(sd, props);
 
-        String[] sa = new String[1];
-        sa[0] = iClass.getName();
-
+        String[] sa = new String[] {iClass.getName()};
+        String pkg = iClass.getPackage().getName();
+        
+        props.remove(org.osgi.framework.Constants.SERVICE_ID);
         props.put(org.osgi.framework.Constants.OBJECTCLASS, sa);
-        // endpointProps.put(RemoteConstants.SERVICE_IMPORTED, 
"someValue;-)"); // should be done when the
-        // service is imported
-        // endpointProps.put(RemoteConstants.SERVICE_REMOTE_ID, "TODO");
-
-        // FIXME: This key is not defined in the spec but is required by the 
EndpointDescription !!!!!
-        props.put(RemoteConstants.ENDPOINT_SERVICE_ID, 123L);
-
+        props.put(RemoteConstants.ENDPOINT_SERVICE_ID, 
sd.get(org.osgi.framework.Constants.SERVICE_ID));        
         props.put(RemoteConstants.ENDPOINT_FRAMEWORK_UUID, 
OsgiUtils.getUUID(getBundleContext()));
         props.put(RemoteConstants.SERVICE_IMPORTED_CONFIGS, importedConfigs);
-        props.put(RemoteConstants.ENDPOINT_PACKAGE_VERSION_ + sa[0], 
OsgiUtils.getVersion(iClass,
-                                                                               
          getBundleContext()));
+        props.put(RemoteConstants.ENDPOINT_PACKAGE_VERSION_ + pkg, 
+                OsgiUtils.getVersion(iClass, getBundleContext()));
 
         for (String configurationType : importedConfigs) {
             if(Constants.WS_CONFIG_TYPE.equals(configurationType))

Modified: 
cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/handlers/PojoConfigurationTypeHandlerTest.java
URL: 
http://svn.apache.org/viewvc/cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/handlers/PojoConfigurationTypeHandlerTest.java?rev=951390&r1=951389&r2=951390&view=diff
==============================================================================
--- 
cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/handlers/PojoConfigurationTypeHandlerTest.java
 (original)
+++ 
cxf/dosgi/trunk/dsw/cxf-dsw/src/test/java/org/apache/cxf/dosgi/dsw/handlers/PojoConfigurationTypeHandlerTest.java
 Fri Jun  4 12:25:21 2010
@@ -699,6 +699,28 @@ public class PojoConfigurationTypeHandle
         Set<String> expectedIntents = new HashSet<String>(Arrays.asList(new 
String [] {"A", "B"}));
         assertEquals(expectedIntents, effectiveIntents);
     }
+    
+    public void testCreateEndpointProps() {
+        BundleContext bc = EasyMock.createNiceMock(BundleContext.class);
+        
EasyMock.expect(bc.getProperty("org.osgi.framework.uuid")).andReturn("some_uuid1");
+        EasyMock.replay(bc);
+        
+        PojoConfigurationTypeHandler pch = new 
PojoConfigurationTypeHandler(bc, null);
+        
+        Map<String, Object> sd = new HashMap<String, Object>();
+        sd.put(org.osgi.framework.Constants.SERVICE_ID, 42);
+        Map<String, Object> props = pch.createEndpointProps(sd, String.class, 
new String [] {"org.apache.cxf.ws"}, 
+                "http://localhost:12345";, new String [] {"my_intent", 
"your_intent"});
+        
+        
assertFalse(props.containsKey(org.osgi.framework.Constants.SERVICE_ID));
+        assertEquals(42, props.get(RemoteConstants.ENDPOINT_SERVICE_ID));
+        assertEquals("some_uuid1", 
props.get(RemoteConstants.ENDPOINT_FRAMEWORK_UUID));
+        assertEquals("http://localhost:12345";, 
props.get(RemoteConstants.ENDPOINT_ID));
+        assertEquals(Arrays.asList("java.lang.String"), Arrays.asList((Object 
[]) props.get(org.osgi.framework.Constants.OBJECTCLASS)));
+        assertEquals(Arrays.asList("org.apache.cxf.ws"), Arrays.asList((Object 
[]) props.get(RemoteConstants.SERVICE_IMPORTED_CONFIGS)));
+        assertEquals(Arrays.asList("my_intent", "your_intent"), 
Arrays.asList((Object []) props.get(RemoteConstants.SERVICE_INTENTS)));
+        assertEquals("0.0.0", props.get("endpoint.package.version.java.lang"));
+    }
 //    
 //    public void testServiceExposedAdminEvent() throws Exception {
 //        EventAdmin ea = EasyMock.createMock(EventAdmin.class);


Reply via email to