jp.ne.mki.wedge.run.lib.server
クラス AbstractTransactionCall

java.lang.Object
  上位を拡張 jp.ne.mki.wedge.run.lib.server.AbstractTransactionCall
直系の既知のサブクラス:
TransactionCallForRunServlet

public class AbstractTransactionCall
extends java.lang.Object

トランザクション呼び出しに必要な機能を提供します。


フィールドの概要
static AbstractTransactionCall CONNECT_MODE_METHOD
          トランザクション呼び出しモード:メソッド呼び出し(RunApServer => RunApServer のみ有効)
static AbstractTransactionCall CONNECT_MODE_RMI
          トランザクション呼び出しモード:RMI
protected  AbstractTransactionCall connectMode
          トランザクション呼び出しモードを保持します。
protected  java.lang.String connectUrl
          接続先 RunApServer の RMI URL
protected  ExchangerInterface exchanger
           
protected  java.lang.String idataClassName
          idate のクラス名
protected  int originModule
          SendObject にセットする呼び出し元モジュールのID。
protected  jp.ne.mki.wedge.run.common.exchanger.data.SendObject receivedSendObject
          トランザクションから受信した出力レコードへの参照を保持します。
protected  java.util.Map reserve
           
protected  java.lang.String sendMode
          RunServlet.wdg に指定された送信モード(Object or バイト配列
 
コンストラクタの概要
AbstractTransactionCall(int originModule)
          コンストラクタ。
AbstractTransactionCall(int originModule, ExchangerInterface exchanger)
          コンストラクタ。
 
メソッドの概要
 jp.ne.mki.wedge.run.common.exchanger.data.SendObject call(java.lang.String serverSubName, java.lang.String tranName, ControlRecordInterface ctlRecIf, java.util.List inRecord, OptionalDataMap optionalDataMap)
          トランザクションを呼び出し、出力レコードを返します。
protected  jp.ne.mki.wedge.run.common.exchanger.data.SendObject callByMethod(jp.ne.mki.wedge.run.common.library.XI_ServerMain apServer, ExchangerInterface exchanger, jp.ne.mki.wedge.run.data.ControlRecord ctlRec, jp.ne.mki.wedge.run.common.exchanger.data.SendObject sendObj, java.lang.String[] param)
          RMI でトランザクションを呼び出します。
protected  jp.ne.mki.wedge.run.common.exchanger.data.SendObject callByRmi(jp.ne.mki.wedge.run.common.library.XI_ServerMain apServer, ExchangerInterface exchanger, jp.ne.mki.wedge.run.data.ControlRecord ctlRec, jp.ne.mki.wedge.run.common.exchanger.data.SendObject sendObj, java.lang.String[] param)
          RMI でトランザクションを呼び出します。
 DataInterface createIdata(java.lang.Object inData)
          SAMCに渡すINアイテム(DataInterface)を作成して返します。
 jp.ne.mki.wedge.run.data.ControlRecord createInitialControlRecord()
          トランザクション呼び出しで使うための ControlRecord の雛形を作成して返します。
 jp.ne.mki.wedge.run.common.exchanger.data.SendObject createSendObject(java.util.List list)
          2次元のリスト(List の要素が List)から SendObject を生成します。
 jp.ne.mki.wedge.run.common.exchanger.data.SendObject createSendObject(java.lang.String[][] data)
          2次元配列の文字列から SendObject を生成します。
 java.util.List getIdataListInstance()
          Idata用リストクラスのインスタンスを返します。
 java.util.List getReceivedIdataListFromSamc()
          呼び出したトランザクションから受信した SendObject に格納されたアイテムのデータを Idata にセットし、複数の Idata をリストに格納して返します。
 void setConnectMode(AbstractTransactionCall mode)
          RunApServer との接続モード(RMI or メソッド)を設定します。
protected  void setExchanger(ExchangerInterface exchanger)
          RunApServer と通信するための Exchanger をセットします。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

CONNECT_MODE_RMI

public static final AbstractTransactionCall CONNECT_MODE_RMI
トランザクション呼び出しモード:RMI


CONNECT_MODE_METHOD

public static final AbstractTransactionCall CONNECT_MODE_METHOD
トランザクション呼び出しモード:メソッド呼び出し(RunApServer => RunApServer のみ有効)


connectMode

protected AbstractTransactionCall connectMode
トランザクション呼び出しモードを保持します。


connectUrl

protected java.lang.String connectUrl
接続先 RunApServer の RMI URL


idataClassName

protected java.lang.String idataClassName
idate のクラス名


sendMode

protected java.lang.String sendMode
RunServlet.wdg に指定された送信モード(Object or バイト配列


reserve

protected java.util.Map reserve

receivedSendObject

protected jp.ne.mki.wedge.run.common.exchanger.data.SendObject receivedSendObject
トランザクションから受信した出力レコードへの参照を保持します。


exchanger

protected ExchangerInterface exchanger

originModule

protected int originModule
SendObject にセットする呼び出し元モジュールのID。サブクラスから設定

コンストラクタの詳細

AbstractTransactionCall

public AbstractTransactionCall(int originModule)
コンストラクタ。
このコンストラクタを呼び出してインスタンスした後、必ず(別途) exchanger に通信に使う Exchanger のインスタンスをセットする必要があります。

パラメータ:
originModule - 送信元の種別。この値が RunApServerに送信する SendObjectにセットされます。

AbstractTransactionCall

public AbstractTransactionCall(int originModule,
                               ExchangerInterface exchanger)
コンストラクタ。

パラメータ:
originModule - 送信元の種別。この値が RunApServerに送信する SendObjectにセットされます。
exchanger - RunApServer と通信する時に使う Exchanger。OptionalData の設定などに使われます。
メソッドの詳細

setExchanger

protected void setExchanger(ExchangerInterface exchanger)
RunApServer と通信するための Exchanger をセットします。

パラメータ:
exchanger - RunApServer と通信するための Exchanger

createInitialControlRecord

public jp.ne.mki.wedge.run.data.ControlRecord createInitialControlRecord()
トランザクション呼び出しで使うための ControlRecord の雛形を作成して返します。
ControlRecord をインスタンスし、トレースモードに "OFF" をセットして返します。

戻り値:
作成した ControlRecord
例外:
java.net.UnknownHostException

setConnectMode

public void setConnectMode(AbstractTransactionCall mode)
RunApServer との接続モード(RMI or メソッド)を設定します。

パラメータ:
mode - このクラスの定数 CONNECT_MODE_RMI, CONNECT_MODE_METHOD のいずれかを指定

createSendObject

public jp.ne.mki.wedge.run.common.exchanger.data.SendObject createSendObject(java.util.List list)
2次元のリスト(List の要素が List)から SendObject を生成します。
引数に指定する List のイメージ。
 List + --List1 | +--item1[1] | +--item1[2] | +--item1[3] | +--List2
         | +--item2[1] | +--item2[2] | +--item2[3] | +--List3 + --item3[1]
         + --item3[2] + --item3[3]
 

パラメータ:
list - トランザクションに渡すデータを格納したList
戻り値:
生成された、トランザクションに渡す SendObject

createSendObject

public jp.ne.mki.wedge.run.common.exchanger.data.SendObject createSendObject(java.lang.String[][] data)
                                                                      throws java.lang.ClassNotFoundException,
                                                                             java.lang.InstantiationException,
                                                                             java.lang.IllegalAccessException
2次元配列の文字列から SendObject を生成します。

パラメータ:
data - トランザクションに渡すデータ
戻り値:
生成された、トランザクションに渡す SendObject
例外:
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException

createIdata

public DataInterface createIdata(java.lang.Object inData)
                          throws java.lang.ClassNotFoundException,
                                 java.lang.InstantiationException,
                                 java.lang.IllegalAccessException
SAMCに渡すINアイテム(DataInterface)を作成して返します。
String, Object[] 等のオブジェクトを DataInterface に格納して返します。
アイテムタイプは COLTEXT として格納されます。(RunApServer がインポートする時に、SAMC で定義されたアイテムタイプにリセットされます。)

パラメータ:
inData - DataInterface にセットするデータ(Object)
戻り値:
パラメータ指定されたデータを格納した DataInterface
例外:
java.lang.IllegalAccessException - common.wdg の指定された Idata 用リストクラスのインスタンス時にエラーが発生。
java.lang.InstantiationException - common.wdg の指定された Idata 用リストクラスのインスタンス時にエラーが発生。
java.lang.ClassNotFoundException - common.wdg の指定された Idata 用リストクラスのインスタンス時にエラーが発生。

call

public jp.ne.mki.wedge.run.common.exchanger.data.SendObject call(java.lang.String serverSubName,
                                                                 java.lang.String tranName,
                                                                 ControlRecordInterface ctlRecIf,
                                                                 java.util.List inRecord,
                                                                 OptionalDataMap optionalDataMap)
                                                          throws java.lang.Exception
トランザクションを呼び出し、出力レコードを返します。
トランザクションに渡す入力レコードは事前に addInputRecord() メソッドを使ってセットしておく必要があります。
もし事前に入力レコードがセットされていない場合は、空の入力レコードがトランザクションに渡ります。

パラメータ:
serverSubName - サーバパッケージ名(サーバサブ名)
tranName - トランザクション名
ctlRecIf - ControlRecord への参照
inRecord - SAMC に渡す入力レコード
optionalDataMap - SAMC に渡す OptionalData(null可)
戻り値:
トランザクション処理結果の出力レコード
例外:
java.lang.Exception

callByRmi

protected jp.ne.mki.wedge.run.common.exchanger.data.SendObject callByRmi(jp.ne.mki.wedge.run.common.library.XI_ServerMain apServer,
                                                                         ExchangerInterface exchanger,
                                                                         jp.ne.mki.wedge.run.data.ControlRecord ctlRec,
                                                                         jp.ne.mki.wedge.run.common.exchanger.data.SendObject sendObj,
                                                                         java.lang.String[] param)
                                                                  throws java.lang.Exception
RMI でトランザクションを呼び出します。

パラメータ:
apServer - RunApServer のスタブ
ctlRec - トランザクションに渡す ControlRecord
sendObj - トランザクションに渡す入力レコード
戻り値:
トランザクション処理結果の出力レコード
例外:
java.lang.Exception

callByMethod

protected jp.ne.mki.wedge.run.common.exchanger.data.SendObject callByMethod(jp.ne.mki.wedge.run.common.library.XI_ServerMain apServer,
                                                                            ExchangerInterface exchanger,
                                                                            jp.ne.mki.wedge.run.data.ControlRecord ctlRec,
                                                                            jp.ne.mki.wedge.run.common.exchanger.data.SendObject sendObj,
                                                                            java.lang.String[] param)
                                                                     throws java.lang.Exception
RMI でトランザクションを呼び出します。
入力レコードをバイト配列として送信します。

パラメータ:
apServer - RunApServer のスタブ
exchanger -
ctlRec - トランザクションに渡す ControlRecord
sendObj -
param -
戻り値:
例外:
java.lang.Exception

getReceivedIdataListFromSamc

public java.util.List getReceivedIdataListFromSamc()
                                            throws java.lang.Exception
呼び出したトランザクションから受信した SendObject に格納されたアイテムのデータを Idata にセットし、複数の Idata をリストに格納して返します。

戻り値:
SendObject に格納されたアイテムのデータを Idata にセットし、複数の Idata をリストに格納して返します。
例外:
java.lang.Exception - SendObject から Idata に変換する時にエラーが発生。

getIdataListInstance

public java.util.List getIdataListInstance()
                                    throws java.lang.ClassNotFoundException,
                                           java.lang.InstantiationException,
                                           java.lang.IllegalAccessException
Idata用リストクラスのインスタンスを返します。

戻り値:
Idata用リストクラスのインスタンス
例外:
java.lang.ClassNotFoundException - インスタンス時にエラーが発生。
java.lang.InstantiationException - インスタンス時にエラーが発生。
java.lang.IllegalAccessException - インスタンス時にエラーが発生。