package de.otto.edison.mongo.configuration; import com.mongodb.client.MongoDatabase; import de.otto.edison.mongo.togglz.MongoTogglzRepository; import de.otto.edison.togglz.FeatureClassProvider; import org.slf4j.Logger; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.togglz.core.repository.StateRepository; import org.togglz.core.user.UserProvider; import static org.slf4j.LoggerFactory.getLogger; @Configuration @ConditionalOnClass(name = "de.otto.edison.togglz.configuration.TogglzConfiguration") public class MongoTogglzConfiguration { private static final Logger LOG = getLogger(MongoTogglzConfiguration.class); @Bean StateRepository stateRepository(final MongoDatabase mongoDatabase, final FeatureClassProvider featureClassProvider, final UserProvider userProvider) { LOG.info("==============================="); LOG.info("Using MongoTogglzRepository with " + mongoDatabase.getClass().getSimpleName() + " MongoDatabase impl."); LOG.info("==============================="); return new MongoTogglzRepository(mongoDatabase, featureClassProvider, userProvider); } }