Port to java 17
[ccsdk/apps.git] / ms / sliboot / src / main / templates / libraries / spring-boot / swagger2SpringBoot.mustache
1 package {{basePackage}};
2
3 import {{configPackage}}.LocalDateConverter;
4 import {{configPackage}}.LocalDateTimeConverter;
5 import org.springframework.boot.CommandLineRunner;
6 import org.springframework.boot.ExitCodeGenerator;
7 import org.springframework.boot.SpringApplication;
8 import org.springframework.boot.autoconfigure.SpringBootApplication;
9 import org.springframework.context.annotation.ComponentScan;
10
11 import org.springframework.context.annotation.Configuration;
12 import org.springframework.format.FormatterRegistry;
13 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
14 import springfox.documentation.swagger2.annotations.EnableSwagger2;
15
16 @SpringBootApplication
17 @EnableSwagger2
18 @ComponentScan(basePackages = { "{{basePackage}}", "{{apiPackage}}" , "{{configPackage}}"})
19 public class Swagger2SpringBoot implements CommandLineRunner {
20
21     @Override
22     public void run(String... arg0) throws Exception {
23         if (arg0.length > 0 && arg0[0].equals("exitcode")) {
24             throw new ExitException();
25         }
26     }
27
28     public static void main(String[] args) throws Exception {
29         new SpringApplication(Swagger2SpringBoot.class).run(args);
30     }
31
32     @Configuration
33     static class MyConfig implements WebMvcConfigurer {
34         @Override
35         public void addFormatters(FormatterRegistry registry) {
36             registry.addConverter(new LocalDateConverter("{{#datePattern}}{{datePattern}}{{/datePattern}}{{^datePattern}}yyyy-MM-dd{{/datePattern}}"));
37             registry.addConverter(new LocalDateTimeConverter("{{#dateTimePattern}}{{dateTimePattern}}{{/dateTimePattern}}{{^dateTimePattern}}yyyy-MM-dd'T'HH:mm:ss.SSS{{/dateTimePattern}}"));
38         }
39     }
40
41     class ExitException extends RuntimeException implements ExitCodeGenerator {
42         private static final long serialVersionUID = 1L;
43
44         @Override
45         public int getExitCode() {
46             return 10;
47         }
48
49     }
50 }