@Test public void testServiceConfig() throws Exception { deploy("OSGI-INF/convert-service-config-test.xml"); assertNotNull(Framework.getLocalService(ConversionService.class)); assertEquals(12, ConversionServiceImpl.getGCIntervalInMinutes()); assertEquals(132, ConversionServiceImpl.getMaxCacheSizeInKB()); assertFalse(ConversionServiceImpl.isCacheEnabled()); }
@Test public void testConverterLookup() throws Exception { deploy("OSGI-INF/converters-test-contrib1.xml"); ConversionService cs = Framework.getLocalService(ConversionService.class); String converterName = cs.getConverterName("text/plain", "test/me"); assertEquals("dummy1", converterName); converterName = cs.getConverterName("text/plain2", "test/me"); assertNull(converterName); deploy("OSGI-INF/converters-test-contrib2.xml"); converterName = cs.getConverterName("test/me", "foo/bar"); assertEquals("dummy2", converterName); converterName = cs.getConverterName("text/plain", "foo/bar"); assertEquals("dummyChain", converterName); Converter cv = ConversionServiceImpl.getConverter("dummyChain"); assertNotNull(cv); boolean isChain = false; if (cv instanceof ChainedConverter) { ChainedConverter ccv = (ChainedConverter) cv; List<String> steps = ccv.getSteps(); assertNotNull(steps); assertSame(2, steps.size()); assertTrue(steps.contains("test/me")); assertTrue(steps.contains("foo/bar")); isChain = true; } assertTrue(isChain); converterName = cs.getConverterName("something", "somethingelse"); assertEquals("custom", converterName); converterName = cs.getConverterName("any", "somethingelse"); assertEquals("wildcard", converterName); converterName = cs.getConverterName("text/plain", "jacky/chan"); assertEquals("dummyChain2", converterName); Converter cv2 = ConversionServiceImpl.getConverter("dummyChain2"); assertNotNull(cv2); isChain = false; if (cv2 instanceof ChainedConverter) { ChainedConverter ccv = (ChainedConverter) cv2; List<String> steps = ccv.getSteps(); assertNull(steps); isChain = true; } assertTrue(isChain); }
@Test public void testServiceContrib() throws Exception { deploy("OSGI-INF/converters-test-contrib1.xml"); assertNotNull(Framework.getLocalService(ConversionService.class)); Converter cv1 = ConversionServiceImpl.getConverter("dummy1"); assertNotNull(cv1); ConverterDescriptor desc1 = ConversionServiceImpl.getConverterDescriptor("dummy1"); assertNotNull(desc1); assertEquals("test/me", desc1.getDestinationMimeType()); assertSame(2, desc1.getSourceMimeTypes().size()); assertTrue(desc1.getSourceMimeTypes().contains("text/plain")); assertTrue(desc1.getSourceMimeTypes().contains("text/xml")); }
/** @since 6.0 */ public static void deleteCache() { cacheLock.writeLock().lock(); try { cache.clear(); new File(ConversionServiceImpl.getCacheBasePath()).delete(); } finally { cacheLock.writeLock().unlock(); } }
protected static String getCacheEntryPath(String key) { Path path = new Path(ConversionServiceImpl.getCacheBasePath()); List<String> subPath = getSubPathFromKey(key); for (String subPart : subPath) { path = path.append(subPart); new File(path.toString()).mkdir(); } // path = path.append(key); return path.toString(); }