001 /* 002 * Sonar, open source software quality management tool. 003 * Copyright (C) 2008-2011 SonarSource 004 * mailto:contact AT sonarsource DOT com 005 * 006 * Sonar 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 * Sonar 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 017 * License along with Sonar; if not, write to the Free Software 018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 019 */ 020 package org.sonar.wsclient.services; 021 022 import java.util.Date; 023 024 public class Violation extends Model { 025 026 private String message = null; 027 private String severity = null; 028 private Integer line = null; 029 private String ruleKey = null; 030 private String ruleName = null; 031 private String resourceKey = null; 032 private String resourceName = null; 033 private String resourceScope = null; 034 private String resourceQualifier = null; 035 private Date createdAt = null; 036 private boolean switchedOff; 037 private Review review = null; 038 039 public String getMessage() { 040 return message; 041 } 042 043 public void setMessage(String message) { 044 this.message = message; 045 } 046 047 /** 048 * @since 2.5 049 */ 050 public String getSeverity() { 051 return severity; 052 } 053 054 /** 055 * @since 2.5 056 */ 057 public void setSeverity(String severity) { 058 this.severity = severity; 059 } 060 061 /** 062 * @deprecated since 2.5 use {@link #getSeverity()} instead. See http://jira.codehaus.org/browse/SONAR-1829 063 */ 064 @Deprecated 065 public String getPriority() { 066 return severity; 067 } 068 069 /** 070 * @deprecated since 2.5 use {@link #setSeverity(String)} instead. See http://jira.codehaus.org/browse/SONAR-1829 071 */ 072 @Deprecated 073 public void setPriority(String priority) { 074 this.severity = priority; 075 } 076 077 /** 078 * @return line number (numeration starts from 1), or <code>null</code> if violation doesn't belong to concrete line 079 * @see #hasLine() 080 */ 081 public Integer getLine() { 082 return line; 083 } 084 085 public void setLine(Integer line) { 086 if (line != null && line < 1) { 087 /* 088 * This shouldn't happen, however line would be normalized to null if web service returns incorrect value (less than 1) 089 * in compliance with a contract for getLine method. Normalization added in 2.8 - see http://jira.codehaus.org/browse/SONAR-2386 090 */ 091 this.line = null; 092 } else { 093 this.line = line; 094 } 095 } 096 097 /** 098 * @return <code>true<code> if violation belongs to concrete line 099 * @since 2.8 100 */ 101 public boolean hasLine() { 102 return line != null; 103 } 104 105 public String getResourceKey() { 106 return resourceKey; 107 } 108 109 public void setResourceKey(String resourceKey) { 110 this.resourceKey = resourceKey; 111 } 112 113 public String getRuleKey() { 114 return ruleKey; 115 } 116 117 public Violation setRuleKey(String s) { 118 this.ruleKey = s; 119 return this; 120 } 121 122 public String getRuleName() { 123 return ruleName; 124 } 125 126 public Violation setRuleName(String ruleName) { 127 this.ruleName = ruleName; 128 return this; 129 } 130 131 public String getResourceName() { 132 return resourceName; 133 } 134 135 public Violation setResourceName(String resourceName) { 136 this.resourceName = resourceName; 137 return this; 138 } 139 140 public String getResourceScope() { 141 return resourceScope; 142 } 143 144 public Violation setResourceScope(String resourceScope) { 145 this.resourceScope = resourceScope; 146 return this; 147 } 148 149 public String getResourceQualifier() { 150 return resourceQualifier; 151 } 152 153 public Violation setResourceQualifier(String resourceQualifier) { 154 this.resourceQualifier = resourceQualifier; 155 return this; 156 } 157 158 /** 159 * @since 2.5 160 */ 161 public Date getCreatedAt() { 162 return createdAt; 163 } 164 165 /** 166 * @since 2.5 167 */ 168 public Violation setCreatedAt(Date createdAt) { 169 this.createdAt = createdAt; 170 return this; 171 } 172 173 /** 174 * @since 2.5 175 */ 176 public boolean isCreatedAfter(Date date) { 177 return createdAt != null && date != null && createdAt.after(date); 178 } 179 180 /** 181 * @since 2.8 182 */ 183 public Violation setSwitchedOff(Boolean b) { 184 this.switchedOff = (b != null && b); 185 return this; 186 } 187 188 /** 189 * @since 2.8 190 */ 191 public boolean isSwitchedOff() { 192 return switchedOff; 193 } 194 195 /** 196 * @since 2.8 197 */ 198 public Review getReview() { 199 return review; 200 } 201 202 /** 203 * @since 2.8 204 */ 205 public Violation setReview(Review review) { 206 this.review = review; 207 return this; 208 } 209 }