001/*
002 * SonarQube, open source software quality management tool.
003 * Copyright (C) 2008-2013 SonarSource
004 * mailto:contact AT sonarsource DOT com
005 *
006 * SonarQube is free software; you can redistribute it and/or
007 * modify it under the terms of the GNU Lesser General Public
008 * License as published by the Free Software Foundation; either
009 * version 3 of the License, or (at your option) any later version.
010 *
011 * SonarQube is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
014 * Lesser General Public License for more details.
015 *
016 * You should have received a copy of the GNU Lesser General Public License
017 * along with this program; if not, write to the Free Software Foundation,
018 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
019 */
020package org.sonar.wsclient.services;
021
022import java.util.Date;
023
024/**
025 * @deprecated in 3.6. Replaced by issues.
026 */
027@Deprecated
028public class Violation extends Model {
029
030  private String message = null;
031  private String severity = null;
032  private Integer line = null;
033  private String ruleKey = null;
034  private String ruleName = null;
035  private String resourceKey = null;
036  private String resourceName = null;
037  private String resourceQualifier = null;
038  private Date createdAt = null;
039  private boolean switchedOff;
040
041  public String getMessage() {
042    return message;
043  }
044
045  public void setMessage(String message) {
046    this.message = message;
047  }
048
049  /**
050   * @since 2.5
051   */
052  public String getSeverity() {
053    return severity;
054  }
055
056  /**
057   * @since 2.5
058   */
059  public void setSeverity(String severity) {
060    this.severity = severity;
061  }
062
063  /**
064   * @deprecated since 2.5 use {@link #getSeverity()} instead. See http://jira.codehaus.org/browse/SONAR-1829
065   */
066  @Deprecated
067  public String getPriority() {
068    return severity;
069  }
070
071  /**
072   * @deprecated since 2.5 use {@link #setSeverity(String)} instead. See http://jira.codehaus.org/browse/SONAR-1829
073   */
074  @Deprecated
075  public void setPriority(String priority) {
076    this.severity = priority;
077  }
078
079  /**
080   * @return line number (numeration starts from 1), or <code>null</code> if violation doesn't belong to concrete line
081   * @see #hasLine()
082   */
083  public Integer getLine() {
084    return line;
085  }
086
087  public void setLine(Integer line) {
088    if (line != null && line < 1) {
089      /*
090       * This shouldn't happen, however line would be normalized to null if web service returns incorrect value (less than 1) in compliance
091       * with a contract for getLine method. Normalization added in 2.8 - see http://jira.codehaus.org/browse/SONAR-2386
092       */
093      this.line = null;
094    } else {
095      this.line = line;
096    }
097  }
098
099  /**
100   * @return <code>true<code> if violation belongs to concrete line
101   * @since 2.8
102   */
103  public boolean hasLine() {
104    return line != null;
105  }
106
107  public String getResourceKey() {
108    return resourceKey;
109  }
110
111  public void setResourceKey(String resourceKey) {
112    this.resourceKey = resourceKey;
113  }
114
115  public String getRuleKey() {
116    return ruleKey;
117  }
118
119  public Violation setRuleKey(String s) {
120    this.ruleKey = s;
121    return this;
122  }
123
124  public String getRuleName() {
125    return ruleName;
126  }
127
128  public Violation setRuleName(String ruleName) {
129    this.ruleName = ruleName;
130    return this;
131  }
132
133  public String getResourceName() {
134    return resourceName;
135  }
136
137  public Violation setResourceName(String resourceName) {
138    this.resourceName = resourceName;
139    return this;
140  }
141
142  public String getResourceQualifier() {
143    return resourceQualifier;
144  }
145
146  public Violation setResourceQualifier(String resourceQualifier) {
147    this.resourceQualifier = resourceQualifier;
148    return this;
149  }
150
151  /**
152   * @since 2.5
153   */
154  public Date getCreatedAt() {
155    return createdAt;
156  }
157
158  /**
159   * @since 2.5
160   */
161  public Violation setCreatedAt(Date createdAt) {
162    this.createdAt = createdAt;
163    return this;
164  }
165
166  /**
167   * @since 2.5
168   */
169  public boolean isCreatedAfter(Date date) {
170    return createdAt != null && date != null && createdAt.after(date);
171  }
172
173  /**
174   * @since 2.8
175   */
176  public Violation setSwitchedOff(Boolean b) {
177    this.switchedOff = (b != null && b);
178    return this;
179  }
180
181  /**
182   * @since 2.8
183   */
184  public boolean isSwitchedOff() {
185    return switchedOff;
186  }
187
188}