Search in sources :

Example 21 with Factory

use of org.apache.felix.ipojo.Factory in project felix by apache.

the class TestUnacceptableConfiguration method testStaticOKopt.

/**
 * Check static properties.
 */
@Test
public void testStaticOKopt() {
    Factory f = ipojoHelper.getFactory("Factories-FooProviderType-2opt");
    Properties p = new Properties();
    p.put("instance.name", "ok");
    p.put("int", 3);
    p.put("long", 42l);
    p.put("string", "absdir");
    p.put("strAProp", new String[] { "a" });
    p.put("intAProp", new int[] { 1, 2 });
    ComponentInstance ci;
    try {
        ci = f.createComponentInstance(p);
        ci.dispose();
    } catch (Exception e) {
        fail("An acceptable configuration is rejected : " + e.getMessage());
    }
}
Also used : ComponentInstance(org.apache.felix.ipojo.ComponentInstance) Factory(org.apache.felix.ipojo.Factory) Properties(java.util.Properties) Test(org.junit.Test)

Example 22 with Factory

use of org.apache.felix.ipojo.Factory in project felix by apache.

the class TestUnacceptableConfiguration method testDynamicCompleteOpt.

/**
 * Check good configuration (with overriding).
 */
@Test
public void testDynamicCompleteOpt() {
    Factory f = ipojoHelper.getFactory("Factories-FooProviderType-Dyn2opt");
    Properties p = new Properties();
    p.put("instance.name", "ok");
    p.put("int", 3);
    p.put("boolean", true);
    p.put("string", "absdir");
    p.put("strAProp", new String[] { "a" });
    p.put("intAProp", new int[] { 1, 2 });
    ComponentInstance ci;
    try {
        ci = f.createComponentInstance(p);
        ci.dispose();
    } catch (Exception e) {
        fail("An acceptable configuration is rejected : " + e.getMessage());
    }
    p = new Properties();
    p.put("instance.name", "ok");
    p.put("int", 3);
    p.put("strAProp", new String[] { "a" });
    p.put("intAProp", new int[] { 1, 2 });
    try {
        ci = f.createComponentInstance(p);
        ci.dispose();
    } catch (Exception e) {
        fail("An acceptable configuration is rejected (2) : " + e.getMessage());
    }
}
Also used : ComponentInstance(org.apache.felix.ipojo.ComponentInstance) Factory(org.apache.felix.ipojo.Factory) Properties(java.util.Properties) Test(org.junit.Test)

Example 23 with Factory

use of org.apache.felix.ipojo.Factory in project felix by apache.

the class TestUnacceptableConfiguration method testNull2Opt.

/**
 * Null configuration (success).
 */
@Test
public void testNull2Opt() {
    Factory f = ipojoHelper.getFactory("Factories-FooProviderType-Dyn2opt");
    ComponentInstance ci;
    try {
        ci = f.createComponentInstance(null);
        ci.dispose();
    } catch (Exception e) {
        fail("An acceptable configuration is refused");
    }
}
Also used : ComponentInstance(org.apache.felix.ipojo.ComponentInstance) Factory(org.apache.felix.ipojo.Factory) Test(org.junit.Test)

Example 24 with Factory

use of org.apache.felix.ipojo.Factory in project felix by apache.

the class TestUnacceptableConfiguration method testDynamicUncomplete.

/**
 * Check uncomplete configuration.
 */
@Test
public void testDynamicUncomplete() {
    Factory f = ipojoHelper.getFactory("Factories-FooProviderType-Dyn2");
    Properties p = new Properties();
    p.put("instance.name", "ok");
    p.put("string", "absdir");
    p.put("strAProp", new String[] { "a" });
    p.put("intAProp", new int[] { 1, 2 });
    ComponentInstance ci;
    try {
        ci = f.createComponentInstance(p);
        ci.dispose();
    } catch (Exception e) {
        return;
    }
    fail("An unacceptable configuration is accepted");
}
Also used : ComponentInstance(org.apache.felix.ipojo.ComponentInstance) Factory(org.apache.felix.ipojo.Factory) Properties(java.util.Properties) Test(org.junit.Test)

Example 25 with Factory

use of org.apache.felix.ipojo.Factory in project felix by apache.

the class TestErrorHandler method testErrorHandler.

@Test
public void testErrorHandler() throws InterruptedException, InvalidSyntaxException {
    MyErrorHandler handler = new MyErrorHandler();
    bc.registerService(ErrorHandler.class.getName(), handler, null);
    Factory factory = ipojoHelper.getFactory("org.apache.felix.ipojo.runtime.core.components.MyErroneousComponent");
    assertNotNull(factory);
    try {
        factory.createComponentInstance(null);
        fail("Error expected");
    } catch (Exception e) {
    // Error expected.
    }
    System.out.println(handler.m_errors);
    Assert.assertFalse(handler.m_errors.isEmpty());
    Assert.assertTrue(handler.m_errors.contains("org.apache.felix.ipojo.runtime.core.components.MyErroneousComponent-0:[org.apache.felix.ipojo.runtime.core.components.MyErroneousComponent-0] createInstance -> Cannot invoke the constructor method - the constructor throws an exception : bad:bad"));
}
Also used : ErrorHandler(org.apache.felix.ipojo.ErrorHandler) Factory(org.apache.felix.ipojo.Factory) InvalidSyntaxException(org.osgi.framework.InvalidSyntaxException) IOException(java.io.IOException) Test(org.junit.Test)

Aggregations

Factory (org.apache.felix.ipojo.Factory)111 Properties (java.util.Properties)88 Test (org.junit.Test)71 ComponentInstance (org.apache.felix.ipojo.ComponentInstance)53 Before (org.junit.Before)33 ServiceReference (org.osgi.framework.ServiceReference)29 FooService (org.apache.felix.ipojo.runtime.core.services.FooService)17 InvalidSyntaxException (org.osgi.framework.InvalidSyntaxException)17 ComponentFactory (org.apache.felix.ipojo.ComponentFactory)14 ServiceContext (org.apache.felix.ipojo.ServiceContext)13 CheckService (org.apache.felix.ipojo.runtime.core.services.CheckService)11 IOException (java.io.IOException)6 HandlerFactory (org.apache.felix.ipojo.HandlerFactory)6 Architecture (org.apache.felix.ipojo.architecture.Architecture)4 HandlerDescription (org.apache.felix.ipojo.architecture.HandlerDescription)4 InstanceDescription (org.apache.felix.ipojo.architecture.InstanceDescription)4 CompositeInstanceDescription (org.apache.felix.ipojo.composite.CompositeInstanceDescription)4 CompositeManager (org.apache.felix.ipojo.composite.CompositeManager)4 ProvidedServiceDescription (org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceDescription)4 ProvidedServiceHandlerDescription (org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandlerDescription)4