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);