You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2008/09/01 17:08:10 UTC

svn commit: r690991 [20/20] - in /cxf/sandbox/dosgi: ./ discovery/ discovery/local/ discovery/local/src/ discovery/local/src/main/ discovery/local/src/main/java/ discovery/local/src/main/java/org/ discovery/local/src/main/java/org/apache/ discovery/loc...

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/interface/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/interface/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/interface/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterException.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterException.java?rev=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterException.java (added)
+++ cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterException.java Mon Sep  1 08:08:01 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.pojo.hello;
+
+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;
+    }
+}

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterException.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterService.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterService.java?rev=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterService.java (added)
+++ cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterService.java Mon Sep  1 08:08:01 2008
@@ -0,0 +1,31 @@
+/** 
+  * 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.pojo.hello;
+
+import java.util.Map;
+
+import javax.jws.WebService;
+
+@WebService
+public interface GreeterService {
+
+    Map<GreetingPhrase, String> greetMe(String name) throws GreeterException;
+
+    String simpleGreetMe(String name) throws GreeterException;
+}

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreeterService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreetingPhrase.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreetingPhrase.java?rev=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreetingPhrase.java (added)
+++ cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreetingPhrase.java Mon Sep  1 08:08:01 2008
@@ -0,0 +1,52 @@
+/** 
+  * 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.pojo.hello;
+
+public class GreetingPhrase {
+    private String phrase;
+    
+    public GreetingPhrase() {
+    }
+    
+    public GreetingPhrase(String phrase) {
+        this.phrase = phrase;
+    }
+
+    public void setPhrase(String thePhrase) {
+        this.phrase = thePhrase;
+    }
+    
+    public String getPhrase() {
+        return phrase;
+    }
+    
+    @Override
+    public int hashCode() {
+        return phrase.hashCode();
+    }
+    
+    @Override
+    public boolean equals(Object other) {
+        if (!GreetingPhrase.class.isAssignableFrom(other.getClass())) {
+            return false;
+        }
+        
+        return phrase.equals(((GreetingPhrase)other).phrase);
+    }
+}

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreetingPhrase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/GreetingPhrase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/HelloService.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/HelloService.java?rev=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/HelloService.java (added)
+++ cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/HelloService.java Mon Sep  1 08:08:01 2008
@@ -0,0 +1,28 @@
+/** 
+  * 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.pojo.hello;
+
+import java.util.Collection;
+
+
+public interface HelloService {
+
+    Collection<String> sayHello();
+
+}

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/HelloService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/interface/src/main/java/org/apache/cxf/dosgi/samples/pojo/hello/HelloService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/sandbox/dosgi/samples/simple_pojo/pom.xml
URL: http://svn.apache.org/viewvc/cxf/sandbox/dosgi/samples/simple_pojo/pom.xml?rev=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/samples/simple_pojo/pom.xml (added)
+++ cxf/sandbox/dosgi/samples/simple_pojo/pom.xml Mon Sep  1 08:08:01 2008
@@ -0,0 +1,42 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<!--
+  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.
+-->
+
+
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.cxf</groupId>
+    <artifactId>cxf-dosgi-ri-samples-simple-pojo</artifactId>
+    <packaging>pom</packaging>
+    <name>Distributed OSGI Simple POJO Bundles</name>
+    <version>1.0-SNAPSHOT</version>
+
+    <parent>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-dosgi-ri-parent</artifactId>
+      <version>1.0-SNAPSHOT</version>
+      <relativePath>../../parent/pom.xml</relativePath>
+    </parent>
+
+    <modules>    
+      <module>interface</module>
+      <module>impl</module>
+      <module>client</module>
+    </modules> 
+
+</project>

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/sandbox/dosgi/samples/simple_pojo/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/sandbox/dosgi/systests/basic/pom.xml
URL: http://svn.apache.org/viewvc/cxf/sandbox/dosgi/systests/basic/pom.xml?rev=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/systests/basic/pom.xml (added)
+++ cxf/sandbox/dosgi/systests/basic/pom.xml Mon Sep  1 08:08:01 2008
@@ -0,0 +1,62 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<!--
+  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.
+-->
+
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.cxf</groupId>
+    <artifactId>cxf-dosgi-ri-systests-basic</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <packaging>jar</packaging>
+    <name>Distributed OSGI RI Basic System Test</name>
+
+    <parent>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-dosgi-ri-systests</artifactId>
+      <version>1.0-SNAPSHOT</version>
+      <relativePath>../pom.xml</relativePath>  
+    </parent>
+
+    <properties>
+        <topDirectoryLocation>../..</topDirectoryLocation>
+    </properties>
+    
+    <dependencies>
+        <dependency> 
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-dosgi-ri-samples-simple-pojo-impl</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency> 
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-dosgi-ri-samples-simple-pojo-client</artifactId>
+            <version>${project.version}</version>
+        </dependency> 
+        <dependency> 
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-dosgi-ri-discovery-local</artifactId>
+            <version>${project.version}</version>
+        </dependency>  
+        <dependency>
+           <groupId>junit</groupId>
+           <artifactId>junit</artifactId>
+           <scope>test</scope>
+        </dependency>
+    </dependencies> 
+
+</project>

Propchange: cxf/sandbox/dosgi/systests/basic/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/systests/basic/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/sandbox/dosgi/systests/basic/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: 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=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/BasicPublishHookTest.java (added)
+++ cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/BasicPublishHookTest.java Mon Sep  1 08:08:01 2008
@@ -0,0 +1,143 @@
+/** 
+  * 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.systests.basic;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+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.frontend.ClientProxyFactoryBean;
+import org.apache.servicemix.kernel.testing.support.AbstractIntegrationTest;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.cm.ManagedService;
+import org.springframework.osgi.test.platform.Platforms;
+
+public class BasicPublishHookTest extends AbstractIntegrationTest  {
+
+        
+    protected String getPlatformName() {
+        return Platforms.FELIX;
+    }
+    
+    protected Manifest getManifest() {
+        // let the testing framework create/load the manifest
+        Manifest mf = super.getManifest();
+        String importP = mf.getMainAttributes().getValue(Constants.IMPORT_PACKAGE);
+        mf.getMainAttributes().putValue(Constants.IMPORT_PACKAGE,
+            importP + ",META-INF.cxf");
+        mf.getMainAttributes().putValue(Constants.DYNAMICIMPORT_PACKAGE, "*");
+
+        return mf;
+    }
+    
+    protected String[] getTestBundlesNames() {
+        return new String[] {
+                             
+            getBundle("org.apache.geronimo.specs", "geronimo-javamail_1.4_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-activation_1.1_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-annotation_1.0_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-ws-metadata_2.0_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-servlet_2.5_spec"),
+            
+            getBundle("org.apache.commons", "com.springsource.org.apache.commons.logging"),
+            getBundle("org.jdom", "com.springsource.org.jdom"),
+            
+            getBundle("org.mortbay.jetty", "jetty"),
+            getBundle("org.mortbay.jetty", "jetty-util"),
+            
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.locator"),
+            
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.saaj-api-1.3"),
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.stax-api-1.0"),
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.jaxb-api-2.0"),
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.jaxws-api-2.0"),
+            
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.woodstox"),
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.wsdl4j-1.6.1"), 
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.xmlresolver-1.2"),
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.neethi-2.0.2"),
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.asm-2.2.3"),
+            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-dsw-cxf"),
+            getBundle("org.apache.cxf", "cxf-dosgi-ri-samples-simple-pojo-interface")
+        };
+    }
+    
+    public void testBasicInvocation() throws Exception {
+        
+        Dictionary<String, Object> props = new Hashtable<String, Object>();
+        props.put("use.master.map", "false");
+        props.put(Constants.SERVICE_PID, "cxf-dsw");
+        
+        ServiceReference[] srefs
+            = bundleContext.getAllServiceReferences(ManagedService.class.getName(),
+                                                    "(" 
+                                                    + Constants.SERVICE_PID
+                                                    + "="
+                                                    + "cxf-dsw"
+                                                    + ")");
+        assertNotNull(srefs);
+        assertEquals(1, srefs.length);
+        ManagedService ms = (ManagedService)bundleContext.getService(srefs[0]);
+        ms.updated(props);
+        
+        ClassLoader contextLoader = Thread.currentThread().getContextClassLoader();
+        Thread.currentThread().setContextClassLoader(ClientProxyFactoryBean.class.getClassLoader());
+        installBundle("org.apache.cxf", "cxf-dosgi-ri-samples-simple-pojo-impl", null, "jar");
+        
+        // do the invocation using a CXF api 
+        // TODO : get this address using a DistributionProvider interface
+        String address = "http://localhost:9005/greeter";
+        
+        GreeterService greeter1 = null;
+        try {
+            ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
+            factory.setServiceClass(GreeterService.class);
+            factory.setAddress(address);
+            factory.getServiceFactory().setDataBinding(new AegisDatabinding());
+            greeter1 = (GreeterService)factory.create();
+            useService(greeter1);
+        } finally {
+            Thread.currentThread().setContextClassLoader(contextLoader);
+        }
+            
+    }
+    
+    private void useService(GreeterService greeter) throws Exception {
+        assertNotNull(greeter);
+        
+        assertEquals("Wrong greetMe", "Greetings, Fred", greeter.simpleGreetMe("Fred"));
+        
+        try {
+            greeter.simpleGreetMe("Stranger");
+            fail("GreeterException has to be thrown");
+        } catch (GreeterException ex) {
+            assertEquals("Wrong exception message", 
+                         "GreeterService can not greet Stranger", 
+                         ex.toString());
+        }
+    }
+}

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/BasicPublishHookTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/BasicPublishHookTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 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=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookServiceListenerTest.java (added)
+++ cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookServiceListenerTest.java Mon Sep  1 08:08:01 2008
@@ -0,0 +1,184 @@
+/** 
+  * 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.systests.basic;
+
+import java.util.Arrays;
+import java.util.Collection;
+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.endpoint.Server;
+import org.apache.cxf.frontend.ClientProxyFactoryBean;
+import org.apache.cxf.frontend.ServerFactoryBean;
+import org.apache.servicemix.kernel.testing.support.AbstractIntegrationTest;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceReference;
+import org.osgi.util.tracker.ServiceTracker;
+import org.springframework.osgi.test.platform.Platforms;
+
+public class ListenerHookServiceListenerTest extends AbstractIntegrationTest  {
+        
+    private FutureTask<Collection<String>> task;
+    
+    protected String getPlatformName() {
+        return Platforms.FELIX;
+    }
+    
+    protected Manifest getManifest() {
+        // let the testing framework create/load the manifest
+        Manifest mf = super.getManifest();
+        String importP = mf.getMainAttributes().getValue(Constants.IMPORT_PACKAGE);
+        mf.getMainAttributes().putValue(Constants.IMPORT_PACKAGE,
+            importP + ",META-INF.cxf");
+        mf.getMainAttributes().putValue(Constants.DYNAMICIMPORT_PACKAGE, "*");
+
+        return mf;
+    }
+    
+    protected String[] getTestBundlesNames() {
+        return new String[] {
+                             
+            getBundle("org.apache.geronimo.specs", "geronimo-javamail_1.4_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-activation_1.1_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-annotation_1.0_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-ws-metadata_2.0_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-servlet_2.5_spec"),
+            
+            getBundle("org.apache.commons", "com.springsource.org.apache.commons.logging"),
+            getBundle("org.jdom", "com.springsource.org.jdom"),
+            
+            getBundle("org.mortbay.jetty", "jetty"),
+            getBundle("org.mortbay.jetty", "jetty-util"),
+            
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.locator"),
+            
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.saaj-api-1.3"),
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.stax-api-1.0"),
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.jaxb-api-2.0"),
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.jaxws-api-2.0"),
+            
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.woodstox"),
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.wsdl4j-1.6.1"), 
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.xmlresolver-1.2"),
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.neethi-2.0.2"),
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.asm-2.2.3"),
+            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")
+        };
+    }
+    
+    public void testBasicInvocation() throws Exception {
+
+        Thread.currentThread().setContextClassLoader(ClientProxyFactoryBean.class.getClassLoader());
+
+        Server server = null;
+        ServiceTracker tracker = null;
+        try {
+            server = startServer("http://localhost:9000/hello", 
+                                 HelloService.class, new HelloServiceImpl());
+            
+            tracker = new ServiceTracker(bundleContext, 
+                                         HelloService.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() {
+                            return useService(reference);
+                        }});
+                    future.run();
+                    setFuture(future);
+                    return result;
+                }
+            };
+            tracker.open();
+            // sleep for a bit
+            Thread.sleep(2000);
+            
+            // now install dsw
+            installBundle("org.apache.cxf", "cxf-dosgi-ri-dsw-cxf", null, "jar");
+            verifyHelloResponse();
+        } finally {
+            if (tracker != null) {
+                tracker.close();
+            }
+            
+            if (server != null) {
+                server.getDestination().shutdown();
+                server.stop();
+            }
+            
+        }
+    }
+    
+    private Collection<String> useService(ServiceReference sref) {
+        HelloService hs = (HelloService)bundleContext.getService(sref);
+        assertNotNull(hs);
+        return hs.sayHello();
+    }
+    
+    private void verifyHelloResponse() throws Exception {
+        Collection<String> hellos = null;
+        synchronized (this) {
+            while (task == null) {
+                wait(500);    
+            }
+            hellos = task.get();
+        }
+        for (String s : hellos) {
+            System.out.println(s);
+        }
+        assertTrue(hellos.contains("Hoi"));
+    }
+    
+    private void setFuture(FutureTask<Collection<String>> future) {
+        synchronized (this) {
+            task = future;
+            notify();
+        }
+    }
+        
+    private static class HelloServiceImpl implements HelloService {
+
+        public Collection<String> sayHello() {
+            return Arrays.asList(new String[]{"Hi", "Hoi", "Hola", "Bonjour"});
+        }
+
+    }    
+    
+    private Server startServer(String address, Class<?> type, Object impl) {
+        ServerFactoryBean factory = new ServerFactoryBean();
+        factory.setServiceClass(type);
+        factory.setAddress(address);
+        factory.getServiceFactory().setDataBinding(new AegisDatabinding());
+        factory.setServiceBean(impl);
+        Server server = factory.create();
+        server.start();
+        return server;
+    }
+    
+}

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookServiceListenerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookServiceListenerTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 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=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookSyncTest.java (added)
+++ cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookSyncTest.java Mon Sep  1 08:08:01 2008
@@ -0,0 +1,225 @@
+/** 
+  * 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.systests.basic;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+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.pojo.hello.GreetingPhrase;
+import org.apache.cxf.dosgi.samples.pojo.hello.HelloService;
+import org.apache.cxf.endpoint.Server;
+import org.apache.cxf.frontend.ClientProxyFactoryBean;
+import org.apache.cxf.frontend.ServerFactoryBean;
+import org.apache.servicemix.kernel.testing.support.AbstractIntegrationTest;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceReference;
+import org.springframework.osgi.test.platform.Platforms;
+
+public class ListenerHookSyncTest extends AbstractIntegrationTest  {
+
+        
+    protected String getPlatformName() {
+        return Platforms.FELIX;
+    }
+    
+    protected Manifest getManifest() {
+        // let the testing framework create/load the manifest
+        Manifest mf = super.getManifest();
+        String importP = mf.getMainAttributes().getValue(Constants.IMPORT_PACKAGE);
+        mf.getMainAttributes().putValue(Constants.IMPORT_PACKAGE,
+            importP + ",META-INF.cxf");
+        mf.getMainAttributes().putValue(Constants.DYNAMICIMPORT_PACKAGE, "*");
+
+        return mf;
+    }
+    
+    protected String[] getTestBundlesNames() {
+        return new String[] {
+                             
+            getBundle("org.apache.geronimo.specs", "geronimo-javamail_1.4_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-activation_1.1_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-annotation_1.0_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-ws-metadata_2.0_spec"),
+            getBundle("org.apache.geronimo.specs", "geronimo-servlet_2.5_spec"),
+            
+            getBundle("org.apache.commons", "com.springsource.org.apache.commons.logging"),
+            getBundle("org.jdom", "com.springsource.org.jdom"),
+            
+            getBundle("org.mortbay.jetty", "jetty"),
+            getBundle("org.mortbay.jetty", "jetty-util"),
+            
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.locator"),
+            
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.saaj-api-1.3"),
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.stax-api-1.0"),
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.jaxb-api-2.0"),
+            getBundle("org.apache.servicemix.specs", "org.apache.servicemix.specs.jaxws-api-2.0"),
+            
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.woodstox"),
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.wsdl4j-1.6.1"), 
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.xmlresolver-1.2"),
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.neethi-2.0.2"),
+            getBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.asm-2.2.3"),
+            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-discovery-local"),
+            getBundle("org.apache.cxf", "cxf-dosgi-ri-dsw-cxf"),
+            getBundle("org.apache.cxf", "cxf-dosgi-ri-samples-simple-pojo-interface")
+        };
+    }
+    
+    public void testBasicInvocation() throws Exception {
+
+        Thread.currentThread().setContextClassLoader(ClientProxyFactoryBean.class.getClassLoader());
+
+        Server server = null;
+        try {
+            server = startServer("http://localhost:9000/hello", 
+                                 HelloService.class, new HelloServiceImpl());
+            ServiceReference sref = null;
+            for (int i = 0; i < 10; i++) {
+                sref = bundleContext.getServiceReference(HelloService.class.getName());
+                if (sref == null) {
+                    Thread.sleep(1000L);
+                }
+            }
+            
+            assertNotNull("HelloService reference is not available", sref);
+            HelloService helloService = (HelloService)bundleContext.getService(sref);
+            useService(helloService);
+            
+        } finally {
+            if (server != null) {
+                server.getDestination().shutdown();
+                server.stop();
+            }
+        }
+        
+        server = null;
+        try {
+            server = startServer("http://localhost:9005/greeter", 
+                                 GreeterService.class, new GreeterServiceImpl());
+            ServiceReference sref = null;
+            for (int i = 0; i < 10; i++) {
+                sref = bundleContext.getServiceReference(GreeterService.class.getName());
+                if (sref == null) {
+                    Thread.sleep(1000L);
+                }
+            }
+            
+            assertNotNull("GreeterService reference is not available", sref);
+            GreeterService greeterService = (GreeterService)bundleContext.getService(sref);
+            useService(greeterService);
+            
+        } finally {
+            if (server != null) {
+                server.getDestination().shutdown();
+                server.stop();
+            }
+        }
+    }
+    
+    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"));
+        
+        try {
+            greeter.simpleGreetMe("Stranger");
+            fail("GreeterException has to be thrown");
+        } catch (GreeterException ex) {
+            assertEquals("Wrong exception message", 
+                         "GreeterService can not greet Stranger", 
+                         ex.toString());
+        }
+       
+    }
+    
+    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 {
+            
+            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;
+        }
+
+        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) {
+        ServerFactoryBean factory = new ServerFactoryBean();
+        factory.setServiceClass(type);
+        factory.setAddress(address);
+        factory.getServiceFactory().setDataBinding(new AegisDatabinding());
+        factory.setServiceBean(impl);
+        Server server = factory.create();
+        server.start();
+        return server;
+    }
+        
+}

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookSyncTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/java/org/apache/cxf/dosgi/systests/basic/ListenerHookSyncTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/intent-map.xml
URL: http://svn.apache.org/viewvc/cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/intent-map.xml?rev=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/intent-map.xml (added)
+++ cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/intent-map.xml Mon Sep  1 08:08:01 2008
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:p="http://cxf.apache.org/policy"
+       xmlns:wsp="http://www.w3.org/ns/ws-policy"
+       xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+       xmlns:http="http://cxf.apache.org/transports/http/configuration"
+       xmlns:wsrm-policy="http://schemas.xmlsoap.org/ws/2005/02/rm/policy"
+       xsi:schemaLocation="
+       http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd
+       http://www.w3.org/ns/ws-policy http://www.w3.org/2007/02/ws-policy.xsd
+       http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
+       http://schemas.xmlsoap.org/ws/2005/02/rm/policy http://schemas.xmlsoap.org/ws/2005/02/rm/wsrm-policy.xsd
+       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+    <bean id="intentMap" class="org.apache.cxf.dosgi.dsw.qos.IntentMap">
+       <property name="intents">
+         <map>
+           <entry key="reliability" value-ref="reliableMessaging"/>
+           <entry key="decoupled" value-ref="decoupledAddressing"/>
+         </map>
+       </property>
+    </bean>
+
+    <p:policies id="reliableMessaging">
+        <wsp:PolicyReference URI="#ReliabilityPolicy"/>
+        <wsp:PolicyReference URI="#DecoupledPolicy"/>
+        <wsp:PolicyReference URI="#AddressingPolicy"/>
+    </p:policies>
+
+    <p:policies id="decoupledAddressing">
+        <wsp:PolicyReference URI="#DecoupledPolicy"/>
+        <wsp:PolicyReference URI="#AddressingPolicy"/>
+    </p:policies>
+
+    <wsp:Policy wsu:Id="ReliabilityPolicy">
+        <wsrm-policy:RMAssertion>
+            <wsrm-policy:BaseRetransmissionInterval Milliseconds="4000"/>
+            <wsrm-policy:AcknowledgementInterval Milliseconds="2000" />
+        </wsrm-policy:RMAssertion>
+    </wsp:Policy>
+
+    <wsp:Policy wsu:Id="DecoupledPolicy">
+        <wsp:ExactlyOne>
+            <http:client DecoupledEndpoint="http://localhost:9970/decoupled_endpoint"/>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+
+    <wsp:Policy wsu:Id="AddressingPolicy"
+        xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata">
+        <wsam:Addressing>
+            <wsp:Policy />
+        </wsam:Addressing>
+    </wsp:Policy>
+
+</beans>

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/intent-map.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/intent-map.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/intent-map.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/remote-services.xml
URL: http://svn.apache.org/viewvc/cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/remote-services.xml?rev=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/remote-services.xml (added)
+++ cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/remote-services.xml Mon Sep  1 08:08:01 2008
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+
+<remote-references xmlns="http://www.osgi.org/xmlns/rs/v1.0.0">
+<reference>
+<provide interface="org.apache.cxf.dosgi.samples.pojo.hello.HelloService"/>
+<property name="org.osgi.remote.publish">true</property>
+<property name="org.osgi.remote.intents">SOAP HTTP</property>
+<property name="org.osgi.remote.configuration.type">pojo</property>
+<property name="org.osgi.remote.address">http://localhost:9000/hello</property>
+</reference>
+<reference>
+<provide interface="org.apache.cxf.dosgi.samples.pojo.hello.GreeterService"/>
+<property name="org.osgi.remote.publish">true</property>
+<property name="org.osgi.remote.intents">SOAP HTTP</property>
+<property name="org.osgi.remote.configuration.type">pojo</property>
+<property name="org.osgi.remote.address">http://localhost:9005/greeter</property>
+</reference>
+</remote-references>

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/remote-services.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/remote-services.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/sandbox/dosgi/systests/basic/src/test/resources/META-INF/osgi/remote-services.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/sandbox/dosgi/systests/pom.xml
URL: http://svn.apache.org/viewvc/cxf/sandbox/dosgi/systests/pom.xml?rev=690991&view=auto
==============================================================================
--- cxf/sandbox/dosgi/systests/pom.xml (added)
+++ cxf/sandbox/dosgi/systests/pom.xml Mon Sep  1 08:08:01 2008
@@ -0,0 +1,309 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<!--
+  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.
+-->
+
+
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.cxf</groupId>
+    <artifactId>cxf-dosgi-ri-systests</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+    <name>Distributed OSGI RI System Tests</name>
+
+    <parent>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-dosgi-ri-parent</artifactId>
+      <version>1.0-SNAPSHOT</version>
+      <relativePath>../parent/pom.xml</relativePath>  
+    </parent>
+
+    <properties>
+        <topDirectoryLocation>..</topDirectoryLocation>
+        <osgi.test.platform>org.springframework.osgi.test.platform.FelixPlatform</osgi.test.platform>
+        <jetty.version>6.1.9</jetty.version>
+        <woodstox.bundle.version>3.2.6_1-SNAPSHOT</woodstox.bundle.version> 
+    </properties>
+    
+    <dependencies>
+
+       <dependency>
+            <groupId>org.apache.servicemix.kernel.testing</groupId>
+            <artifactId>org.apache.servicemix.kernel.testing.support</artifactId>
+	    <version>1.0.0-SNAPSHOT</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>orgi_R4_core</artifactId>
+                </exclusion>
+                <exclusion>
+                   <groupId>org.apache.felix</groupId>
+                   <artifactId>org.apache.felix.framework</artifactId>
+                </exclusion>
+                <exclusion>
+                   <groupId>org.apache.felix</groupId>
+                   <artifactId>org.apache.felix.main</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework.osgi</groupId>
+                </exclusion>
+                
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.main</artifactId>
+            <version>1.1.0-cxf_dosgi-SNAPSHOT</version>
+            <scope>test</scope>
+            <exclusions>
+               <exclusion>
+                 <groupId>org.apache.felix</groupId>
+                 <artifactId>org.apache.felix.shell</artifactId>
+               </exclusion>
+               <exclusion>
+                 <groupId>org.apache.felix</groupId>
+                 <artifactId>org.apache.felix.shell.tui</artifactId>
+               </exclusion>
+               <exclusion>
+                 <groupId>org.apache.felix</groupId>
+                 <artifactId>org.apache.felix.bundlerepository</artifactId>
+               </exclusion>
+             </exclusions>
+        </dependency>  
+
+
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-dosgi-ri-dsw-cxf</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency> 
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-dosgi-ri-samples-simple-pojo-interface</artifactId>
+            <version>${project.version}</version>
+        </dependency> 
+        <dependency>
+   	   <groupId>org.apache.cxf</groupId>
+	   <artifactId>cxf-bundle-minimal</artifactId>
+	   <version>${cxf.version}</version>
+           <exclusions>
+               <exclusion>
+                 <groupId>xalan</groupId>
+                 <artifactId>xalan</artifactId>
+               </exclusion>
+          </exclusions>
+       </dependency>
+       <dependency>
+          <groupId>org.springframework</groupId>
+          <artifactId>spring-core</artifactId>
+          <version>${spring.version}</version>
+          <scope>test</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.springframework</groupId>
+          <artifactId>spring-context</artifactId>
+          <version>${spring.version}</version>
+          <scope>test</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.springframework</groupId>
+          <artifactId>spring-beans</artifactId>
+          <version>${spring.version}</version>
+          <scope>test</scope>
+        </dependency> 
+        <dependency>
+          <groupId>org.springframework.osgi</groupId>
+          <artifactId>spring-osgi-test</artifactId>
+          <version>${spring.osgi.version}</version>
+          <scope>test</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.springframework.osgi</groupId>
+          <artifactId>spring-osgi-core</artifactId>
+          <version>${spring.osgi.version}</version>
+          <scope>test</scope>
+        </dependency> 
+        <dependency>
+          <groupId>org.springframework.osgi</groupId>
+          <artifactId>spring-osgi-io</artifactId>
+          <version>${spring.osgi.version}</version>
+          <scope>test</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.springframework.osgi</groupId>
+          <artifactId>spring-osgi-extender</artifactId>
+          <version>${spring.osgi.version}</version>
+          <scope>test</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.springframework.osgi</groupId>
+          <artifactId>spring-osgi-annotation</artifactId>
+          <version>${spring.osgi.version}</version>
+          <scope>test</scope>
+        </dependency>
+        <dependency>  
+           <groupId>org.apache.commons</groupId>                                                                       <artifactId>com.springsource.org.apache.commons.logging</artifactId>
+           <version>1.1.1</version> 
+        </dependency>
+        <dependency>
+            <groupId>org.mortbay.jetty</groupId>
+            <artifactId>jetty</artifactId>
+            <version>${jetty.version}</version>
+        </dependency> 
+        <dependency>
+            <groupId>org.mortbay.jetty</groupId>
+            <artifactId>jetty-util</artifactId>
+            <version>${jetty.version}</version>
+        </dependency>      
+
+        <dependency> 
+           <groupId>org.apache.servicemix.specs</groupId> 
+           <artifactId>org.apache.servicemix.specs.locator</artifactId> 
+           <version>${servicemix.specs.version}</version> 
+        </dependency>
+        <dependency> 
+           <groupId>org.apache.servicemix.specs</groupId> 
+           <artifactId>org.apache.servicemix.specs.stax-api-1.0</artifactId> 
+           <version>${servicemix.specs.version}</version> 
+        </dependency>
+        <dependency> 
+           <groupId>org.apache.servicemix.specs</groupId> 
+           <artifactId>org.apache.servicemix.specs.jaxb-api-2.0</artifactId> 
+           <version>${servicemix.specs.version}</version> 
+        </dependency>
+        <dependency> 
+           <groupId>org.apache.servicemix.specs</groupId> 
+           <artifactId>org.apache.servicemix.specs.jaxws-api-2.0</artifactId> 
+           <version>${servicemix.specs.version}</version> 
+        </dependency>
+        <dependency> 
+           <groupId>org.apache.servicemix.specs</groupId> 
+           <artifactId>org.apache.servicemix.specs.saaj-api-1.3</artifactId> 
+           <version>${servicemix.specs.version}</version> 
+        </dependency> 
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-javamail_1.4_spec</artifactId>
+            <version>1.2</version>
+        </dependency> 
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-activation_1.1_spec</artifactId>
+            <version>1.0.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
+            <version>1.1.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-servlet_2.5_spec</artifactId>
+            <version>1.1.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-annotation_1.0_spec</artifactId>
+            <version>1.1.1</version>
+        </dependency>
+
+        <dependency>
+           <groupId>org.apache.servicemix.bundles</groupId> 
+           <artifactId>org.apache.servicemix.bundles.xmlschema-1.3.2</artifactId> 
+           <version>${servicemix.feature.version}</version> 
+        </dependency>
+        <dependency>
+           <groupId>org.apache.servicemix.bundles</groupId> 
+           <artifactId>org.apache.servicemix.bundles.xmlresolver-1.2</artifactId> 
+           <version>${servicemix.feature.version}</version> 
+        </dependency>
+        <dependency>
+           <groupId>org.apache.servicemix.bundles</groupId> 
+           <artifactId>org.apache.servicemix.bundles.neethi-2.0.2</artifactId> 
+           <version>${servicemix.feature.version}</version> 
+        </dependency>
+        <dependency>
+          <groupId>org.apache.servicemix.bundles</groupId> 
+          <artifactId>org.apache.servicemix.bundles.wsdl4j-1.6.1</artifactId> 
+          <version>${servicemix.feature.version}</version>
+        </dependency>  
+        <dependency>
+           <groupId>org.apache.servicemix.bundles</groupId> 
+           <artifactId>org.apache.servicemix.bundles.jaxb-impl-2.0.3</artifactId> 
+           <version>${servicemix.feature.version}</version> 
+        </dependency> 
+
+        <dependency>
+           <groupId>org.apache.servicemix.bundles</groupId> 
+           <artifactId>org.apache.servicemix.bundles.asm-2.2.3</artifactId> 
+           <version>${servicemix.kernel.version}</version> 
+        </dependency>
+        
+        <dependency>
+           <groupId>org.apache.servicemix.bundles</groupId> 
+           <artifactId>org.apache.servicemix.bundles.woodstox</artifactId> 
+           <version>${woodstox.bundle.version}</version> 
+        </dependency> 
+     </dependencies> 
+
+    <modules>
+        <module>basic</module>
+    </modules>
+
+    <build>
+        <plugins>
+            <plugin>
+              <groupId>org.apache.servicemix.kernel.testing</groupId>
+              <artifactId>depends-maven-plugin</artifactId>
+              <version>${servicemix.kernel.version}</version>
+              <executions>
+                <execution>
+                  <id>generate-depends-file</id>
+                  <goals>
+                     <goal>generate-depends-file</goal>
+                  </goals>
+                </execution>
+              </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <forkMode>pertest</forkMode>
+                    <systemProperties>
+                        <property>
+                            <name>org.springframework.osgi.test.framework</name>
+                            <value>${osgi.test.platform}</value>
+                        </property>
+                        <property>
+                                <name>spring.validation.mode</name>
+                                <value>VALIDATION_NONE</value>
+                        </property>
+                    </systemProperties>
+                </configuration>
+            </plugin>
+
+        </plugins>
+    </build> 
+   
+
+</project>

Propchange: cxf/sandbox/dosgi/systests/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dosgi/systests/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/sandbox/dosgi/systests/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml