抽出条件式にチーム名(team)を指定して、条件に一致する部分情報を取得する例を用いて、Java APIの使用例を示します。
使用例
import com.fujitsu.iis.IisAPI; /** * 抽出条件式にチーム名(team)を指定して、条件に一致する部分情報を取得する */ public class Sample_1 { public static void main(String[] args) { new Sample_1().execute(); } public boolean execute() { // APIインスタンス IisAPI api = null; // 戻り値 boolean ret = true; // 抽出結果情報 String[] select_result = null; // 抽出結果件数 int data_count = 0; // 読込み結果 String[] read_data = null; // エラー詳細番号 int error_no = 0; try { api = new IisAPI(); } catch (NullPointerException e) { System.out.println("APIの初期化に失敗しました"); return false; } // 環境設定 // 制御サーバセットのホスト名 api.setRequestorHostName("192.0.2.1"); // 制御サーバセットのポート番号 api.setRequestorPortNo(24101); // カテゴリ名 api.setCategoryName("SAMPLE"); // 実行クラス名 api.setTargetClassName("Class1"); // データ形式 api.setTargetFileType("CSV"); // 半角英字大小区別 api.setANKmix(true); // 全角英字大小区別 api.setKNJmix(true); // CSVヘッダレコード api.setLabelLine(true); // 抽出条件式:teamの値が1開発部に完全一致するデータを抽出 String query = "$team=='1開発部'"; // リターン式:nameおよびteamを取得 String returnItem = "$name,$team"; // 抽出を依頼 select_result = api.requestSelect(query, returnItem); // 抽出正常復帰 if (select_result != null) { // 抽出件数取得 data_count = api.getDataCount(); // 件数取得異常復帰 if (data_count == -1) { // エラー詳細番号取得 error_no = api.getLastError(); // エラー詳細番号とメッセージを出力し終了する System.out.println("エラー番号 = " + error_no + ", エラーメッセージ = " + api.getLastErrorMessage(error_no)); // 抽出結果情報および抽出結果中間ファイル破棄 api.deleteInstance(select_result); return false; } // 件数出力 System.out.println("抽出件数 = " + data_count); // 抽出件数確認 if (data_count > 0) { // 抽出件数が1件以上の場合 // 抽出結果情報をオープン ret = api.openData(select_result); // オープン正常復帰 if (ret == true) { // CSVヘッダレコード分を追加 int cnt = data_count + 1; // 抽出結果データ読込み read_data = api.readData(cnt); // 読込み正常復帰 if (read_data != null) { // 抽出したデータを表示 for (int i = 0; i < read_data.length; i++) { System.out.println(read_data[i]); } } // 読込み異常復帰 else { // エラー詳細番号取得 error_no = api.getLastError(); // エラー番号とメッセージを出力し終了する System.out.println("エラー番号 = " + error_no + ", エラーメッセージ = " + api.getLastErrorMessage(error_no)); // 抽出結果データのクローズ api.closeData(); // 抽出結果情報および抽出結果中間ファイル破棄 api.deleteInstance(select_result); return false; } // 抽出結果情報のクローズ ret = api.closeData(); // クローズ異常復帰 if (ret == false) { // エラー詳細番号取得 error_no = api.getLastError(); // エラー詳細番号とメッセージを出力し終了する System.out.println("エラー番号 = " + error_no + ", エラーメッセージ = " + api.getLastErrorMessage(error_no)); // 抽出結果情報および抽出結果中間ファイル破棄 api.deleteInstance(select_result); return false; } // 抽出結果情報および抽出結果中間ファイル破棄 ret = api.deleteInstance(select_result); // 破棄異常復帰 if (ret == false) { // エラー詳細番号取得 error_no = api.getLastError(); // エラー詳細番号とメッセージを出力し終了する System.out.println("エラー番号 = " + error_no + ", エラーメッセージ = " + api.getLastErrorMessage(error_no)); return false; } } // オープン異常復帰 else { // エラー詳細番号取得 error_no = api.getLastError(); // エラー詳細番号とメッセージを出力し終了する System.out.println("エラー番号 = " + error_no + ", エラーメッセージ = " + api.getLastErrorMessage(error_no)); // 抽出結果情報および抽出結果中間ファイル破棄 api.deleteInstance(select_result); return false; } } // 抽出件数が0件の場合 else if (data_count == 0) { // 抽出結果情報および抽出結果中間ファイル破棄 api.deleteInstance(select_result); } return true; } // 抽出異常終了 else { // エラー詳細番号取得 error_no = api.getLastError(); // エラー詳細番号とメッセージを出力し終了する System.out.println("エラー番号 = " + error_no + ", エラーメッセージ = " + api.getLastErrorMessage(error_no)); return false; } } }
実行結果
抽出件数 = 3 "name","team" "鈴木太郎","1開発部" "佐藤花子","1開発部" "田中五郎","1開発部"