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 2007/09/25 17:07:18 UTC
svn commit: r579291 [1/12] - in /felix/sandbox/clement/Tests/Suite: ./ src/
src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/
src/main/java/org/apache/felix/ src/main/java/org/apache/felix/ipojo/
src/main/java/org/apache/felix/ipojo...
Author: clement
Date: Tue Sep 25 08:06:53 2007
New Revision: 579291
URL: http://svn.apache.org/viewvc?rev=579291&view=rev
Log:
Initial import of the iPOJO Test Suite
Added:
felix/sandbox/clement/Tests/Suite/pom.xml
felix/sandbox/clement/Tests/Suite/src/
felix/sandbox/clement/Tests/Suite/src/main/
felix/sandbox/clement/Tests/Suite/src/main/java/
felix/sandbox/clement/Tests/Suite/src/main/java/org/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/handler/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/handler/CheckServiceHandler.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/handler/CheckServiceHandlerDescription.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/iPOJOTestRunner.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/log/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/log/LogImpl.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/ArchitectureTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/DependencyTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/ProvidedServiceTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/CheckService2Provider.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/Manipulation23Tester.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Baz2CheckProvider.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/BazProviderType1.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/CallbackCheckService.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/CheckServiceProvider.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ConfigurableCheckServiceProvider.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/FooBarProviderType1.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/FooProviderType1.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/FooProviderTypeDyn.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/FooProviderTypeDyn2.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/LifecycleControllerTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Manipulation23Tester.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/MethodCheckServiceProvider.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/MethodMultipleCheckService.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/MultipleCheckService.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ParentClass.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ParentConfigurableCheckServiceProvider.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/TataProvider.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/TotoProvider.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/TotoProviderGlue.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/exporter/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/exporter/ExportTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/exporter/FilteredExport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/exporter/MultipleExport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/exporter/OptionalExport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/exporter/OptionalMultipleExport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/exporter/SimpleExport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/DelayedFilteredImport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/DelayedMultipleImport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/DelayedOptionalImport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/DelayedOptionalMultipleImport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/DelayedSimpleImport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/FilteredImport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/ImportTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/MultipleImport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/OptionalImport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/OptionalMultipleImport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/importer/SimpleImport.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/infrastructure/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/infrastructure/EmptyCompositeTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/infrastructure/FactoryManagementTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/infrastructure/InfrastructureTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/infrastructure/ServiceRangeTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/infrastructure/ServiceRegistryTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/instance/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/instance/SimpleInstance.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/instantiator/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/instantiator/ConfigurableInstantiation.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/instantiator/InstantiatorTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/instantiator/MultipleInstantiation.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/instantiator/OptionalInstantiation.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/instantiator/OptionalMultipleInstantiation.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/instantiator/SimpleInstantiation.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/provides/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/provides/ProvidesTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/provides/TestComp0.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/provides/TestComp1.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/provides/TestComp2.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/provides/TestComp3.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/provides/TestComp4.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/provides/TestComp5.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/provides/TestComp6.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/provides/TestComp7.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/provides/TestComp8.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/test/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/composite/test/CompositeTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/ConfigurationTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/DynamicallyConfigurableProperties.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/SimpleProperties.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/TestBothProperties.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/TestFieldProperties.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/TestMethodProperties.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/configuration/TestSuperMethodProperties.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/controller/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/controller/ImmediateLifeCycleControllerTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/controller/LifeCycleControllerTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/controller/LifeCycleControllerTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/core/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/core/ComponentDesc.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/core/CoreTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/core/POJOCreation.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/DelayedMultipleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/DelayedOptionalDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/DelayedOptionalMultipleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/DelayedSimpleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/DependencyTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/MethodDelayedMultipleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/MethodDelayedOptionalDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/MethodDelayedOptionalMultipleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/MethodDelayedSimpleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/MethodMultipleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/MethodOptionalDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/MethodOptionalMultipleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/MethodSimpleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/MultipleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/OptionalDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/OptionalMultipleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/dependency/SimpleDependencies.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/factory/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/factory/ConfigAdminTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/factory/FactoryTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/factory/ObedienceTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/factory/UnacceptableConfigurationTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/handler/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/handler/ExternalHandlerTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/handler/HandlerTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/lifecycle/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/lifecycle/CallbackTestCase.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/lifecycle/ImmediateCallbackTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/lifecycle/LifeCycleCallbackTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/lifecycle/ParentCallbackTestCase.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/ExceptionTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/GetComponentInstanceTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/ManipulationMetadata.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/ManipulationMetadataAPI.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/ManipulationTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/PrimitiveTypeTest.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/PrimitiveTypeTest2.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/A123/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/A123/CheckService2.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/BarService.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/BazService.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/CheckService.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/FooService.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/PrimitiveManipulationTestService.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/Tata.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/Tota.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/Toto.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/providing/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/providing/DynamicProps.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/providing/DynamicPropsReconfiguration.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/providing/Exposition.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/providing/FactoryProps.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/providing/ProvidedServiceTestSuite.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/providing/SimplePS.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/providing/StaticProps.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/service/providing/StaticPropsReconfiguration.java
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/util/
felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/util/Utils.java
felix/sandbox/clement/Tests/Suite/src/main/resources/
felix/sandbox/clement/Tests/Suite/src/main/resources/metadata.xml
Added: felix/sandbox/clement/Tests/Suite/pom.xml
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/pom.xml?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/pom.xml (added)
+++ felix/sandbox/clement/Tests/Suite/pom.xml Tue Sep 25 08:06:53 2007
@@ -0,0 +1,58 @@
+<project>
+ <groupId>ipojo.test</groupId>
+ <version>0.7.5</version>
+ <modelVersion>4.0.0</modelVersion>
+ <packaging>bundle</packaging>
+ <name>iPOJO Test Suite</name>
+ <artifactId>iPOJOTestSuite</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.ipojo</artifactId>
+ <version>0.7.5-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.ipojo.metadata</artifactId>
+ <version>0.7.5-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>ipojo.utf</groupId>
+ <artifactId>utf</artifactId>
+ <version>0.1.1</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Export-Package>org.apache.felix.ipojo.test.*</Export-Package>
+ <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+ <Private-Package>fr.imag.adele.escoffier.utf.framework, fr.imag.adele.escoffier.utf.runner</Private-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.ipojo.plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>ipojo-bundle</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/handler/CheckServiceHandler.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/handler/CheckServiceHandler.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/handler/CheckServiceHandler.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/handler/CheckServiceHandler.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,82 @@
+package org.apache.felix.ipojo.test.handler;
+
+import java.util.Dictionary;
+import java.util.Properties;
+
+import org.apache.felix.ipojo.PrimitiveHandler;
+import org.apache.felix.ipojo.architecture.ComponentDescription;
+import org.apache.felix.ipojo.architecture.HandlerDescription;
+import org.apache.felix.ipojo.architecture.PropertyDescription;
+import org.apache.felix.ipojo.metadata.Element;
+import org.apache.felix.ipojo.test.scenarios.service.CheckService;
+import org.osgi.framework.ServiceRegistration;
+
+public class CheckServiceHandler extends PrimitiveHandler implements CheckService {
+
+ ServiceRegistration sr;
+ boolean isValid;
+ int changes = 0;
+ static final String NAMESPACE = org.apache.felix.ipojo.test.handler.CheckServiceHandler.class.getName();
+
+ Properties props = new Properties();
+
+ public void configure(Element metadata, Dictionary configuration) {
+ Element[] meta = metadata.getElements("Check", NAMESPACE);
+ if(meta.length == 0) { return; }
+ // Get handler props
+ props.put("instance.name", configuration.get("name"));
+ if(configuration.get("csh.simple") != null) { props.put("Simple", configuration.get("csh.simple")); }
+ if(configuration.get("csh.map") != null) {
+ Dictionary m = (Dictionary) configuration.get("csh.map");
+ props.put("Map1", m.get("a"));
+ props.put("Map2", m.get("b"));
+ props.put("Map3", m.get("c"));
+ }
+ props.put("changes", new Integer(changes));
+
+ }
+
+ public void initializeComponentFactory(ComponentDescription cd, Element metadata) {
+ cd.addProperty(new PropertyDescription("csh.simple", "java.lang.String", null));
+ cd.addProperty(new PropertyDescription("csh.map", "java.util.Dictionary", null));
+ }
+
+ public void start() {
+ if(sr == null) {
+ sr = getInstanceManager().getContext().registerService(CheckService.class.getName(), this, props);
+ }
+ isValid = true;
+ }
+
+ public void stop() {
+ isValid = false;
+ synchronized(this) {
+ if(sr != null) { sr.unregister(); }
+ }
+ }
+
+ public boolean check() {
+ if(isValid) { isValid = false;}
+ else { isValid = true; }
+ return isValid;
+ }
+
+ public Properties getProps() {
+ return props;
+ }
+
+ public void stateChanged(int state) {
+ changes++;
+ props.put("changes", new Integer(changes));
+ sr.setProperties(props);
+ }
+
+ public String getName() {
+ return NAMESPACE;
+ }
+
+ public HandlerDescription getDescription() {
+ return new CheckServiceHandlerDescription(this);
+ }
+
+}
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/handler/CheckServiceHandlerDescription.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/handler/CheckServiceHandlerDescription.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/handler/CheckServiceHandlerDescription.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/handler/CheckServiceHandlerDescription.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,20 @@
+package org.apache.felix.ipojo.test.handler;
+
+import org.apache.felix.ipojo.Handler;
+import org.apache.felix.ipojo.architecture.HandlerDescription;
+import org.apache.felix.ipojo.metadata.Attribute;
+import org.apache.felix.ipojo.metadata.Element;
+
+public class CheckServiceHandlerDescription extends HandlerDescription {
+
+ public CheckServiceHandlerDescription(Handler h) {
+ super(h);
+ }
+
+ public Element getHandlerInfo() {
+ Element elem = super.getHandlerInfo();
+ elem.addAttribute(new Attribute("isValid", isValid()+""));
+ return elem;
+ }
+
+}
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/iPOJOTestRunner.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/iPOJOTestRunner.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/iPOJOTestRunner.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/iPOJOTestRunner.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,99 @@
+package org.apache.felix.ipojo.test;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.felix.ipojo.ComponentFactory;
+import org.apache.felix.ipojo.test.scenarios.architecture.ArchitectureTestSuite;
+import org.apache.felix.ipojo.test.scenarios.composite.exporter.ExportTestSuite;
+import org.apache.felix.ipojo.test.scenarios.composite.importer.ImportTestSuite;
+import org.apache.felix.ipojo.test.scenarios.composite.infrastructure.InfrastructureTestSuite;
+import org.apache.felix.ipojo.test.scenarios.composite.instance.SimpleInstance;
+import org.apache.felix.ipojo.test.scenarios.composite.instantiator.InstantiatorTestSuite;
+import org.apache.felix.ipojo.test.scenarios.composite.provides.ProvidesTestSuite;
+import org.apache.felix.ipojo.test.scenarios.composite.test.CompositeTest;
+import org.apache.felix.ipojo.test.scenarios.configuration.ConfigurationTestSuite;
+import org.apache.felix.ipojo.test.scenarios.controller.LifeCycleControllerTestSuite;
+import org.apache.felix.ipojo.test.scenarios.core.CoreTestSuite;
+import org.apache.felix.ipojo.test.scenarios.dependency.DependencyTestSuite;
+import org.apache.felix.ipojo.test.scenarios.factory.FactoryTestSuite;
+import org.apache.felix.ipojo.test.scenarios.handler.ExternalHandlerTestSuite;
+import org.apache.felix.ipojo.test.scenarios.lifecycle.LifeCycleCallbackTest;
+import org.apache.felix.ipojo.test.scenarios.manipulation.ManipulationTestSuite;
+import org.apache.felix.ipojo.test.scenarios.service.providing.ProvidedServiceTestSuite;
+import org.osgi.framework.BundleContext;
+
+import fr.imag.adele.escoffier.utf.runner.InlineConsoleRunner;
+
+/**
+ * @author Clement Escoffier
+ *
+ */
+public class iPOJOTestRunner {
+
+ private List tests = new ArrayList();
+
+ private BundleContext context;
+
+ public iPOJOTestRunner(BundleContext bc) {
+ context = bc;
+ //Initialize tests
+ init();
+ execute();
+ }
+
+ private void init() {
+ tests.add(new ManipulationTestSuite(context));
+ tests.add(new CoreTestSuite(context));
+ tests.add(new FactoryTestSuite(context));
+ tests.add(new ProvidedServiceTestSuite(context));
+ tests.add(new ConfigurationTestSuite(context));
+ tests.add(new DependencyTestSuite(context));
+ tests.add(new ArchitectureTestSuite(context));
+ tests.add(new LifeCycleCallbackTest(context));
+ tests.add(new ExternalHandlerTestSuite(context));
+ tests.add(new InfrastructureTestSuite(context));
+ tests.add(new InstantiatorTestSuite(context));
+ tests.add(new SimpleInstance(context));
+ tests.add(new ImportTestSuite(context));
+ tests.add(new ExportTestSuite(context));
+ tests.add(new CompositeTest(context));
+ tests.add(new ProvidesTestSuite(context));
+ tests.add(new LifeCycleControllerTestSuite(context));
+ }
+
+ private void execute() {
+ try {
+ InlineConsoleRunner.run(tests, true);
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+
+
+ try {
+ System.gc();
+ Field ins = ComponentFactory.class.getDeclaredField("m_instancesName");
+
+ ins.setAccessible(true);
+ List l = (List) ins.get(null);
+ System.out.println("\nStatistics :");
+ System.out.println("Number of instances : " + l.size());
+ System.out.println("Living Instances : " + l);
+ } catch (SecurityException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (NoSuchFieldException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IllegalArgumentException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+
+}
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/log/LogImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/log/LogImpl.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/log/LogImpl.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/log/LogImpl.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,96 @@
+package org.apache.felix.ipojo.test.log;
+
+import java.util.Enumeration;
+import java.util.Vector;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.log.LogEntry;
+import org.osgi.service.log.LogListener;
+import org.osgi.service.log.LogReaderService;
+import org.osgi.service.log.LogService;
+
+public class LogImpl implements LogService, LogReaderService {
+
+ Vector m_messages = new Vector();
+
+ public void log(int arg0, String arg1) {
+ add(new LogEntryImpl(arg0, arg1, null, null));
+ }
+
+ public void log(int arg0, String arg1, Throwable arg2) {
+ add(new LogEntryImpl(arg0, arg1, arg2, null));
+ }
+
+ public void log(ServiceReference arg0, int arg1, String arg2) {
+ add(new LogEntryImpl(arg1, arg2, null, arg0));
+
+ }
+
+ public void log(ServiceReference arg0, int arg1, String arg2, Throwable arg3) {
+ add(new LogEntryImpl(arg1, arg2, arg3, arg0));
+ }
+
+ private void add(LogEntry entry) {
+ m_messages.add(entry);
+ }
+
+ public void addLogListener(LogListener arg0) {
+ throw new UnsupportedOperationException("Log Listener not supported");
+
+ }
+
+ public Enumeration getLog() {
+ return m_messages.elements();
+ }
+
+ public void removeLogListener(LogListener arg0) {
+ throw new UnsupportedOperationException("Log Listener not supported");
+
+ }
+
+ private class LogEntryImpl implements LogEntry {
+
+ private int level;
+ private String message;
+ private Throwable exception;
+ private ServiceReference reference;
+ private long time;
+
+
+ LogEntryImpl(int l, String m, Throwable e, ServiceReference ref) {
+ level = l;
+ message = m;
+ exception = e;
+ reference = ref;
+ time = System.currentTimeMillis();
+ }
+
+
+ public Bundle getBundle() {
+ return null;
+ }
+
+ public Throwable getException() {
+ return exception;
+ }
+
+ public int getLevel() {
+ return level;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public ServiceReference getServiceReference() {
+ return reference;
+ }
+
+ public long getTime() {
+ return time;
+ }
+
+ }
+
+}
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/ArchitectureTestSuite.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/ArchitectureTestSuite.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/ArchitectureTestSuite.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/ArchitectureTestSuite.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,21 @@
+package org.apache.felix.ipojo.test.scenarios.architecture;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.osgi.framework.BundleContext;
+
+import fr.imag.adele.escoffier.utf.framework.TestSuite;
+
+public class ArchitectureTestSuite extends TestSuite {
+
+ public ArchitectureTestSuite(BundleContext bc) { super(bc); }
+
+ public List suite() {
+ List list = new ArrayList();
+ list.add(new ProvidedServiceTest(context));
+ list.add(new DependencyTest(context));
+ return list;
+ }
+
+}
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/DependencyTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/DependencyTest.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/DependencyTest.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/DependencyTest.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,586 @@
+package org.apache.felix.ipojo.test.scenarios.architecture;
+
+import java.util.Properties;
+
+import org.apache.felix.ipojo.ComponentInstance;
+import org.apache.felix.ipojo.architecture.Architecture;
+import org.apache.felix.ipojo.architecture.InstanceDescription;
+import org.apache.felix.ipojo.handlers.dependency.DependencyHandlerDescription;
+import org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandlerDescription;
+import org.apache.felix.ipojo.test.scenarios.service.CheckService;
+import org.apache.felix.ipojo.test.scenarios.service.FooService;
+import org.apache.felix.ipojo.test.scenarios.util.Utils;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+import fr.imag.adele.escoffier.utf.framework.TestCase;
+
+public class DependencyTest extends TestCase {
+
+ ComponentInstance fooProvider1, fooProvider2;
+
+ ComponentInstance instance1, instance2, instance3, instance4;
+
+ public DependencyTest(BundleContext bc) { super(bc);}
+
+ public void setUp() {
+ try {
+ Properties prov = new Properties();
+ prov.put("name", "FooProvider");
+ fooProvider1 = Utils.getFactoryByName(context, "FooProviderType-1").createComponentInstance(prov);
+ fooProvider1.stop();
+
+ Properties prov2 = new Properties();
+ prov2.put("name", "FooProvider2");
+ fooProvider2 = Utils.getFactoryByName(context, "FooProviderType-1").createComponentInstance(prov2);
+ fooProvider2.stop();
+
+ Properties i1 = new Properties();
+ i1.put("name", "Simple");
+ instance1 = Utils.getFactoryByName(context, "SimpleCheckServiceProvider").createComponentInstance(i1);
+
+ Properties i2 = new Properties();
+ i2.put("name", "Optional");
+ instance2 = Utils.getFactoryByName(context, "SimpleOptionalCheckServiceProvider").createComponentInstance(i2);
+
+ Properties i3 = new Properties();
+ i3.put("name", "Multiple");
+ instance3 = Utils.getFactoryByName(context, "SimpleMultipleCheckServiceProvider").createComponentInstance(i3);
+
+ Properties i4 = new Properties();
+ i4.put("name", "OptionalMultiple");
+ instance4 = Utils.getFactoryByName(context, "SimpleOptionalMultipleCheckServiceProvider").createComponentInstance(i4);
+ } catch(Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
+ }
+
+ public void tearDown() {
+ instance1.dispose();
+ instance2.dispose();
+ instance3.dispose();
+ instance4.dispose();
+ fooProvider1.dispose();
+ fooProvider2.dispose();
+ instance1 = null;
+ instance2 = null;
+ instance3 = null;
+ instance4 = null;
+ fooProvider1 = null;
+ fooProvider2 = null;
+ }
+
+ private DependencyHandlerDescription getDependencyDesc(InstanceDescription id) {
+ for(int i = 0; i < id.getHandlers().length; i++) {
+ if(id.getHandlers()[i].getHandlerName().equals("org.apache.felix.ipojo.handlers.dependency.DependencyHandler")) {
+ return (DependencyHandlerDescription) id.getHandlers()[i];
+ }
+ }
+ fail("Dependency Handler not found");
+ return null;
+ }
+
+ private ProvidedServiceHandlerDescription getPSDesc(InstanceDescription id) {
+ for(int i = 0; i < id.getHandlers().length; i++) {
+ if(id.getHandlers()[i].getHandlerName().equals("org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandler")) {
+ return (ProvidedServiceHandlerDescription) id.getHandlers()[i];
+ }
+ }
+ fail("Provided Service Handler not found");
+ return null;
+ }
+
+ public void testSimpleDependency() {
+ ServiceReference arch_dep = Utils.getServiceReferenceByName(context, Architecture.class.getName(), instance1.getInstanceName());
+ assertNotNull("Check architecture availability", arch_dep);
+ InstanceDescription id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_dep.getState() == ComponentInstance.INVALID);
+
+ // Check dependency handler invalidity
+ DependencyHandlerDescription dhd = getDependencyDesc(id_dep);
+ assertFalse("Check dependency handler invalidity", dhd.isValid());
+
+ // Check dependency metadata
+ assertEquals("Check dependency interface", dhd.getDependencies()[0].getInterface(), FooService.class.getName());
+ assertFalse("Check dependency cardinality", dhd.getDependencies()[0].isMultiple());
+ assertFalse("Check dependency optionality", dhd.getDependencies()[0].isOptional());
+ assertEquals("Check dependency ref -1", dhd.getDependencies()[0].getServiceReferences().size(), 0);
+
+ fooProvider1.start();
+
+ ServiceReference arch_ps = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider1.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps);
+ InstanceDescription id_ps = ((Architecture) context.getService(arch_ps)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_ps.getState() == ComponentInstance.VALID);
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+ assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
+
+ ServiceReference cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance1.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ CheckService cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps = ((Architecture) context.getService(arch_ps)).getInstanceDescription();
+ ProvidedServiceHandlerDescription psh = getPSDesc(id_ps);
+ assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
+ assertEquals("Check POJO creation", id_ps.getCreatedObjects().length, 1);
+ assertTrue("Check service reference - 1", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
+
+ fooProvider1.stop();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.INVALID);
+ dhd = getDependencyDesc(id_dep);
+ assertFalse("Check dependency handler invalidity", dhd.isValid());
+
+ fooProvider1.start();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ arch_ps = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider1.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps);
+ id_ps = ((Architecture) context.getService(arch_ps)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_ps.getState() == ComponentInstance.VALID);
+ psh = getPSDesc(id_ps);
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+
+ assertEquals("Check dependency ref -3", dhd.getDependencies()[0].getServiceReferences().size(), 1);
+
+ cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance1.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps = ((Architecture) context.getService(arch_ps)).getInstanceDescription();
+ psh = getPSDesc(id_ps);
+ assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
+ assertTrue("Check service reference - 1", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
+
+ fooProvider1.stop();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.INVALID);
+ dhd = getDependencyDesc(id_dep);
+ assertFalse("Check dependency handler invalidity", dhd.isValid());
+
+ id_dep = null;
+ cs = null;
+ context.ungetService(arch_dep);
+ context.ungetService(cs_ref);
+ }
+
+ public void testOptionalDependency() {
+ ServiceReference arch_dep = Utils.getServiceReferenceByName(context, Architecture.class.getName(), instance2.getInstanceName());
+ assertNotNull("Check architecture availability", arch_dep);
+ InstanceDescription id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_dep.getState() == ComponentInstance.VALID);
+
+ // Check dependency handler invalidity
+ DependencyHandlerDescription dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler invalidity", dhd.isValid());
+
+ // Check dependency metadata
+ assertEquals("Check dependency interface", dhd.getDependencies()[0].getInterface(), FooService.class.getName());
+ assertFalse("Check dependency cardinality", dhd.getDependencies()[0].isMultiple());
+ assertTrue("Check dependency optionality", dhd.getDependencies()[0].isOptional());
+ assertEquals("Check dependency ref -1", dhd.getDependencies()[0].getServiceReferences().size(), 0);
+
+ fooProvider1.start();
+
+ ServiceReference arch_ps = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider1.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps);
+ InstanceDescription id_ps = ((Architecture) context.getService(arch_ps)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_ps.getState() == ComponentInstance.VALID);
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+ assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
+
+ ServiceReference cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance2.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ CheckService cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps = ((Architecture) context.getService(arch_ps)).getInstanceDescription();
+ ProvidedServiceHandlerDescription psh = getPSDesc(id_ps);
+ assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
+ assertEquals("Check POJO creation", id_ps.getCreatedObjects().length, 1);
+ assertTrue("Check service reference - 1", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
+
+ fooProvider1.stop();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler invalidity", dhd.isValid());
+
+ fooProvider1.start();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ arch_ps = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider1.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps);
+ id_ps = ((Architecture) context.getService(arch_ps)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_ps.getState() == ComponentInstance.VALID);
+ psh = getPSDesc(id_ps);
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+
+ assertEquals("Check dependency ref -3", dhd.getDependencies()[0].getServiceReferences().size(), 1);
+
+ cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance2.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps = ((Architecture) context.getService(arch_ps)).getInstanceDescription();
+ psh = getPSDesc(id_ps);
+ assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
+ assertTrue("Check service reference - 1", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
+
+ fooProvider1.stop();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler invalidity", dhd.isValid());
+
+ id_dep = null;
+ cs = null;
+ context.ungetService(arch_dep);
+ context.ungetService(cs_ref);
+ }
+
+ public void testMultipleDependency() {
+ ServiceReference arch_dep = Utils.getServiceReferenceByName(context, Architecture.class.getName(), instance3.getInstanceName());
+ assertNotNull("Check architecture availability", arch_dep);
+ InstanceDescription id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_dep.getState() == ComponentInstance.INVALID);
+
+ // Check dependency handler invalidity
+ DependencyHandlerDescription dhd = getDependencyDesc(id_dep);
+ assertFalse("Check dependency handler invalidity", dhd.isValid());
+
+ // Check dependency metadata
+ assertEquals("Check dependency interface", dhd.getDependencies()[0].getInterface(), FooService.class.getName());
+ assertTrue("Check dependency cardinality", dhd.getDependencies()[0].isMultiple());
+ assertFalse("Check dependency optionality", dhd.getDependencies()[0].isOptional());
+ assertEquals("Check dependency ref -1", dhd.getDependencies()[0].getServiceReferences().size(), 0);
+
+ fooProvider1.start();
+
+ ServiceReference arch_ps1 = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider1.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps1);
+ InstanceDescription id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ assertTrue("Check instance validity - 1", id_ps1.getState() == ComponentInstance.VALID);
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+ assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
+ assertEquals("Check used ref - 1 (" + dhd.getDependencies()[0].getUsedServices().size() + ")", dhd.getDependencies()[0].getUsedServices().size(), 0);
+
+ ServiceReference cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance3.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ CheckService cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ ProvidedServiceHandlerDescription psh = getPSDesc(id_ps1);
+ assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
+ assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
+ assertTrue("Check service reference - 2", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
+
+ // Start a second foo service provider
+ fooProvider2.start();
+
+ arch_ps1 = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider1.getInstanceName());
+ ServiceReference arch_ps2 = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider2.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps1);
+ assertNotNull("Check architecture 2 availability", arch_ps2);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ InstanceDescription id_ps2 = ((Architecture) context.getService(arch_ps2)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_ps1.getState() == ComponentInstance.VALID);
+ assertTrue("Check instance 2 invalidity - 1", id_ps2.getState() == ComponentInstance.VALID);
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+ assertEquals("Check dependency ref - 3 ", dhd.getDependencies()[0].getServiceReferences().size(), 2);
+ assertEquals("Check used ref - 2 ", dhd.getDependencies()[0].getUsedServices().size(), 1); // provider 2 not already used
+
+ cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance3.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ id_ps2 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ ProvidedServiceHandlerDescription psh1 = getPSDesc(id_ps1);
+ ProvidedServiceHandlerDescription psh2 = getPSDesc(id_ps2);
+ assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
+ assertEquals("Check POJO creation", id_ps2.getCreatedObjects().length, 1);
+ assertTrue("Check service reference - 3.1", dhd.getDependencies()[0].getUsedServices().contains(psh1.getProvidedServices()[0].getServiceReference()));
+ assertTrue("Check service reference - 3.2", dhd.getDependencies()[0].getUsedServices().contains(psh2.getProvidedServices()[0].getServiceReference()));
+ assertEquals("Check used ref - 3 ("+dhd.getDependencies()[0].getUsedServices().size()+")", dhd.getDependencies()[0].getUsedServices().size(), 2);
+
+ fooProvider2.stop();
+
+ arch_ps1 = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider1.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps1);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ assertTrue("Check instance validity - 1", id_ps1.getState() == ComponentInstance.VALID);
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+ assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
+ assertEquals("Check used ref - 4 ", dhd.getDependencies()[0].getUsedServices().size(), 1);
+
+ cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance3.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ psh = getPSDesc(id_ps1);
+ assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
+ assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
+ assertTrue("Check service reference - 1", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
+ assertEquals("Check used ref - 5 ", dhd.getDependencies()[0].getUsedServices().size(), 1);
+
+ fooProvider1.stop();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertFalse("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertFalse("Check dependency handler invalidity", dhd.isValid());
+
+ fooProvider2.start();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ arch_ps1 = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider2.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps1);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_ps1.getState() == ComponentInstance.VALID);
+ psh = getPSDesc(id_ps1);
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+
+ assertEquals("Check dependency ref -3", dhd.getDependencies()[0].getServiceReferences().size(), 1);
+ assertEquals("Check used ref - 6 ", dhd.getDependencies()[0].getUsedServices().size(), 0);
+
+ cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance3.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ psh = getPSDesc(id_ps1);
+ assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
+ assertTrue("Check service reference - 4", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
+ assertEquals("Check used ref - 7 ", dhd.getDependencies()[0].getUsedServices().size(), 1);
+
+ fooProvider2.stop();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertFalse("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertFalse("Check dependency handler invalidity", dhd.isValid());
+
+ id_dep = null;
+ cs = null;
+ context.ungetService(arch_dep);
+ context.ungetService(cs_ref);
+ }
+
+ public void testMultipleOptionalDependency() {
+ ServiceReference arch_dep = Utils.getServiceReferenceByName(context, Architecture.class.getName(), instance4.getInstanceName());
+ assertNotNull("Check architecture availability", arch_dep);
+ InstanceDescription id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_dep.getState() == ComponentInstance.VALID);
+
+ // Check dependency handler invalidity
+ DependencyHandlerDescription dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler invalidity", dhd.isValid());
+
+ // Check dependency metadata
+ assertEquals("Check dependency interface", dhd.getDependencies()[0].getInterface(), FooService.class.getName());
+ assertTrue("Check dependency cardinality", dhd.getDependencies()[0].isMultiple());
+ assertTrue("Check dependency optionality", dhd.getDependencies()[0].isOptional());
+ assertEquals("Check dependency ref -1", dhd.getDependencies()[0].getServiceReferences().size(), 0);
+
+ fooProvider1.start();
+
+ ServiceReference arch_ps1 = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider1.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps1);
+ InstanceDescription id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_ps1.getState() == ComponentInstance.VALID);
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+ assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
+
+ ServiceReference cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance4.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ CheckService cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ ProvidedServiceHandlerDescription psh = getPSDesc(id_ps1);
+ assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
+ assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
+ assertTrue("Check service reference - 1", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
+
+ // Start a second foo service provider
+ fooProvider2.start();
+
+ arch_ps1 = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider1.getInstanceName());
+ ServiceReference arch_ps2 = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider2.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps1);
+ assertNotNull("Check architecture 2 availability", arch_ps2);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ InstanceDescription id_ps2 = ((Architecture) context.getService(arch_ps2)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_ps1.getState() == ComponentInstance.VALID);
+ assertTrue("Check instance 2 invalidity - 1", id_ps2.getState() == ComponentInstance.VALID);
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+ assertEquals("Check dependency ref - 3 ", dhd.getDependencies()[0].getServiceReferences().size(), 2);
+
+ cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance4.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ id_ps2 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ ProvidedServiceHandlerDescription psh1 = getPSDesc(id_ps1);
+ ProvidedServiceHandlerDescription psh2 = getPSDesc(id_ps2);
+ assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
+ assertEquals("Check POJO creation", id_ps2.getCreatedObjects().length, 1);
+ assertTrue("Check service reference - 2.1", dhd.getDependencies()[0].getUsedServices().contains(psh1.getProvidedServices()[0].getServiceReference()));
+ assertTrue("Check service reference - 2.2", dhd.getDependencies()[0].getUsedServices().contains(psh2.getProvidedServices()[0].getServiceReference()));
+
+ fooProvider2.stop();
+
+ arch_ps1 = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider1.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps1);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_ps1.getState() == ComponentInstance.VALID);
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+ assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
+
+ cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance4.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ psh = getPSDesc(id_ps1);
+ assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
+ assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
+ assertTrue("Check service reference - 3", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
+
+ fooProvider1.stop();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler invalidity", dhd.isValid());
+
+ fooProvider2.start();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ arch_ps1 = Utils.getServiceReferenceByName(context, Architecture.class.getName(), fooProvider2.getInstanceName());
+ assertNotNull("Check architecture availability", arch_ps1);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 1", id_ps1.getState() == ComponentInstance.VALID);
+ psh = getPSDesc(id_ps1);
+ assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
+ assertTrue("Check dependency handler validity", dhd.isValid());
+
+ assertEquals("Check dependency ref -3", dhd.getDependencies()[0].getServiceReferences().size(), 1);
+
+ cs_ref = Utils.getServiceReferenceByName(context, CheckService.class.getName(), instance4.getInstanceName());
+ assertNotNull("Check CheckService availability", cs_ref);
+ cs = (CheckService) context.getService(cs_ref);
+ assertTrue("check CheckService invocation", cs.check());
+
+ // Check object graph
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ dhd = getDependencyDesc(id_dep);
+ id_ps1 = ((Architecture) context.getService(arch_ps1)).getInstanceDescription();
+ psh = getPSDesc(id_ps1);
+ assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
+ assertTrue("Check service reference - 4", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
+
+ fooProvider2.stop();
+
+ id_dep = ((Architecture) context.getService(arch_dep)).getInstanceDescription();
+ assertTrue("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.VALID);
+ dhd = getDependencyDesc(id_dep);
+ assertTrue("Check dependency handler invalidity", dhd.isValid());
+
+ id_dep = null;
+ cs = null;
+ context.ungetService(arch_dep);
+ context.ungetService(cs_ref);
+ }
+
+
+
+}
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/ProvidedServiceTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/ProvidedServiceTest.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/ProvidedServiceTest.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/architecture/ProvidedServiceTest.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,185 @@
+package org.apache.felix.ipojo.test.scenarios.architecture;
+
+import java.util.Properties;
+
+import org.apache.felix.ipojo.ComponentInstance;
+import org.apache.felix.ipojo.Factory;
+import org.apache.felix.ipojo.architecture.Architecture;
+import org.apache.felix.ipojo.architecture.HandlerDescription;
+import org.apache.felix.ipojo.architecture.InstanceDescription;
+import org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceDescription;
+import org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandlerDescription;
+import org.apache.felix.ipojo.test.scenarios.service.BarService;
+import org.apache.felix.ipojo.test.scenarios.service.FooService;
+import org.apache.felix.ipojo.test.scenarios.util.Utils;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+import fr.imag.adele.escoffier.utf.framework.TestCase;
+
+public class ProvidedServiceTest extends TestCase {
+
+ public ProvidedServiceTest(BundleContext bc) { super(bc); }
+
+
+ public void testExposition() {
+ String factName = "FooProviderType-1";
+ String compName = "FooProvider-1";
+
+ // Get the factory to create a component instance
+ Factory fact = Utils.getFactoryByName(context, factName);
+ assertNotNull("Cannot find the factory FooProvider-1", fact);
+
+ Properties props = new Properties();
+ props.put("name", compName);
+ ComponentInstance ci = null;
+ try {
+ ci = fact.createComponentInstance(props);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+
+ ServiceReference arch_ref = Utils.getServiceReferenceByName(context, Architecture.class.getName(), "FooProvider-1");
+ assertNotNull("Architecture not available", arch_ref);
+
+ Architecture arch = (Architecture) context.getService(arch_ref);
+ InstanceDescription id = arch.getInstanceDescription();
+
+ assertEquals("Check component instance name (" + id.getName() + ")", id.getName(), compName);
+ assertEquals("Check component type implementation class", id.getComponentDescription().getClassName(), "org.apache.felix.ipojo.test.scenarios.component.FooProviderType1");
+
+ HandlerDescription[] handlers = id.getHandlers();
+ assertEquals("Number of handlers", handlers.length, 2);
+
+ //Look for the ProvidedService Handler
+ ProvidedServiceHandlerDescription pshd = null;
+ for(int i = 0; i < handlers.length; i++) {
+ if(handlers[i].getHandlerName().equals("org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandler")) {
+ pshd = (ProvidedServiceHandlerDescription) handlers[i];
+ }
+ }
+
+ assertNotNull("Check ProvidedServiceHandlerDescription", pshd);
+ ProvidedServiceDescription[] ps = pshd.getProvidedServices();
+
+ assertEquals("Check ProvidedService number", ps.length, 1);
+ assertEquals("Check Provided Service Specs - 1", ps[0].getServiceSpecification().length, 1);
+ assertEquals("Check Provided Service Specs - 2", ps[0].getServiceSpecification()[0], FooService.class.getName());
+ assertEquals("Check Provided Service availability", ps[0].getState(), ProvidedServiceDescription.REGISTERED);
+ Properties prop = ps[0].getProperties();
+ assertNotNull("Check Props", prop);
+ assertEquals("Check service properties number", prop.size(), 2);
+ assertEquals("Check instance.name property", prop.getProperty("instance.name"), compName);
+ assertEquals("Check factory.name property", prop.getProperty("factory.name"), factName);
+
+ ci.dispose();
+ }
+
+ public void testProps() {
+ String factName = "FooProviderType-3";
+ String compName = "FooProvider";
+
+ // Get the factory to create a component instance
+ Factory fact = Utils.getFactoryByName(context, factName);
+ assertNotNull("Cannot find the factory FooProvider", fact);
+
+ Properties props = new Properties();
+ props.put("name", compName);
+ props.put("foo", "foo");
+ props.put("bar", "2");
+ props.put("baz", "baz");
+ ComponentInstance ci = null;
+ try {
+ ci = fact.createComponentInstance(props);
+ } catch (Exception e) { fail(e.getMessage()); }
+
+ ServiceReference arch_ref = Utils.getServiceReferenceByName(context, Architecture.class.getName(), compName);
+ assertNotNull("Architecture not available", arch_ref);
+
+ Architecture arch = (Architecture) context.getService(arch_ref);
+ InstanceDescription id = arch.getInstanceDescription();
+
+ assertEquals("Check component instance name (" + id.getName() + ")", id.getName(), compName);
+ assertEquals("Check component type implementation class", id.getComponentDescription().getClassName(), "org.apache.felix.ipojo.test.scenarios.component.FooProviderType1");
+
+ HandlerDescription[] handlers = id.getHandlers();
+ assertEquals("Number of handlers", handlers.length, 3);
+
+ //Look for the ProvidedService Handler
+ ProvidedServiceHandlerDescription pshd = null;
+ for(int i = 0; i < handlers.length; i++) {
+ if(handlers[i].getHandlerName().equals("org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandler")) {
+ pshd = (ProvidedServiceHandlerDescription) handlers[i];
+ }
+ }
+
+ assertNotNull("Check ProvidedServiceHandlerDescription", pshd);
+ ProvidedServiceDescription[] ps = pshd.getProvidedServices();
+
+ assertEquals("Check ProvidedService number", ps.length, 1);
+ assertEquals("Check Provided Service Specs - 1", ps[0].getServiceSpecification().length, 1);
+ assertEquals("Check Provided Service Specs - 2", ps[0].getServiceSpecification()[0], FooService.class.getName());
+ assertEquals("Check Provided Service availability", ps[0].getState(), ProvidedServiceDescription.REGISTERED);
+
+ Properties prop = ps[0].getProperties();
+ assertNotNull("Check Props", prop);
+ assertEquals("Check service properties number (#" + prop + "?=5)" , prop.size(), 5);
+ assertEquals("Check instance.name property", prop.getProperty("instance.name"), compName);
+ assertEquals("Check factory.name property", prop.getProperty("factory.name"), factName);
+ assertEquals("Check foo property", prop.getProperty("foo"), "foo");
+ assertEquals("Check bar property", prop.getProperty("bar"), "2");
+ assertEquals("Check baz property", prop.getProperty("baz"), "baz");
+
+ ci.dispose();
+ }
+
+ public void testDoubleProviding() {
+ String factName = "FooBarProviderType-1";
+ String compName = "FooProvider";
+
+ // Get the factory to create a component instance
+ Factory fact = Utils.getFactoryByName(context, factName);
+ assertNotNull("Cannot find the factory FooProvider", fact);
+
+ Properties props = new Properties();
+ props.put("name", compName);
+ ComponentInstance ci = null;
+ try {
+ ci = fact.createComponentInstance(props);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+
+ ServiceReference arch_ref = Utils.getServiceReferenceByName(context, Architecture.class.getName(), compName);
+ assertNotNull("Architecture not available", arch_ref);
+
+ Architecture arch = (Architecture) context.getService(arch_ref);
+ InstanceDescription id = arch.getInstanceDescription();
+
+ assertEquals("Check component instance name (" + id.getName() + ")", id.getName(), compName);
+ assertEquals("Check component type implementation class", id.getComponentDescription().getClassName(), "org.apache.felix.ipojo.test.scenarios.component.FooBarProviderType1");
+
+ HandlerDescription[] handlers = id.getHandlers();
+ assertEquals("Number of handlers", handlers.length, 2);
+
+ //Look for the ProvidedService Handler
+ ProvidedServiceHandlerDescription pshd = null;
+ for(int i = 0; i < handlers.length; i++) {
+ if(handlers[i].getHandlerName().equals("org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandler")) {
+ pshd = (ProvidedServiceHandlerDescription) handlers[i];
+ }
+ }
+
+ assertNotNull("Check ProvidedServiceHandlerDescription", pshd);
+ ProvidedServiceDescription[] ps = pshd.getProvidedServices();
+
+ assertEquals("Check ProvidedService number", ps.length, 1);
+ assertEquals("Check Provided Service Specs - 1", ps[0].getServiceSpecification().length, 2);
+ assertEquals("Check Provided Service Specs - 2", ps[0].getServiceSpecification()[0], FooService.class.getName());
+ assertEquals("Check Provided Service Specs - 2", ps[0].getServiceSpecification()[1], BarService.class.getName());
+ assertEquals("Check Provided Service availability", ps[0].getState(), ProvidedServiceDescription.REGISTERED);
+
+ ci.dispose();
+ }
+
+}
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/CheckService2Provider.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/CheckService2Provider.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/CheckService2Provider.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/CheckService2Provider.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,12 @@
+package org.apache.felix.ipojo.test.scenarios.component.A123;
+
+import org.apache.felix.ipojo.test.scenarios.service.A123.CheckService2;
+
+public class CheckService2Provider implements CheckService2 {
+
+ public boolean check() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+}
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/Manipulation23Tester.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/Manipulation23Tester.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/Manipulation23Tester.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/A123/Manipulation23Tester.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,102 @@
+package org.apache.felix.ipojo.test.scenarios.component.A123;
+
+import org.apache.felix.ipojo.test.scenarios.service.PrimitiveManipulationTestService;
+
+
+public class Manipulation23Tester implements PrimitiveManipulationTestService {
+
+
+ // Integer types
+ byte b = 1;
+ short s = 1;
+ int i = 1;
+ long l = 1;
+
+ // Floatting types
+ double d = 1.1;
+ float f = 1.1f;
+
+ // Character
+ char c = 'a';
+
+ // Boolean
+ boolean bool = false;
+
+ // Integer arrays
+ byte[] bs = new byte[] {0,1,2};
+ short[] ss = new short[] {0,1,2};
+ int[] is = new int[] {0,1,2};
+ long[] ls = new long[] {0,1,2};
+
+ double[] ds = new double[] {0.0, 1.1, 2.2};
+ float[] fs = new float[] {0.0f, 1.1f, 2.2f};
+
+ char[] cs = new char[] {'a', 'b', 'c'};
+
+ boolean[] bools = new boolean[] {false, true, false};
+
+ public boolean getBoolean() { return bool; }
+
+ public boolean[] getBooleans() { return bools; }
+
+ public byte getByte() { return b; }
+
+ public byte[] getBytes() { return bs; }
+
+ public char getChar() { return c; }
+
+ public char[] getChars() { return cs; }
+
+ public double getDouble() { return d; }
+
+ public double[] getDoubles() { return ds; }
+
+ public float getFloat() { return f; }
+
+ public float[] getFloats() { return fs; }
+
+ public int getInt() { return i; }
+
+ public int[] getInts() { return is; }
+
+ public long getLong() { return l; }
+
+ public long[] getLongs() { return ls; }
+
+ public short getShort() { return s; }
+
+ public short[] getShorts() { return ss; }
+
+ public void setBoolean(boolean b) { this.bool = b; }
+
+ public void setBooleans(boolean[] bs) { this.bools = bs; }
+
+ public void setByte(byte b) { this.b = b; }
+
+ public void setBytes(byte[] bs) { this.bs = bs; }
+
+ public void setChar(char c) { this.c = c; }
+
+ public void setChars(char[] cs) { this.cs = cs; }
+
+ public void setDouble(double d) { this.d = d; }
+
+ public void setDoubles(double[] ds) { this.ds = ds; }
+
+ public void setFloat(float f) { this.f = f; }
+
+ public void setFloats(float[] fs) { this.fs = fs; }
+
+ public void setInt(int i) { this.i = i; }
+
+ public void setInts(int[] is) { this.is = is; }
+
+ public void setLong(long l) { this.l = l; }
+
+ public void setLongs(long[] ls) { this.ls = ls; }
+
+ public void setShort(short s) { this.s = s; }
+
+ public void setShorts(short[] ss) { this.ss = ss; }
+
+}
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Baz2CheckProvider.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Baz2CheckProvider.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Baz2CheckProvider.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/Baz2CheckProvider.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,63 @@
+package org.apache.felix.ipojo.test.scenarios.component;
+
+import java.util.Properties;
+
+import org.apache.felix.ipojo.test.scenarios.service.BazService;
+import org.apache.felix.ipojo.test.scenarios.service.CheckService;
+import org.apache.felix.ipojo.test.scenarios.service.FooService;
+import org.osgi.framework.ServiceReference;
+
+public class Baz2CheckProvider implements CheckService {
+
+ BazService fs;
+
+ int simpleB = 0;
+ int objectB = 0;
+ int refB = 0;
+ int simpleU = 0;
+ int objectU = 0;
+ int refU = 0;
+
+ public boolean check() {
+ return fs.foo();
+ }
+
+ public Properties getProps() {
+ Properties props = new Properties();
+ props.put("result", new Boolean(fs.foo()));
+ props.put("voidB", new Integer(simpleB));
+ props.put("objectB", new Integer(objectB));
+ props.put("refB", new Integer(refB));
+ props.put("voidU", new Integer(simpleU));
+ props.put("objectU", new Integer(objectU));
+ props.put("refU", new Integer(refU));
+ props.put("boolean", new Boolean(fs.getBoolean()));
+ props.put("int", new Integer(fs.getInt()));
+ props.put("long", new Long(fs.getLong()));
+ props.put("double", new Double(fs.getDouble()));
+ if(fs.getObject() != null) { props.put("object", fs.getObject()); }
+
+ return props;
+ }
+
+ private void voidBind() {
+ simpleB++;
+ }
+ private void voidUnbind() {
+ simpleU++;
+ }
+
+ protected void objectBind(Object o) {
+ if(o != null && o instanceof FooService) { objectB++; }
+ }
+ protected void objectUnbind(Object o) {
+ if(o != null && o instanceof FooService) { objectU++; }
+ }
+
+ public void refBind(ServiceReference sr) {
+ if(sr != null) { refB++; }
+ }
+ public void refUnbind(ServiceReference sr) {
+ if(sr != null) { refU++; }
+ }
+}
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/BazProviderType1.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/BazProviderType1.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/BazProviderType1.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/BazProviderType1.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,33 @@
+package org.apache.felix.ipojo.test.scenarios.component;
+
+import java.util.Properties;
+
+import org.apache.felix.ipojo.test.scenarios.service.BazService;
+
+public class BazProviderType1 implements BazService {
+
+ private int m_bar;
+ private String m_foo;
+
+ public boolean foo() {
+ return true;
+ }
+
+ public Properties fooProps() {
+ Properties p = new Properties();
+ p.put("bar", new Integer(m_bar));
+ p.put("foo", m_foo);
+ return p;
+ }
+
+ public boolean getBoolean() { return true; }
+
+ public double getDouble() { return 1.0; }
+
+ public int getInt() { return 1; }
+
+ public long getLong() { return 1; }
+
+ public Boolean getObject() { return new Boolean(true); }
+
+}
Added: felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/CallbackCheckService.java
URL: http://svn.apache.org/viewvc/felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/CallbackCheckService.java?rev=579291&view=auto
==============================================================================
--- felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/CallbackCheckService.java (added)
+++ felix/sandbox/clement/Tests/Suite/src/main/java/org/apache/felix/ipojo/test/scenarios/component/CallbackCheckService.java Tue Sep 25 08:06:53 2007
@@ -0,0 +1,31 @@
+package org.apache.felix.ipojo.test.scenarios.component;
+
+import java.util.Properties;
+
+import org.apache.felix.ipojo.test.scenarios.service.CheckService;
+import org.apache.felix.ipojo.test.scenarios.service.FooService;
+
+public class CallbackCheckService extends ParentClass implements CheckService {
+
+ int i = 0;
+ FooService fs;
+
+ private void start() {
+ i++;
+ }
+
+ protected void stop() {
+ i++;
+ }
+
+ public boolean check() {
+ return fs.foo();
+ }
+
+ public Properties getProps() {
+ Properties p = new Properties();
+ p.put("int", new Integer(i));
+ return p;
+ }
+
+}