Skip to content

Package: ConfigurationProviderImpl

ConfigurationProviderImpl

nameinstructionbranchcomplexitylinemethod
ConfigurationProviderImpl(KapuaConfigurableService, AccountService)
M: 9 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
getConfiguration(KapuaId)
M: 20 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
getInfo(KapuaId)
M: 23 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 7 C: 0
0%
M: 1 C: 0
0%
lambda$getInfo$0(KapuaId)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2016, 2022 Eurotech and/or its affiliates and others
3: *
4: * This program and the accompanying materials are made
5: * available under the terms of the Eclipse Public License 2.0
6: * which is available at https://www.eclipse.org/legal/epl-2.0/
7: *
8: * SPDX-License-Identifier: EPL-2.0
9: *
10: * Contributors:
11: * Eurotech - initial API and implementation
12: *******************************************************************************/
13: package org.eclipse.kapua.service.datastore.internal;
14:
15: import org.eclipse.kapua.KapuaException;
16: import org.eclipse.kapua.commons.security.KapuaSecurityUtils;
17: import org.eclipse.kapua.model.id.KapuaId;
18: import org.eclipse.kapua.service.account.Account;
19: import org.eclipse.kapua.service.account.AccountService;
20: import org.eclipse.kapua.service.config.KapuaConfigurableService;
21: import org.eclipse.kapua.service.datastore.internal.mediator.ConfigurationException;
22: import org.eclipse.kapua.service.datastore.internal.mediator.MessageInfo;
23: import org.eclipse.kapua.service.datastore.internal.mediator.MessageStoreConfiguration;
24:
25: /**
26: * Datastore configuration provider implementation.
27: *
28: * @since 1.0.0
29: */
30: public class ConfigurationProviderImpl implements ConfigurationProvider {
31:
32: private AccountService accountService;
33: private KapuaConfigurableService configurableService;
34:
35: /**
36: * Construct the configuration provider with the provided parameters
37: *
38: * @param configurableService
39: * @param accountService
40: */
41: public ConfigurationProviderImpl(KapuaConfigurableService configurableService,
42: AccountService accountService) {
43: this.accountService = accountService;
44: this.configurableService = configurableService;
45: }
46:
47: @Override
48: public MessageStoreConfiguration getConfiguration(KapuaId scopeId)
49: throws ConfigurationException {
50: MessageStoreConfiguration messageStoreConfiguration = null;
51: try {
52: messageStoreConfiguration = new MessageStoreConfiguration(configurableService.getConfigValues(scopeId));
53: } catch (KapuaException e) {
54: throw new ConfigurationException("Cannot load configuration parameters", e);
55: }
56: return messageStoreConfiguration;
57: }
58:
59: @Override
60: public MessageInfo getInfo(KapuaId scopeId)
61: throws ConfigurationException {
62: Account account = null;
63:• if (scopeId != null) {
64: try {
65: account = KapuaSecurityUtils.doPrivileged(() -> accountService.find(scopeId));
66: } catch (Exception exc) {
67: throw new ConfigurationException("Cannot get account information", exc);
68: }
69: }
70: return new MessageInfo(account);
71: }
72:
73: }