Merge branch 'stable-2.14' into stable-2.15
* stable-2.14:
Update bazlets to the latest on stable-2.14 to use 2.14.7 release API
Properly escape the subject
PropertyExtractor: Add null check for event.submitter
Change-Id: I44bbd8f42320fa117a46a480f36dcf4e27fd1d4d
diff --git a/src/main/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractor.java b/src/main/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractor.java
index 2593c16..863bffc 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractor.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractor.java
@@ -24,6 +24,7 @@
import com.googlesource.gerrit.plugins.its.base.its.ItsFacade;
import com.googlesource.gerrit.plugins.its.base.workflow.Property;
import java.util.Set;
+import org.apache.commons.lang.StringEscapeUtils;
/** Extractor to translate the various {@code *Attribute}s to {@link Property Properties}. */
public class PropertyAttributeExtractor {
@@ -58,6 +59,7 @@
properties.add(propertyFactory.create("branch", changeAttribute.branch));
properties.add(propertyFactory.create("topic", changeAttribute.topic));
properties.add(propertyFactory.create("subject", changeAttribute.subject));
+ properties.add(propertyFactory.create("escapedSubject", StringEscapeUtils.escapeJava(changeAttribute.subject)));
// deprecated, to be removed soon. migrate to ones without dash.
properties.add(propertyFactory.create("commit-message", changeAttribute.commitMessage));
diff --git a/src/test/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractorTest.java b/src/test/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractorTest.java
index 756c1a1..d97f283 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractorTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractorTest.java
@@ -120,6 +120,9 @@
Property propertySubject = createMock(Property.class);
expect(propertyFactory.create("subject", "testSubject")).andReturn(propertySubject);
+ Property propertyEscapedSubject = createMock(Property.class);
+ expect(propertyFactory.create("escapedSubject", "testSubject")).andReturn(propertyEscapedSubject);
+
Property propertyId2 = createMock(Property.class);
expect(propertyFactory.create("change-id", "testId")).andReturn(propertyId2);
@@ -187,6 +190,7 @@
expected.add(propertyBranch);
expected.add(propertyTopic);
expected.add(propertySubject);
+ expected.add(propertyEscapedSubject);
expected.add(propertyId);
expected.add(propertyId2);
expected.add(propertyNumber);
@@ -236,6 +240,9 @@
Property propertySubject = createMock(Property.class);
expect(propertyFactory.create("subject", "testSubject")).andReturn(propertySubject);
+ Property propertyEscapedSubject = createMock(Property.class);
+ expect(propertyFactory.create("escapedSubject", "testSubject")).andReturn(propertyEscapedSubject);
+
Property propertyId = createMock(Property.class);
expect(propertyFactory.create("changeId", "testId")).andReturn(propertyId);
@@ -303,6 +310,7 @@
expected.add(propertyBranch);
expected.add(propertyTopic);
expected.add(propertySubject);
+ expected.add(propertyEscapedSubject);
expected.add(propertyId);
expected.add(propertyNumber);
expected.add(propertyUrl);