private static LockFactory getLockFactory(Path indexDir, Properties properties, ServiceManager serviceManager) { try { return serviceManager.requestService( LockFactoryCreator.class ).createLockFactory( indexDir, properties ); } finally { serviceManager.releaseService( LockFactoryCreator.class ); } }
private boolean determineQueryTranslatorPresent() { try ( ServiceReference<LuceneQueryTranslator> translator = getServiceManager().requestReference( LuceneQueryTranslator.class ) ) { return true; } catch (Exception e) { // Ignore return false; } }
@Override public ClassLoaderService getClassLoaderService() { return searchFactoryState.getServiceManager().getClassLoaderService(); } }
public ServiceReference(ServiceManager serviceManager, Class<S> serviceType) { this.serviceManager = serviceManager; this.serviceType = serviceType; this.service = serviceManager.requestService( serviceType ); }
@Override public void close() { masterNodeSelector = null; serviceManager.releaseService( NodeSelectorService.class ); luceneWorkSerializer = null; serviceManager.releaseService( LuceneWorkSerializer.class ); messageSender = null; serviceManager.releaseService( MessageSenderService.class ); serviceManager = null; }
@Test @TestForIssue(jiraKey = "HSEARCH-1547") public void testRequestingServiceAfterReleaseAllThrowsException() { SimpleService simpleService1 = serviceManagerUnderTest.requestService( SimpleService.class ); assertNotNull( "The service should be created", simpleService1 ); serviceManagerUnderTest.releaseService( SimpleService.class ); serviceManagerUnderTest.releaseAllServices(); thrown.expect( IllegalStateException.class ); thrown.expectMessage( JUnitMatchers.containsString( "HSEARCH000209" ) ); serviceManagerUnderTest.requestService( SimpleService.class ); }
expect( serviceManagerMock.requestReference( anyObject() ) ).andAnswer( () -> new ServiceReference( serviceManagerMock, (Class<?>) getCurrentArguments()[0] ) ).anyTimes(); expect( serviceManagerMock.requestService( ElasticsearchClientFactory.class ) ).andReturn( clientFactoryMock ); expect( clientFactoryMock.create( EasyMock.capture( propertiesCapture ) ) ).andReturn( clientMock ); expect( serviceManagerMock.requestService( ElasticsearchDialectFactory.class ) ).andReturn( dialectFactoryMock ); expect( dialectFactoryMock.createDialect( anyObject(), anyObject() ) ).andReturn( dialectMock ); expect( dialectMock.createGsonBuilderBase() ).andAnswer( GsonBuilder::new ).anyTimes();
public BridgeFactory(ServiceManager serviceManager) { ClassLoaderService classLoaderService = serviceManager.getClassLoaderService(); this.beanResolver = serviceManager.getBeanResolver(); for ( IndexManagerTypeSpecificBridgeProvider provider : classLoaderService.loadJavaServices( IndexManagerTypeSpecificBridgeProvider.class ) ) { backendSpecificProviders.put( provider.getIndexManagerType(), provider ); } annotationBasedProviders.add( new CalendarBridgeProvider() ); annotationBasedProviders.add( new DateBridgeProvider() ); annotationBasedProviders.add( new NumericBridgeProvider() ); annotationBasedProviders.add( new SpatialBridgeProvider() ); annotationBasedProviders.add( new TikaBridgeProvider() ); annotationBasedProviders.add( new JavaTimeBridgeProvider() ); for ( BridgeProvider provider : classLoaderService.loadJavaServices( BridgeProvider.class ) ) { regularProviders.add( provider ); } regularProviders.add( new EnumBridgeProvider() ); regularProviders.add( new BasicJDKTypesBridgeProvider( serviceManager ) ); }
@Override public LuceneWorkSerializer getWorkSerializer() { if ( workSerializer == null ) { workSerializer = serviceManager.requestService( LuceneWorkSerializer.class ); } return workSerializer; }
@Override public void close() { serviceManager.releaseService( serviceType ); } }
@Test @TestForIssue(jiraKey = "HSEARCH-1589") public void testStopServiceIsPerformedLazily() { StoppableService service = serviceManagerUnderTest.requestService( StoppableService.class ); assertNotNull( "The service should be created", service ); assertTrue( service instanceof StoppableServiceImpl ); serviceManagerUnderTest.releaseService( StoppableService.class ); assertFalse( "Service should not be stopped yet", ( (StoppableServiceImpl) service ).isStopped() ); serviceManagerUnderTest.releaseAllServices(); assertTrue( "Service should have been stopped", ( (StoppableServiceImpl) service ).isStopped() ); }
public BridgeFactory(ServiceManager serviceManager) { ClassLoaderService classLoaderService = serviceManager.getClassLoaderService(); this.beanResolver = serviceManager.getBeanResolver(); for ( IndexManagerTypeSpecificBridgeProvider provider : classLoaderService.loadJavaServices( IndexManagerTypeSpecificBridgeProvider.class ) ) { backendSpecificProviders.put( provider.getIndexManagerType(), provider ); } annotationBasedProviders.add( new CalendarBridgeProvider() ); annotationBasedProviders.add( new DateBridgeProvider() ); annotationBasedProviders.add( new NumericBridgeProvider() ); annotationBasedProviders.add( new SpatialBridgeProvider() ); annotationBasedProviders.add( new TikaBridgeProvider() ); annotationBasedProviders.add( new JavaTimeBridgeProvider() ); for ( BridgeProvider provider : classLoaderService.loadJavaServices( BridgeProvider.class ) ) { regularProviders.add( provider ); } regularProviders.add( new EnumBridgeProvider() ); regularProviders.add( new BasicJDKTypesBridgeProvider( serviceManager ) ); }
private static LockFactory getLockFactory(Path indexDir, Properties properties, ServiceManager serviceManager) { try { return serviceManager.requestService( LockFactoryCreator.class ).createLockFactory( indexDir, properties ); } finally { serviceManager.releaseService( LockFactoryCreator.class ); } }
public ServiceReference(ServiceManager serviceManager, Class<S> serviceType) { this.serviceManager = serviceManager; this.serviceType = serviceType; this.service = serviceManager.requestService( serviceType ); }
private boolean determineQueryTranslatorPresent() { try (ServiceReference<LuceneQueryTranslator> translator = getServiceManager().requestReference( LuceneQueryTranslator.class )) { return true; } catch (Exception e) { // Ignore return false; } }
@Override public void close() { serviceManager.releaseService( serviceType ); } }
@Override public ClassLoaderService getClassLoaderService() { return searchFactoryState.getServiceManager().getClassLoaderService(); } }
private LockFactory getLockFactory(Path indexDir, Properties properties) { try { return serviceManager.requestService(LockFactoryCreator.class).createLockFactory(indexDir, properties); } finally { serviceManager.releaseService(LockFactoryCreator.class); } }
@Override public LuceneWorkSerializer getWorkSerializer() { if ( workSerializer == null ) { workSerializer = serviceManager.requestService( LuceneWorkSerializer.class ); } return workSerializer; }
private LuceneAnalysisDefinitionProvider getLuceneAnalyzerDefinitionProvider() { // Uses a Service so that integrators can inject alternative Lucene Analyzer definition providers try ( ServiceReference<LuceneAnalysisDefinitionSourceService> serviceRef = serviceManager.requestReference( LuceneAnalysisDefinitionSourceService.class ) ) { return serviceRef.get().getLuceneAnalyzerDefinitionProvider(); } }