Subversion Repositories SmartDukaan

Rev

Rev 23701 | Rev 23703 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 23701 Rev 23702
Line 1... Line 1...
1
package com.spice.profitmandi.web.config;
1
package com.spice.profitmandi.web.config;
2
 
2
 
3
import java.io.IOException;
-
 
4
import java.sql.Timestamp;
-
 
5
import java.time.ZoneId;
-
 
6
import java.time.ZonedDateTime;
-
 
7
import java.time.format.DateTimeFormatter;
3
import java.time.format.DateTimeFormatter;
-
 
4
import java.util.List;
8
 
5
 
9
import org.springframework.beans.factory.annotation.Autowired;
6
import org.springframework.beans.factory.annotation.Autowired;
10
import org.springframework.context.annotation.Bean;
7
import org.springframework.context.annotation.Bean;
11
import org.springframework.context.annotation.ComponentScan;
8
import org.springframework.context.annotation.ComponentScan;
12
import org.springframework.context.annotation.Configuration;
9
import org.springframework.context.annotation.Configuration;
13
import org.springframework.context.annotation.Primary;
10
import org.springframework.http.converter.HttpMessageConverter;
14
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
11
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
15
import org.springframework.web.servlet.config.annotation.CorsRegistry;
12
import org.springframework.web.servlet.config.annotation.CorsRegistry;
16
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
13
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
17
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
14
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
18
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
15
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
19
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
16
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
20
 
17
 
21
import com.fasterxml.jackson.core.JsonGenerator;
-
 
22
import com.fasterxml.jackson.databind.JsonSerializer;
-
 
23
import com.fasterxml.jackson.databind.ObjectMapper;
18
import com.fasterxml.jackson.databind.ObjectMapper;
24
import com.fasterxml.jackson.databind.SerializationFeature;
19
import com.fasterxml.jackson.databind.SerializationFeature;
25
import com.fasterxml.jackson.databind.SerializerProvider;
20
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
26
import com.spice.profitmandi.common.model.ProfitMandiConstants;
21
import com.spice.profitmandi.common.model.ProfitMandiConstants;
27
import com.spice.profitmandi.common.web.interceptor.SimpleCORSInterceptor;
22
import com.spice.profitmandi.common.web.interceptor.SimpleCORSInterceptor;
28
import com.spice.profitmandi.web.interceptor.AuthenticationInterceptor;
23
import com.spice.profitmandi.web.interceptor.AuthenticationInterceptor;
29
 
24
 
30
import springfox.documentation.builders.PathSelectors;
25
import springfox.documentation.builders.PathSelectors;
Line 93... Line 88...
93
	      "License of API",
88
	      "License of API",
94
	      "API license URL");
89
	      "API license URL");
95
	    return apiInfo;
90
	    return apiInfo;
96
	}
91
	}
97
	
92
	
98
/*	@Override
93
	@Override
99
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
94
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-
 
95
        MappingJackson2HttpMessageConverter jacksonMessageConverter = new MappingJackson2HttpMessageConverter();
-
 
96
        ObjectMapper objectMapper = jacksonMessageConverter.getObjectMapper();
100
 
97
 
101
        converters.add(new MappingJackson2HttpMessageConverter(objectMapper()));
98
        objectMapper.registerModule(new JavaTimeModule());
-
 
99
        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true);
102
        super.configureMessageConverters(converters);
100
        converters.add(jacksonMessageConverter);
103
    }
101
    }
104
	
102
	
105
	private ObjectMapper objectMapper() {
103
/*	private ObjectMapper objectMapper() {
106
	    ObjectMapper objectMapper = new ObjectMapper();
104
	    ObjectMapper objectMapper = new ObjectMapper();
107
	    objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
105
	    objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
108
	    JavaTimeModule javaTimeModule = new JavaTimeModule();
106
	    JavaTimeModule javaTimeModule = new JavaTimeModule();
109
	    javaTimeModule.addSerializer(java.sql.Date.class, new DateSerializer());
107
	    javaTimeModule.addSerializer(java.sql.Date.class, new DateSerializer());
110
	    //javaTimeModule.addDeserializer(Timestamp.class, new LocalDateDeserializer());
108
	    //javaTimeModule.addDeserializer(Timestamp.class, new LocalDateDeserializer());
111
	    objectMapper.registerModule(javaTimeModule);
109
	    objectMapper.registerModule(javaTimeModule);
112
	    return objectMapper;
110
	    return objectMapper;
113
	}*/
-
 
114
	
-
 
115
	@Bean
-
 
116
	@Primary
-
 
117
	public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) {
-
 
118
	    ObjectMapper objectMapper = builder.build();
-
 
119
	    objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
-
 
120
	    return objectMapper;
-
 
121
	}
111
	}
122
	
112
	
123
	public class LocalDateSerializer extends JsonSerializer<Timestamp> {
113
	public class LocalDateSerializer extends JsonSerializer<Timestamp> {
124
	
114
	
125
	    @Override
115
	    @Override
Line 128... Line 118...
128
	    	 ZonedDateTime z = value.toInstant().atZone(ZoneId.systemDefault());
118
	    	 ZonedDateTime z = value.toInstant().atZone(ZoneId.systemDefault());
129
	         String str = FORMATTER.format(z);
119
	         String str = FORMATTER.format(z);
130
	         gen.writeString(str); 	
120
	         gen.writeString(str); 	
131
	    }	
121
	    }	
132
	}
122
	}
133
	
123
*/	
134
/*	public class LocalDateDeserializer extends JsonDeserializer<Timestamp> {
124
/*	public class LocalDateDeserializer extends JsonDeserializer<Timestamp> {
135
		
125
		
136
	    @Override
126
	    @Override
137
	    public Timestamp deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
127
	    public Timestamp deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
138
	    	LocalDateTime dt = LocalDateTime.parse(p.getText(), FORMATTER);
128
	    	LocalDateTime dt = LocalDateTime.parse(p.getText(), FORMATTER);