private static LockAndTimestampServices createRawInstrumentedServices( MetricsManager metricsManager, AtlasDbConfig config, Supplier<AtlasDbRuntimeConfig> runtimeConfigSupplier, Consumer<Object> env, com.google.common.base.Supplier<LockService> lock, com.google.common.base.Supplier<TimestampService> time, com.google.common.base.Supplier<TimestampManagementService> timeManagement, TimestampStoreInvalidator invalidator, String userAgent) { AtlasDbRuntimeConfig initialRuntimeConfig = runtimeConfigSupplier.get(); assertNoSpuriousTimeLockBlockInRuntimeConfig(config, initialRuntimeConfig); if (config.leader().isPresent()) { return createRawLeaderServices( metricsManager, config.leader().get(), env, lock, time, timeManagement, userAgent); } else if (config.timestamp().isPresent() && config.lock().isPresent()) { return createRawRemoteServices(metricsManager, config, userAgent); } else if (isUsingTimeLock(config, initialRuntimeConfig)) { return createRawServicesFromTimeLock(metricsManager, config, runtimeConfigSupplier, invalidator, userAgent); } else { return createRawEmbeddedServices(metricsManager, env, lock, time, timeManagement); } }
private static LockAndTimestampServices createRawInstrumentedServices( MetricsManager metricsManager, AtlasDbConfig config, Supplier<AtlasDbRuntimeConfig> runtimeConfigSupplier, Consumer<Object> env, com.google.common.base.Supplier<LockService> lock, com.google.common.base.Supplier<TimestampService> time, com.google.common.base.Supplier<TimestampManagementService> timeManagement, TimestampStoreInvalidator invalidator, String userAgent) { AtlasDbRuntimeConfig initialRuntimeConfig = runtimeConfigSupplier.get(); assertNoSpuriousTimeLockBlockInRuntimeConfig(config, initialRuntimeConfig); if (config.leader().isPresent()) { return createRawLeaderServices( metricsManager, config.leader().get(), env, lock, time, timeManagement, userAgent); } else if (config.timestamp().isPresent() && config.lock().isPresent()) { return createRawRemoteServices(metricsManager, config, userAgent); } else if (isUsingTimeLock(config, initialRuntimeConfig)) { return createRawServicesFromTimeLock(metricsManager, config, runtimeConfigSupplier, invalidator, userAgent); } else { return createRawEmbeddedServices(metricsManager, env, lock, time, timeManagement); } }