View Javadoc
1   package com.jsql.view.swing.action;
2   
3   import com.jsql.util.GitUtil.ShowOnConsole;
4   import com.jsql.util.I18nUtil;
5   import com.jsql.util.LogLevelUtil;
6   import com.jsql.view.swing.util.MediatorHelper;
7   import org.apache.logging.log4j.LogManager;
8   import org.apache.logging.log4j.Logger;
9   
10  import java.awt.event.ActionEvent;
11  import java.awt.event.ActionListener;
12  
13  /**
14   * Action performing an IP localization test.
15   */
16  public class ActionCheckIp implements ActionListener, Runnable {
17      
18      private static final Logger LOGGER = LogManager.getRootLogger();
19  
20      @Override
21      public void actionPerformed(ActionEvent e) {
22          new Thread(this, "ThreadCheckIP").start();
23      }
24  
25      @Override
26      public void run() {
27          if (MediatorHelper.model().getMediatorUtils().getProxyUtil().isNotLive(ShowOnConsole.YES)) {
28              return;
29          }
30          LOGGER.log(LogLevelUtil.CONSOLE_DEFAULT, () -> I18nUtil.valueByKey("LOG_IP_ADDRESS_CHECK"));
31          String addressIp = MediatorHelper.model().getMediatorUtils().getConnectionUtil().getSource("http://checkip.amazonaws.com");
32          if (addressIp.matches("\\d+\\.\\d+\\.\\d+\\.\\d+")) {
33              LOGGER.log(
34                  LogLevelUtil.CONSOLE_INFORM,
35                  "{} {}",
36                  () -> I18nUtil.valueByKey("LOG_IP_ADDRESS_IS"),
37                  () -> addressIp
38              );
39          } else {
40              LOGGER.log(LogLevelUtil.CONSOLE_ERROR, "Incorrect IP address, check your connection");
41          }
42      }
43  }