package eu.eudat; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.json.JsonMapper; import com.fasterxml.jackson.databind.util.StdDateFormat; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import eu.eudat.data.BaseEntity; import org.jetbrains.annotations.NotNull; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Primary; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import org.springframework.scheduling.annotation.EnableAsync; import java.util.List; @SpringBootApplication(scanBasePackages = { "eu.eudat", "eu.eudat.depositinterface", "gr.cite", "gr.cite.tools", "gr.cite.commons" }) @EntityScan({ "eu.eudat.data"}) @EnableAsync public class EuDatApplication extends SpringBootServletInitializer { @Bean @Primary public ObjectMapper primaryObjectMapper(Jackson2ObjectMapperBuilder builder) { return builder.modulesToInstall(new JavaTimeModule()).build(); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(EuDatApplication.class); } public static void main(String[] args) { SpringApplication.run(EuDatApplication.class, args); } }