FELIX-1841 Apply DependencyManager part of FELIX-1841.patch.2 supplied by Pierre de Rop (thanks) with the slight modification of guarding the rebind with a configuration setting. Also added integration tests validating this fix.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@884122 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/test/resources/integration_test_simple_components_service_binding.xml b/scr/src/test/resources/integration_test_simple_components_service_binding.xml
index 7d37b37..9c8c630 100644
--- a/scr/src/test/resources/integration_test_simple_components_service_binding.xml
+++ b/scr/src/test/resources/integration_test_simple_components_service_binding.xml
@@ -131,4 +131,127 @@
/>
</scr:component>
+
+ <!-- Same components as above but using a target spec -->
+
+ <scr:component name="test_optional_single_dynamic_target"
+ enabled="false"
+ configuration-policy="ignore">
+ <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
+ <reference
+ name="ref"
+ interface="org.apache.felix.scr.integration.components.SimpleService"
+ cardinality="0..1"
+ policy="dynamic"
+ bind="setSimpleService"
+ unbind="unsetSimpleService"
+ target="(filterprop=match)"
+ />
+ </scr:component>
+
+ <scr:component name="test_required_single_dynamic_target"
+ enabled="false"
+ configuration-policy="ignore">
+ <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
+ <reference
+ name="ref"
+ interface="org.apache.felix.scr.integration.components.SimpleService"
+ cardinality="1..1"
+ policy="dynamic"
+ bind="setSimpleService"
+ unbind="unsetSimpleService"
+ target="(filterprop=match)"
+ />
+ </scr:component>
+
+ <scr:component name="test_optional_multiple_dynamic_target"
+ enabled="false"
+ configuration-policy="ignore">
+ <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
+ <reference
+ name="ref"
+ interface="org.apache.felix.scr.integration.components.SimpleService"
+ cardinality="0..n"
+ policy="dynamic"
+ bind="bindSimpleService"
+ unbind="unbindSimpleService"
+ target="(filterprop=match)"
+ />
+ </scr:component>
+
+ <scr:component name="test_required_multiple_dynamic_target"
+ enabled="false"
+ configuration-policy="ignore">
+ <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
+ <reference
+ name="ref"
+ interface="org.apache.felix.scr.integration.components.SimpleService"
+ cardinality="1..n"
+ policy="dynamic"
+ bind="bindSimpleService"
+ unbind="unbindSimpleService"
+ target="(filterprop=match)"
+ />
+ </scr:component>
+
+ <scr:component name="test_optional_single_static_target"
+ enabled="false"
+ configuration-policy="ignore">
+ <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
+ <reference
+ name="ref"
+ interface="org.apache.felix.scr.integration.components.SimpleService"
+ cardinality="0..1"
+ policy="static"
+ bind="setSimpleService"
+ unbind="unsetSimpleService"
+ target="(filterprop=match)"
+ />
+ </scr:component>
+
+ <scr:component name="test_required_single_static_target"
+ enabled="false"
+ configuration-policy="ignore">
+ <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
+ <reference
+ name="ref"
+ interface="org.apache.felix.scr.integration.components.SimpleService"
+ cardinality="1..1"
+ policy="static"
+ bind="setSimpleService"
+ unbind="unsetSimpleService"
+ target="(filterprop=match)"
+ />
+ </scr:component>
+
+ <scr:component name="test_optional_multiple_static_target"
+ enabled="false"
+ configuration-policy="ignore">
+ <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
+ <reference
+ name="ref"
+ interface="org.apache.felix.scr.integration.components.SimpleService"
+ cardinality="0..n"
+ policy="static"
+ bind="bindSimpleService"
+ unbind="unbindSimpleService"
+ target="(filterprop=match)"
+ />
+ </scr:component>
+
+ <scr:component name="test_required_multiple_static_target"
+ enabled="false"
+ configuration-policy="ignore">
+ <implementation class="org.apache.felix.scr.integration.components.SimpleComponent" />
+ <reference
+ name="ref"
+ interface="org.apache.felix.scr.integration.components.SimpleService"
+ cardinality="1..n"
+ policy="static"
+ bind="bindSimpleService"
+ unbind="unbindSimpleService"
+ target="(filterprop=match)"
+ />
+ </scr:component>
+
</components>