Change to use the AlarmStateTransitionedEvent from mon-common and remove AlarmStateTransitionEvent from mon-thresh.
Update creation of AlarmUpdatedEvent because it now has more fields.
This commit is contained in:
parent
db87f26edd
commit
0066d04a28
2
pom.xml
2
pom.xml
@ -14,7 +14,7 @@
|
||||
</prerequisites>
|
||||
|
||||
<properties>
|
||||
<mon.common.version>1.0.0.22</mon.common.version>
|
||||
<mon.common.version>1.0.0.26</mon.common.version>
|
||||
<dropwizard.version>0.7.0-rc1</dropwizard.version>
|
||||
|
||||
<skipITs>true</skipITs>
|
||||
|
@ -1,43 +0,0 @@
|
||||
package com.hpcloud.mon.domain.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonRootName;
|
||||
import com.hpcloud.mon.common.model.alarm.AlarmState;
|
||||
|
||||
/**
|
||||
* Represents an alarm state transition having occurred.
|
||||
*
|
||||
* @author Jonathan Halterman
|
||||
*/
|
||||
@JsonRootName(value = "alarm-transitioned")
|
||||
public class AlarmStateTransitionEvent {
|
||||
public String tenantId;
|
||||
public String alarmId;
|
||||
public String alarmName;
|
||||
public String alarmDescription;
|
||||
public AlarmState oldState;
|
||||
public AlarmState newState;
|
||||
public String stateChangeReason;
|
||||
public long timestamp;
|
||||
|
||||
public AlarmStateTransitionEvent() {
|
||||
}
|
||||
|
||||
public AlarmStateTransitionEvent(String tenantId, String alarmId, String alarmName, String alarmDescription,
|
||||
AlarmState oldState, AlarmState newState, String stateChangeReason, long timestamp) {
|
||||
this.tenantId = tenantId;
|
||||
this.alarmId = alarmId;
|
||||
this.alarmName = alarmName;
|
||||
this.alarmDescription = alarmDescription;
|
||||
this.oldState = oldState;
|
||||
this.newState = newState;
|
||||
this.stateChangeReason = stateChangeReason;
|
||||
this.timestamp = timestamp;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format(
|
||||
"AlarmStateTransitionEvent [tenantId=%s, alarmId=%s, alarmName=%s, alarmDescription=%s, oldState=%s, newState=%s, stateChangeReason=%s, timestamp=%s]",
|
||||
tenantId, alarmId, alarmName, alarmDescription, oldState, newState, stateChangeReason, timestamp);
|
||||
}
|
||||
}
|
@ -13,9 +13,9 @@ import backtype.storm.topology.base.BaseRichBolt;
|
||||
import backtype.storm.tuple.Tuple;
|
||||
|
||||
import com.hpcloud.mon.ThresholdingConfiguration;
|
||||
import com.hpcloud.mon.common.event.AlarmStateTransitionedEvent;
|
||||
import com.hpcloud.mon.common.model.alarm.AlarmState;
|
||||
import com.hpcloud.mon.domain.model.Alarm;
|
||||
import com.hpcloud.mon.domain.model.AlarmStateTransitionEvent;
|
||||
import com.hpcloud.mon.domain.model.SubAlarm;
|
||||
import com.hpcloud.mon.domain.service.AlarmDAO;
|
||||
import com.hpcloud.mon.infrastructure.persistence.PersistenceModule;
|
||||
@ -136,7 +136,7 @@ public class AlarmThresholdingBolt extends BaseRichBolt {
|
||||
alarmDAO.updateState(alarm.getId(), alarm.getState());
|
||||
|
||||
LOG.debug("Alarm {} transitioned from {} to {}", alarm, initialState, alarm.getState());
|
||||
AlarmStateTransitionEvent event = new AlarmStateTransitionEvent(alarm.getTenantId(),
|
||||
AlarmStateTransitionedEvent event = new AlarmStateTransitionedEvent(alarm.getTenantId(),
|
||||
alarm.getId(), alarm.getName(), alarm.getDescription(), initialState, alarm.getState(),
|
||||
stateChangeReason, getTimestamp());
|
||||
try {
|
||||
|
@ -24,12 +24,12 @@ import backtype.storm.tuple.Values;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
import com.hpcloud.configuration.KafkaProducerConfiguration;
|
||||
import com.hpcloud.mon.common.event.AlarmStateTransitionedEvent;
|
||||
import com.hpcloud.mon.common.model.alarm.AlarmExpression;
|
||||
import com.hpcloud.mon.common.model.alarm.AlarmState;
|
||||
import com.hpcloud.mon.common.model.metric.Metric;
|
||||
import com.hpcloud.mon.common.model.metric.MetricDefinition;
|
||||
import com.hpcloud.mon.domain.model.Alarm;
|
||||
import com.hpcloud.mon.domain.model.AlarmStateTransitionEvent;
|
||||
import com.hpcloud.mon.domain.model.SubAlarm;
|
||||
import com.hpcloud.mon.domain.service.AlarmDAO;
|
||||
import com.hpcloud.mon.domain.service.MetricDefinitionDAO;
|
||||
@ -138,7 +138,7 @@ public class ThresholdingEngineTest extends TopologyTestCase {
|
||||
doAnswer(new Answer<Object>() {
|
||||
public Object answer(InvocationOnMock invocation) {
|
||||
final Object[] args = invocation.getArguments();
|
||||
AlarmStateTransitionEvent event = Serialization.fromJson((String)args[2]);
|
||||
AlarmStateTransitionedEvent event = Serialization.fromJson((String)args[2]);
|
||||
alarmsSent++;
|
||||
System.out.printf("Alarm transitioned from %s to %s%n", event.oldState, event.newState);
|
||||
assertEquals(event.alarmName, TEST_ALARM_NAME);
|
||||
|
@ -1,17 +0,0 @@
|
||||
package com.hpcloud.mon.domain.model;
|
||||
|
||||
import static org.testng.Assert.assertEquals;
|
||||
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import com.hpcloud.mon.domain.model.AlarmStateTransitionEvent;
|
||||
import com.hpcloud.util.Serialization;
|
||||
|
||||
@Test
|
||||
public class AlarmStateTransitionEventTest {
|
||||
public void shouldSerialize() {
|
||||
assertEquals(
|
||||
Serialization.toJson(new AlarmStateTransitionEvent()),
|
||||
"{\"alarm-transitioned\":{\"tenantId\":null,\"alarmId\":null,\"alarmName\":null,\"alarmDescription\":null,\"oldState\":null,\"newState\":null,\"stateChangeReason\":null,\"timestamp\":0}}");
|
||||
}
|
||||
}
|
@ -139,9 +139,10 @@ public class EventProcessingBoltTest {
|
||||
oldAndNewSubExpressionsFor(createAlarmSubExpressionMap(alarm), updatedAlarmExpression);
|
||||
|
||||
final Map<String, AlarmSubExpression> newAlarmSubExpressions = entry.getValue();
|
||||
Map<String, AlarmSubExpression> changedSubExpressions = new HashMap<>();
|
||||
final AlarmUpdatedEvent event = new AlarmUpdatedEvent(updatedAlarm.getTenantId(), updatedAlarm.getId(),
|
||||
updatedAlarm.getName(), updatedAlarm.getAlarmExpression().getExpression(), entry.getKey(),
|
||||
newAlarmSubExpressions);
|
||||
updatedAlarm.getName(), updatedAlarm.getAlarmExpression().getExpression(), alarm.getState(), true, entry.getKey(),
|
||||
changedSubExpressions, newAlarmSubExpressions);
|
||||
return event;
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ private EventDeserializer deserializer = new EventDeserializer();
|
||||
}
|
||||
|
||||
public void shouldDeserializeAlarmUpdatedEvent() {
|
||||
roundTrip(new AlarmUpdatedEvent(TENANT_ID, ALARM_ID, ALARM_NAME, ALARM_EXPRESSION, null, null));
|
||||
roundTrip(new AlarmUpdatedEvent(TENANT_ID, ALARM_ID, ALARM_NAME, ALARM_EXPRESSION, null, false, null, null, null));
|
||||
}
|
||||
|
||||
private void roundTrip(Object event) {
|
||||
|
Loading…
Reference in New Issue
Block a user