Skip to content

Commit 7d105be

Browse files
DaanHooglandclaude
andcommitted
use ConfigKeys for event bus settings
Part of the split of #13884 (phase out the Config enum, #10752). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent c800b90 commit 7d105be

5 files changed

Lines changed: 11 additions & 30 deletions

File tree

‎engine/components-api/src/main/java/com/cloud/event/UsageEventUtils.java‎

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
import com.cloud.network.Network;
2929
import org.apache.commons.collections.MapUtils;
3030
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
31+
import org.apache.cloudstack.framework.config.ConfigKey;
3132

32-
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
3333
import org.apache.cloudstack.framework.events.Event;
3434
import org.apache.cloudstack.framework.events.EventBus;
3535
import org.apache.cloudstack.framework.events.EventDistributor;
@@ -50,17 +50,19 @@ public class UsageEventUtils {
5050
private static DataCenterDao s_dcDao;
5151
protected static Logger LOGGER = LogManager.getLogger(UsageEventUtils.class);
5252
protected static EventBus s_eventBus = null;
53-
protected static ConfigurationDao s_configDao;
5453
private static EventDistributor eventDistributor;
5554

55+
// Registered/owned by com.cloud.server.ManagementServer#PublishUsageEvent; declared here too so this
56+
// module can read it without a reverse dependency on the server module.
57+
private static final ConfigKey<Boolean> PublishUsageEvent = new ConfigKey<>("Advanced", Boolean.class, "publish.usage.events", "true",
58+
"enable or disable publishing of usage events on the event bus", true);
59+
5660
@Inject
5761
UsageEventDao usageEventDao;
5862
@Inject
5963
AccountDao accountDao;
6064
@Inject
6165
DataCenterDao dcDao;
62-
@Inject
63-
ConfigurationDao configDao;
6466

6567
public UsageEventUtils() {
6668
}
@@ -70,7 +72,6 @@ void init() {
7072
s_usageEventDao = usageEventDao;
7173
s_accountDao = accountDao;
7274
s_dcDao = dcDao;
73-
s_configDao = configDao;
7475
}
7576

7677
public static void publishUsageEvent(String usageType, long accountId, long zoneId, long resourceId, String resourceName, Long offeringId, Long templateId,
@@ -215,9 +216,7 @@ public static void saveUsageEvent(String usageType, long accountId, long zoneId,
215216
}
216217

217218
private static void publishUsageEvent(String usageEventType, Long accountId, Long zoneId, String resourceType, String resourceUUID) {
218-
String configKey = "publish.usage.events";
219-
String value = s_configDao.getValue(configKey);
220-
boolean configValue = Boolean.parseBoolean(value);
219+
boolean configValue = PublishUsageEvent.value();
221220
if( !configValue)
222221
return;
223222
try {

‎server/src/main/java/com/cloud/event/ActionEventUtils.java‎

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,17 @@
3232
import org.apache.cloudstack.api.Identity;
3333
import org.apache.cloudstack.api.InternalIdentity;
3434
import org.apache.cloudstack.context.CallContext;
35-
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
3635
import org.apache.cloudstack.framework.events.EventDistributor;
3736
import org.apache.commons.lang3.ObjectUtils;
3837
import org.apache.commons.lang3.StringUtils;
3938
import org.apache.logging.log4j.LogManager;
4039
import org.apache.logging.log4j.Logger;
4140
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
4241

43-
import com.cloud.configuration.Config;
4442
import com.cloud.event.dao.EventDao;
4543
import com.cloud.projects.Project;
4644
import com.cloud.projects.dao.ProjectDao;
45+
import com.cloud.server.ManagementServer;
4746
import com.cloud.server.ManagementService;
4847
import com.cloud.user.Account;
4948
import com.cloud.user.AccountVO;
@@ -65,7 +64,6 @@ public class ActionEventUtils {
6564
protected static UserDao s_userDao;
6665
private static EventDistributor eventDistributor;
6766
protected static EntityManager s_entityMgr;
68-
protected static ConfigurationDao s_configDao;
6967

7068
public static final String EventDetails = "event_details";
7169
public static final String EventId = "event_id";
@@ -83,8 +81,6 @@ public class ActionEventUtils {
8381
ProjectDao projectDao;
8482
@Inject
8583
EntityManager entityMgr;
86-
@Inject
87-
ConfigurationDao configDao;
8884

8985
public ActionEventUtils() {
9086
}
@@ -96,7 +92,6 @@ void init() {
9692
s_userDao = userDao;
9793
s_projectDao = projectDao;
9894
s_entityMgr = entityMgr;
99-
s_configDao = configDao;
10095
}
10196

10297
public static Long onActionEvent(Long userId, Long accountId, Long domainId, String type, String description, Long resourceId, String resourceType) {
@@ -208,9 +203,7 @@ private static Event persistActionEvent(Long userId, Long accountId, Long domain
208203
private static void publishOnEventBus(Event eventRecord, long userId, long accountId, Long domainId,
209204
String eventCategory, String eventType, Event.State state, String description, String resourceUuid,
210205
String resourceType) {
211-
String configKey = Config.PublishActionEvent.key();
212-
String value = s_configDao.getValue(configKey);
213-
boolean configValue = Boolean.parseBoolean(value);
206+
boolean configValue = ManagementServer.PublishActionEvent.value();
214207
if(!configValue)
215208
return;
216209

‎server/src/main/java/com/cloud/event/AlertGenerator.java‎

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,17 @@
2525
import javax.annotation.PostConstruct;
2626
import javax.inject.Inject;
2727

28-
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
2928
import org.apache.cloudstack.framework.events.EventDistributor;
3029
import org.apache.logging.log4j.LogManager;
3130
import org.apache.logging.log4j.Logger;
3231
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
3332
import org.springframework.stereotype.Component;
3433

35-
import com.cloud.configuration.Config;
3634
import com.cloud.dc.DataCenterVO;
3735
import com.cloud.dc.HostPodVO;
3836
import com.cloud.dc.dao.DataCenterDao;
3937
import com.cloud.dc.dao.HostPodDao;
38+
import com.cloud.server.ManagementServer;
4039
import com.cloud.server.ManagementService;
4140
import com.cloud.utils.component.ComponentContext;
4241

@@ -46,15 +45,12 @@ public class AlertGenerator {
4645
protected static Logger LOGGER = LogManager.getLogger(AlertGenerator.class);
4746
private static DataCenterDao s_dcDao;
4847
private static HostPodDao s_podDao;
49-
protected static ConfigurationDao s_configDao;
5048
protected static EventDistributor eventDistributor;
5149

5250
@Inject
5351
DataCenterDao dcDao;
5452
@Inject
5553
HostPodDao podDao;
56-
@Inject
57-
ConfigurationDao configDao;
5854

5955
public AlertGenerator() {
6056
}
@@ -63,13 +59,10 @@ public AlertGenerator() {
6359
void init() {
6460
s_dcDao = dcDao;
6561
s_podDao = podDao;
66-
s_configDao = configDao;
6762
}
6863

6964
public static void publishAlertOnEventBus(String alertType, long dataCenterId, Long podId, String subject, String body) {
70-
String configKey = Config.PublishAlertEvent.key();
71-
String value = s_configDao.getValue(configKey);
72-
boolean configValue = Boolean.parseBoolean(value);
65+
boolean configValue = ManagementServer.PublishAlertEvent.value();
7366
if (!configValue) {
7467
return;
7568
}

‎server/src/test/java/com/cloud/event/ActionEventInterceptorTest.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
package com.cloud.event;
1919

20-
import com.cloud.configuration.Config;
2120
import com.cloud.event.dao.EventDao;
2221
import com.cloud.projects.dao.ProjectDao;
2322
import com.cloud.user.Account;
@@ -150,7 +149,6 @@ public void setup() throws Exception {
150149
*/
151150
public void setupCommonMocks() throws Exception {
152151
//Some basic mocks.
153-
Mockito.when(configDao.getValue(Config.PublishActionEvent.key())).thenReturn("true");
154152
componentContextMocked = Mockito.mockStatic(ComponentContext.class);
155153
Mockito.when(ComponentContext.getComponent(EventBus.class)).thenReturn(eventBus);
156154
persistedEvents = new ArrayList<>();

‎server/src/test/java/com/cloud/event/ActionEventUtilsTest.java‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import org.mockito.junit.MockitoJUnitRunner;
4444
import org.mockito.stubbing.Answer;
4545

46-
import com.cloud.configuration.Config;
4746
import com.cloud.event.dao.EventDao;
4847
import com.cloud.network.IpAddress;
4948
import com.cloud.projects.dao.ProjectDao;
@@ -148,7 +147,6 @@ public void setup() throws Exception {
148147
*/
149148
public void setupCommonMocks() throws Exception {
150149
//Some basic mocks.
151-
Mockito.when(configDao.getValue(Config.PublishActionEvent.key())).thenReturn("true");
152150
componentContextMocked = Mockito.mockStatic(ComponentContext.class);
153151
componentContextMocked.when(() -> ComponentContext.getComponent(EventDistributor.class)).thenReturn(eventDistributor);
154152

0 commit comments

Comments
 (0)