Beispiel #1
0
  public void setUp() {
    tataFactory = (ComponentFactory) Utils.getFactoryByName(getContext(), "tata");
    totoFactory = (ComponentFactory) Utils.getFactoryByName(getContext(), "toto");
    tataFactory2 = (ComponentFactory) Utils.getFactoryByName(getContext(), "comp-6");
    tataFactory2.stop();
    tataFactory.stop();

    Properties props = new Properties();
    props.put("instance.name", "toto provider");
    try {
      totoProv = totoFactory.createComponentInstance(props);
    } catch (Exception e) {
      e.printStackTrace();
    }

    Properties props3 = new Properties();
    props3.put("instance.name", "toto provider 2");
    try {
      totoProv2 = totoFactory.createComponentInstance(props3);
    } catch (Exception e) {
      e.printStackTrace();
    }

    totoProv.stop();
    totoProv2.stop();

    Factory factory = Utils.getFactoryByName(getContext(), "comp-2");
    Properties props2 = new Properties();
    props2.put("instance.name", "ff");
    try {
      under = factory.createComponentInstance(props2);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  @Before
  public void setUp() {
    tataFactory = (ComponentFactory) ipojoHelper.getFactory("tata");
    totoFactory = (ComponentFactory) ipojoHelper.getFactory("toto");
    tataFactory2 = (ComponentFactory) ipojoHelper.getFactory("comp-6");
    tataFactory2.stop();

    Properties props = new Properties();
    props.put("instance.name", "toto provider");
    try {
      totoProv = totoFactory.createComponentInstance(props);
    } catch (Exception e) {
      e.printStackTrace();
    }

    Properties props3 = new Properties();
    props3.put("instance.name", "toto provider 2");
    try {
      totoProv2 = totoFactory.createComponentInstance(props3);
    } catch (Exception e) {
      e.printStackTrace();
    }

    totoProv.stop();
    totoProv2.stop();

    Factory factory = ipojoHelper.getFactory("comp-7");
    Properties props2 = new Properties();
    props2.put("instance.name", "ff");
    try {
      under = factory.createComponentInstance(props2);
    } catch (Exception e) {
      e.printStackTrace();
    }
    tataFactory.stop();
  }
  @Test
  public void testSimple() {
    // Neither factory nor instance
    assertTrue("Assert under state - 1", under.getState() == ComponentInstance.INVALID);
    assertNull(
        "Assert no tota service - 1", getContext().getServiceReference(Tota.class.getName()));

    // Start the importer
    totoProv.start();
    assertTrue("Assert under state - 2", under.getState() == ComponentInstance.INVALID);
    assertNull(
        "Assert no tota service - 2", getContext().getServiceReference(Tota.class.getName()));

    // Start the factory
    tataFactory.start();
    assertTrue("Assert under state - 3", under.getState() == ComponentInstance.VALID);
    assertNotNull(
        "Assert tota service - 3", getContext().getServiceReference(Tota.class.getName()));
    ServiceReference ref = getContext().getServiceReference(Tota.class.getName());
    Tota tota = (Tota) getContext().getService(ref);
    invokeAll(tota);
    // Check toto
    Properties props = tota.getProps();
    Integer toto = (Integer) props.get("toto");
    Integer toto_2 = (Integer) props.get("toto_2");
    Integer toto_3 = (Integer) props.get("toto_3");
    Integer toto_4 = (Integer) props.get("toto_4");
    assertEquals("Assert toto - 3 (" + toto.intValue() + ")", toto.intValue(), 1);
    assertEquals("Assert toto_2 - 3", toto_2.intValue(), 1);
    assertEquals("Assert toto_3 - 3", toto_3.intValue(), 1);
    assertEquals("Assert toto_4 - 3", toto_4.intValue(), 0);
    // Check tata
    props = tota.getPropsTata();
    Integer tata = (Integer) props.get("tata");
    Integer tataStr = (Integer) props.get("tataStr");
    Integer tataStrs = (Integer) props.get("tataStrs");
    Integer tata_2 = (Integer) props.get("tata_2");
    Integer tata_3 = (Integer) props.get("tata_3");
    Integer tata1 = (Integer) props.get("tata1");
    Integer tata1_1 = (Integer) props.get("tata1_1");
    Integer tata5 = (Integer) props.get("tata5");
    Integer tata5_1 = (Integer) props.get("tata5_1");
    Integer tata5_2 = (Integer) props.get("tata5_2");
    assertEquals("Assert tata - 3", tata.intValue(), 1);
    assertEquals("Assert tataStr - 3", tataStr.intValue(), 1);
    assertEquals("Assert tataStrs - 3", tataStrs.intValue(), 0);
    assertEquals("Assert tata_2 - 3", tata_2.intValue(), 1);
    assertEquals("Assert tata_3 - 3", tata_3.intValue(), 1);
    assertEquals("Assert tata1 - 3", tata1.intValue(), 1);
    assertEquals("Assert tata1_1 - 3", tata1_1.intValue(), 1);
    assertEquals("Assert tata5 - 3", tata5.intValue(), 1);
    assertEquals("Assert tata5_1 - 3", tata5_1.intValue(), 1);
    assertEquals("Assert tata5_2 - 3", tata5_2.intValue(), 1);
    getContext().ungetService(ref);
    tota = null;

    // Start a second import
    totoProv2.start();
    assertTrue("Assert under state - 4", under.getState() == ComponentInstance.VALID);
    assertNotNull(
        "Assert tota service - 4", getContext().getServiceReference(Tota.class.getName()));
    ref = getContext().getServiceReference(Tota.class.getName());
    tota = (Tota) getContext().getService(ref);
    invokeAll(tota);
    // Check toto
    props = tota.getProps();
    toto = (Integer) props.get("toto");
    toto_2 = (Integer) props.get("toto_2");
    toto_3 = (Integer) props.get("toto_3");
    toto_4 = (Integer) props.get("toto_4");
    assertEquals("Assert toto - 4", toto.intValue(), 2);
    assertEquals("Assert toto_2 - 4", toto_2.intValue(), 2);
    assertEquals("Assert toto_3 - 4", toto_3.intValue(), 2);
    assertEquals("Assert toto_4 - 4", toto_4.intValue(), 0);
    // Check tata
    props = tota.getPropsTata();
    tata = (Integer) props.get("tata");
    tataStr = (Integer) props.get("tataStr");
    tataStrs = (Integer) props.get("tataStrs");
    tata_2 = (Integer) props.get("tata_2");
    tata_3 = (Integer) props.get("tata_3");
    tata1 = (Integer) props.get("tata1");
    tata1_1 = (Integer) props.get("tata1_1");
    tata5 = (Integer) props.get("tata5");
    tata5_1 = (Integer) props.get("tata5_1");
    tata5_2 = (Integer) props.get("tata5_2");
    assertEquals("Assert tata - 4", tata.intValue(), 2);
    assertEquals("Assert tataStr - 4", tataStr.intValue(), 2);
    assertEquals("Assert tataStrs - 4", tataStrs.intValue(), 0);
    assertEquals("Assert tata_2 - 4", tata_2.intValue(), 2);
    assertEquals("Assert tata_3 - 4", tata_3.intValue(), 2);
    assertEquals("Assert tata1 - 4", tata1.intValue(), 2);
    assertEquals("Assert tata1_1 - 4", tata1_1.intValue(), 2);
    assertEquals("Assert tata5 - 4", tata5.intValue(), 2);
    assertEquals("Assert tata5_1 - 4", tata5_1.intValue(), 2);
    assertEquals("Assert tata5_2 - 4", tata5_2.intValue(), 2);

    getContext().ungetService(ref);
    tota = null;

    tataFactory.stop();
    assertTrue("Assert under state - 5", under.getState() == ComponentInstance.INVALID);
    assertNull(
        "Assert no tota service - 5", getContext().getServiceReference(Tota.class.getName()));

    totoProv2.stop();
    tataFactory.start();
    assertTrue("Assert under state - 6", under.getState() == ComponentInstance.VALID);
    assertNotNull(
        "Assert tota service - 6", getContext().getServiceReference(Tota.class.getName()));
    ref = getContext().getServiceReference(Tota.class.getName());
    tota = (Tota) getContext().getService(ref);
    invokeAll(tota);
    // Check toto
    props = tota.getProps();
    toto = (Integer) props.get("toto");
    toto_2 = (Integer) props.get("toto_2");
    toto_3 = (Integer) props.get("toto_3");
    toto_4 = (Integer) props.get("toto_4");
    assertEquals("Assert toto - 6", toto.intValue(), 3);
    assertEquals("Assert toto_2 - 6", toto_2.intValue(), 3);
    assertEquals("Assert toto_3 - 6", toto_3.intValue(), 3);
    assertEquals("Assert toto_4 - 6", toto_4.intValue(), 0);
    // Check tata
    props = tota.getPropsTata();
    tata = (Integer) props.get("tata");
    tataStr = (Integer) props.get("tataStr");
    tataStrs = (Integer) props.get("tataStrs");
    tata_2 = (Integer) props.get("tata_2");
    tata_3 = (Integer) props.get("tata_3");
    tata1 = (Integer) props.get("tata1");
    tata1_1 = (Integer) props.get("tata1_1");
    tata5 = (Integer) props.get("tata5");
    tata5_1 = (Integer) props.get("tata5_1");
    tata5_2 = (Integer) props.get("tata5_2");
    assertEquals("Assert tata - 6", 1, tata.intValue());
    assertEquals("Assert tataStr - 6", tataStr.intValue(), 1);
    assertEquals("Assert tataStrs - 6", tataStrs.intValue(), 0);
    assertEquals("Assert tata_2 - 6", tata_2.intValue(), 1);
    assertEquals("Assert tata_3 - 6", tata_3.intValue(), 1);
    assertEquals("Assert tata1 - 6", tata1.intValue(), 1);
    assertEquals("Assert tata1_1 - 6", tata1_1.intValue(), 1);
    assertEquals("Assert tata5 - 6", tata5.intValue(), 1);
    assertEquals("Assert tata5_1 - 6", tata5_1.intValue(), 1);
    assertEquals("Assert tata5_2 - 6", tata5_2.intValue(), 1);
    getContext().ungetService(ref);
    tota = null;

    // Is arch exposed
    assertNotNull(
        "Test arch", ipojoHelper.getServiceReferenceByName(Architecture.class.getName(), "ff"));

    totoProv.stop();

    assertTrue("Assert under state - 7", under.getState() == ComponentInstance.INVALID);
    assertNotNull(
        "Test arch-2", ipojoHelper.getServiceReferenceByName(Architecture.class.getName(), "ff"));
    assertNull(
        "Assert no tota service - 7", getContext().getServiceReference(Tota.class.getName()));

    under.dispose();
    under = null;
  }