*/
package org.sonar.api.batch.scm;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
return author;
}
+ /**
+ * Sets author for this line.
+ * The string will be trimmed, and null will be set if it is empty.
+ */
public BlameLine author(@Nullable String author) {
- this.author = author;
+ this.author = StringUtils.trimToNull(author);
return this;
}
assertThat(line1.toString()).contains("revision=1,author=foo");
}
+ @Test
+ public void testTrimAuthor() {
+ BlameLine line1 = new BlameLine().date(null).revision("2").author("foo1");
+ BlameLine line2 = new BlameLine().date(null).revision("2").author(" ");
+ BlameLine line3 = new BlameLine().date(null).revision("2").author(" foo3 ");
+
+ assertThat(line1.author()).isEqualTo("foo1");
+ assertThat(line2.author()).isNull();
+ assertThat(line3.author()).isEqualTo("foo3");
+ }
+
}