パッケージ org.opengion.hayabusa.common

## クラス SystemParameter

- java.lang.Object
- - org.opengion.hayabusa.common.SystemParameter

-     public final class SystemParameter
      extends Object

  ログインしたサーブレットコンテキストに対応したシステムパラメータデータを取得するクラスです。 システムパラメータデータ(GE12)は、パラメータ(PARAM_ID)に対して、各種設定値(PARAM)を 持っています。 従来は、resource.システムパラメータ の一般設定用の システムパラメータ ファイルと エンジン内部で持っている org/hsgw/hayabusa/resource/properties の システムパラメータ ファイルにより維持されていましたが、システムパラメータ 定義テーブル(GE12)と、commom/SystemData.java クラスによる管理に変更されました。 システムパラメータは、ＤＢへのアクセスを決定するため、初期設定値を定義する必要があります。 これは、、アプリケーション・ディスクリプタ(WEB-INF/web.xml)に、context-param として、 キーと値のセットで、初期アクセス用の情報を渡します。 システムパラメータ定義テーブル(GE12)には、SYSTEM_IDとして、通常のシステムIDと、 エンジンパラメータがあります。エンジンパラメータは、SYSTEM_ID='**'として、登録 されています。

  システムパラメータの説明
  種類 | SYSTEM_ID | 作成区分 | 説明
  --- | --- | --- | ---
  エンジン共通 | ** | 0:ｴﾝｼﾞﾝ | エンジン共通で定義しているパラメータ
  エンジン個別 | 個別 | 0:ｴﾝｼﾞﾝ | システム毎にエンジンが登録しているパラメータ
  システム共通 | ** | 1:ｼｽﾃﾑ | システム毎にエンジンが登録しているパラメータ
  システム個別 | 個別 | 1:ｼｽﾃﾑ | システム毎に各自が独自に登録しているパラメータ

  ｱﾌﾟﾘｹｰｼｮﾝ･ﾃﾞｨｽｸﾘﾌﾟﾀ(WEB-INF/web.xml)設定情報
  パラメータ | 設定値例 | 解説
  --- | --- | ---
  SYSTEM_ID | GE | このｱﾌﾟﾘｹｰｼｮﾝのｼｽﾃﾑID
  TOMCAT_PORT | 8823 | Tomcat起動時ﾎﾟｰﾄ番号
  LOG_FILE | log/log_$(yyyyMMdd).txt | JSPｱｸｾｽﾛｸﾞ出力先

  ※ 5.6.7.0 (2013/07/27) InitFileLoader により、特定のクラスパス内の 拡張XDK 形式の xml ファイル を処理します。 クラスパスが、"/resource" 以下のすべての xml ファイルは、DBIDが RESOURCE の接続先に対して処理されます。 クラスパスが、"/xml" 以下のすべての xml ファイルは、DBIDが DEFAULT の接続先に対して処理されます。 各クラスパス以下のファイルは、実フォルダでも、jar形式に圧縮された形式でも処理されます。 ※ 6.0.0.0 (2014/04/11) InitFileLoader が廃止になり、代わりに、XMLFileLoader を使用します。処理自体は、ほぼ同様です。
  変更履歴:
    4.0.0.0 (2005/01/31) 新規作成, 4.0.0.0 (2007/10/26) loadDBResourceのコネクションをFactoryから取るように変更
  機能分類
    初期化
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールド | 説明
    --- | --- | ---
    `static String` | `DEL_SYS` | エンジン個別(SYSTEM_ID='個別' KBSAKU='0' CONTXT_PATH='自身')パラメータの一括削除と、過去情報の削除クエリー "DELETE FROM GE12 WHERE ( SYSTEM_ID=? AND KBSAKU=\'0\' AND CONTXT_PATH=? ) OR ( SYSTEM_ID != \'**\' AND PARAM_LVL=\'9\' AND ( DYSET < ? OR DYSET IS NULL ) )"
    `static String` | `DYSET_FORMAT` | 6.9.7.0 (2018/05/14) DYSET ﾌｫｰﾏｯﾄ "yyyyMMddHHmmss"
    `static String` | `INS_SYS` | システム共通/個別パラメータ(SYSTEM_ID in ('**',?)
    `static String` | `PLUGIN` | plugin クラスの取得用クラスパス指定 "org/opengion/plugin"
    `static String` | `QUERY` | システム共通/個別パラメータ(SYSTEM_ID in ('**',?)

  - ### メソッドの概要

    すべてのメソッド staticメソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `static Map<String,​String>` | `makeSystemParameter​(javax.servlet.ServletContext context)` | コンテキスト毎に システムパラメータオブジェクトを作成します。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### フィールドの詳細

    - #### PLUGIN

          public static final String PLUGIN

      plugin クラスの取得用クラスパス指定 "org/opengion/plugin"
      関連項目:
        定数フィールド値

    - #### QUERY

          public static final String QUERY

      システム共通/個別パラメータ(SYSTEM_ID in ('**',?) and KBSAKU > '0')の一括読込のクエリー "SELECT PARAM_ID,PARAM,FGCRYPT FROM GE12 WHERE SYSTEM_ID IN (?,\'**\') AND CONTXT_PATH IN (?,\'**\') AND FGJ=\'1\' AND KBSAKU > \'0\' ORDER BY SYSTEM_ID,CONTXT_PATH,FGJ,KBSAKU,SEQNO"
      関連項目:
        定数フィールド値

    - #### INS_SYS

          public static final String INS_SYS

      システム共通/個別パラメータ(SYSTEM_ID in ('**',?) and KBSAKU > '0')の一括登録のクエリー "INSERT INTO GE12 ( SYSTEM_ID,CONTXT_PATH,PARAM_ID,SEQNO,PARAM,TITLE,CONTENTS,PARAM_LVL,FGJ,KBSAKU,DYSET ) SELECT ?,?,?,?,?,TITLE,CONTENTS,PARAM_LVL,\'1\',\'0\',? FROM GE12 WHERE SYSTEM_ID=\'**\' AND FGJ=\'1\' AND KBSAKU=\'0\' AND PARAM_ID=?"
      関連項目:
        定数フィールド値

    - #### DEL_SYS

          public static final String DEL_SYS

      エンジン個別(SYSTEM_ID='個別' KBSAKU='0' CONTXT_PATH='自身')パラメータの一括削除と、過去情報の削除クエリー "DELETE FROM GE12 WHERE ( SYSTEM_ID=? AND KBSAKU=\'0\' AND CONTXT_PATH=? ) OR ( SYSTEM_ID != \'**\' AND PARAM_LVL=\'9\' AND ( DYSET < ? OR DYSET IS NULL ) )"
      関連項目:
        定数フィールド値

    - #### DYSET_FORMAT

          public static final String DYSET_FORMAT

      6.9.7.0 (2018/05/14) DYSET ﾌｫｰﾏｯﾄ "yyyyMMddHHmmss"
      関連項目:
        定数フィールド値

  - ### メソッドの詳細

    - #### makeSystemParameter

          public static Map<String,​String> makeSystemParameter​(javax.servlet.ServletContext context)

      コンテキスト毎に システムパラメータオブジェクトを作成します。 このクラスのスタートポイントメソッドになります。
      パラメータ:
        `context` - Servletコンテキスト
      戻り値:
        システムパラメータのマップ
      変更履歴:
        4.1.0.1 (2008/01/23) ログ出力先の変更(全てLogWriter経由で出力), 5.5.4.4 (2012/07/20) LogWriter.log 追加, 5.5.4.4 (2012/07/20) SQLException は、catch しているので、loadDBResource からは、throws されない。, 5.7.2.0 (2014/01/10) Throwable の情報をもう少し詳細に出します。, 6.4.3.2 (2016/02/19) engParamとsysParamを初期設定して、同期化しておく。, 6.4.7.1 (2016/06/17) セキュリティの関連で、ログの詳細を出していませんでしたが、出すように変更します。, 6.8.6.0 (2018/01/19) ImageIO.write で、Java9で、NumberFormatException が出てしまう(暫定)対策。, 7.2.5.3 (2020/06/16) MainProcessは、SystemParameterへ移動