Пример #1
0
  @Test
  public void testAvailability() throws Exception {
    deploy("OSGI-INF/converters-test-contrib1.xml");
    deploy("OSGI-INF/converters-test-contrib2.xml");
    deploy("OSGI-INF/converters-test-contrib4.xml");
    ConversionService cs = Framework.getLocalService(ConversionService.class);

    ConverterCheckResult result = null;

    // ** not existing converter
    // check registration check
    boolean notRegistred = false;

    try {
      result = cs.isConverterAvailable("toto");
    } catch (ConverterNotRegistered e) {
      notRegistred = true;
    }
    assertTrue(notRegistred);

    // check call
    notRegistred = false;
    try {
      cs.convert("toto", new SimpleBlobHolder(new StringBlob("")), null);
    } catch (ConverterNotRegistered e) {
      notRegistred = true;
    }
    assertTrue(notRegistred);

    // not available converter
    notRegistred = false;
    try {
      result = cs.isConverterAvailable("NotAvailableConverter");
    } catch (ConverterNotRegistered e) {
      notRegistred = true;
    }
    assertFalse(notRegistred);
    assertFalse(result.isAvailable());
    assertNotNull(result.getErrorMessage());
    assertNotNull(result.getInstallationMessage());

    notRegistred = false;
    boolean notAvailable = false;
    try {
      cs.convert("NotAvailableConverter", new SimpleBlobHolder(new StringBlob("")), null);
    } catch (ConverterNotRegistered e) {
      notRegistred = true;
    } catch (ConverterNotAvailable e) {
      notAvailable = true;
    }
    assertFalse(notRegistred);
    assertTrue(notAvailable);

    // ** available converter
    notRegistred = false;
    notAvailable = false;
    try {
      result = cs.isConverterAvailable("dummy2");
    } catch (ConverterNotRegistered e) {
      notRegistred = true;
    }
    assertFalse(notRegistred);
    assertTrue(result.isAvailable());
    assertNull(result.getErrorMessage());
    assertNull(result.getInstallationMessage());
    assertSame(2, result.getSupportedInputMimeTypes().size());

    notRegistred = false;
    try {
      cs.convert("dummy2", new SimpleBlobHolder(new StringBlob("")), null);
    } catch (ConverterNotRegistered e) {
      notRegistred = true;
    } catch (ConverterNotAvailable e) {
      notAvailable = true;
    }
    assertFalse(notRegistred);
    assertFalse(notAvailable);
  }