public void onEvent()

in src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java [55:112]


  public void onEvent(Event event) {
    try {
      ProjectConfig config;
      MessageGenerator messageGenerator;

      if (event instanceof PatchSetCreatedEvent) {
        PatchSetCreatedEvent patchSetCreatedEvent;
        patchSetCreatedEvent = (PatchSetCreatedEvent) event;

        config = new ProjectConfig(configFactory, patchSetCreatedEvent.change.get().project);

        messageGenerator = MessageGeneratorFactory.newInstance(patchSetCreatedEvent, config);
      } else if (event instanceof ChangeMergedEvent) {
        ChangeMergedEvent changeMergedEvent;
        changeMergedEvent = (ChangeMergedEvent) event;

        config = new ProjectConfig(configFactory, changeMergedEvent.change.get().project);

        messageGenerator = MessageGeneratorFactory.newInstance(changeMergedEvent, config);
      } else if (event instanceof CommentAddedEvent) {
        CommentAddedEvent commentAddedEvent;
        commentAddedEvent = (CommentAddedEvent) event;

        config = new ProjectConfig(configFactory, commentAddedEvent.change.get().project);

        messageGenerator = MessageGeneratorFactory.newInstance(commentAddedEvent, config);
      } else if (event instanceof ReviewerAddedEvent) {
        ReviewerAddedEvent reviewerAddedEvent;
        reviewerAddedEvent = (ReviewerAddedEvent) event;

        config = new ProjectConfig(configFactory, reviewerAddedEvent.change.get().project);

        messageGenerator = MessageGeneratorFactory.newInstance(reviewerAddedEvent, config);
      } else if (event instanceof WorkInProgressStateChangedEvent) {
        WorkInProgressStateChangedEvent wipStateChangedEvent;
        wipStateChangedEvent = (WorkInProgressStateChangedEvent) event;

        config = new ProjectConfig(configFactory, wipStateChangedEvent.change.get().project);

        messageGenerator = MessageGeneratorFactory.newInstance(wipStateChangedEvent, config);
      } else {
        LOGGER.debug("Event " + event + " not currently supported");

        config = new ProjectConfig(configFactory, allProjectsName.get());

        messageGenerator = MessageGeneratorFactory.newInstance(event);
      }

      if (messageGenerator.shouldPublish()) {
        WebhookClient client;
        client = new WebhookClient(config);

        client.publish(messageGenerator.generate(), config.getWebhookUrl());
      }
    } catch (Throwable e) {
      LOGGER.error("Event " + event + " processing failed", e);
    }
  }