在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之User Defined Java Class步骤》示例代码,是最详细的udjc步骤说明文档,有示例理解更容易,更全面。
LS-DYNA-USERDEFINED-MATERIAL-EXAMPLE
错误提示:Abc.java:9: i is already defined in main(java.lang.String[]) int i = 2; 中文说明:变量重复定义了 例子说明: int i = 1; int i = 2; 3. 找不到符号: Test6.java:26: cannot find symbol symbol...
C++经典错误之already defined in *.obj解决方法需要根据具体情况选择解决方案,既可以将包含了操作函数的源文件改为头文件,也可以重新打开编译器,重新编译源文件,并将头文件和操作函数添加到external ...
此项目中com.burns.everyclass.ui.MainUI1是程序主界面, private static final String dirPath = "D:/MentorGraphics/CHS2010/lib"设置要查找的jar包路径,也可以设置maven都路径,然后可以搜索常用的类
汽车电子行业的DBC,用python脚本cantools 库解析出DBC并生成对应于Davinci Vector 工具的相关的脚本
USB 设备 类型 代码 完整版 device class subclass
* User-Defined Class Loader:这是开发人员通过拓展 ClassLoader 类定义的自定义加载器,加载程序员定义的一些类。 类加载器之间存在一种委派模式(Delegation Mode),当 JVM 加载一个类的时候,下层的加载器会将...
错误NameError: name ‘xxx’ is not defined总结情况一:要加双引号(” “)或者(’ ‘)而没加情况二:字符缩进格式的问题情况三:`if __name__==’__main__’ :` 没有和`class类`进行对齐情况四:NameError: ...
defined in a file called "HelloWorldapp.java". public class HelloWorldapp{ ^ 文件定义的公有类HelloWorldapp的名字和文件名不匹配。 运行时错误 Can't find class HelloWorldApp • 系统找不到名为...
luckysheet源码包
今天小编就为大家分享一篇解决layui调用自定义方法提示未定义的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
. eclipse 4.1 导入项目后 Target runtime Apache Tomcat v6.0 is not defined
但是在项目经过本地测试没有任何问题,打包上线后却会报错 webpackJsonp is not defined。这是因为公共文件必须在自己引用的js文件之前引用。 可以手动改文件引用,但是推荐以下解决办法: 找到build→webpack.prod...
In this new book, you'll learn how the module system improves reliability and maintainability, and how it can be used to reduce tight coupling of system components. Foreword by Kevlin Henney. ...
to present signal processing principles used in the software defined radio, ranging from analog ,digital modulation to RF, DSP and data conversion.
loading software components on the Java platform. They are unusual in supporting all of the following features: laziness, type-safe linkage, user-defined extensibility, and multiple communicating ...
看懂App加载Class的顺序和Method的顺序.zip,用于在使用应用程序时打印其结构
4.在User Defined Regions选项卡中自定义开始标签和结束标签,这里将开始和结束标签定义为“region”和“endregion” 5.点击Advanced 在Icon Theme Set 下拉选择 Modern 6.Apply 7.重启Eclipse