private void test() { // delete after test
    AirflowParser airflowParser = new AirflowParser();
    //        String fileName =
    // "C:\\Users\\yiyang\\Desktop\\test\\output\\Ver3.airflow.missing.json";

    FileOperator fileOperator = new FileOperator();
    String tempFolder = fileOperator.getTempFolder();
    File folder = new File(tempFolder);
    String fileNames[] = folder.list();
    if (fileNames != null) {
      JFrame mainFrame = QueryGeneratorApp.getApplication().getMainFrame();
      for (String fileName : fileNames) {
        if (fileName.endsWith(".airflow.missing.json")) {
          AirflowMissingInfo airflowMissingInfo =
              airflowParser.parseMissingPart(tempFolder + fileName);
          String queriedFileName =
              fileName.replace(".airflow.missing.json", ".airflow.queried.json");
          AirflowQueriedInfo airflowQueriedInfo =
              airflowParser.parseQueriedPart(tempFolder + queriedFileName);
          AirflowMissingInfoDialog airflowMissingInfoDialog =
              new AirflowMissingInfoDialog(mainFrame, true);
          airflowMissingInfoDialog.setAirflowMissingInfo(airflowMissingInfo);
          airflowMissingInfoDialog.setAirflowQueriedInfo(airflowQueriedInfo);
          airflowMissingInfoDialog.setFinalFileName(
              fileName.replace(".airflow.missing.json", ".airflow.json"));
          airflowMissingInfoDialog.setLocationRelativeTo(mainFrame);
          QueryGeneratorApp.getApplication().show(airflowMissingInfoDialog);
        }
      }
    }
  }
  @Action
  public void lastStepForAirflow() {
    FileOperator fileOperator = new FileOperator();
    String tempFolder = fileOperator.getTempFolder();
    System.out.println("tempFolder is " + tempFolder);
    File folder = new File(tempFolder);
    String fileNames[] = folder.list();

    if (fileNames == null || fileNames.length == 0) {
      return;
    }

    JFrame mainFrame = QueryGeneratorApp.getApplication().getMainFrame();
    for (String fileName : fileNames) {
      System.out.println(fileName);
      if (fileName.endsWith(".airflow.missing.json")) {
        AirflowParser airflowParser = new AirflowParser();
        AirflowMissingInfo airflowMissingInfo =
            airflowParser.parseMissingPart(tempFolder + fileName);
        String queriedFileName = fileName.replace(".airflow.missing.json", ".airflow.queried.json");
        AirflowQueriedInfo airflowQueriedInfo =
            airflowParser.parseQueriedPart(tempFolder + queriedFileName);
        AirflowMissingInfoDialog airflowMissingInfoDialog =
            new AirflowMissingInfoDialog(mainFrame, true);
        airflowMissingInfoDialog.setAirflowMissingInfo(airflowMissingInfo);
        airflowMissingInfoDialog.setAirflowQueriedInfo(airflowQueriedInfo);
        airflowMissingInfoDialog.setFinalFileName(
            fileName.replace(".airflow.missing.json", ".airflow.json"));
        airflowMissingInfoDialog.setLocationRelativeTo(mainFrame);
        QueryGeneratorApp.getApplication().show(airflowMissingInfoDialog);
      }
    }
    jPanel1.setVisible(false);
    jPanel2.setVisible(false);
    jPanel3.setVisible(false);
    jPanel4.setVisible(false);
    jLabel9.setText(jTextField2.getText());
    jPanel5.setVisible(true);
  }