@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); }