You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cl...@apache.org on 2008/04/30 00:25:45 UTC

svn commit: r652169 [1/10] - in /felix/trunk/ipojo/tests: ./ tests.composite.service.import-export/ tests.composite.service.import-export/src/ tests.composite.service.import-export/src/main/ tests.composite.service.import-export/src/main/java/ tests.co...

Author: clement
Date: Tue Apr 29 15:25:39 2008
New Revision: 652169

URL: http://svn.apache.org/viewvc?rev=652169&view=rev
Log:
Split the composite test suite
Add the annotation test suite (checking annotations processing)

Added:
    felix/trunk/ipojo/tests/tests.composite.service.import-export/   (with props)
    felix/trunk/ipojo/tests/tests.composite.service.import-export/pom.xml
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/ExportTestSuite.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/FilteredExport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/MultipleExport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/OptionalExport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/OptionalMultipleExport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/SimpleExport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/DelayedFilteredImport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/DelayedMultipleImport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/DelayedOptionalImport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/DelayedOptionalMultipleImport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/DelayedSimpleImport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/FilteredImport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/ImportTestSuite.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/MultipleImport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/OptionalImport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/OptionalMultipleImport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/importer/SimpleImport.java
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/resources/
    felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/resources/metadata.xml
    felix/trunk/ipojo/tests/tests.composite.service.instance/   (with props)
    felix/trunk/ipojo/tests/tests.composite.service.instance/pom.xml
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/test/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/test/composite/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/test/composite/instance/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/test/composite/instance/SimpleInstance.java
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/test/composite/instantiator/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/test/composite/instantiator/ConfigurableInstantiation.java
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/test/composite/instantiator/InstantiatorTestSuite.java
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/test/composite/instantiator/MultipleInstantiation.java
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/test/composite/instantiator/OptionalInstantiation.java
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/test/composite/instantiator/OptionalMultipleInstantiation.java
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/java/org/apache/felix/ipojo/test/composite/instantiator/SimpleInstantiation.java
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/resources/
    felix/trunk/ipojo/tests/tests.composite.service.instance/src/main/resources/metadata.xml
    felix/trunk/ipojo/tests/tests.core.annotations/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/pom.xml
    felix/trunk/ipojo/tests/tests.core.annotations/src/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/AggregateDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/AnnotationsTestSuite.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/Architecture.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/Dependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/Factory.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/FilteredDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/LifecycleCallbacks.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/LifecycleController.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/OptionalDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/PolicyDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/Properties.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/RankedDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/ServiceProdiving.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/service/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/service/BarService.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/service/CheckService.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/service/ChildInterface.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/service/FooService.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/service/ParentInterface1.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/service/ParentInterface2.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/annotations/service/ParentParentInterface.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/AggregateDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Arch.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/DefaultImplementationDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Dependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Factory.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/FilteredDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Immediate.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Lifecycle.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ManagedServicePID.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/MyComparator.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/NoArch.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/NoFactory.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/NoImmediate.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/NoPropagation.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/NullableDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/OptionalDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/PIDandPropagation.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/PolicyDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Propagation.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/PropagationandPID.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Properties.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ProvidesDouble.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ProvidesProperties.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ProvidesQuatro.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ProvidesSimple.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ProvidesTriple.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/RankedDependency.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/util/   (with props)
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/util/Utils.java
    felix/trunk/ipojo/tests/tests.core.annotations/src/main/resources/   (with props)
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/   (with props)
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/pom.xml
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/dynamic/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/dynamic/priority/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/dynamic/priority/DynamicPriorityDependencyTestSuite.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/dynamic/priority/RankedFooProviderType1.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/dynamic/priority/SimpleDPDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/policies/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/policies/CheckProviderParentClass.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/policies/CheckServiceProvider.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/policies/DependencyTestSuite.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/policies/DynCheckServiceProvider.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/policies/MethodCheckServiceProvider.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/policies/MethodMultipleCheckService.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/policies/MultipleCheckService.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/statics/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/statics/MethodOptionalDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/statics/MethodSimpleDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/statics/MultipleDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/statics/OptionalDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/statics/SimpleDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/statics/StaticDependencyTestSuite.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/resources/
    felix/trunk/ipojo/tests/tests.core.service.dependency.bindingpolicy/src/main/resources/metadata.xml
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/   (with props)
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/pom.xml
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/filter/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/filter/FilteredDependencyTestSuite.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/filter/MultipleFilterDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/filter/OptionalMultipleFilterDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/filter/OptionalSimpleFilterDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/filter/SimpleFilterDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/filter/component/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/filter/component/FilterCheckProvider.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/filter/component/FilterCheckSubscriber.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/filter/component/MultipleFilterCheckSubscriber.java
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/resources/
    felix/trunk/ipojo/tests/tests.core.service.dependency.filter/src/main/resources/metadata.xml
Removed:
    felix/trunk/ipojo/tests/tests.composite/src/main/java/org/apache/felix/ipojo/test/composite/exporter/
    felix/trunk/ipojo/tests/tests.composite/src/main/java/org/apache/felix/ipojo/test/composite/importer/
    felix/trunk/ipojo/tests/tests.composite/src/main/java/org/apache/felix/ipojo/test/composite/instance/
    felix/trunk/ipojo/tests/tests.composite/src/main/java/org/apache/felix/ipojo/test/composite/instantiator/
    felix/trunk/ipojo/tests/tests.composite/src/main/java/org/apache/felix/ipojo/test/composite/provides/
    felix/trunk/ipojo/tests/tests.composite/src/main/java/org/apache/felix/ipojo/test/composite/test/
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/component/FilterCheckProvider.java
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/component/FilterCheckSubscriber.java
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/MultipleFilterDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/OptionalMultipleFilterDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/OptionalSimpleFilterDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/SimpleFilterDependencies.java
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/dynamic/
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/statics/
Modified:
    felix/trunk/ipojo/tests/pom.xml
    felix/trunk/ipojo/tests/tests.composite/pom.xml
    felix/trunk/ipojo/tests/tests.composite/src/main/java/org/apache/felix/ipojo/test/composite/CompositeTestSuite.java
    felix/trunk/ipojo/tests/tests.composite/src/main/resources/metadata.xml
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/java/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/java/org/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/java/org/apache/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/java/org/apache/felix/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/java/org/apache/felix/ipojo/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/java/org/apache/felix/ipojo/test/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/java/org/apache/felix/ipojo/test/scenarios/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/java/org/apache/felix/ipojo/test/scenarios/bad/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/java/org/apache/felix/ipojo/test/scenarios/bad/service/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/java/org/apache/felix/ipojo/test/scenarios/util/   (props changed)
    felix/trunk/ipojo/tests/tests.core.bad.configurations/src/main/resources/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/component/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/service/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/java/org/apache/felix/ipojo/test/scenarios/util/   (props changed)
    felix/trunk/ipojo/tests/tests.core.configuration/src/main/resources/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/java/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/java/org/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/java/org/apache/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/java/org/apache/felix/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/java/org/apache/felix/ipojo/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/java/org/apache/felix/ipojo/test/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/java/org/apache/felix/ipojo/test/scenarios/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/java/org/apache/felix/ipojo/test/scenarios/component/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/java/org/apache/felix/ipojo/test/scenarios/eh/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/java/org/apache/felix/ipojo/test/scenarios/eh/service/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/java/org/apache/felix/ipojo/test/scenarios/util/   (props changed)
    felix/trunk/ipojo/tests/tests.core.external.handlers/src/main/resources/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/java/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/java/org/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/java/org/apache/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/java/org/apache/felix/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/java/org/apache/felix/ipojo/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/java/org/apache/felix/ipojo/test/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/java/org/apache/felix/ipojo/test/scenarios/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/java/org/apache/felix/ipojo/test/scenarios/component/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/java/org/apache/felix/ipojo/test/scenarios/factories/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/java/org/apache/felix/ipojo/test/scenarios/factories/service/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/java/org/apache/felix/ipojo/test/scenarios/util/   (props changed)
    felix/trunk/ipojo/tests/tests.core.factories/src/main/resources/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/org/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/org/apache/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/org/apache/felix/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/org/apache/felix/ipojo/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/org/apache/felix/ipojo/test/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/org/apache/felix/ipojo/test/scenarios/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/org/apache/felix/ipojo/test/scenarios/component/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/org/apache/felix/ipojo/test/scenarios/lifecycle/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/org/apache/felix/ipojo/test/scenarios/lifecycle/callback/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/org/apache/felix/ipojo/test/scenarios/lifecycle/callback/service/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/java/org/apache/felix/ipojo/test/scenarios/util/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.callback/src/main/resources/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/java/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/java/org/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/java/org/apache/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/java/org/apache/felix/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/java/org/apache/felix/ipojo/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/java/org/apache/felix/ipojo/test/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/java/org/apache/felix/ipojo/test/scenarios/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/java/org/apache/felix/ipojo/test/scenarios/component/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/java/org/apache/felix/ipojo/test/scenarios/lfc/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/java/org/apache/felix/ipojo/test/scenarios/lfc/service/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/java/org/apache/felix/ipojo/test/scenarios/util/   (props changed)
    felix/trunk/ipojo/tests/tests.core.lifecycle.controller/src/main/resources/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/apache/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/apache/felix/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/apache/felix/ipojo/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/apache/felix/ipojo/test/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/apache/felix/ipojo/test/scenarios/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/service/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/service/A123/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/java/org/apache/felix/ipojo/test/scenarios/util/   (props changed)
    felix/trunk/ipojo/tests/tests.core.manipulation/src/main/resources/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/component/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/service/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/DependencyTestSuite.java
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/di/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/service/dependency/service/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/java/org/apache/felix/ipojo/test/scenarios/util/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/resources/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.dependency/src/main/resources/metadata.xml
    felix/trunk/ipojo/tests/tests.core.service.providing/src/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/org/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/org/apache/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/org/apache/felix/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/org/apache/felix/ipojo/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/org/apache/felix/ipojo/test/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/org/apache/felix/ipojo/test/scenarios/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/org/apache/felix/ipojo/test/scenarios/component/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/org/apache/felix/ipojo/test/scenarios/component/inherited/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/org/apache/felix/ipojo/test/scenarios/ps/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/org/apache/felix/ipojo/test/scenarios/ps/service/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/java/org/apache/felix/ipojo/test/scenarios/util/   (props changed)
    felix/trunk/ipojo/tests/tests.core.service.providing/src/main/resources/   (props changed)

Modified: felix/trunk/ipojo/tests/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/pom.xml?rev=652169&r1=652168&r2=652169&view=diff
==============================================================================
--- felix/trunk/ipojo/tests/pom.xml (original)
+++ felix/trunk/ipojo/tests/pom.xml Tue Apr 29 15:25:39 2008
@@ -31,10 +31,36 @@
 	<module>tests.core.service.providing</module>
 	<module>tests.core.lifecycle.callback</module>
 	<module>tests.core.service.dependency</module>
+	<module>tests.core.service.dependency.bindingpolicy</module>
+	<module>tests.core.service.dependency.filter</module>
 	<module>tests.core.configuration</module>
 	<module>tests.core.external.handlers</module>
 	<module>tests.core.bad.configurations</module>
 	<module>tests.composite</module>
+	<module>tests.composite.service.import-export</module>
+	<module>tests.composite.service.instance</module>
+	<module>tests.composite.service.providing</module>
    </modules>
+   
+   <profiles>
+	<profile>
+		<id>java5</id>
+		<activation>
+			<jdk>1.5</jdk>
+		</activation>
+		<modules>
+			<module>tests.core.annotations</module>
+		</modules>
+	</profile>
+	<profile>
+		<id>java6</id>
+		<activation>
+			<jdk>1.6</jdk>
+		</activation>
+		<modules>
+			<module>tests.core.annotations</module>
+		</modules>
+	</profile>
+  </profiles>
   
 </project>
\ No newline at end of file

Propchange: felix/trunk/ipojo/tests/tests.composite.service.import-export/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Apr 29 15:25:39 2008
@@ -0,0 +1,9 @@
+target*
+bin*
+.settings*
+.classpath
+.project
+.checkstyle
+maven-eclipse.xml
+.externalToolBuilders
+

Added: felix/trunk/ipojo/tests/tests.composite.service.import-export/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/tests.composite.service.import-export/pom.xml?rev=652169&view=auto
==============================================================================
--- felix/trunk/ipojo/tests/tests.composite.service.import-export/pom.xml (added)
+++ felix/trunk/ipojo/tests/tests.composite.service.import-export/pom.xml Tue Apr 29 15:25:39 2008
@@ -0,0 +1,101 @@
+<!--
+	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.
+-->
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<packaging>bundle</packaging>
+	<name>iPOJO Composite (Service Import/Export) Test Suite</name>
+	<artifactId>tests.composite.service.import-export</artifactId>
+	<groupId>ipojo.tests</groupId>
+	<version>0.7.6-SNAPSHOT</version>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.ipojo</artifactId>
+			<version>0.7.6-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.ipojo.composite</artifactId>
+			<version>0.7.6-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.ipojo.metadata</artifactId>
+			<version>0.7.6-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.osgi.core</artifactId>
+			<version>1.0.0</version>
+		</dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>3.8.1</version>
+		</dependency>
+		<dependency>
+			<groupId>ipojo.examples</groupId>
+			<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
+			<version>0.7.6-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>ipojo.tests</groupId>
+			<artifactId>tests.composite</artifactId>
+			<version>0.7.6-SNAPSHOT</version>
+		</dependency>
+	</dependencies>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.felix</groupId>
+				<artifactId>maven-bundle-plugin</artifactId>
+				<version>1.4.0</version>
+				<extensions>true</extensions>
+				<configuration>
+					<instructions>
+						<Bundle-SymbolicName>
+							${pom.artifactId}
+						</Bundle-SymbolicName>
+						<Private-Package>
+							org.apache.felix.ipojo.test.composite.exporter, org.apache.felix.ipojo.test.composite.importer
+						</Private-Package>
+						<Test-Suite>
+							org.apache.felix.ipojo.test.composite.importer.ImportTestSuite, org.apache.felix.ipojo.test.composite.exporter.ExportTestSuite
+						</Test-Suite>
+					</instructions>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.felix</groupId>
+				<artifactId>maven-ipojo-plugin</artifactId>
+				<version>0.7.6-SNAPSHOT</version>
+				<executions>
+					<execution>
+						<goals>
+							<goal>ipojo-bundle</goal>
+						</goals>
+						<configuration>
+							<ignoreAnnotations>true</ignoreAnnotations>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+</project>

Added: felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/ExportTestSuite.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/ExportTestSuite.java?rev=652169&view=auto
==============================================================================
--- felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/ExportTestSuite.java (added)
+++ felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/ExportTestSuite.java Tue Apr 29 15:25:39 2008
@@ -0,0 +1,40 @@
+/* 
+ * 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.felix.ipojo.test.composite.exporter;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.apache.felix.ipojo.junit4osgi.OSGiTestSuite;
+import org.osgi.framework.BundleContext;
+
+public class ExportTestSuite extends TestSuite {
+
+	public static Test suite(BundleContext bc) {
+		OSGiTestSuite ots = new OSGiTestSuite("Composite Service Exporters Test Suite", bc);
+		ots.addTestSuite(SimpleExport.class);
+		ots.addTestSuite(OptionalExport.class);
+		ots.addTestSuite(MultipleExport.class);
+		ots.addTestSuite(OptionalMultipleExport.class);
+		ots.addTestSuite(FilteredExport.class);
+		ots.setBundleContext(bc);
+		return ots;
+	}
+
+}

Added: felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/FilteredExport.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/FilteredExport.java?rev=652169&view=auto
==============================================================================
--- felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/FilteredExport.java (added)
+++ felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/FilteredExport.java Tue Apr 29 15:25:39 2008
@@ -0,0 +1,230 @@
+/* 
+ * 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.felix.ipojo.test.composite.exporter;
+
+import java.util.Properties;
+
+import org.apache.felix.ipojo.ComponentInstance;
+import org.apache.felix.ipojo.Factory;
+import org.apache.felix.ipojo.junit4osgi.OSGiTestCase;
+import org.apache.felix.ipojo.test.composite.service.BazService;
+import org.apache.felix.ipojo.test.composite.service.FooService;
+import org.apache.felix.ipojo.test.composite.util.Utils;
+import org.osgi.framework.ServiceReference;
+
+public class FilteredExport extends OSGiTestCase {
+	
+	ComponentInstance export1;
+	Factory fooProvider;
+	ComponentInstance foo1 = null, foo2 = null;
+	
+	public void setUp() {
+		fooProvider = Utils.getFactoryByName(context, "BazProviderType");
+		assertNotNull("Check fooProvider availability", fooProvider);
+		
+		Properties p1 = new Properties();
+		p1.put("name", "foo1");
+		Properties p2 = new Properties();
+		p2.put("name", "foo2");
+		
+		try {
+			foo1 = fooProvider.createComponentInstance(p1);
+			foo2 = fooProvider.createComponentInstance(p2);
+		} catch(Exception e) {
+			fail("Fail to create foos : " + e.getMessage());
+		}
+		
+		foo1.stop();
+		foo2.stop();
+		
+		Factory factory = Utils.getFactoryByName(context, "composite.export.5");
+		Properties props = new Properties();
+		props.put("name", "export");
+		try {
+			export1 = factory.createComponentInstance(props);
+		} catch(Exception e) {
+			fail("Fail to instantiate exporter " + e.getMessage());
+		}
+	}
+	
+	public void tearDown() {
+		foo1.dispose();
+		foo2.dispose();
+		export1.dispose();
+		foo1 = null;
+		foo2 = null;
+		export1 = null;
+	}
+	
+	public void test1() {
+		export1.start();
+		
+		// Check that no foo service are available
+		assertEquals("Check no foo service", Utils.getServiceReferences(context, FooService.class.getName(), null).length, 0);
+		
+		// Test invalidity
+		assertTrue("Check invalidity - 0", export1.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 0", isFooServiceProvided());
+		assertEquals("Check number of provides - 0", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 1", export1.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke());
+		
+		foo2.start();
+		assertTrue("Check validity - 2", export1.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 2", invoke());
+		
+		foo1.stop();
+		assertTrue("Check invalidity - 3", export1.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 0);
+		
+		foo2.stop();
+		assertTrue("Check invalidity - 4", export1.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 0);
+		
+		foo2.start();
+		assertTrue("Check invalidity - 5", export1.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 5", isFooServiceProvided());
+		assertEquals("Check number of provides - 5", countFooServiceProvided(), 0);
+	}
+	
+	public void test2() {
+		export1.start();
+		
+		// Test invalidity
+		assertTrue("Check invalidity - 0", export1.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 0", isFooServiceProvided());
+		assertEquals("Check number of provides - 0", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 1", export1.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke());
+		
+		foo2.start();
+		assertTrue("Check validity - 2", export1.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 2", invoke());
+		
+		foo2.stop();
+		assertTrue("Check validity - 3", export1.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 3", invoke());
+		
+		foo1.stop();
+		assertTrue("Check invalidity - 4", export1.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 5", export1.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 5", isFooServiceProvided());
+		assertEquals("Check number of provides - 5", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 5", invoke());
+	}
+	
+	public void test3() {
+		foo1.start();
+		foo2.start();
+		
+		export1.start();
+		assertTrue("Check validity - 1", export1.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke());
+		
+		foo1.stop();
+		assertTrue("Check invalidity - 2", export1.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 0);
+		
+		foo2.stop();
+		assertTrue("Check invalidity - 3", export1.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 4", export1.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 4", invoke());
+	}
+	
+	public void test4() {
+		foo1.start();
+		foo2.start();
+		
+		export1.start();
+		assertTrue("Check validity - 1", export1.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke());
+		
+		foo2.stop();
+		assertTrue("Check validity - 2", export1.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 2", invoke());
+		
+		foo1.stop();
+		assertTrue("Check invalidity - 3", export1.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 0);
+		
+		foo2.start();
+		assertTrue("Check invalidity - 4", export1.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 0);
+	}
+	
+	
+	
+	private boolean isFooServiceProvided() {
+		ServiceReference ref = Utils.getServiceReferenceByName(context, BazService.class.getName(), export1.getInstanceName());
+		return ref != null;
+	}
+	
+	private int countFooServiceProvided() {
+		ServiceReference[] refs = Utils.getServiceReferences(context, BazService.class.getName(), "(instance.name="+export1.getInstanceName()+")");
+		return refs.length;
+	}
+	
+	private boolean invoke() {
+		ServiceReference ref = Utils.getServiceReferenceByName(context, BazService.class.getName(), export1.getInstanceName());
+		if(ref == null) { return false; }
+		BazService fs = (BazService) context.getService(ref);
+		return fs.foo();
+	}
+	
+	
+	
+	
+	
+
+}

Added: felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/MultipleExport.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/MultipleExport.java?rev=652169&view=auto
==============================================================================
--- felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/MultipleExport.java (added)
+++ felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/MultipleExport.java Tue Apr 29 15:25:39 2008
@@ -0,0 +1,247 @@
+/* 
+ * 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.felix.ipojo.test.composite.exporter;
+
+import java.util.Properties;
+
+import org.apache.felix.ipojo.ComponentInstance;
+import org.apache.felix.ipojo.Factory;
+import org.apache.felix.ipojo.junit4osgi.OSGiTestCase;
+import org.apache.felix.ipojo.test.composite.service.BazService;
+import org.apache.felix.ipojo.test.composite.service.FooService;
+import org.apache.felix.ipojo.test.composite.util.Utils;
+import org.osgi.framework.ServiceReference;
+
+public class MultipleExport extends OSGiTestCase {
+	
+	ComponentInstance export3;
+	Factory fooProvider;
+	ComponentInstance foo1 = null, foo2 = null;
+
+	public void setUp() {
+		fooProvider = Utils.getFactoryByName(context, "BazProviderType");
+		assertNotNull("Check fooProvider availability", fooProvider);
+		
+		Properties p1 = new Properties();
+		p1.put("name", "foo1");
+		Properties p2 = new Properties();
+		p2.put("name", "foo2");
+		
+		try {
+			foo1 = fooProvider.createComponentInstance(p1);
+			foo2 = fooProvider.createComponentInstance(p2);
+		} catch(Exception e) {
+			fail("Fail to create foos : " + e.getMessage());
+		}
+		
+		foo1.stop();
+		foo2.stop();
+		
+		Factory factory = Utils.getFactoryByName(context, "composite.export.3");
+		Properties props = new Properties();
+		props.put("name", "export");
+		try {
+			export3 = factory.createComponentInstance(props);
+		} catch(Exception e) {
+			fail("Fail to instantiate exporter " + e.getMessage());
+		}
+	}
+	
+	public void tearDown() {
+		foo1.dispose();
+		foo2.dispose();
+		export3.dispose();
+		foo1 = null;
+		foo2 = null;
+		export3 = null;
+	}
+	
+	public void test1() {
+		export3.start();
+		
+		// Check that no foo service are available
+		assertEquals("Check no foo service", Utils.getServiceReferences(context, FooService.class.getName(), null).length, 0);
+		
+		// Test invalidity
+		assertTrue("Check invalidity - 0", export3.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 0", isFooServiceProvided());
+		assertEquals("Check number of provides - 0", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 1", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke(1));
+		
+		foo2.start();
+		assertTrue("Check validity - 2", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 2);
+		assertTrue("Check invocation - 2", invoke(2));
+		
+		foo1.stop();
+		assertTrue("Check validity - 3", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3 ("+countFooServiceProvided()+")", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 3", invoke(1));
+		
+		foo2.stop();
+		assertTrue("Check invalidity - 4", export3.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 0);
+		
+		foo2.start();
+		assertTrue("Check validity - 5", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 5", isFooServiceProvided());
+		assertEquals("Check number of provides - 5", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 5", invoke(1));
+	}
+	
+	public void test2() {
+		export3.start();
+		
+		// Test invalidity
+		assertTrue("Check invalidity - 0", export3.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 0", isFooServiceProvided());
+		assertEquals("Check number of provides - 0", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 1", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke());
+		
+		foo2.start();
+		assertTrue("Check validity - 2", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 2);
+		assertTrue("Check invocation - 2", invoke(2));
+		
+		foo2.stop();
+		assertTrue("Check validity - 3", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 3", invoke(1));
+		
+		foo1.stop();
+		assertTrue("Check invalidity - 4", export3.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 5", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 5", isFooServiceProvided());
+		assertEquals("Check number of provides - 5", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 5", invoke(1));
+	}
+	
+	public void test3() {
+		foo1.start();
+		foo2.start();
+		
+		export3.start();
+		assertTrue("Check validity - 1", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 2);
+		assertTrue("Check invocation - 1", invoke(2));
+		
+		foo1.stop();
+		assertTrue("Check validity - 2", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 2", invoke(1));
+		
+		foo2.stop();
+		assertTrue("Check invalidity - 3", export3.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 4", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 4", invoke(1));
+	}
+	
+	public void test4() {
+		foo1.start();
+		foo2.start();
+		
+		export3.start();
+		assertTrue("Check validity - 1", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 2);
+		assertTrue("Check invocation - 1", invoke(2));
+		
+		foo2.stop();
+		assertTrue("Check validity - 2", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 2", invoke(1));
+		
+		foo1.stop();
+		assertTrue("Check invalidity - 3", export3.getState() == ComponentInstance.INVALID);
+		assertFalse("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 0);
+		
+		foo2.start();
+		assertTrue("Check validity - 4", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 4", invoke(1));
+	}
+	
+	
+	
+	private boolean isFooServiceProvided() {
+		ServiceReference ref = Utils.getServiceReferenceByName(context, BazService.class.getName(), export3.getInstanceName());
+		return ref != null;
+	}
+	
+	private int countFooServiceProvided() {
+		ServiceReference[] refs = Utils.getServiceReferences(context, BazService.class.getName(), "(instance.name="+export3.getInstanceName()+")");
+		return refs.length;
+	}
+	
+	private boolean invoke() {
+		ServiceReference ref = Utils.getServiceReferenceByName(context, BazService.class.getName(), export3.getInstanceName());
+		if(ref == null) { return false; }
+		BazService fs = (BazService) context.getService(ref);
+		context.ungetService(ref);
+		return fs.foo();
+	}
+	
+	private boolean invoke(int nb) {
+		ServiceReference[] refs = Utils.getServiceReferences(context, BazService.class.getName(), "(instance.name="+export3.getInstanceName()+")");
+		if(refs == null) { return false; }
+		if (nb > refs.length) { return false; }
+		for(int i = 0; i < nb; i++) {
+			BazService fs = (BazService) context.getService(refs[i]);
+			context.ungetService(refs[i]);
+			if(!fs.foo()) { return false; }
+		}
+		return true;
+	}
+	
+	
+	
+	
+	
+
+}

Added: felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/OptionalExport.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/OptionalExport.java?rev=652169&view=auto
==============================================================================
--- felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/OptionalExport.java (added)
+++ felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/OptionalExport.java Tue Apr 29 15:25:39 2008
@@ -0,0 +1,234 @@
+/* 
+ * 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.felix.ipojo.test.composite.exporter;
+
+import java.util.Properties;
+
+import org.apache.felix.ipojo.ComponentInstance;
+import org.apache.felix.ipojo.Factory;
+import org.apache.felix.ipojo.junit4osgi.OSGiTestCase;
+import org.apache.felix.ipojo.test.composite.service.BazService;
+import org.apache.felix.ipojo.test.composite.service.FooService;
+import org.apache.felix.ipojo.test.composite.util.Utils;
+import org.osgi.framework.ServiceReference;
+
+public class OptionalExport extends OSGiTestCase {
+	
+	ComponentInstance export2;
+	Factory fooProvider;
+	ComponentInstance foo1 = null, foo2 = null;
+
+	public void setUp() {
+		fooProvider = Utils.getFactoryByName(context, "BazProviderType");
+		assertNotNull("Check fooProvider availability", fooProvider);
+		
+		Properties p1 = new Properties();
+		p1.put("name", "foo1");
+		Properties p2 = new Properties();
+		p2.put("name", "foo2");
+		
+		try {
+			foo1 = fooProvider.createComponentInstance(p1);
+			foo2 = fooProvider.createComponentInstance(p2);
+		} catch(Exception e) {
+			fail("Fail to create foos : " + e.getMessage());
+		}
+		
+		foo1.stop();
+		foo2.stop();
+		
+		Factory factory = Utils.getFactoryByName(context, "composite.export.2");
+		Properties props = new Properties();
+		props.put("name", "export");
+		try {
+			export2 = factory.createComponentInstance(props);
+		} catch(Exception e) {
+			fail("Fail to instantiate exporter " + e.getMessage());
+		}
+	}
+	
+	public void tearDown() {
+		foo1.dispose();
+		foo2.dispose();
+		export2.dispose();
+		foo1 = null;
+		foo2 = null;
+		export2 = null;
+	}
+	
+	public void test1() {
+		export2.start();
+		
+		// Check that no foo service are available
+		assertEquals("Check no foo service", Utils.getServiceReferences(context, FooService.class.getName(), null).length, 0);
+		
+		// Test validity
+		assertTrue("Check validity - 0", export2.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 0", isFooServiceProvided());
+		assertEquals("Check number of provides - 0", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 1", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke());
+		
+		foo2.start();
+		assertTrue("Check validity - 2", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 2", invoke());
+		
+		foo1.stop();
+		assertTrue("Check validity - 3", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3 ("+countFooServiceProvided()+")", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 3", invoke());
+		
+		foo2.stop();
+		assertTrue("Check validity - 4", export2.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 0);
+		
+		foo2.start();
+		assertTrue("Check validity - 5", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 5", isFooServiceProvided());
+		assertEquals("Check number of provides - 5", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 5", invoke());
+	}
+	
+	public void test2() {
+		export2.start();
+		
+		// Test invalidity
+		assertTrue("Check validity - 0", export2.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 0", isFooServiceProvided());
+		assertEquals("Check number of provides - 0", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 1", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke());
+		
+		foo2.start();
+		assertTrue("Check validity - 2", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 2", invoke());
+		
+		foo2.stop();
+		assertTrue("Check validity - 3", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 3", invoke());
+		
+		foo1.stop();
+		assertTrue("Check validity - 4", export2.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 5", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 5", isFooServiceProvided());
+		assertEquals("Check number of provides - 5", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 5", invoke());
+	}
+	
+	public void test3() {
+		foo1.start();
+		foo2.start();
+		
+		export2.start();
+		assertTrue("Check validity - 1", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke());
+		
+		foo1.stop();
+		assertTrue("Check validity - 2", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 2", invoke());
+		
+		foo2.stop();
+		assertTrue("Check validity - 3", export2.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 4", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 4", invoke());
+	}
+	
+	public void test4() {
+		foo1.start();
+		foo2.start();
+		
+		export2.start();
+		assertTrue("Check validity - 1", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke());
+		
+		foo2.stop();
+		assertTrue("Check validity - 2", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 2", invoke());
+		
+		foo1.stop();
+		assertTrue("Check validity - 3", export2.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 0);
+		
+		foo2.start();
+		assertTrue("Check validity - 4", export2.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 4", invoke());
+	}
+	
+	
+	
+	private boolean isFooServiceProvided() {
+		ServiceReference ref = Utils.getServiceReferenceByName(context, BazService.class.getName(), export2.getInstanceName());
+		return ref != null;
+	}
+	
+	private int countFooServiceProvided() {
+		ServiceReference[] refs = Utils.getServiceReferences(context, BazService.class.getName(), "(instance.name="+export2.getInstanceName()+")");
+		return refs.length;
+	}
+	
+	private boolean invoke() {
+		ServiceReference ref = Utils.getServiceReferenceByName(context, BazService.class.getName(), export2.getInstanceName());
+		if(ref == null) { return false; }
+		BazService fs = (BazService) context.getService(ref);
+		return fs.foo();
+	}
+	
+	
+	
+	
+	
+
+}

Added: felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/OptionalMultipleExport.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/OptionalMultipleExport.java?rev=652169&view=auto
==============================================================================
--- felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/OptionalMultipleExport.java (added)
+++ felix/trunk/ipojo/tests/tests.composite.service.import-export/src/main/java/org/apache/felix/ipojo/test/composite/exporter/OptionalMultipleExport.java Tue Apr 29 15:25:39 2008
@@ -0,0 +1,247 @@
+/* 
+ * 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.felix.ipojo.test.composite.exporter;
+
+import java.util.Properties;
+
+import org.apache.felix.ipojo.ComponentInstance;
+import org.apache.felix.ipojo.Factory;
+import org.apache.felix.ipojo.junit4osgi.OSGiTestCase;
+import org.apache.felix.ipojo.test.composite.service.BazService;
+import org.apache.felix.ipojo.test.composite.service.FooService;
+import org.apache.felix.ipojo.test.composite.util.Utils;
+import org.osgi.framework.ServiceReference;
+
+public class OptionalMultipleExport extends OSGiTestCase {
+	
+	ComponentInstance export3;
+	Factory fooProvider;
+	ComponentInstance foo1 = null, foo2 = null;
+
+	public void setUp() {
+		fooProvider = Utils.getFactoryByName(context, "BazProviderType");
+		assertNotNull("Check fooProvider availability", fooProvider);
+		
+		Properties p1 = new Properties();
+		p1.put("name", "foo1");
+		Properties p2 = new Properties();
+		p2.put("name", "foo2");
+		
+		try {
+			foo1 = fooProvider.createComponentInstance(p1);
+			foo2 = fooProvider.createComponentInstance(p2);
+		} catch(Exception e) {
+			fail("Fail to create foos : " + e.getMessage());
+		}
+		
+		foo1.stop();
+		foo2.stop();
+		
+		Factory factory = Utils.getFactoryByName(context, "composite.export.4");
+		Properties props = new Properties();
+		props.put("name", "export");
+		try {
+			export3 = factory.createComponentInstance(props);
+		} catch(Exception e) {
+			fail("Fail to instantiate exporter " + e.getMessage());
+		}
+	}
+	
+	public void tearDown() {
+		foo1.dispose();
+		foo2.dispose();
+		export3.dispose();
+		foo1 = null;
+		foo2 = null;
+		export3 = null;
+	}
+	
+	public void test1() {
+		export3.start();
+		
+		// Check that no foo service are available
+		assertEquals("Check no foo service", Utils.getServiceReferences(context, FooService.class.getName(), null).length, 0);
+		
+		// Test invalidity
+		assertTrue("Check validity - 0", export3.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 0", isFooServiceProvided());
+		assertEquals("Check number of provides - 0", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 1", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke(1));
+		
+		foo2.start();
+		assertTrue("Check validity - 2", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 2);
+		assertTrue("Check invocation - 2", invoke(2));
+		
+		foo1.stop();
+		assertTrue("Check validity - 3", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3 ("+countFooServiceProvided()+")", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 3", invoke(1));
+		
+		foo2.stop();
+		assertTrue("Check validity - 4", export3.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 0);
+		
+		foo2.start();
+		assertTrue("Check validity - 5", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 5", isFooServiceProvided());
+		assertEquals("Check number of provides - 5", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 5", invoke(1));
+	}
+	
+	public void test2() {
+		export3.start();
+		
+		// Test invalidity
+		assertTrue("Check validity - 0", export3.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 0", isFooServiceProvided());
+		assertEquals("Check number of provides - 0", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 1", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 1", invoke());
+		
+		foo2.start();
+		assertTrue("Check validity - 2", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 2);
+		assertTrue("Check invocation - 2", invoke(2));
+		
+		foo2.stop();
+		assertTrue("Check validity - 3", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 3", invoke(1));
+		
+		foo1.stop();
+		assertTrue("Check validity - 4", export3.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 5", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 5", isFooServiceProvided());
+		assertEquals("Check number of provides - 5", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 5", invoke(1));
+	}
+	
+	public void test3() {
+		foo1.start();
+		foo2.start();
+		
+		export3.start();
+		assertTrue("Check validity - 1", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 2);
+		assertTrue("Check invocation - 1", invoke(2));
+		
+		foo1.stop();
+		assertTrue("Check validity - 2", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 2", invoke(1));
+		
+		foo2.stop();
+		assertTrue("Check validity - 3", export3.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 0);
+		
+		foo1.start();
+		assertTrue("Check validity - 4", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 4", invoke(1));
+	}
+	
+	public void test4() {
+		foo1.start();
+		foo2.start();
+		
+		export3.start();
+		assertTrue("Check validity - 1", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 1", isFooServiceProvided());
+		assertEquals("Check number of provides - 1", countFooServiceProvided(), 2);
+		assertTrue("Check invocation - 1", invoke(2));
+		
+		foo2.stop();
+		assertTrue("Check validity - 2", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 2", isFooServiceProvided());
+		assertEquals("Check number of provides - 2", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 2", invoke(1));
+		
+		foo1.stop();
+		assertTrue("Check validity - 3", export3.getState() == ComponentInstance.VALID);
+		assertFalse("Check providing - 3", isFooServiceProvided());
+		assertEquals("Check number of provides - 3", countFooServiceProvided(), 0);
+		
+		foo2.start();
+		assertTrue("Check validity - 4", export3.getState() == ComponentInstance.VALID);
+		assertTrue("Check providing - 4", isFooServiceProvided());
+		assertEquals("Check number of provides - 4", countFooServiceProvided(), 1);
+		assertTrue("Check invocation - 4", invoke(1));
+	}
+	
+	
+	
+	private boolean isFooServiceProvided() {
+		ServiceReference ref = Utils.getServiceReferenceByName(context, BazService.class.getName(), export3.getInstanceName());
+		return ref != null;
+	}
+	
+	private int countFooServiceProvided() {
+		ServiceReference[] refs = Utils.getServiceReferences(context, BazService.class.getName(), "(instance.name="+export3.getInstanceName()+")");
+		return refs.length;
+	}
+	
+	private boolean invoke() {
+		ServiceReference ref = Utils.getServiceReferenceByName(context, BazService.class.getName(), export3.getInstanceName());
+		if(ref == null) { return false; }
+		BazService fs = (BazService) context.getService(ref);
+		context.ungetService(ref);
+		return fs.foo();
+	}
+	
+	private boolean invoke(int nb) {
+		ServiceReference[] refs = Utils.getServiceReferences(context, BazService.class.getName(), "(instance.name="+export3.getInstanceName()+")");
+		if(refs == null) { return false; }
+		if (nb > refs.length) { return false; }
+		for(int i = 0; i < nb; i++) {
+			BazService fs = (BazService) context.getService(refs[i]);
+			context.ungetService(refs[i]);
+			if(!fs.foo()) { return false; }
+		}
+		return true;
+	}
+	
+	
+	
+	
+	
+
+}