@Test public void testLoadExternalClassShouldGetClassAsBeanFirst() throws InstantiationException, IllegalAccessException, InvocationTargetException { Object result = underTest.loadExternalClass(PACKAGE_NAME, JAR_FOLDER_PATH, INTERFACE_TO_CAST); verify(classInstantiator, never()).createClassInstanceOf(INTERFACE_TO_CAST); verify(logger).info(Mockito.anyString(), Mockito.anyObject(), Mockito.anyObject(), Mockito.anyObject()); assertNotNull(result); }
public <T> T loadExternalClass(final String packageName, final String jarFolderPath, final Class<T> interfaceToCast) { String beanName = createBeanName(packageName, interfaceToCast); T result; try { result = beanRegistryService.getBean(beanName, interfaceToCast); logger.info(GOT_BEAN_TEMPLATE, beanName, result.getClass().getName(), interfaceToCast); } catch (BeansException e) { logger.debug(String.format("Finding bean with name '%s' of type '%s' failed", beanName, interfaceToCast), e); result = initializeFromJars(packageName, jarFolderPath, interfaceToCast); beanRegistryService.register(beanName, result); } return result; }
ExternalJarClassInitializer { public <T> T loadExternalClass(final String packageName, final String jarFolderPath, final Class<T> interfaceToCast) { String beanName = createBeanName(packageName, interfaceToCast); T result; try { result = beanRegistryService.getBean(beanName, interfaceToCast); logger.info(GOT_BEAN_TEMPLATE, beanName, result.getClass().getName(), interfaceToCast); } catch (BeansException e) { logger.debug(String.format("Finding bean with name '%s' of type '%s' failed", beanName, interfaceToCast), e); result = initializeFromJars(packageName, jarFolderPath, interfaceToCast); beanRegistryService.register(beanName, result); } return result; } }
ExternalJarClassInitializer { public <T> T loadExternalClass(final String packageName, final String jarFolderPath, final Class<T> interfaceToCast) { String beanName = createBeanName(packageName, interfaceToCast); T result; try { result = beanRegistryService.getBean(beanName, interfaceToCast); logger.info(GOT_BEAN_TEMPLATE, beanName, result.getClass().getName(), interfaceToCast); } catch (BeansException e) { logger.debug(String.format("Finding bean with name '%s' of type '%s' failed", beanName, interfaceToCast), e); result = initializeFromJars(packageName, jarFolderPath, interfaceToCast); beanRegistryService.register(beanName, result); } return result; }  }
ExternalJarClassInitializer { public <T> T loadExternalClass(final String packageName, final String jarFolderPath, final Class<T> interfaceToCast) { String beanName = createBeanName(packageName, interfaceToCast); T result; try { result = beanRegistryService.getBean(beanName, interfaceToCast); logger.info(GOT_BEAN_TEMPLATE, beanName, result.getClass().getName(), interfaceToCast); } catch (BeansException e) { logger.debug(String.format("Finding bean with name '%s' of type '%s' failed", beanName, interfaceToCast), e); result = initializeFromJars(packageName, jarFolderPath, interfaceToCast); beanRegistryService.register(beanName, result); } return result; }  T loadExternalClass(final String packageName, final String jarFolderPath, final Class<T> interfaceToCast); }
ExternalJarClassInitializer { public <T> T loadExternalClass(final String packageName, final String jarFolderPath, final Class<T> interfaceToCast) { String beanName = createBeanName(packageName, interfaceToCast); T result; try { result = beanRegistryService.getBean(beanName, interfaceToCast); logger.info(GOT_BEAN_TEMPLATE, beanName, result.getClass().getName(), interfaceToCast); } catch (BeansException e) { logger.debug(String.format("Finding bean with name '%s' of type '%s' failed", beanName, interfaceToCast), e); result = initializeFromJars(packageName, jarFolderPath, interfaceToCast); beanRegistryService.register(beanName, result); } return result; }  T loadExternalClass(final String packageName, final String jarFolderPath, final Class<T> interfaceToCast);  }