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 2011/03/17 18:54:52 UTC
svn commit: r1082610 - in /felix/trunk/ipojo/tests/manipulator/creation: ./
src/main/java/org/apache/felix/ipojo/test/scenarios/component/
src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/
src/main/resources/
Author: clement
Date: Thu Mar 17 17:54:52 2011
New Revision: 1082610
URL: http://svn.apache.org/viewvc?rev=1082610&view=rev
Log:
Try to reproduce FELIX-2430.
Seems to work in iPOJO 1.8.0
Added:
felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/CallSuperSuperConstructorWithNew.java
felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ParentClass2.java
felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/SuperParentClass.java
Modified:
felix/trunk/ipojo/tests/manipulator/creation/pom.xml
felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/POJOCreation.java
felix/trunk/ipojo/tests/manipulator/creation/src/main/resources/metadata.xml
Modified: felix/trunk/ipojo/tests/manipulator/creation/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/manipulator/creation/pom.xml?rev=1082610&r1=1082609&r2=1082610&view=diff
==============================================================================
--- felix/trunk/ipojo/tests/manipulator/creation/pom.xml (original)
+++ felix/trunk/ipojo/tests/manipulator/creation/pom.xml Thu Mar 17 17:54:52 2011
@@ -104,6 +104,24 @@
<target>1.4</target>
</configuration>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-junit4osgi-plugin</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <configuration>
+ <org.osgi.http.port>8083</org.osgi.http.port>
+ </configuration>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
Added: felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/CallSuperSuperConstructorWithNew.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/CallSuperSuperConstructorWithNew.java?rev=1082610&view=auto
==============================================================================
--- felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/CallSuperSuperConstructorWithNew.java (added)
+++ felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/CallSuperSuperConstructorWithNew.java Thu Mar 17 17:54:52 2011
@@ -0,0 +1,10 @@
+package org.apache.felix.ipojo.test.scenarios.component;
+
+public class CallSuperSuperConstructorWithNew extends ParentClass2 {
+
+ public CallSuperSuperConstructorWithNew() {
+ super(new String("test"));
+ System.out.println("plop");
+ }
+
+}
Added: felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ParentClass2.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ParentClass2.java?rev=1082610&view=auto
==============================================================================
--- felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ParentClass2.java (added)
+++ felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/ParentClass2.java Thu Mar 17 17:54:52 2011
@@ -0,0 +1,9 @@
+package org.apache.felix.ipojo.test.scenarios.component;
+
+public class ParentClass2 extends SuperParentClass {
+
+ public ParentClass2(String n) {
+ super(n);
+ }
+
+}
Added: felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/SuperParentClass.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/SuperParentClass.java?rev=1082610&view=auto
==============================================================================
--- felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/SuperParentClass.java (added)
+++ felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/component/SuperParentClass.java Thu Mar 17 17:54:52 2011
@@ -0,0 +1,17 @@
+package org.apache.felix.ipojo.test.scenarios.component;
+
+public class SuperParentClass {
+
+ private String name;
+
+ public SuperParentClass(final String n) {
+ System.out.println("Hello from super super !");
+ name = n;
+ }
+
+ public SuperParentClass(final StringBuffer n) {
+ name = n.toString();
+ }
+
+
+}
Modified: felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/POJOCreation.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/POJOCreation.java?rev=1082610&r1=1082609&r2=1082610&view=diff
==============================================================================
--- felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/POJOCreation.java (original)
+++ felix/trunk/ipojo/tests/manipulator/creation/src/main/java/org/apache/felix/ipojo/test/scenarios/manipulation/POJOCreation.java Thu Mar 17 17:54:52 2011
@@ -1,4 +1,4 @@
-/*
+/*
* 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
@@ -33,96 +33,96 @@ import org.osgi.framework.ServiceReferen
* Check the different method to create POJO object.
*/
public class POJOCreation extends OSGiTestCase {
-
+
private IPOJOHelper helper;
-
- private ComponentInstance ci_lazzy;
- private ComponentInstance ci_immediate;
- private ComponentInstance ci_immediate_singleton;
-
- private Architecture lazzyArch;
- private Architecture immeArch;
- private Architecture immeArchSing;
-
-
+
+ private ComponentInstance ci_lazzy;
+ private ComponentInstance ci_immediate;
+ private ComponentInstance ci_immediate_singleton;
+
+ private Architecture lazzyArch;
+ private Architecture immeArch;
+ private Architecture immeArchSing;
+
+
private ComponentInstance ci_lazzy_sing;
private ComponentInstance ci_lazzy_sev;
-
+
private Architecture lazzyArchSing;
private Architecture lazzyArchSev;
private ComponentInstance ci_lazzy_singM;
private ComponentInstance ci_lazzy_sevM;
-
+
private Architecture lazzyArchSingM;
private Architecture lazzyArchSevM;
-
- public void setUp() {
- helper = new IPOJOHelper(this);
-
- String factName = "ManipulationCreation-FooProviderType-1";
- String compName = "FooProvider-1";
- ci_lazzy = helper.createComponentInstance(factName ,compName);
-
- String factName2 = "ManipulationCreation-ImmediateFooProviderType";
- String compName2 = "FooProvider-2";
- ci_immediate = helper.createComponentInstance(factName2, compName2);
-
- String factName3 = "ManipulationCreation-ImmediateFooProviderTypeSingleton";
+
+ public void setUp() {
+ helper = new IPOJOHelper(this);
+
+ String factName = "ManipulationCreation-FooProviderType-1";
+ String compName = "FooProvider-1";
+ ci_lazzy = helper.createComponentInstance(factName ,compName);
+
+ String factName2 = "ManipulationCreation-ImmediateFooProviderType";
+ String compName2 = "FooProvider-2";
+ ci_immediate = helper.createComponentInstance(factName2, compName2);
+
+ String factName3 = "ManipulationCreation-ImmediateFooProviderTypeSingleton";
String compName3 = "FooProvider-3";
ci_immediate_singleton = helper.createComponentInstance(factName3, compName3);
-
+
String factName4 = "ManipulationCreation-FooProviderType-1-Sing";
String compName4 = "FooProvider-1-Sing";
ci_lazzy_sing = helper.createComponentInstance(factName4, compName4);
-
+
String factName5 = "ManipulationCreation-FooProviderType-1-Sev";
String compName5 = "FooProvider-1-Sev";
ci_lazzy_sev = helper.createComponentInstance(factName5, compName5);
-
+
String factName6 = "ManipulationCreation-FooProviderType-1-SingM";
String compName6 = "FooProvider-1-SingM";
ci_lazzy_singM = helper.createComponentInstance(factName6, compName6);
-
+
String factName7 = "ManipulationCreation-FooProviderType-1-SevM";
String compName7 = "FooProvider-1-SevM";
ci_lazzy_sevM = helper.createComponentInstance(factName7, compName7);
-
- lazzyArch = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName+")");
- immeArch = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName2+")");
- immeArchSing = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName3+")");
- lazzyArchSing = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName4+")");
- lazzyArchSev = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName5+")");
- lazzyArchSingM = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName6+")");
- lazzyArchSevM = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName7+")");
- }
-
- public void tearDown() {
- lazzyArch = null;
- immeArch = null;
- immeArchSing = null;
- lazzyArchSing = null;
- lazzyArchSev = null;
- lazzyArchSingM = null;
+
+ lazzyArch = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName+")");
+ immeArch = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName2+")");
+ immeArchSing = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName3+")");
+ lazzyArchSing = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName4+")");
+ lazzyArchSev = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName5+")");
+ lazzyArchSingM = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName6+")");
+ lazzyArchSevM = (Architecture) getServiceObject(Architecture.class.getName(), "(architecture.instance="+compName7+")");
+ }
+
+ public void tearDown() {
+ lazzyArch = null;
+ immeArch = null;
+ immeArchSing = null;
+ lazzyArchSing = null;
+ lazzyArchSev = null;
+ lazzyArchSingM = null;
lazzyArchSevM = null;
helper.dispose();
- }
-
- /**
- * Check lazy creation.
- */
- public void testLazyCreation() {
- assertEquals("Check that no objects are created ", 0, ((PrimitiveInstanceDescription) lazzyArch.getInstanceDescription()).getCreatedObjects().length);
- ServiceReference ref = helper.getServiceReferenceByName(FooService.class.getName(), ci_lazzy.getInstanceName());
- assertNotNull("Check that a FooService from " + ci_lazzy.getInstanceName() + " is available",ref);
- FooService fs = (FooService) getServiceObject(ref);
- assertTrue("Check the FooService invocation", fs.foo());
- assertEquals("Check the creation of 1 object",1, ((PrimitiveInstanceDescription) lazzyArch.getInstanceDescription()).getCreatedObjects().length);
- }
-
- /**
- * Check lazy and singleton creation.
- */
- public void testLazyCreationSingleton() {
+ }
+
+ /**
+ * Check lazy creation.
+ */
+ public void testLazyCreation() {
+ assertEquals("Check that no objects are created ", 0, ((PrimitiveInstanceDescription) lazzyArch.getInstanceDescription()).getCreatedObjects().length);
+ ServiceReference ref = helper.getServiceReferenceByName(FooService.class.getName(), ci_lazzy.getInstanceName());
+ assertNotNull("Check that a FooService from " + ci_lazzy.getInstanceName() + " is available",ref);
+ FooService fs = (FooService) getServiceObject(ref);
+ assertTrue("Check the FooService invocation", fs.foo());
+ assertEquals("Check the creation of 1 object",1, ((PrimitiveInstanceDescription) lazzyArch.getInstanceDescription()).getCreatedObjects().length);
+ }
+
+ /**
+ * Check lazy and singleton creation.
+ */
+ public void testLazyCreationSingleton() {
assertEquals("Check that no objects are created ", 0, ((PrimitiveInstanceDescription) lazzyArchSing.getInstanceDescription()).getCreatedObjects().length);
ServiceReference ref = helper.getServiceReferenceByName(FooService.class.getName(), ci_lazzy_sing.getInstanceName());
assertNotNull("Check that a FooService from " + ci_lazzy_sing.getInstanceName() + " is available",ref);
@@ -130,11 +130,11 @@ public class POJOCreation extends OSGiTe
assertTrue("Check the FooService invocation", fs.foo());
assertEquals("Check the creation of 1 object",1, ((PrimitiveInstanceDescription) lazzyArchSing.getInstanceDescription()).getCreatedObjects().length);
}
-
- /**
- * Check lazy and "several" creation.
- */
- public void testLazyCreationSeveral() {
+
+ /**
+ * Check lazy and "several" creation.
+ */
+ public void testLazyCreationSeveral() {
assertEquals("Check that no objects are created ", 0, ((PrimitiveInstanceDescription) lazzyArchSev.getInstanceDescription()).getCreatedObjects().length);
ServiceReference ref = helper.getServiceReferenceByName(FooService.class.getName(), ci_lazzy_sev.getInstanceName());
assertNotNull("Check that a FooService from " + ci_lazzy_sev.getInstanceName() + " is available", ref);
@@ -144,19 +144,19 @@ public class POJOCreation extends OSGiTe
assertTrue("Check the FooService invocation-2", fs2.foo());
assertEquals("Check the creation of 1 object",1, ((PrimitiveInstanceDescription) lazzyArchSev.getInstanceDescription()).getCreatedObjects().length);
}
-
- /**
- * Check immediate creation.
- */
- public void testImmediateCreation() {
- assertEquals("Check that one object is created ", 1, ((PrimitiveInstanceDescription) immeArch.getInstanceDescription()).getCreatedObjects().length);
- ServiceReference ref = helper.getServiceReferenceByName(FooService.class.getName(), ci_immediate.getInstanceName());
- assertNotNull("Check that a FooService from " + ci_immediate.getInstanceName() + " is available", ref);
- FooService fs = (FooService) getServiceObject(ref);
- assertTrue("Check the FooService invocation", fs.foo());
- assertEquals("Check the creation of 1 object", 1, ((PrimitiveInstanceDescription) immeArch.getInstanceDescription()).getCreatedObjects().length);
- }
-
+
+ /**
+ * Check immediate creation.
+ */
+ public void testImmediateCreation() {
+ assertEquals("Check that one object is created ", 1, ((PrimitiveInstanceDescription) immeArch.getInstanceDescription()).getCreatedObjects().length);
+ ServiceReference ref = helper.getServiceReferenceByName(FooService.class.getName(), ci_immediate.getInstanceName());
+ assertNotNull("Check that a FooService from " + ci_immediate.getInstanceName() + " is available", ref);
+ FooService fs = (FooService) getServiceObject(ref);
+ assertTrue("Check the FooService invocation", fs.foo());
+ assertEquals("Check the creation of 1 object", 1, ((PrimitiveInstanceDescription) immeArch.getInstanceDescription()).getCreatedObjects().length);
+ }
+
/**
* Check bundle context injection.
*/
@@ -173,12 +173,12 @@ public class POJOCreation extends OSGiTe
* Test immediate singleton creation.
*/
public void testImmediateSingletonCreation() {
- assertEquals("Check that one object is created ", 1, ((PrimitiveInstanceDescription) immeArchSing.getInstanceDescription()).getCreatedObjects().length);
- ServiceReference ref = helper.getServiceReferenceByName(FooService.class.getName(), ci_immediate_singleton.getInstanceName());
- assertNotNull("Check that a FooService from " + ci_immediate_singleton.getInstanceName() + " is available",ref);
- FooService fs = (FooService) getServiceObject(ref);
- assertTrue("Check the FooService invocation", fs.foo());
- assertEquals("Check the creation of 1 object", 1, ((PrimitiveInstanceDescription) immeArchSing.getInstanceDescription()).getCreatedObjects().length);
+ assertEquals("Check that one object is created ", 1, ((PrimitiveInstanceDescription) immeArchSing.getInstanceDescription()).getCreatedObjects().length);
+ ServiceReference ref = helper.getServiceReferenceByName(FooService.class.getName(), ci_immediate_singleton.getInstanceName());
+ assertNotNull("Check that a FooService from " + ci_immediate_singleton.getInstanceName() + " is available",ref);
+ FooService fs = (FooService) getServiceObject(ref);
+ assertTrue("Check the FooService invocation", fs.foo());
+ assertEquals("Check the creation of 1 object", 1, ((PrimitiveInstanceDescription) immeArchSing.getInstanceDescription()).getCreatedObjects().length);
}
/**
@@ -212,7 +212,7 @@ public class POJOCreation extends OSGiTe
// Only one object as the getService method is called only once (service factory) despite the policy="method".
assertEquals("Check the creation of 1 object",1, ((PrimitiveInstanceDescription) lazzyArchSevM.getInstanceDescription()).getCreatedObjects().length);
}
-
+
/**
* Test a custom constructor.
* Not manipulated.
@@ -224,7 +224,7 @@ public class POJOCreation extends OSGiTe
assertEquals("Check foo", "foo", props.get("foo"));
assertEquals("Check context", getContext(), props.get("context"));
}
-
+
public void testSuperCall() {
try {
helper.createComponentInstance("org.apache.felix.ipojo.test.scenarios.component.CallSuperConstructor");
@@ -232,7 +232,7 @@ public class POJOCreation extends OSGiTe
fail(e.getMessage());
}
}
-
+
public void testSuperCallWithNew() {
try {
helper.createComponentInstance("org.apache.felix.ipojo.test.scenarios.component.CallSuperConstructorWithNew");
@@ -240,7 +240,15 @@ public class POJOCreation extends OSGiTe
fail(e.getMessage());
}
}
-
+
+ public void testSuperSuperCallWithNew() {
+ try {
+ helper.createComponentInstance("org.apache.felix.ipojo.test.scenarios.component.CallSuperSuperConstructorWithNew");
+ } catch (Throwable e) {
+ fail(e.getMessage());
+ }
+ }
+
public void testSuperCallWithBC() {
try {
helper.createComponentInstance("org.apache.felix.ipojo.test.scenarios.component.CallSuperConstructorWithBC");
@@ -248,7 +256,7 @@ public class POJOCreation extends OSGiTe
fail(e.getMessage());
}
}
-
-
+
+
}
\ No newline at end of file
Modified: felix/trunk/ipojo/tests/manipulator/creation/src/main/resources/metadata.xml
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/manipulator/creation/src/main/resources/metadata.xml?rev=1082610&r1=1082609&r2=1082610&view=diff
==============================================================================
--- felix/trunk/ipojo/tests/manipulator/creation/src/main/resources/metadata.xml (original)
+++ felix/trunk/ipojo/tests/manipulator/creation/src/main/resources/metadata.xml Thu Mar 17 17:54:52 2011
@@ -3,72 +3,73 @@
xsi:schemaLocation="org.apache.felix.ipojo http://felix.apache.org/ipojo/schemas/SNAPSHOT/core.xsd"
xmlns="org.apache.felix.ipojo"
>
- <!-- Simple provider used for manipulation analysis -->
- <component
- classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
- name="ManipulationCreation-FooProviderType-1" architecture="true">
- <provides />
- </component>
-
- <!-- Non lazzy service provider, to check instantiation -->
- <component
- classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
- name="ManipulationCreation-ImmediateFooProviderType" immediate="true"
- architecture="true">
- <provides />
- </component>
-
- <!-- Type checking different creation policy -->
- <component
- classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
- name="ManipulationCreation-FooProviderType-1-Sing" factory-method="singleton"
- architecture="true">
- <provides />
- </component>
-
- <component
- classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
- name="ManipulationCreation-FooProviderType-1-Sev" factory-method="several"
- architecture="true">
- <provides />
- </component>
-
- <component
- classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
- name="ManipulationCreation-FooProviderType-1-SingM" factory-method="singleton"
- architecture="true">
- <provides/>
- </component>
-
- <component
- classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
- name="ManipulationCreation-FooProviderType-1-SevM" factory-method="several"
- architecture="true">
- <provides/>
- </component>
-
- <component
- classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
- name="ManipulationCreation-ImmediateFooProviderTypeSingleton" immediate="true"
- factory-method="singleton" architecture="true">
- <provides />
- </component>
-
-
- <!-- Try calling super constructors -->
- <component classname="org.apache.felix.ipojo.test.scenarios.component.CallSuperConstructor" immediate="true"/>
- <component classname="org.apache.felix.ipojo.test.scenarios.component.CallSuperConstructorWithNew" immediate="true"/>
- <component classname="org.apache.felix.ipojo.test.scenarios.component.CallSuperConstructorWithBC" immediate="true"/>
-
- <!-- Several constructors -->
- <component classname="org.apache.felix.ipojo.test.scenarios.component.SeveralConstructors">
- <provides/>
- </component>
- <!-- No Empty constructor -->
- <component classname="org.apache.felix.ipojo.test.scenarios.component.NoEmptyConstructor">
- <provides/>
- </component>
- <component classname="org.apache.felix.ipojo.test.scenarios.component.NoEmptyConstructorWithParentClass">
- <provides/>
- </component>
+ <!-- Simple provider used for manipulation analysis -->
+ <component
+ classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
+ name="ManipulationCreation-FooProviderType-1" architecture="true">
+ <provides />
+ </component>
+
+ <!-- Non lazzy service provider, to check instantiation -->
+ <component
+ classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
+ name="ManipulationCreation-ImmediateFooProviderType" immediate="true"
+ architecture="true">
+ <provides />
+ </component>
+
+ <!-- Type checking different creation policy -->
+ <component
+ classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
+ name="ManipulationCreation-FooProviderType-1-Sing" factory-method="singleton"
+ architecture="true">
+ <provides />
+ </component>
+
+ <component
+ classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
+ name="ManipulationCreation-FooProviderType-1-Sev" factory-method="several"
+ architecture="true">
+ <provides />
+ </component>
+
+ <component
+ classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
+ name="ManipulationCreation-FooProviderType-1-SingM" factory-method="singleton"
+ architecture="true">
+ <provides/>
+ </component>
+
+ <component
+ classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
+ name="ManipulationCreation-FooProviderType-1-SevM" factory-method="several"
+ architecture="true">
+ <provides/>
+ </component>
+
+ <component
+ classname="org.apache.felix.ipojo.test.scenarios.component.FooProviderType1"
+ name="ManipulationCreation-ImmediateFooProviderTypeSingleton" immediate="true"
+ factory-method="singleton" architecture="true">
+ <provides />
+ </component>
+
+
+ <!-- Try calling super constructors -->
+ <component classname="org.apache.felix.ipojo.test.scenarios.component.CallSuperConstructor" immediate="true"/>
+ <component classname="org.apache.felix.ipojo.test.scenarios.component.CallSuperConstructorWithNew" immediate="true"/>
+ <component classname="org.apache.felix.ipojo.test.scenarios.component.CallSuperConstructorWithBC" immediate="true"/>
+ <component classname="org.apache.felix.ipojo.test.scenarios.component.CallSuperSuperConstructorWithNew" immediate="true"/>
+
+ <!-- Several constructors -->
+ <component classname="org.apache.felix.ipojo.test.scenarios.component.SeveralConstructors">
+ <provides/>
+ </component>
+ <!-- No Empty constructor -->
+ <component classname="org.apache.felix.ipojo.test.scenarios.component.NoEmptyConstructor">
+ <provides/>
+ </component>
+ <component classname="org.apache.felix.ipojo.test.scenarios.component.NoEmptyConstructorWithParentClass">
+ <provides/>
+ </component>
</ipojo>