Beispiel #1
0
  /**
   * <br>
   * [機 能] 入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param reqMdl リクエスト情報
   * @param tempDir 添付DIR
   * @param con DBコネクション
   * @param netSid ネットワークSID
   * @param mode インポートモード
   * @return エラー
   * @throws SQLException SQL実行例外
   * @throws IOToolsException SQL実行例外
   * @throws Exception 実行例外
   */
  public ActionErrors validateCheck(
      RequestModel reqMdl, String tempDir, Connection con, int netSid, String mode)
      throws IOToolsException, SQLException, Exception {

    log__.debug("=== 入力チェック ===");
    ActionErrors errors = new ActionErrors();
    GsMessage gsMsg = new GsMessage(reqMdl);
    String textSelectFile = gsMsg.getMessage("cmn.capture.file");
    String textCsvFile = gsMsg.getMessage("cmn.csv.file.format");

    // インポートファイルチェック
    // テンポラリディレクトリにあるファイル名称を取得
    List<String> fileList = IOTools.getFileNames(tempDir);
    String saveFileName = "";
    String baseFileName = "";
    String eprefix = "inputFile.";
    if (fileList == null) {
      ActionMessage msg = new ActionMessage("error.select.required.text", textSelectFile);
      StrutsUtil.addMessage(errors, msg, eprefix + "error.select.required.text");
    } else {
      for (int i = 0; i < fileList.size(); i++) {
        // ファイル名を取得
        String fileName = fileList.get(i);
        if (!fileName.endsWith(GSConstCommon.ENDSTR_OBJFILE)) {
          continue;
        }

        // オブジェクトファイルを取得
        ObjectFile objFile = new ObjectFile(tempDir, fileName);
        Object fObj = objFile.load();
        if (fObj == null) {
          continue;
        }
        Cmn110FileModel fMdl = (Cmn110FileModel) fObj;
        saveFileName = fMdl.getSaveFileName();
        baseFileName = fMdl.getFileName();
      }
      boolean csvError = false;
      // 複数選択エラー
      if (fileList.size() > 2) {
        ActionMessage msg = new ActionMessage("error.input.notfound.file", textSelectFile);
        StrutsUtil.addMessage(errors, msg, eprefix + "error.input.notfound.file");
        csvError = true;
      } else {
        // 拡張子チェック
        String strExt = StringUtil.getExtension(baseFileName);
        if (strExt == null || !strExt.toUpperCase().equals(".CSV")) {
          ActionMessage msg = new ActionMessage("error.select.required.text", textCsvFile);
          StrutsUtil.addMessage(errors, msg, eprefix + "error.select.required.text");
          csvError = true;
        }
      }
      if (!csvError) {
        String fullPath = tempDir + saveFileName;
        ArrayList<String> ipadListCsv = new ArrayList<String>();
        IpkCsvCheck csvCheck = new IpkCsvCheck(errors, con, netSid, mode, ipadListCsv, reqMdl);
        // CSVチェック
        csvCheck.isCsvDataOk(fullPath);
      }
    }
    return errors;
  }