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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
/*******************************************************************************
* ============LICENSE_START=======================================================
* son-handler
* ================================================================================
* Copyright (C) 2019 Wipro Limited.
* ==============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END=========================================================
*
*******************************************************************************/
package org.onap.dcaegen2.services.sonhms.controller;
import java.util.List;
import java.util.Map;
import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api.CbsClientFactory;
import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.model.EnvProperties;
import org.onap.dcaegen2.services.sdk.rest.services.model.logging.RequestDiagnosticContext;
import org.onap.dcaegen2.services.sonhms.Configuration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ConfigFetchFromCbs {
private static Logger log = LoggerFactory.getLogger(ConfigFetchFromCbs.class);
/**
* Gets app config from CBS.
*/
@SuppressWarnings("unchecked")
public void getAppConfig() {
// Generate RequestID and InvocationID which will be used when logging and in
// HTTP requests
log.debug("getAppconfig start ..");
RequestDiagnosticContext diagnosticContext = RequestDiagnosticContext.create();
log.debug("fiagnostic context : {}",diagnosticContext.toString());
// Read necessary properties from the environment
final EnvProperties env = EnvProperties.fromEnvironment();
log.debug("environments {}",env.toString());
Configuration configuration = Configuration.getInstance();
// Create the client and use it to get the configuration
CbsClientFactory.createCbsClient(env).flatMap(cbsClient -> cbsClient.get(diagnosticContext))
.subscribe(jsonObject -> {
log.debug("configuration from CBS {}", jsonObject.toString());
final Map<String,Object> streamsSubscribes=(Map<String, Object>) jsonObject.get("streams_subscribes");
final Map<String,Object> streamsPublishes=(Map<String, Object>) jsonObject.get("streams_publishes");
final int pgPort = jsonObject.get("postgres.port").getAsInt();
final int pollingInterval=jsonObject.get("sonhandler.pollingInterval").getAsInt();
final String pgPassword = jsonObject.get("postgres.password").getAsString();
final int numSolutions=jsonObject.get("sonhandler.numSolutions").getAsInt();
final int minConfusion = jsonObject.get("sonhandler.minConfusion").getAsInt();
final int maximumClusters =jsonObject.get("sonhandler.maximumClusters").getAsInt();
final int minCollision = jsonObject.get("sonhandler.minCollision").getAsInt();
final String sourceId = jsonObject.get("sonhandler.sourceId").getAsString();
final String pgUsername = jsonObject.get("postgres.username").getAsString();
final String pgHost = jsonObject.get("postgres.host").getAsString();
final List<String> dmaapServers = (List<String>) jsonObject.get("sonhandler.dmaap.server");
final String cg=jsonObject.get("sonhandler.cg").getAsString();
final int bufferTime=jsonObject.get("sonhandler.bufferTime").getAsInt();
final String cid =jsonObject.get("sonhandler.cid").getAsString();
final String configDbService=jsonObject.get("sonhandler.configDb.service").getAsString();
final String callbackUrl=jsonObject.get("sonhandler.callbackUrl").getAsString();
final List<String> optimizers = (List<String>) jsonObject.get("sonhandler.optimizers");
final String oofService=jsonObject.get("sonhandler.oof.service").getAsString();
final int pollingTimeout=jsonObject.get("sonhandler.pollingTimeout").getAsInt();
configuration.setStreamsSubscribes(streamsSubscribes);
configuration.setStreamsPublishes(streamsPublishes);
configuration.setPgPassword(pgPassword);
configuration.setPgPort(pgPort);
configuration.setPollingInterval(pollingInterval);
configuration.setNumSolutions(numSolutions);
configuration.setMinCollision(minCollision);
configuration.setMinConfusion(minConfusion);
configuration.setMaximumClusters(maximumClusters);
configuration.setPgHost(pgHost);
configuration.setPgUsername(pgUsername);
configuration.setSourceId(sourceId);
configuration.setDmaapServers(dmaapServers);
configuration.setCg(cg);
configuration.setCid(cid);
configuration.setBufferTime(bufferTime);
configuration.setConfigDbService(configDbService);
configuration.setCallbackUrl(callbackUrl);
configuration.setOptimizers(optimizers);
configuration.setOofService(oofService);
configuration.setPollingTimeout(pollingTimeout);
log.debug("configuration {}", configuration);
}, throwable -> {
log.warn("Ooops", throwable);
});
}
}
|