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.LinkedHashMap; 023 import java.util.Map; 024 025 public class Measure extends Model { 026 027 private String metricKey; 028 private String metricName; 029 private Double value; 030 private String formattedValue; 031 private String data; 032 private String characteristicKey; 033 private String characteristicName; 034 035 private Integer trend; 036 private Integer var; 037 038 private String ruleKey; 039 private String ruleName; 040 private String ruleSeverity; 041 042 /** 043 * @deprecated since 2.5 See http://jira.codehaus.org/browse/SONAR-2007 044 */ 045 private String ruleCategory; 046 047 private Double variation1, variation2, variation3, variation4, variation5; 048 049 public String getMetricKey() { 050 return metricKey; 051 } 052 053 public Measure setMetricKey(String metricKey) { 054 this.metricKey = metricKey; 055 return this; 056 } 057 058 public String getMetricName() { 059 return metricName; 060 } 061 062 public Measure setMetricName(String metricName) { 063 this.metricName = metricName; 064 return this; 065 } 066 067 public Double getValue() { 068 return value; 069 } 070 071 public Integer getIntValue() { 072 if (value == null) { 073 return null; 074 } 075 return value.intValue(); 076 } 077 078 public Measure setValue(Double value) { 079 this.value = value; 080 return this; 081 } 082 083 public String getFormattedValue() { 084 return formattedValue; 085 } 086 087 public String getFormattedValue(String defaultValue) { 088 if (formattedValue == null) { 089 return defaultValue; 090 } 091 return formattedValue; 092 } 093 094 public Measure setFormattedValue(String formattedValue) { 095 this.formattedValue = formattedValue; 096 return this; 097 } 098 099 public String getData() { 100 return data; 101 } 102 103 public Map<String, String> getDataAsMap() { 104 return getDataAsMap(","); 105 } 106 107 public Map<String, String> getDataAsMap(String separator) { 108 if (data == null) { 109 return null; 110 } 111 Map<String, String> map = new LinkedHashMap<String, String>(); 112 String[] parts = data.split(separator); 113 for (String part : parts) { 114 String[] kv = part.split("="); 115 map.put(kv[0], kv[1]); 116 } 117 return map; 118 } 119 120 public Measure setData(String data) { 121 this.data = data; 122 return this; 123 } 124 125 public Integer getTrend() { 126 return trend; 127 } 128 129 public Measure setTrend(Integer trend) { 130 this.trend = trend; 131 return this; 132 } 133 134 public Integer getVar() { 135 return var; 136 } 137 138 public Measure setVar(Integer var) { 139 this.var = var; 140 return this; 141 } 142 143 public String getRuleKey() { 144 return ruleKey; 145 } 146 147 public Measure setRuleKey(String ruleKey) { 148 this.ruleKey = ruleKey; 149 return this; 150 } 151 152 public String getRuleName() { 153 return ruleName; 154 } 155 156 public Measure setRuleName(String ruleName) { 157 this.ruleName = ruleName; 158 return this; 159 } 160 161 /** 162 * @deprecated since 2.5 See http://jira.codehaus.org/browse/SONAR-2007 163 */ 164 @Deprecated 165 public String getRuleCategory() { 166 return ruleCategory; 167 } 168 169 /** 170 * @deprecated since 2.5 See http://jira.codehaus.org/browse/SONAR-2007 171 */ 172 @Deprecated 173 public Measure setRuleCategory(String ruleCategory) { 174 this.ruleCategory = ruleCategory; 175 return this; 176 } 177 178 /** 179 * @since 2.5 180 */ 181 public Measure setRuleSeverity(String ruleSeverity) { 182 this.ruleSeverity = ruleSeverity; 183 return this; 184 } 185 186 /** 187 * @since 2.5 188 */ 189 public String getRuleSeverity() { 190 return ruleSeverity; 191 } 192 193 /** 194 * @deprecated since 2.5 use {@link #getRuleSeverity()} instead. See http://jira.codehaus.org/browse/SONAR-1829 195 */ 196 @Deprecated 197 public String getRulePriority() { 198 return ruleSeverity; 199 } 200 201 /** 202 * @deprecated since 2.5 use {@link #setRuleSeverity(String)} instead. See http://jira.codehaus.org/browse/SONAR-1829 203 */ 204 @Deprecated 205 public Measure setRulePriority(String rulePriority) { 206 this.ruleSeverity = rulePriority; 207 return this; 208 } 209 210 public String getCharacteristicKey() { 211 return characteristicKey; 212 } 213 214 public String getCharacteristicName() { 215 return characteristicName; 216 } 217 218 public Measure setCharacteristicKey(String s) { 219 this.characteristicKey = s; 220 return this; 221 } 222 223 public Measure setCharacteristicName(String s) { 224 this.characteristicName = s; 225 return this; 226 } 227 228 /** 229 * Variation value on period 1. The value is loaded if ResourceQuery#setIncludeTrends() is set to true. 230 * @since 2.5 231 */ 232 public Double getVariation1() { 233 return variation1; 234 } 235 236 /** 237 * @since 2.5 238 */ 239 public Measure setVariation1(Double variation1) { 240 this.variation1 = variation1; 241 return this; 242 } 243 244 /** 245 * Variation value on period 2. The value is loaded if ResourceQuery#setIncludeTrends() is set to true. 246 * @since 2.5 247 */ 248 public Double getVariation2() { 249 return variation2; 250 } 251 252 /** 253 * @since 2.5 254 */ 255 public Measure setVariation2(Double variation2) { 256 this.variation2 = variation2; 257 return this; 258 } 259 260 /** 261 * Variation value on period 3. The value is loaded if ResourceQuery#setIncludeTrends() is set to true. 262 * @since 2.5 263 */ 264 public Double getVariation3() { 265 return variation3; 266 } 267 268 /** 269 * @since 2.5 270 */ 271 public Measure setVariation3(Double variation3) { 272 this.variation3 = variation3; 273 return this; 274 } 275 276 /** 277 * Variation value on period 4. The value is loaded if ResourceQuery#setIncludeTrends() is set to true. 278 * @since 2.5 279 */ 280 public Double getVariation4() { 281 return variation4; 282 } 283 284 /** 285 * @since 2.5 286 */ 287 public Measure setVariation4(Double variation4) { 288 this.variation4 = variation4; 289 return this; 290 } 291 292 /** 293 * Variation value on period 5. The value is loaded if ResourceQuery#setIncludeTrends() is set to true. 294 * @since 2.5 295 */ 296 public Double getVariation5() { 297 return variation5; 298 } 299 300 /** 301 * @since 2.5 302 */ 303 public Measure setVariation5(Double variation5) { 304 this.variation5 = variation5; 305 return this; 306 } 307 308 @Override 309 public String toString() { 310 return new StringBuilder().append("Measure{") 311 .append("metricKey='").append(metricKey).append('\'') 312 .append(", metricName='").append(metricName).append('\'') 313 .append(", value=").append(value) 314 .append(", formattedValue='").append(formattedValue).append('\'') 315 .append(", data='").append(data).append('\'') 316 .append(", characteristicKey='").append(characteristicKey).append('\'') 317 .append(", characteristicName='").append(characteristicName).append('\'') 318 .append(", trend=").append(trend).append(", var=").append(var) 319 .append(", ruleKey='").append(ruleKey).append('\'') 320 .append(", ruleName='").append(ruleName).append('\'') 321 .append(", ruleCategory='").append(ruleCategory).append('\'') 322 .append(", rulePriority='").append(ruleSeverity).append('\'') 323 .append('}').toString(); 324 } 325 }