Open Kilda Java Documentation
KafkaBreakTrigger.java
Go to the documentation of this file.
1 package org.openkilda.messaging.ctrl;
2 
3 import org.slf4j.Logger;
4 import org.slf4j.LoggerFactory;
5 
6 public class KafkaBreakTrigger {
7  private static final Logger logger = LoggerFactory.getLogger(KafkaBreakTrigger.class);
8 
9  private final KafkaBreakTarget target;
10  private boolean communicationEnabled = true;
11 
13  this.target = target;
14  }
15 
16  public boolean handle(String target, String action) {
17  if (target == null) {
18  return false;
19  }
20 
21  try {
22  if (KafkaBreakTarget.valueOf(target) == this.target) {
23  boolean origin = communicationEnabled;
24  communicationEnabled = KafkaBreakerAction.valueOf(action) == KafkaBreakerAction.RESTORE;
25  logger.debug("allow communication {} (was {})", communicationEnabled, origin);
26 
27  return true;
28  }
29  } catch (IllegalArgumentException e) { }
30 
31  return false;
32  }
33 
34  public boolean isCommunicationEnabled() {
35  return communicationEnabled;
36  }
37 }
boolean handle(String target, String action)