第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 PDI 作業(yè)變量/參數(shù)用于整數(shù)步長參數(shù)?

如何將 PDI 作業(yè)變量/參數(shù)用于整數(shù)步長參數(shù)?

拉風(fēng)的咖菲貓 2022-05-21 14:05:59
我為 PDI 編寫了一個自定義步驟插件,并希望將作業(yè)變量/參數(shù)(例如通過 訪問${divisor})用于步驟的整數(shù)輸入?yún)?shù)。當(dāng)我嘗試像使用內(nèi)置插件一樣執(zhí)行此操作時,我收到錯誤消息“無法打開此步驟的對話框:對于輸入字符串“$ {divisor}”。我已經(jīng)從官方演示步驟插件中調(diào)整了我的步驟插件,并確認如果所有步驟輸入?yún)?shù)都被賦予了硬值,則該步驟通??梢怨ぷ?。所討論的整數(shù)參數(shù)在 Meta 類中定義為 int 并具有適當(dāng)?shù)?getter/setter,例如通過其 XML 表示進行初始化。在 Dialog 類中,參數(shù)表示為一個文本字段,當(dāng)確認對話框并將值寫入 Meta 類實例時,其值被解析為整數(shù)。TimeMappingMeta.java 的摘錄public class TimeMappingMeta extends BaseStepMeta implements StepMetaInterface {    private int divisor;    public void loadXML(Node stepnode, List<DatabaseMeta> databases, IMetaStore metaStore) throws KettleXMLException {        setDivisor(Integer.parseInt(XMLHandler.getNodeValue(XMLHandler.getSubNode(stepnode, "divisor"))));    }}TimeMappingDialog.java 的摘錄public class TimeMappingDialog extends BaseStepDialog implements StepDialogInterface {    private Text wDivisor;    private void populateDialog() {        wDivisor.setText("" + meta.getDivisor());    }    private void ok() {        meta.setDivisor(Integer.parseInt(wDivisor.getText()));    }}現(xiàn)在的問題是可以將作業(yè)參數(shù)/變量的字符串${divisor}輸入到 step 參數(shù)的字段中TimeMappingMeta.divisor,但是由于無法將字符串解析為整數(shù),因此對話框?qū)⒃诖_認時失敗。該值僅在作業(yè)執(zhí)行期間替換為實際參數(shù)值,我們無法將作業(yè)參數(shù)字符串保存在步驟參數(shù)中。我錯過了什么嗎?甚至可以將作業(yè)變量/參數(shù)用于非字符串步驟參數(shù)嗎?也許我可以將所有步驟參數(shù)切換為字符串,并且僅在行開始通過時在執(zhí)行期間解析整數(shù)值。但是為什么kettle甚至支持非字符串步驟參數(shù)呢?
查看完整描述

1 回答

?
浮云間

TA貢獻1829條經(jīng)驗 獲得超4個贊

我得出的結(jié)論是,不可能對非字符串步驟參數(shù)使用變量替換。變量的值,例如${divisor},只能保存為字符串,即使值是邏輯整數(shù)。


此外,變量字符串的替換不是自動的,必須在與方法一起使用值的地方顯式執(zhí)行BaseStep.environmentSubstitute。例如,在步驟的初始化中使用值如下所示:


public boolean init(StepMetaInterface smi, StepDataInterface sdi) {

    TimeMappingMeta meta = (TimeMappingMeta) smi

    divisor = Integer.parseInt(environmentSubstitute(meta.getDivisor()));

}


查看完整回答
反對 回復(fù) 2022-05-21
  • 1 回答
  • 0 關(guān)注
  • 104 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號