View Javadoc
1   /*
2    * Copyright (C) 2023 B3Partners B.V.
3    *
4    * SPDX-License-Identifier: MIT
5    */
6   package org.tailormap.api.configuration;
7   
8   import ch.rasc.sse.eventbus.config.EnableSseEventBus;
9   import java.util.Locale;
10  import org.springframework.beans.factory.annotation.Value;
11  import org.springframework.boot.context.properties.ConfigurationProperties;
12  import org.springframework.boot.context.properties.EnableConfigurationProperties;
13  import org.springframework.context.annotation.Bean;
14  import org.springframework.context.annotation.Configuration;
15  import org.springframework.scheduling.annotation.EnableScheduling;
16  import org.springframework.web.servlet.LocaleResolver;
17  import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver;
18  
19  @Configuration
20  @EnableConfigurationProperties
21  @ConfigurationProperties(prefix = "tailormap-api")
22  @EnableSseEventBus
23  @EnableScheduling
24  public class TailormapConfig {
25    private int timeout;
26  
27    @Value("${tailormap-api.default-language:en}")
28    private String defaultLanguage;
29  
30    public int getTimeout() {
31      return timeout;
32    }
33  
34    public TailormapConfig setTimeout(int timeout) {
35      this.timeout = timeout;
36      return this;
37    }
38  
39    @Bean
40    public LocaleResolver localeResolver() {
41      AcceptHeaderLocaleResolver resolver = new AcceptHeaderLocaleResolver();
42      resolver.setDefaultLocale(Locale.of(defaultLanguage));
43      return resolver;
44    }
45  }