blob: b8730bfbb40816ce9f97caa989ddc73c17142cfd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
package com.juick.components.configuration;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
import com.juick.components.CleanUp;
import com.juick.components.Notifications;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.http.client.InterceptingClientHttpRequestFactory;
import org.springframework.http.client.support.BasicAuthorizationInterceptor;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.client.RestTemplate;
import java.util.Collections;
import java.util.List;
/**
* Created by aalexeev on 11/12/16.
*/
@Configuration
@EnableScheduling
@PropertySource("classpath:juick.conf")
@ComponentScan(basePackages = {"com.juick.components.service"})
public class NotificationsAppConfiguration {
@Value("${api_user:juick}")
private String apiUser;
@Value("${api_password:secret}")
private String apiSecret;
@Bean
public RestTemplate rest() {
RestTemplate rest = new RestTemplate();
List<ClientHttpRequestInterceptor> interceptors = Collections.singletonList(
new BasicAuthorizationInterceptor(apiUser, apiSecret));
rest.setRequestFactory(new InterceptingClientHttpRequestFactory(rest.getRequestFactory(), interceptors));
return rest;
}
@Bean
public Notifications push() {
return new Notifications();
}
@Bean
public ObjectMapper jsonMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
mapper.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT);
mapper.registerModule(new Jdk8Module());
return mapper;
}
@Bean
public CleanUp cleanUp() {
return new CleanUp();
}
}
|