Kettle5 x step外掛程式開發總結

2021-07-07 10:38:08 字數 2137 閱讀 9193

假設我們要實現乙個step外掛程式,命名為***,下面的類是必須實現的:

public

class

***extends

basestep

implements

stepinte***ce

public

class

***meta

extends

basestepmeta

implements

stepmetainte***ce

public

class

***data

extends

basestepdata

implements

stepdatainte***ce

public

class

***dialog

extends

basestepdialog

implements

stepdialoginte***ce

【備註】

kettle的外掛程式體系已經相當完善,為了節省開發者自定義外掛程式所花費的時間和精力,已經將大部分核心方法都實現並封裝在各自的基類中,如basestep、basestepmeta、basestepdialog。如果想再進一步了解kettle step外掛程式,可以閱讀ba***xx相關原始碼。

step流程處理類,當step真正執行起來,就是在這個實現類裡面進行資料處理的,大部分核心方法都在basestep父類裡面實現了,需要我們自行實現的方法有以下幾個:

實現這個類的作用有以下幾點:

大部分核心方法都已經在basestepmeta父類中實現了,其中需要我們重寫實現的方法有以下幾個:

step流程處理臨時資料儲存,實現該介面的類用來暫存流程處理過程所需要用到的資料。

step外掛程式資料設定對話方塊,在spoon中拖動該step到設計區並雙擊時,就會呼叫這個實現類的open方法,實現該介面的類用來設定stepmeta相關屬性,其中需要我們實現的核心方法為:

國際化使spoon介面展示的說明文字、日誌資訊能夠適應不同國家語言。

下面以我最近開發的乙個kettle外掛程式來向大家分析外掛程式開發的具體步驟。

【備註】

【注意】

將dubboclientdialog放在com.gosun.di.trans.steps.dubboclient包下是因為預設情況下程式會在這個包下找對應的***dialog (這裡的***為dubboclient),可以通過重寫dubboclientmeta的getdialogclassname()方法來指定具體的包名和類名:

實現的四個類分別為dubboclient、dubboclientmeta、dubboclientdata、dubboclientdialog。詳情參考原始碼。

2.2.3 dubboclientmeta上的@step註解配置

item

說明id step

外掛程式唯一標識

image

指定step外掛程式在spoon中顯示的圖示

i18npackagename

指定國際化messages所在的包名

name

step外掛程式命名

description

step外掛程式描述

categorydescription

指定step外掛程式所屬的spoon轉換目錄

【備註】

對於上圖所取的categorydescription,對應的basestep.category.lookup應該在stepplugintype這個類的註解裡面可以找到(也可以在對應的註解裡面新建目錄):

在@step註解中指定的i18npackagename顯示我們要儲存國際化資訊的基目錄,根據上面的指定,在com.gosun.di.trans.steps.dubboclient新建messages包。在這個包下面新建多個properties,命名規則為messages_[locate].properties,其中locate表示國家,如en_us表示美國,zh_cn表示中國。

kettle 外掛程式開發

kettle core kettle的核心模組,包括一些資料處理等。kettle dbdialog kettle資料庫連線介面邏輯。kettle engine kettle的引擎,負責執行kettle的具體作業和轉換的邏輯,並會呼叫core模組。kettle ui swt 使用者介面模組,包括使用者...

Kettle外掛程式開發(Job)

乙個 kettle 的job 外掛程式主要包括兩個類,和轉換步驟外掛程式一樣,乙個是用於客戶端定義引數配置的 ui dialog 類,乙個是 job entry 類,主要是跟蹤儲存客戶的配置資訊和執行 job具體的功能 在 execute 方法中執行 1 ui dialog類。ui dailog 類...

Qt5外掛程式開發

在工程目錄,也就是需要新增外掛程式的工程下,建立乙個新的類,可以稱作介面類,需要注意的是介面類必須是乙個純虛函式 在介面類的最後,必須使用巨集q declare inte ce 他的第乙個引數是這個介面的名字,第二個引數是乙個確定介面的字串。ifndef filterinte ce h define...