Author: sergeyb
Date: Mon Dec 29 04:41:32 2008
New Revision: 729886
URL: http://svn.apache.org/viewvc?rev=729886&view=rev
Log:
DOSGI: fixing system tests broken by the removal of simple-pojo demo
Added:
cxf/sandbox/dosgi/samples/greeter/interface/src/main/java/org/apache/cxf/dosgi/samples/greeter/GreeterException.java
Modified:
cxf/sandbox/dosgi/samples/greeter/impl/src/main/java/org/apache/cxf/dosgi/samples/greeter/impl/GreeterServiceImpl.java
cxf/sandbox/dosgi/samples/greeter/interface/src/main/java/org/apache/cxf/dosgi/samples/greeter/GreeterService.java
cxf/sandbox/dosgi/systests/basic/pom.xml
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/BasicPublishHookTest.java
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookServiceListenerTest.java
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookSyncTest.java
cxf/sandbox/dosgi/systests/basic/src/test/resources/OSGI-INF/remote-services/remote-services.xml
cxf/sandbox/dosgi/systests/pom.xml
Modified:
cxf/sandbox/dosgi/samples/greeter/impl/src/main/java/org/apache/cxf/dosgi/samples/greeter/impl/GreeterServiceImpl.java
URL:
http://svn.apache.org/viewvc/cxf/sandbox/dosgi/samples/greeter/impl/src/main/java/org/apache/cxf/dosgi/samples/greeter/impl/GreeterServiceImpl.java?rev=729886&r1=729885&r2=729886&view=diff
==============================================================================
---
cxf/sandbox/dosgi/samples/greeter/impl/src/main/java/org/apache/cxf/dosgi/samples/greeter/impl/GreeterServiceImpl.java
(original)
+++
cxf/sandbox/dosgi/samples/greeter/impl/src/main/java/org/apache/cxf/dosgi/samples/greeter/impl/GreeterServiceImpl.java
Mon Dec 29 04:41:32 2008
@@ -21,14 +21,21 @@
import java.util.HashMap;
import java.util.Map;
+import org.apache.cxf.dosgi.samples.greeter.GreeterException;
import org.apache.cxf.dosgi.samples.greeter.GreeterService;
import org.apache.cxf.dosgi.samples.greeter.GreetingPhrase;
public class GreeterServiceImpl implements GreeterService {
- public Map<GreetingPhrase, String> greetMe(String name) {
+ private final static String STRANGER_NAME = "Stranger";
+
+ public Map<GreetingPhrase, String> greetMe(String name) throws
GreeterException {
System.out.println("Invoking: greetMe(" + name + ")");
+ if (name.equals(STRANGER_NAME)) {
+ throw new GreeterException(name);
+ }
+
Map<GreetingPhrase, String> greetings =
new HashMap<GreetingPhrase, String>();
Added:
cxf/sandbox/dosgi/samples/greeter/interface/src/main/java/org/apache/cxf/dosgi/samples/greeter/GreeterException.java
URL:
http://svn.apache.org/viewvc/cxf/sandbox/dosgi/samples/greeter/interface/src/main/java/org/apache/cxf/dosgi/samples/greeter/GreeterException.java?rev=729886&view=auto
==============================================================================
---
cxf/sandbox/dosgi/samples/greeter/interface/src/main/java/org/apache/cxf/dosgi/samples/greeter/GreeterException.java
(added)
+++
cxf/sandbox/dosgi/samples/greeter/interface/src/main/java/org/apache/cxf/dosgi/samples/greeter/GreeterException.java
Mon Dec 29 04:41:32 2008
@@ -0,0 +1,44 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.dosgi.samples.greeter;
+
+public class GreeterException extends Exception {
+
+ private String name;
+
+ public GreeterException() {
+ }
+
+ public GreeterException(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String theName) {
+ name = theName;
+ }
+
+ @Override
+ public String toString() {
+ return "GreeterService can not greet " + name;
+ }
+}
Modified:
cxf/sandbox/dosgi/samples/greeter/interface/src/main/java/org/apache/cxf/dosgi/samples/greeter/GreeterService.java
URL:
http://svn.apache.org/viewvc/cxf/sandbox/dosgi/samples/greeter/interface/src/main/java/org/apache/cxf/dosgi/samples/greeter/GreeterService.java?rev=729886&r1=729885&r2=729886&view=diff
==============================================================================
---
cxf/sandbox/dosgi/samples/greeter/interface/src/main/java/org/apache/cxf/dosgi/samples/greeter/GreeterService.java
(original)
+++
cxf/sandbox/dosgi/samples/greeter/interface/src/main/java/org/apache/cxf/dosgi/samples/greeter/GreeterService.java
Mon Dec 29 04:41:32 2008
@@ -23,6 +23,6 @@
public interface GreeterService {
- Map<GreetingPhrase, String> greetMe(String name);
+ Map<GreetingPhrase, String> greetMe(String name) throws GreeterException;
}
Modified: cxf/sandbox/dosgi/systests/basic/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/sandbox/dosgi/systests/basic/pom.xml?rev=729886&r1=729885&r2=729886&view=diff
==============================================================================
--- cxf/sandbox/dosgi/systests/basic/pom.xml (original)
+++ cxf/sandbox/dosgi/systests/basic/pom.xml Mon Dec 29 04:41:32 2008
@@ -39,12 +39,12 @@
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
- <artifactId>cxf-dosgi-ri-samples-simple-pojo-impl</artifactId>
+ <artifactId>cxf-dosgi-ri-samples-greeter-impl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
- <artifactId>cxf-dosgi-ri-samples-simple-pojo-client</artifactId>
+ <artifactId>cxf-dosgi-ri-samples-greeter-client</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
Modified:
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/BasicPublishHookTest.java
URL:
http://svn.apache.org/viewvc/cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/BasicPublishHookTest.java?rev=729886&r1=729885&r2=729886&view=diff
==============================================================================
---
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/BasicPublishHookTest.java
(original)
+++
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/BasicPublishHookTest.java
Mon Dec 29 04:41:32 2008
@@ -24,11 +24,13 @@
import java.net.URL;
import java.util.Dictionary;
import java.util.Hashtable;
+import java.util.Map;
import java.util.jar.Manifest;
import org.apache.cxf.aegis.databinding.AegisDatabinding;
-import org.apache.cxf.dosgi.samples.pojo.hello.GreeterException;
-import org.apache.cxf.dosgi.samples.pojo.hello.GreeterService;
+import org.apache.cxf.dosgi.samples.greeter.GreeterException;
+import org.apache.cxf.dosgi.samples.greeter.GreeterService;
+import org.apache.cxf.dosgi.samples.greeter.GreetingPhrase;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
import org.apache.servicemix.kernel.testing.support.AbstractIntegrationTest;
import org.osgi.framework.Constants;
@@ -85,7 +87,7 @@
getBundle("org.apache.servicemix.bundles",
"org.apache.servicemix.bundles.xmlschema-1.3.2"),
getBundle("org.apache.cxf", "cxf-bundle-minimal"),
getBundle("org.apache.cxf", "cxf-dosgi-ri-dsw-cxf"),
- getBundle("org.apache.cxf",
"cxf-dosgi-ri-samples-simple-pojo-interface")
+ getBundle("org.apache.cxf",
"cxf-dosgi-ri-samples-greeter-interface")
};
}
@@ -108,10 +110,10 @@
ClassLoader contextLoader =
Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(ClientProxyFactoryBean.class.getClassLoader());
- installBundle("org.apache.cxf",
"cxf-dosgi-ri-samples-simple-pojo-impl", null, "jar");
+ installBundle("org.apache.cxf", "cxf-dosgi-ri-samples-greeter-impl",
null, "jar");
// TODO : get this address using a DistributionProvider interface
- String address = "http://localhost:9005/greeter";
+ String address = "http://localhost:9090/greeter";
waitForEndpoint(address);
//do the invocation using a CXF api
@@ -155,10 +157,12 @@
private void useService(GreeterService greeter) throws Exception {
assertNotNull(greeter);
- assertEquals("Wrong greetMe", "Greetings, Fred",
greeter.simpleGreetMe("Fred"));
+ Map<GreetingPhrase, String> greetings = greeter.greetMe("Fred");
+
+ assertEquals("Fred", greetings.get(new GreetingPhrase("Hello")));
try {
- greeter.simpleGreetMe("Stranger");
+ greeter.greetMe("Stranger");
fail("GreeterException has to be thrown");
} catch (GreeterException ex) {
assertEquals("Wrong exception message",
Modified:
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookServiceListenerTest.java
URL:
http://svn.apache.org/viewvc/cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookServiceListenerTest.java?rev=729886&r1=729885&r2=729886&view=diff
==============================================================================
---
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookServiceListenerTest.java
(original)
+++
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookServiceListenerTest.java
Mon Dec 29 04:41:32 2008
@@ -18,15 +18,17 @@
*/
package org.apache.cxf.dosgi.systests.basic;
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
import java.util.jar.Manifest;
import org.apache.cxf.aegis.databinding.AegisDatabinding;
-import org.apache.cxf.dosgi.samples.pojo.hello.HelloService;
+import org.apache.cxf.dosgi.samples.greeter.GreeterException;
+import org.apache.cxf.dosgi.samples.greeter.GreeterService;
+import org.apache.cxf.dosgi.samples.greeter.GreetingPhrase;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
import org.apache.cxf.frontend.ServerFactoryBean;
@@ -38,7 +40,7 @@
public class ListenerHookServiceListenerTest extends AbstractIntegrationTest {
- private FutureTask<Collection<String>> task;
+ private FutureTask<Map<GreetingPhrase, String>> task;
protected String getPlatformName() {
return Platforms.FELIX;
@@ -85,7 +87,7 @@
getBundle("org.apache.servicemix.bundles",
"org.apache.servicemix.bundles.jaxb-impl-2.0.3"),
getBundle("org.apache.servicemix.bundles",
"org.apache.servicemix.bundles.xmlschema-1.3.2"),
getBundle("org.apache.cxf", "cxf-bundle-minimal"),
- getBundle("org.apache.cxf",
"cxf-dosgi-ri-samples-simple-pojo-interface")
+ getBundle("org.apache.cxf",
"cxf-dosgi-ri-samples-greeter-interface")
};
}
@@ -96,18 +98,18 @@
Server server = null;
ServiceTracker tracker = null;
try {
- server = startServer("http://localhost:9000/hello",
- HelloService.class, new HelloServiceImpl());
+ server = startServer("http://localhost:9090/greeter",
+ GreeterService.class, new
GreeterServiceImpl());
tracker = new ServiceTracker(bundleContext,
- HelloService.class.getName(), null) {
+ GreeterService.class.getName(), null)
{
@Override
public Object addingService(final ServiceReference reference) {
Object result = super.addingService(reference);
- FutureTask<Collection<String>> future =
- new FutureTask<Collection<String>>(new
Callable<Collection<String>>() {
- public Collection<String> call() {
+ FutureTask<Map<GreetingPhrase, String>> future =
+ new FutureTask<Map<GreetingPhrase, String>>(new
Callable<Map<GreetingPhrase, String>>() {
+ public Map<GreetingPhrase, String> call() {
return useService(reference);
}});
future.run();
@@ -121,7 +123,7 @@
// now install dsw
installBundle("org.apache.cxf", "cxf-dosgi-ri-dsw-cxf", null,
"jar");
- verifyHelloResponse();
+ verifyGreeterResponse();
} finally {
if (tracker != null) {
tracker.close();
@@ -135,40 +137,61 @@
}
}
- private Collection<String> useService(ServiceReference sref) {
- HelloService hs = (HelloService)bundleContext.getService(sref);
+ private Map<GreetingPhrase, String> useService(ServiceReference sref) {
+ GreeterService hs = (GreeterService)bundleContext.getService(sref);
assertNotNull(hs);
- return hs.sayHello();
+ try {
+ return hs.greetMe("Fred");
+ } catch (Exception ex) {
+ fail("unexpected exception");
+ }
+ return null;
}
- private void verifyHelloResponse() throws Exception {
- Collection<String> hellos = null;
+ private void verifyGreeterResponse() throws Exception {
+ Map<GreetingPhrase, String> greetings = null;
synchronized (this) {
while (task == null) {
wait(500);
}
- hellos = task.get();
- }
- for (String s : hellos) {
- System.out.println(s);
+ greetings = task.get();
}
- assertTrue(hellos.contains("Hoi"));
+
+ assertEquals("Fred", greetings.get(new GreetingPhrase("Hello")));
}
- private void setFuture(FutureTask<Collection<String>> future) {
+ private void setFuture(FutureTask<Map<GreetingPhrase, String>> future) {
synchronized (this) {
task = future;
notify();
}
}
- private static class HelloServiceImpl implements HelloService {
+
+ private class GreeterServiceImpl implements GreeterService {
+
+ private final static String STRANGER_NAME = "Stranger";
+
+ public Map<GreetingPhrase, String> greetMe(String name)
+ throws GreeterException {
- public Collection<String> sayHello() {
- return Arrays.asList(new String[]{"Hi", "Hoi", "Hola", "Bonjour"});
+ if (name.equals(STRANGER_NAME)) {
+ throw new GreeterException(name);
+ }
+
+ Map<GreetingPhrase, String> greetings =
+ new HashMap<GreetingPhrase, String>();
+
+ greetings.put(new GreetingPhrase("Hello"), name);
+ greetings.put(new GreetingPhrase("Hoi"), name);
+ greetings.put(new GreetingPhrase("Hola"), name);
+ greetings.put(new GreetingPhrase("Bonjour"), name);
+
+
+ return greetings;
}
- }
+ }
private Server startServer(String address, Class<?> type, Object impl) {
ServerFactoryBean factory = new ServerFactoryBean();
Modified:
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookSyncTest.java
URL:
http://svn.apache.org/viewvc/cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookSyncTest.java?rev=729886&r1=729885&r2=729886&view=diff
==============================================================================
---
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookSyncTest.java
(original)
+++
cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookSyncTest.java
Mon Dec 29 04:41:32 2008
@@ -28,10 +28,9 @@
import org.apache.cxf.aegis.databinding.AegisDatabinding;
-import org.apache.cxf.dosgi.samples.pojo.hello.GreeterException;
-import org.apache.cxf.dosgi.samples.pojo.hello.GreeterService;
-import org.apache.cxf.dosgi.samples.pojo.hello.GreetingPhrase;
-import org.apache.cxf.dosgi.samples.pojo.hello.HelloService;
+import org.apache.cxf.dosgi.samples.greeter.GreeterException;
+import org.apache.cxf.dosgi.samples.greeter.GreeterService;
+import org.apache.cxf.dosgi.samples.greeter.GreetingPhrase;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
import org.apache.cxf.frontend.ServerFactoryBean;
@@ -91,7 +90,7 @@
getBundle("org.apache.cxf", "cxf-bundle-minimal"),
getBundle("org.apache.cxf", "cxf-dosgi-ri-discovery-local"),
getBundle("org.apache.cxf", "cxf-dosgi-ri-dsw-cxf"),
- getBundle("org.apache.cxf",
"cxf-dosgi-ri-samples-simple-pojo-interface")
+ getBundle("org.apache.cxf",
"cxf-dosgi-ri-samples-greeter-interface")
};
}
@@ -100,48 +99,9 @@
Server server = null;
ServiceTracker st = null;
- try {
- server = startServer("http://localhost:9000/hello",
- HelloService.class, new HelloServiceImpl());
-
- final List srefs = new ArrayList();
- st = new ServiceTracker(bundleContext,
HelloService.class.getName(), null) {
- public Object addingService(ServiceReference reference) {
- synchronized (srefs) {
- srefs.add(reference);
- }
- return super.addingService(reference);
- }
- };
- st.open();
-
- int loops = 0;
- boolean found = false;
- while (!found && loops++ < 1000) {
- synchronized (srefs) {
- found = srefs.size() > 0;
- }
- Thread.sleep(250);
- }
-
- assertTrue("HelloService should have been registered once the
service tracker was created", found);
- ServiceReference sref = (ServiceReference) srefs.get(0);
- assertNotNull("HelloService reference is not available", sref);
- HelloService helloService =
(HelloService)bundleContext.getService(sref);
- useService(helloService);
-
- } finally {
- st.close();
- if (server != null) {
- server.getDestination().shutdown();
- server.stop();
- }
- }
- st = null;
- server = null;
try {
- server = startServer("http://localhost:9005/greeter",
+ server = startServer("http://localhost:9090/greeter",
GreeterService.class, new
GreeterServiceImpl());
final List srefs = new ArrayList();
st = new ServiceTracker(bundleContext,
GreeterService.class.getName(), null) {
@@ -178,22 +138,16 @@
}
}
- private void useService(HelloService greeter) throws Exception {
- assertNotNull(greeter);
- Collection<String> hellos = greeter.sayHello();
- for (String s : hellos) {
- System.out.println(s);
- }
- assertTrue(hellos.contains("Hoi"));
- }
-
+
private void useService(GreeterService greeter) throws Exception {
assertNotNull(greeter);
- assertEquals("Wrong greetMe", "Greetings, Fred",
greeter.simpleGreetMe("Fred"));
+ Map<GreetingPhrase, String> greetings = greeter.greetMe("Fred");
+
+ assertEquals("Fred", greetings.get(new GreetingPhrase("Hello")));
try {
- greeter.simpleGreetMe("Stranger");
+ greeter.greetMe("Stranger");
fail("GreeterException has to be thrown");
} catch (GreeterException ex) {
assertEquals("Wrong exception message",
@@ -203,21 +157,18 @@
}
- private static class HelloServiceImpl implements HelloService {
-
- public Collection<String> sayHello() {
- return Arrays.asList(new String[]{"Hi", "Hoi", "Hola", "Bonjour"});
- }
-
- }
+
private class GreeterServiceImpl implements GreeterService {
private final static String STRANGER_NAME = "Stranger";
- private final static String RUNTIME_NAME = "Runtime";
-
+
public Map<GreetingPhrase, String> greetMe(String name)
throws GreeterException {
+
+ if (name.equals(STRANGER_NAME)) {
+ throw new GreeterException(name);
+ }
Map<GreetingPhrase, String> greetings =
new HashMap<GreetingPhrase, String>();
@@ -231,19 +182,6 @@
return greetings;
}
- public String simpleGreetMe(String name) throws GreeterException {
-
- if (name.equals(STRANGER_NAME)) {
- throw new GreeterException(name);
- }
-
- if (name.equals(RUNTIME_NAME)) {
- throw new RuntimeException("Run Runtime");
- }
-
- return "Greetings, " + name;
- }
-
}
private Server startServer(String address, Class<?> type, Object impl) {
Modified:
cxf/sandbox/dosgi/systests/basic/src/test/resources/OSGI-INF/remote-services/remote-services.xml
URL:
http://svn.apache.org/viewvc/cxf/sandbox/dosgi/systests/basic/src/test/resources/OSGI-INF/remote-services/remote-services.xml?rev=729886&r1=729885&r2=729886&view=diff
==============================================================================
---
cxf/sandbox/dosgi/systests/basic/src/test/resources/OSGI-INF/remote-services/remote-services.xml
(original)
+++
cxf/sandbox/dosgi/systests/basic/src/test/resources/OSGI-INF/remote-services/remote-services.xml
Mon Dec 29 04:41:32 2008
@@ -15,17 +15,10 @@
-->
<service-descriptions xmlns="http://www.osgi.org/xmlns/sd/v1.0.0">
<service-description>
- <provide interface="org.apache.cxf.dosgi.samples.pojo.hello.HelloService"
/>
+ <provide interface="org.apache.cxf.dosgi.samples.greeter.GreeterService" />
<property name="osgi.remote.interfaces">*</property>
<property name="osgi.remote.requires.intents">SOAP HTTP</property>
<property name="osgi.remote.configuration.type">pojo</property>
- <property
name="osgi.remote.configuration.pojo.address">http://localhost:9000/hello</property>
- </service-description>
- <service-description>
- <provide
interface="org.apache.cxf.dosgi.samples.pojo.hello.GreeterService" />
- <property name="osgi.remote.interfaces">*</property>
- <property name="osgi.remote.requires.intents">SOAP HTTP</property>
- <property name="osgi.remote.configuration.type">pojo</property>
- <property
name="osgi.remote.configuration.pojo.address">http://localhost:9005/greeter</property>
+ <property
name="osgi.remote.configuration.pojo.address">http://localhost:9090/greeter</property>
</service-description>
</service-descriptions>
Modified: cxf/sandbox/dosgi/systests/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/sandbox/dosgi/systests/pom.xml?rev=729886&r1=729885&r2=729886&view=diff
==============================================================================
--- cxf/sandbox/dosgi/systests/pom.xml (original)
+++ cxf/sandbox/dosgi/systests/pom.xml Mon Dec 29 04:41:32 2008
@@ -99,7 +99,7 @@
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
- <artifactId>cxf-dosgi-ri-samples-simple-pojo-interface</artifactId>
+ <artifactId>cxf-dosgi-ri-samples-greeter-interface</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>