public RefEventProperties extractFrom()

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);
  }