You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by dk...@apache.org on 2013/12/13 21:07:18 UTC

svn commit: r1550832 - in /aries/trunk/blueprint: blueprint-itests/ blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/ blueprint-testbundlea/src/main/resou...

Author: dkulp
Date: Fri Dec 13 20:07:17 2013
New Revision: 1550832

URL: http://svn.apache.org/r1550832
Log:
Add a test case
Flip tests to using the latest "core", "cm", etc.. bundles instead of the big 1.0.0 bundle. This causes test failures... will take to dev list

Added:
    aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/
    aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceA.java   (with props)
    aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceB.java   (with props)
    aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceC.java   (with props)
    aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceD.java   (with props)
    aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/MultiService.java   (with props)
Modified:
    aries/trunk/blueprint/blueprint-itests/pom.xml
    aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ASMMultiBundleTest.java
    aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2BTCustomizerTest.java
    aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2Test.java
    aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/Helper.java
    aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/OSGI-INF/blueprint/config.xml
    aries/trunk/blueprint/blueprint-testbundleb/pom.xml
    aries/trunk/blueprint/blueprint-testbundleb/src/main/resources/OSGI-INF/blueprint/config.xml

Modified: aries/trunk/blueprint/blueprint-itests/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/pom.xml?rev=1550832&r1=1550831&r2=1550832&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/pom.xml (original)
+++ aries/trunk/blueprint/blueprint-itests/pom.xml Fri Dec 13 20:07:17 2013
@@ -56,17 +56,18 @@
             <artifactId>osgi</artifactId>
             <scope>provided</scope>
         </dependency>
-        <dependency>
-            <groupId>org.apache.aries.blueprint</groupId>
-            <artifactId>org.apache.aries.blueprint</artifactId>
-            <scope>test</scope>
-            <version>1.0.0</version>
-        </dependency>
+
         <dependency>
             <groupId>org.apache.aries.blueprint</groupId>
             <artifactId>org.apache.aries.blueprint.jexl.evaluator</artifactId>
             <scope>test</scope>
             <version>1.0.0</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.aries.blueprint</groupId>
+                    <artifactId>org.apache.aries.blueprint.core</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.aries</groupId>
@@ -84,7 +85,7 @@
             <groupId>org.apache.aries.blueprint</groupId>
             <artifactId>org.apache.aries.blueprint.testbundlea</artifactId>
             <scope>test</scope>
-            <version>1.0.0</version>
+            <version>1.0.1-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.blueprint</groupId>
@@ -165,9 +166,15 @@
             <version>4.0</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.aries.blueprint</groupId>
+            <artifactId>org.apache.aries.blueprint.core</artifactId>
+            <version>1.4.0-SNAPSHOT</version>
+            <type>bundle</type>
+        </dependency>
+        <dependency>
             <groupId>org.apache.aries.proxy</groupId>
             <artifactId>org.apache.aries.proxy</artifactId>
-            <version>1.0.0</version>
+            <version>1.0.1</version>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.quiesce</groupId>
@@ -182,6 +189,12 @@
             <version>1.0.0</version>
             <type>bundle</type>
             <scope>compile</scope>
+            <exclusions>
+            <exclusion>
+                <groupId>org.apache.aries.blueprint</groupId>
+                <artifactId>org.apache.aries.blueprint.core</artifactId>
+            </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.blueprint</groupId>
@@ -191,29 +204,36 @@
         </dependency>
         <dependency>
             <groupId>org.apache.aries.blueprint</groupId>
-            <artifactId>org.apache.aries.blueprint.core</artifactId>
-            <version>1.2.1-SNAPSHOT</version>
+            <artifactId>org.apache.aries.blueprint.cm</artifactId>
+            <version>1.0.3</version>
             <type>bundle</type>
             <scope>compile</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.aries.blueprint</groupId>
+                    <artifactId>org.apache.aries.blueprint.core</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-jexl</artifactId>
+            <version>2.0</version>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.blueprint</groupId>
-            <artifactId>org.apache.aries.blueprint.cm</artifactId>
+            <artifactId>org.apache.aries.blueprint.annotation.api</artifactId>
             <version>1.0.0</version>
             <type>bundle</type>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.blueprint</groupId>
-            <artifactId>blueprint-parser</artifactId>
-            <scope>provided</scope>
+            <artifactId>org.apache.aries.blueprint.annotation.impl</artifactId>
             <version>1.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-jexl</artifactId>
-            <version>2.0</version>
-            <scope>test</scope>
+            <type>bundle</type>
+            <scope>compile</scope>
         </dependency>
     </dependencies>
 

Modified: aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ASMMultiBundleTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ASMMultiBundleTest.java?rev=1550832&r1=1550831&r2=1550832&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ASMMultiBundleTest.java (original)
+++ aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ASMMultiBundleTest.java Fri Dec 13 20:07:17 2013
@@ -21,10 +21,13 @@ package org.apache.aries.blueprint.itest
 import static org.apache.aries.itest.ExtraOptions.mavenBundle;
 import static org.apache.aries.itest.ExtraOptions.paxLogging;
 import static org.apache.aries.itest.ExtraOptions.testOptions;
+
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+
 import static org.ops4j.pax.exam.CoreOptions.equinox;
 
 import java.util.ArrayList;
@@ -35,11 +38,17 @@ import org.apache.aries.blueprint.testbu
 import org.apache.aries.blueprint.testbundlea.NSHandlerTwo;
 import org.apache.aries.blueprint.testbundlea.ProcessableBean;
 import org.apache.aries.blueprint.testbundlea.ProcessableBean.Phase;
+import org.apache.aries.blueprint.testbundlea.multi.InterfaceA;
+import org.apache.aries.blueprint.testbundlea.multi.InterfaceB;
+import org.apache.aries.blueprint.testbundlea.multi.InterfaceC;
+import org.apache.aries.blueprint.testbundlea.multi.InterfaceD;
 import org.apache.aries.blueprint.testbundleb.OtherBean;
 import org.apache.aries.blueprint.testbundleb.TestBean;
 import org.apache.aries.itest.AbstractIntegrationTest;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
+
 import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.junit.JUnit4TestRunner;
 import org.osgi.framework.Bundle;
@@ -82,7 +91,7 @@ public class ASMMultiBundleTest extends 
             assertTrue("interceptor invocation "+expected[i]+" not found",found[i]);
         }
     }
-    
+
     @Test
     public void multiBundleTest() throws Exception {
         
@@ -196,6 +205,48 @@ public class ASMMultiBundleTest extends 
         assertTrue(objOther instanceof OtherBean);
         assertEquals("test1value", ((OtherBean)objOther).getTestValue());
     }
+
+    @Test
+    public void testMultiInterfaceReferences() throws Exception {
+        //bundlea provides the ns handlers, bean processors, interceptors etc for this test.
+        Bundle bundlea = context().getBundleByName("org.apache.aries.blueprint.testbundlea");
+        assertNotNull(bundlea);
+        bundlea.start();
+        
+        //bundleb makes use of the extensions provided by bundlea
+        Bundle bundleb = context().getBundleByName("org.apache.aries.blueprint.testbundleb");
+        assertNotNull(bundleb);
+        bundleb.start();
+        
+        //bundleb's container will hold the beans we need to query to check the function
+        //provided by bundlea functioned as expected
+        BlueprintContainer beanContainer = 
+            Helper.getBlueprintContainerForBundle(context(), "org.apache.aries.blueprint.testbundleb");
+        assertNotNull(beanContainer);
+
+        Object obj1 = beanContainer.getComponentInstance("OnlyA");
+        Object obj2 = beanContainer.getComponentInstance("AandB");
+        Object obj3 = beanContainer.getComponentInstance("AandBandC");
+        Object obj4 = beanContainer.getComponentInstance("AandBandCandD");
+        
+        assertEquals("A", ((InterfaceA)obj1).methodA());
+        assertEquals("A", ((InterfaceA)obj2).methodA());
+        assertEquals("A", ((InterfaceA)obj3).methodA());
+        assertEquals("B", ((InterfaceB)obj2).methodB());
+        assertEquals("C", ((InterfaceC)obj3).methodC());
+        
+        assertFalse(obj1 instanceof InterfaceC);
+        assertFalse(obj2 instanceof InterfaceC);
+        assertFalse(obj1 instanceof InterfaceB);
+        
+        assertTrue(obj4 instanceof InterfaceD);
+        try {
+            ((InterfaceD)obj4).methodD();
+            fail("This should not work");
+        } catch (org.osgi.service.blueprint.container.ServiceUnavailableException t) {
+            //expected
+        }        
+    }
     
     @org.ops4j.pax.exam.junit.Configuration
     public static Option[] configuration() {

Modified: aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2BTCustomizerTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2BTCustomizerTest.java?rev=1550832&r1=1550831&r2=1550832&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2BTCustomizerTest.java (original)
+++ aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2BTCustomizerTest.java Fri Dec 13 20:07:17 2013
@@ -86,9 +86,13 @@ public class BlueprintContainer2BTCustom
             bundle.start();
             
             // start the blueprint bundle and it should detect the previously started blueprint sample
-            Bundle blueprintBundle = context().getBundleByName("org.apache.aries.blueprint");
+            Bundle blueprintBundle = context().getBundleByName("org.apache.aries.blueprint.core");
             blueprintBundle.start();
+            Bundle blueprintCMBundle = context().getBundleByName("org.apache.aries.blueprint.cm");
+            blueprintCMBundle.start();
             Thread.sleep(2000);
+            
+            
 
             // do the test
             Helper.testBlueprintContainer(new RichBundleContext(compositeBundleContext), bundle);

Modified: aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2Test.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2Test.java?rev=1550832&r1=1550831&r2=1550832&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2Test.java (original)
+++ aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2Test.java Fri Dec 13 20:07:17 2013
@@ -52,11 +52,14 @@ public class BlueprintContainer2Test ext
         cf.update(props);
 
         Bundle bundle = context().getBundleByName("org.apache.aries.blueprint.sample");
-        Bundle blueprintBundle = context().getBundleByName("org.apache.aries.blueprint");
+        Bundle blueprintBundle = context().getBundleByName("org.apache.aries.blueprint.core");
+        Bundle blueprintCMBundle = context().getBundleByName("org.apache.aries.blueprint.cm");
+        assertNotNull(bundle);
         assertNotNull(bundle);
 
         bundle.start();
         blueprintBundle.start();
+        blueprintCMBundle.start();
         
         // do the test
         Helper.testBlueprintContainer(context(), bundle);

Modified: aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/Helper.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/Helper.java?rev=1550832&r1=1550831&r2=1550832&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/Helper.java (original)
+++ aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/Helper.java Fri Dec 13 20:07:17 2013
@@ -73,8 +73,14 @@ public class Helper {
                     mavenBundle("org.ow2.asm", "asm-all"),
                     mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.jexl.evaluator"),
                     
-                ((startBlueprint) ? mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint") :
-                    mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint").noStart())
+                    ((startBlueprint) ? mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.api") :
+                        mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.api").noStart()),
+                    ((startBlueprint) ? mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.core") :
+                        mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.core").noStart()),
+                    ((startBlueprint) ? mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.cm") :
+                        mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.cm").noStart()),
+                    ((startBlueprint) ? mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.annotation.api") :
+                        mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.annotation.api").noStart())
         );
     }
     

Added: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceA.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceA.java?rev=1550832&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceA.java (added)
+++ aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceA.java Fri Dec 13 20:07:17 2013
@@ -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.aries.blueprint.testbundlea.multi;
+
+/**
+ * 
+ */
+public interface InterfaceA {
+
+    String methodA();
+}

Propchange: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceA.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceB.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceB.java?rev=1550832&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceB.java (added)
+++ aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceB.java Fri Dec 13 20:07:17 2013
@@ -0,0 +1,24 @@
+/**
+ * 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.aries.blueprint.testbundlea.multi;
+
+public interface InterfaceB {
+    String methodB();
+}

Propchange: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceB.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceC.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceC.java?rev=1550832&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceC.java (added)
+++ aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceC.java Fri Dec 13 20:07:17 2013
@@ -0,0 +1,23 @@
+/**
+ * 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.aries.blueprint.testbundlea.multi;
+
+public interface InterfaceC {
+    String methodC();
+}

Propchange: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceC.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceD.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceD.java?rev=1550832&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceD.java (added)
+++ aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceD.java Fri Dec 13 20:07:17 2013
@@ -0,0 +1,23 @@
+/**
+ * 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.aries.blueprint.testbundlea.multi;
+
+public interface InterfaceD {
+    String methodD();
+}

Propchange: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/InterfaceD.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/MultiService.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/MultiService.java?rev=1550832&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/MultiService.java (added)
+++ aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/MultiService.java Fri Dec 13 20:07:17 2013
@@ -0,0 +1,46 @@
+/**
+ * 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.aries.blueprint.testbundlea.multi;
+
+/**
+ * 
+ */
+public class MultiService implements InterfaceA, InterfaceB, InterfaceC, InterfaceD {
+
+    /** {@inheritDoc}*/
+    public String methodC() {
+        return "C";
+    }
+
+    /** {@inheritDoc}*/
+    public String methodB() {
+        return "B";
+    }
+
+    /** {@inheritDoc}*/
+    public String methodA() {
+        return "A";
+    }
+
+    /** {@inheritDoc}*/
+    public String methodD() {
+        return "D";
+    }
+}

Propchange: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/multi/MultiService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/OSGI-INF/blueprint/config.xml
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/OSGI-INF/blueprint/config.xml?rev=1550832&r1=1550831&r2=1550832&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/OSGI-INF/blueprint/config.xml (original)
+++ aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/OSGI-INF/blueprint/config.xml Fri Dec 13 20:07:17 2013
@@ -84,5 +84,15 @@
         </service-properties>
     </service>
     
+    <bean id="MultiService" class="org.apache.aries.blueprint.testbundlea.multi.MultiService"/>
+    <service ref="MultiService">
+    	<interfaces>
+    		<value>org.apache.aries.blueprint.testbundlea.multi.InterfaceA</value>
+    		<value>org.apache.aries.blueprint.testbundlea.multi.InterfaceB</value>
+    		<value>org.apache.aries.blueprint.testbundlea.multi.InterfaceC</value>
+    	</interfaces>
+    </service>
+    
+    
 </blueprint>
 

Modified: aries/trunk/blueprint/blueprint-testbundleb/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundleb/pom.xml?rev=1550832&r1=1550831&r2=1550832&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundleb/pom.xml (original)
+++ aries/trunk/blueprint/blueprint-testbundleb/pom.xml Fri Dec 13 20:07:17 2013
@@ -58,7 +58,7 @@
         <dependency>
             <groupId>org.apache.aries.blueprint</groupId>
             <artifactId>org.apache.aries.blueprint.testbundlea</artifactId>
-            <version>1.0.0</version>
+            <version>1.0.1-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.blueprint</groupId>

Modified: aries/trunk/blueprint/blueprint-testbundleb/src/main/resources/OSGI-INF/blueprint/config.xml
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundleb/src/main/resources/OSGI-INF/blueprint/config.xml?rev=1550832&r1=1550831&r2=1550832&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundleb/src/main/resources/OSGI-INF/blueprint/config.xml (original)
+++ aries/trunk/blueprint/blueprint-testbundleb/src/main/resources/OSGI-INF/blueprint/config.xml Fri Dec 13 20:07:17 2013
@@ -17,7 +17,7 @@
 -->
 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
            xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
-           xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.2.0"
+           xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.4.0"
            xmlns:one="http://ns.handler.one"
            xmlns:two="http://ns.handler.two"
            xmlns:three="http://ns.handler.three"
@@ -121,5 +121,28 @@
           <mytest:foo xmlns:mytest="http://ns.handler.mytest">blah</mytest:foo>
       </seven:stuff>
   </seven:nshandlerseven> 
+  
+  
+  <reference id="OnlyA" interface="org.apache.aries.blueprint.testbundlea.multi.InterfaceA"/>
+  <reference id="AandB" interface="org.apache.aries.blueprint.testbundlea.multi.InterfaceA">
+  	<ext:additional-interfaces>
+  	    <value>org.apache.aries.blueprint.testbundlea.multi.InterfaceB</value>
+  	</ext:additional-interfaces>
+  </reference>
+  <reference id="AandBandC" interface="org.apache.aries.blueprint.testbundlea.multi.InterfaceA">
+  	<ext:additional-interfaces>
+  	    <value>org.apache.aries.blueprint.testbundlea.multi.InterfaceB</value>
+  	    <value>org.apache.aries.blueprint.testbundlea.multi.InterfaceC</value>
+  	</ext:additional-interfaces>
+  </reference>
+  <!--  this shouldn't ever resolve as D isn't bound -->
+  <reference id="AandBandCandD" interface="org.apache.aries.blueprint.testbundlea.multi.InterfaceA" timeout="100">
+  	<ext:additional-interfaces>
+  	    <value>org.apache.aries.blueprint.testbundlea.multi.InterfaceB</value>
+  	    <value>org.apache.aries.blueprint.testbundlea.multi.InterfaceC</value>
+  	    <value>org.apache.aries.blueprint.testbundlea.multi.InterfaceD</value>
+  	</ext:additional-interfaces>
+  </reference>
+  
 </blueprint>