in src/main/java/com/googlesource/gerrit/plugins/its/base/util/PropertyExtractor.java [203:240]
public RefEventProperties extractFrom(RefEvent event) {
Map<String, Set<String>> associations = null;
Map<String, String> common = new HashMap<>();
common.put("event", event.getClass().getName());
String project = event.getProjectNameKey().get();
common.put("event-type", event.type);
common.put("project", project);
itsProjectExtractor
.getItsProject(project)
.ifPresent(itsProject -> common.put("its-project", itsProject));
common.put("ref", event.getRefName());
common.put("itsName", pluginName);
if (event instanceof ChangeAbandonedEvent) {
associations = extractFrom((ChangeAbandonedEvent) event, common);
} else if (event instanceof ChangeMergedEvent) {
associations = extractFrom((ChangeMergedEvent) event, common);
} else if (event instanceof ChangeRestoredEvent) {
associations = extractFrom((ChangeRestoredEvent) event, common);
} else if (event instanceof CommentAddedEvent) {
associations = extractFrom((CommentAddedEvent) event, common);
} else if (event instanceof PatchSetCreatedEvent) {
associations = extractFrom((PatchSetCreatedEvent) event, common);
} else if (event instanceof RefUpdatedEvent) {
associations = extractFrom((RefUpdatedEvent) event, common);
} else if (event instanceof PrivateStateChangedEvent) {
associations = extractFrom((PrivateStateChangedEvent) event, common);
} else if (event instanceof WorkInProgressStateChangedEvent) {
associations = extractFrom((WorkInProgressStateChangedEvent) event, common);
}
Set<Map<String, String>> issuesProperties = extractIssuesProperties(common, associations);
Map<String, String> projectProperties = new HashMap<>(common);
projectProperties.put("source", "gerrit");
return new RefEventProperties(projectProperties, issuesProperties);
}