used defined java class左侧栏添加自定义方法

在used defined java class左侧栏有很多方法,我们也可以把经常用到的一些方法添加进去,步骤如下

1. 在配置文件中添加自定义方法分类
在org-pentaho.di.trans.steps.userdefinedjavaclass.messages的messages_en_US.properties添加以下代码
# 添加"自定义方法"
UserDefinedJavaClassCodeSnippits.categories.SELF_DEFINED=\u81ea\u5b9a\u4e49\u65b9\u6cd5

当然也可以根据自己所在国家加到对应的properties中

2. 修改读取配置文件的代码UserDefinedJavaClassCodeSnippits
步骤1只是修改了配置文件,但是还要在读取配置文件的代码中修改一下代码,
找到org.pentaho.di.ui.trans.steps.userdefinedjavaclass的UserDefinedJavaClassCodeSnippits.java,在定义枚举类型Category中添加如下代码
//添加自定义方法
  SELF_DEFINED(BaseMessages.getString(PKG, "UserDefinedJavaClassCodeSnippits.categories.SELF_DEFINED"));


3. 把要加入的自定义方法写到配置文件codeSnippits.xml
在org.pentaho.di.ui.trans.steps.userdefinedjavaclass中找到codeSnippits.xml,加入自己的自定义方法
<!-- 刷新环境变量 start -->
 <codeSnippit>
  <name>刷新环境变量</name>
  <category>SELF_DEFINED</category>
  <code><![CDATA[private void refreshEnvironment() throws KettleException
{
    //初始化环境变量,确保每次运行时,内存中的环境变量都是最新的
 //如果放在if(first){}内执行,则以后修改了kettle.properties文件也不用重启
 org.pentaho.di.core.util.EnvUtil.environmentInit();
}
]]></code>
  <sample><![CDATA[private void refreshEnvironment() throws KettleException
{
    //初始化环境变量,确保每次运行时,内存中的环境变量都是最新的
 //如果放在if(first){}内执行,则以后修改了kettle.properties文件也不用重启
 org.pentaho.di.core.util.EnvUtil.environmentInit();
}
]]></sample>
 </codeSnippit>
    <!-- 刷新环境变量 end -->


4.  方法高亮显示
这个步骤可选,如果想步骤高亮显示,
找到org.pentaho.di.ui.trans.steps.userdefinedjavaclass的UserDefinedJavaClassHighlight.java,在定义数组UDJC_FUNCTIONS里加入如下代码:
"refreshEnvironment",//刷新环境变量


5. 关键字高亮显示
这个步骤可选,而且跟前面步骤没什么关系,used defined java class里的true,false不是高亮显示的,如果想改为高亮显示,可以这样做
找到org.pentaho.di.ui.trans.steps.userdefinedjavaclass的UserDefinedJavaClassHighlight.java,在定义数组JAVA_KEYWORDS里加入如下代码:
"true","false",//true,false

你可能感兴趣的:(Kettle)