jp.ne.mki.wedge.rule.common.other
クラス CallPerlRule

java.lang.Object
  |
  +--jp.ne.mki.wedge.rule.base.AbstractBase
        |
        +--jp.ne.mki.wedge.rule.base.AbstractCommon
              |
              +--jp.ne.mki.wedge.rule.common.other.CallPerlRule
すべての実装インタフェース:
CommonInterface, RuleEngineInterface

public class CallPerlRule
extends AbstractCommon

Perlロジッククラス呼び出し


Perlプログラムを呼び出すためのロジッククラスです。
呼び出した先のPerlプログラムは、ロジッククラスの代わりとして実装することが出来ます。

Constant.wdgに対して下記属性を追記することができます。

"jp.ne.mki.wedge.rule.common.other.CallPerlRule.command"


Perlのコマンドを記述します。
指定しない場合は「perl」と実行されます。
perlの実行ディレクトリがパスに含まれていない場合は
こちらの設定を変更する必要がございます。

設定例)
「/usr/bin/perl」


"jp.ne.mki.wedge.rule.common.other.CallPerlRule.rootpath"

Perlコマンド実行時のルートディレクトリを指定します。
指定しない場合は、カレントディレクトリがルートディレクトリとなります。
(SAMC上で実行した場合は、./run.sh を起動したディレクトリとなります。)

設定例)
「/opt/tomcat/webapps/myproject/WEB-INF/perlscript/」



"jp.ne.mki.wedge.rule.common.other.CallPerlRule.timeout"


Perlコマンド実行時のタイムアウト時間を指定します。
デフォルトで60秒がタイムアウトとなります。
タイムアウトを設定しない場合は、この項目に-1を指定してください。



"jp.ne.mki.wedge.rule.common.other.CallPerlRule.encode"


Perlに文字列データを送信する際に使用される文字コードを指定します。
指定しない場合はシステムのデフォルトエンコードが使用されます。
エンコードの種類によっては、文字化けが発生する可能性がありますので、
ご注意下さい。

設定例)
「UTF-8」「EUC-JP」「MS932」



"jp.ne.mki.wedge.rule.common.other.CallPerlRule.dirchange"


Perl実行時にカレントディレクトリの位置を変更する場合はtrueを、
変更しない場合はfalseを指定してください。
省略時はtrueとなります。

動作例)

rootpath 「/usr/local/perl」
実行ファイル 「calculate/DecimalCalcAdd.pl」
dirchange 「false」

→ 実行結果
/usr/local/perlをカレントディレクトリとし、
calculate/DecimalCalcAdd.plを実行します。

rootpath 「/usr/local/perl」
実行ファイル 「calculate/DecimalCalcAdd.pl」
dirchange 「true」

→ 実行結果
/usr/local/perl/calculate をカレントディレクトリとし、
DecimalCalcAdd.plを実行します。

(※ カレントディレクトリの位置によって、require で指定するファイルパスが
変わりますので、ご注意下さい。)

[I/O RECORD]

InputRecord OutputRecord
呼び出し先のPerlプログラムに合わせた引数を設定してください。 呼び出し先のPerlプログラムに合わせた返り値を設定してください。

[RULE PARAMETER]

Parameter 呼び出し先のPerlファイル名。
呼び出し先のPerlプログラムに、ロジッククラスパラメータを送信したい場合は、
コロン(:)区切りで指定をします。

設定例)
"DecimalCalcAdd.pl"
"calculate/DeCimalCalcAdd.pl"
"SetValue.pl:Hello World"

導入されたバージョン:
1.2.0
バージョン:
1.0

フィールドの概要
protected static java.lang.String CONSTANT_AUTO_DIRECTORY_CHANGE
          自動ディレクトリ変更(定数ファイルキー)
protected static java.lang.String CONSTANT_COMMAND
          Perl実行コマンド(定数ファイルキー)
protected static java.lang.String CONSTANT_ENCODE
          データ送受信時の文字コード(定数ファイルキー)
protected static java.lang.String CONSTANT_PREFIX
           
protected static java.lang.String CONSTANT_ROOT_PATH
          PerlファイルRootディレクトリ(定数ファイルキー)
protected static java.lang.String CONSTANT_TIMEOUT
          タイムアウト時刻(定数ファイルキー)
 
クラス jp.ne.mki.wedge.rule.base.AbstractBase から継承したフィールド
controlRecord, engineManager, errorMessage, executeType, id, inputRecord, logicalName, outputRecord, physicalName, ruleParameter, ruleType, serverParameter, userConstant
 
インタフェース jp.ne.mki.wedge.rule.base.interfaces.CommonInterface から継承したフィールド
CANCEL, ERROR, EXECUTE_BOTH, EXECUTE_CLIENT, EXECUTE_DEBUG, EXECUTE_HTMLGATEWAY, EXECUTE_SERVER, EXECUTE_SERVERDC, IO_ERROR, IO_ERROR_EXECUTE_PARAMETER, IO_ERROR_IN, IO_ERROR_IO_MUST_SAME_COUNT, IO_ERROR_ITEM_TYPE, IO_ERROR_OUT, IO_ERROR_PARAMETER, NONE, OK, PARAMETER_DELIMITER, SKIP, USER_ERROR
 
コンストラクタの概要
CallPerlRule()
           
 
メソッドの概要
 int execute()
          処理を実行。
 void exit()
          終了処理。
 int getIOParameter()
          IOパラメータ取得。
 
クラス jp.ne.mki.wedge.rule.base.AbstractCommon から継承したメソッド
getManager, log, setHtmlManager, setManager, setServerControlData, setWedgeLog, showErrorDialog, terminate, writeErrorLog, writeLog, writeLog, writeLog
 
クラス jp.ne.mki.wedge.rule.base.AbstractBase から継承したメソッド
callDispose, createErrorMessage, dataClearOfOutRecord, dataClearOfRecord, dispose, executeRule, getAppAccount, getAppAuthority, getAppMenu, getAppPassword, getClassErrorName, getClientId, getConnectionId, getConnectionPoolId, getConstantKeys, getConstantValue, getConstantValueAsStringArray, getDbAccessCount, getDbErrorCode, getDbErrorMessage, getDbStatus, getDbUpdatedRecordCount, getEngineManager, getErrorMessage, getErrorMessage, getErrorMessage, getExceptionMessage, getExecuteType, getId, getInRecord, getInRecord, getInRecord, getInRecordCount, getIpAddress_G_Index, getIpAddress_P_Index, getLogicalErrorName, getLogicalName, getOutputHtml, getOutRecord, getOutRecord, getOutRecord, getOutRecordCount, getPhysicalErrorName, getPhysicalName, getProjectId, getQueryEndLine, getQueryMaxCount, getQueryPageCount, getQueryStartLine, getReturnString, getRowSize, getRowSizeOfInRecord, getRuleParameter, getRuleParameters, getRuleParameters, getRuleParameters, getRuleType, getRuleTypeName, getServerMessage, getServerParameter, getServerStatus, getServerSubName, getServerSubRevision, getServerTran, getUpdateErrorLine, getUpdateTargetCount, getWebServerIpAddress, isExecutable, isJDK15, logDebug, logError, logError, logFatal, logFatal, logInfo, logTrace, logWarn, logWarn, loopInOutRecord, loopInOutRecordSub, loopInRecord, loopInRecordSub, loopOutRecord, loopOutRecordSub, setControlRecord, setErrorMessage, setErrorMessageMustInRecord, setErrorMessageMustOutRecord, setErrorMessageMustParamIsNumber, setExecuteType, setFatalError, setId, setInRecord, setLogicalName, setOutputHtml, setOutRecord, setPhysicalName, setPropertyFromEngine, setRuleParameter, setRuleType, setServerParameter, setUserConstant, showErrorDialogAddRuleName, writeTraceLog
 
クラス java.lang.Object から継承したメソッド
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

CONSTANT_PREFIX

protected static final java.lang.String CONSTANT_PREFIX

CONSTANT_COMMAND

protected static final java.lang.String CONSTANT_COMMAND
Perl実行コマンド(定数ファイルキー)

CONSTANT_ROOT_PATH

protected static final java.lang.String CONSTANT_ROOT_PATH
PerlファイルRootディレクトリ(定数ファイルキー)

CONSTANT_TIMEOUT

protected static final java.lang.String CONSTANT_TIMEOUT
タイムアウト時刻(定数ファイルキー)

CONSTANT_ENCODE

protected static final java.lang.String CONSTANT_ENCODE
データ送受信時の文字コード(定数ファイルキー)

CONSTANT_AUTO_DIRECTORY_CHANGE

protected static final java.lang.String CONSTANT_AUTO_DIRECTORY_CHANGE
自動ディレクトリ変更(定数ファイルキー)
コンストラクタの詳細

CallPerlRule

public CallPerlRule()
メソッドの詳細

getIOParameter

public int getIOParameter()
                   throws java.lang.Throwable
インタフェース CommonInterface の記述:
IOパラメータ取得。execute の前に実行される。
関連項目:
CommonInterface.getIOParameter()

execute

public int execute()
            throws java.lang.Throwable
インタフェース CommonInterface の記述:
処理を実行。
関連項目:
CommonInterface.execute()

exit

public void exit()
          throws java.lang.Throwable
インタフェース CommonInterface の記述:
終了処理。保持していた変数などを開放する処理を記述します。
execute の後に実行されます。
正常終了・異常終了などに関わらず必ず実行されます。
関連項目:
CommonInterface.exit()