Skip to content

Commit

Permalink
Add Json anotations into API model
Browse files Browse the repository at this point in the history
  • Loading branch information
lucasponce committed Mar 11, 2015
1 parent e7da045 commit 3065637
Show file tree
Hide file tree
Showing 26 changed files with 1,076 additions and 56 deletions.
6 changes: 6 additions & 0 deletions hawkular-alerts-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,12 @@
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson2-provider</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
*/
package org.hawkular.alerts.api.model.action;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

/**
* A base class for action representation from the perspective of the alerts engine.
* An action is the abstract concept of a consequence of an alert.
Expand All @@ -30,9 +33,19 @@
*/
public class Action {

@JsonInclude
private String actionId;

@JsonInclude(Include.NON_NULL)
private String message;

public Action() { }

public Action(String actionId, String message) {
this.actionId = actionId;
this.message = message;
}

public String getMessage() {
return message;
}
Expand All @@ -45,8 +58,8 @@ public String getActionId() {
return actionId;
}

public void setActionId(String notifierId) {
this.actionId = notifierId;
public void setActionId(String actionId) {
this.actionId = actionId;
}

@Override
Expand All @@ -72,7 +85,7 @@ public int hashCode() {
@Override
public String toString() {
return "Action{" +
"message='" + message + '\'' +
"message=" + (message == null ? null : '\'' + message + '\'') +
", actionId='" + actionId + '\'' +
'}';
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
import java.util.List;
import java.util.Set;

import com.fasterxml.jackson.annotation.JsonInclude;

import static com.fasterxml.jackson.annotation.JsonInclude.*;

/**
* A status of an alert thrown by several matched conditions.
*
Expand All @@ -27,8 +31,13 @@
*/
public class Alert {

@JsonInclude
private String triggerId;

@JsonInclude(Include.NON_EMPTY)
private List<Set<ConditionEval>> evalSets;

@JsonInclude
private long time;

public Alert(String triggerId, List<Set<ConditionEval>> evalSets) {
Expand Down Expand Up @@ -85,7 +94,9 @@ public int hashCode() {

@Override
public String toString() {
return "Alert [triggerId=" + triggerId + ", evals=" + evalSets + ", time=" + time + "]";
return "Alert [triggerId=" + triggerId + ", " +
"evals=" + evalSets + ", " +
"time=" + time + "]";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

import static org.hawkular.alerts.api.model.trigger.Trigger.Mode.FIRE;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import org.hawkular.alerts.api.log.MsgLogger;
import org.hawkular.alerts.api.model.data.Availability.AvailabilityType;
import org.hawkular.alerts.api.model.trigger.Trigger.Mode;
Expand All @@ -35,7 +37,10 @@ public enum Operator {
DOWN, NOT_UP, UP
}

@JsonInclude(Include.NON_NULL)
private String dataId;

@JsonInclude(Include.NON_NULL)
private Operator operator;

public AvailabilityCondition() {
Expand All @@ -45,14 +50,24 @@ public AvailabilityCondition() {
this("DefaultId", 1, 1, null, null);
}

public AvailabilityCondition(String triggerId,
String dataId, Operator operator) {
this(triggerId, FIRE, 1, 1, dataId, operator);
}

public AvailabilityCondition(String triggerId, Mode triggerMode,
String dataId, Operator operator) {
this(triggerId, triggerMode, 1, 1, dataId, operator);
}

public AvailabilityCondition(String triggerId, int conditionSetSize, int conditionSetIndex,
String dataId, Operator operator) {
this(triggerId, FIRE, conditionSetSize, conditionSetIndex, dataId, operator);
}

public AvailabilityCondition(String triggerId, Mode triggerMode, int conditionSetSize, int conditionSetIndex,
String dataId, Operator operator) {
super(triggerId, triggerMode, conditionSetSize, conditionSetIndex);
super(triggerId, triggerMode, conditionSetSize, conditionSetIndex, Type.AVAILABILITY);
this.dataId = dataId;
this.operator = operator;
}
Expand Down Expand Up @@ -120,8 +135,10 @@ public int hashCode() {

@Override
public String toString() {
return "AvailabilityCondition [dataId=" + dataId + ", operator=" + operator + ", toString()="
+ super.toString() + "]";
return "AvailabilityCondition [triggerId='" + triggerId + "', " +
"triggerMode=" + triggerMode + ", " +
"dataId=" + (dataId == null ? null : '\'' + dataId + '\'') + ", " +
"operator=" + (operator == null ? null : '\'' + operator.toString() + '\'') + "]";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
*/
package org.hawkular.alerts.api.model.condition;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import org.hawkular.alerts.api.model.data.Availability;
import org.hawkular.alerts.api.model.data.Availability.AvailabilityType;

Expand All @@ -27,7 +29,10 @@
*/
public class AvailabilityConditionEval extends ConditionEval {

@JsonInclude(Include.NON_NULL)
private AvailabilityCondition condition;

@JsonInclude(Include.NON_NULL)
private AvailabilityType value;

public AvailabilityConditionEval() {
Expand Down Expand Up @@ -107,8 +112,10 @@ public int hashCode() {

@Override
public String toString() {
return "AvailabilityConditionEval [condition=" + condition + ", value=" + value + ", toString()="
+ super.toString() + "]";
return "AvailabilityConditionEval [evalTimestamp=" + evalTimestamp + ", " +
"dataTimestamp=" + dataTimestamp + ", " +
"condition=" + condition + ", " +
"value=" + value + "]";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

import static org.hawkular.alerts.api.model.trigger.Trigger.Mode.FIRE;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import org.hawkular.alerts.api.log.MsgLogger;
import org.hawkular.alerts.api.model.trigger.Trigger.Mode;

Expand All @@ -35,9 +37,16 @@ public enum Operator {
LT, GT, LTE, GTE
}

@JsonInclude(Include.NON_NULL)
private String data1Id;

@JsonInclude(Include.NON_NULL)
private Operator operator;

@JsonInclude(Include.NON_NULL)
private String data2Id;

@JsonInclude(Include.NON_NULL)
private Double data2Multiplier;

public CompareCondition() {
Expand All @@ -47,14 +56,24 @@ public CompareCondition() {
this("DefaultId", 1, 1, null, null, null, null);
}

public CompareCondition(String triggerId,
String data1Id, Operator operator, Double data2Multiplier, String data2Id) {
this(triggerId, FIRE, 1, 1, data1Id, operator, data2Multiplier, data2Id);
}

public CompareCondition(String triggerId, Mode triggerMode,
String data1Id, Operator operator, Double data2Multiplier, String data2Id) {
this(triggerId, triggerMode, 1, 1, data1Id, operator, data2Multiplier, data2Id);
}

public CompareCondition(String triggerId, int conditionSetSize, int conditionSetIndex,
String data1Id, Operator operator, Double data2Multiplier, String data2Id) {
this(triggerId, FIRE, conditionSetSize, conditionSetIndex, data1Id, operator, data2Multiplier, data2Id);
}

public CompareCondition(String triggerId, Mode triggerMode, int conditionSetSize, int conditionSetIndex,
String data1Id, Operator operator, Double data2Multiplier, String data2Id) {
super(triggerId, triggerMode, conditionSetSize, conditionSetIndex);
super(triggerId, triggerMode, conditionSetSize, conditionSetIndex, Type.COMPARE);
this.data1Id = data1Id;
this.operator = operator;
this.data2Id = data2Id;
Expand Down Expand Up @@ -151,8 +170,12 @@ public int hashCode() {

@Override
public String toString() {
return "CompareCondition [data1Id=" + data1Id + ", operator=" + operator + ", data2Id=" + data2Id
+ ", data2Multiplier=" + data2Multiplier + ", toString()=" + super.toString() + "]";
return "CompareCondition [triggerId='" + triggerId + "', " +
"triggerMode=" + triggerMode + ", " +
"data1Id=" + (data1Id == null ? null : '\'' + data1Id + '\'') + ", " +
"operator=" + (operator == null ? null : '\'' + operator.toString() + '\'') + ", " +
"data2Id=" + (data2Id == null ? null : '\'' + data2Id + '\'') + ", " +
"data2Multiplier=" + data2Multiplier + "]";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,11 @@
*/
package org.hawkular.alerts.api.model.condition;

import com.fasterxml.jackson.annotation.JsonInclude;
import org.hawkular.alerts.api.model.data.NumericData;

import static com.fasterxml.jackson.annotation.JsonInclude.*;

/**
* An evaluation state for compare condition.
*
Expand All @@ -26,8 +29,13 @@
*/
public class CompareConditionEval extends ConditionEval {

@JsonInclude(Include.NON_NULL)
private CompareCondition condition;

@JsonInclude(Include.NON_NULL)
private Double value1;

@JsonInclude(Include.NON_NULL)
private Double value2;

public CompareConditionEval() {
Expand Down Expand Up @@ -122,8 +130,11 @@ public int hashCode() {

@Override
public String toString() {
return "CompareConditionEval [condition=" + condition + ", value1=" + value1 + ", value2=" + value2
+ ", toString()=" + super.toString() + "]";
return "CompareConditionEval [evalTimestamp=" + evalTimestamp + ", " +
"dataTimestamp=" + dataTimestamp + ", " +
"condition=" + condition + ", " +
"value1=" + value1 + ", " +
"value2=" + value2 + "]";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
*/
package org.hawkular.alerts.api.model.condition;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import org.hawkular.alerts.api.model.trigger.Trigger.Mode;

/**
Expand All @@ -26,38 +28,51 @@
*/
public abstract class Condition {

public enum Type {
AVAILABILITY, COMPARE, STRING, THRESHOLD, RANGE
}

/**
* The owning trigger
*/
@JsonInclude
protected String triggerId;

/**
* The owning trigger's mode when this condition is active
*/
@JsonInclude
protected Mode triggerMode;

@JsonInclude
protected Type type;

/**
* Number of conditions associated with a particular trigger.
* i.e. 2 [ conditions ]
*/
@JsonIgnore
protected int conditionSetSize;

/**
* Index of the current condition
* i.e. 1 [ of 2 conditions ]
*/
@JsonIgnore
protected int conditionSetIndex;

/**
* A composed key for the condition
*/
@JsonIgnore
protected String conditionId;

public Condition(String triggerId, Mode triggerMode, int conditionSetSize, int conditionSetIndex) {
public Condition(String triggerId, Mode triggerMode, int conditionSetSize, int conditionSetIndex, Type type) {
this.triggerId = triggerId;
this.triggerMode = triggerMode;
this.conditionSetSize = conditionSetSize;
this.conditionSetIndex = conditionSetIndex;
this.type = type;
updateId();
}

Expand Down Expand Up @@ -109,6 +124,10 @@ private void updateId() {
this.conditionId = sb.toString();
}

public Type getType() {
return type;
}

@Override
public int hashCode() {
final int prime = 31;
Expand All @@ -134,10 +153,4 @@ public boolean equals(Object obj) {
return true;
}

@Override
public String toString() {
return "Condition [triggerId=" + triggerId + ", triggerMode=" + triggerMode + ", conditionSetSize="
+ conditionSetSize + ", conditionSetIndex=" + conditionSetIndex + "]";
}

}

0 comments on commit 3065637

Please sign in to comment.