05d6e88762030e99409fb07633d9d8b85a6cddf5
[dcaegen2/services.git] /
1 /*
2 * ============LICENSE_START=======================================================
3 * ONAP : DATALAKE
4 * ================================================================================
5 * Copyright 2019 China Mobile
6 *=================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 *     http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
19 */
20
21 package org.onap.datalake.feeder.config;
22
23 import java.util.concurrent.locks.ReentrantReadWriteLock;
24
25 import org.springframework.boot.SpringBootConfiguration;
26 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
27 import org.springframework.boot.context.properties.ConfigurationProperties;
28
29 import lombok.Getter;
30 import lombok.Setter;
31
32 /**
33  * Mapping from src/main/resources/application.properties to Java configuration
34  * object
35  * 
36  * @author Guobiao Mo
37  *
38  */
39 @Getter
40 @Setter
41 @SpringBootConfiguration
42 @ConfigurationProperties
43 @EnableAutoConfiguration
44 public class ApplicationConfiguration {
45
46         final ReentrantReadWriteLock shutdownLock = new ReentrantReadWriteLock();
47         
48         //App general
49         private boolean async;
50         private boolean enableSSL;
51
52         private String timestampLabel;
53         private String rawDataLabel;
54
55         private String defaultTopicName;
56
57         private long checkTopicInterval; //in millisecond
58
59         private String elasticsearchType;
60
61         //HDFS
62         private int hdfsBufferSize;     
63         private long hdfsFlushInterval;
64         private int hdfsBatchSize;
65
66         //Version
67         private String datalakeVersion;
68   
69         //Kibana
70         private String kibanaDashboardImportApi;
71         private Integer kibanaPort;
72 }