package com.sequenceiq.periscope.domain; import javax.persistence.Column; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import com.sequenceiq.periscope.api.model.AlertState; @Entity @DiscriminatorValue("METRIC") @NamedQueries({ @NamedQuery(name = "MetricAlert.findByCluster", query = "SELECT c FROM MetricAlert c WHERE c.cluster.id= :clusterId AND c.id= :alertId"), @NamedQuery(name = "MetricAlert.findAllByCluster", query = "SELECT c FROM MetricAlert c WHERE c.cluster.id= :clusterId") }) public class MetricAlert extends BaseAlert { @ManyToOne private Cluster cluster; @Column(name = "definition_name") private String definitionName; private int period; @Enumerated(EnumType.STRING) @Column(name = "alert_state") private AlertState alertState; public String getDefinitionName() { return definitionName; } public void setDefinitionName(String definitionName) { this.definitionName = definitionName; } public int getPeriod() { return period; } public void setPeriod(int period) { this.period = period; } @Override public Cluster getCluster() { return cluster; } public void setCluster(Cluster cluster) { this.cluster = cluster; } public AlertState getAlertState() { return alertState; } public void setAlertState(AlertState alertState) { this.alertState = alertState; } }