Talend Open Studioのコード(ルーチン)の書き方

Talend Open Studioコード(ルーチン)のJavaコードの書き方についてご説明します。この記事は、Talend Open Studio for Data Integration v5.4.2 をベースに作成しています。

この記事で作成するコード(ルーチン)は、過去の以下の記事で作成した「t001_SampleJob」で使用することを想定した内容になっています。このサンプルジョブでは、総務省が提供する「標準地域コード」のCSVファイルを題材にした内容になっています。このジョブの作成方法は以下の記事にてご紹介済みです。是非御覧下さい。
Talend Open Studio で簡単なジョブの作成(前半)
Talend Open Studio で簡単なジョブの作成(後半)

Talend Open Studioにおけるコード(ルーチン)はJavaクラスとして扱われます。コードエディタを開いて分かりますが、一般的なJavaクラスのコードと同様に、package、classの宣言が実装されたものです。新規作成したコード(ルーチン)にはあらかじめ hellowExampleメソッドが記載されていて、コメントの書き方も含めて参考にできます。この記事では、前述のとおり「標準地域コード」を題材とした「t001_SampleJob」で利用するJavaコードとして記述しています。

# 今となってはサンデー・プログラマなので、Javaコードに不備があればどしどしご指摘ください。


1.Talend Open Studioコード(ルーチン)を編集するために、リポジトリツリーの「コード」>「ルーチン」>「SampleCode」フォルダ>SampleClass1 を開きます。このルーチンは前回の記事で作成しています。作成方法は「Talend Open Studioのコード(ルーチン)の新規作成方法」をご参照下さい。

コード(ルーチン)の編集

コード(ルーチン)を開く

2.ルーチンを開くと、Javaコードのエディタが起動します。ルーチンの新規作成時点では、以下のサンプルコードがあらかじめ記載されています。見てお分かりのとおり、一般的なJavaクラスが、routines.SampleClass1 として自動生成されています。コード(ルーチン)の作成としては、この routines.SampleClass1 に対してコードを編集する形で進めます。


Sponsored Link

package routines;

/*
 * user specification: the function's comment should contain keys as follows: 1. write about the function's comment.but
 * it must be before the "{talendTypes}" key.

 ・・・中略・・・

 * added. you can have many parameters for the Function.
 *
 * 5. {example} gives a example for the Function. it is optional.
 */
public class SampleClass1 {

    /**
     * helloExample: not return value, only print "hello" + message.
     *
     *
     * {talendTypes} String
     *
     * {Category} User Defined
     *
     * {param} string("world") input: The string need to be printed.
     *
     * {example} helloExemple("world") # hello world !.
     */
    public static void helloExample(String message) {
        if (message == null) {
            message = "World"; //$NON-NLS-1$
        }
        System.out.println("Hello " + message + " !"); //$NON-NLS-1$ //$NON-NLS-2$
    }
}

3.追加コードとして、hellowExampleメソッドが閉じられた直後の43行目あたりから、以下のコードを記述します(コピペで構いません)。この getAreaNameメソッドが果たす役割は、標準地域コードCSVが持つ、都道府県、市町村1、市町村2、市町村3の4つを引数として、それらを半角スペースを間に挟めて文字列結合し結果として返すものです。

    public static String getAreaNmae(String kenName, String sityosonName1, String sityosonName2,String sityosonName3) {

    	String areaName = "";

    	if( kenName == null ) {
    		kenName = "";
    	}
    	if( sityosonName1 == null ) {
    		sityosonName1 = "";
    	}
    	if( sityosonName2 == null ) {
    		sityosonName2 = "";
    	}
    	if( sityosonName3 == null ) {
    		sityosonName3 = "";
    	}

    	if( kenName.length() > 0 ) {
    		areaName = kenName;
    	}
    	if( sityosonName1.length() > 0 ) {
    		areaName += " "+sityosonName1;
    	}
    	if( sityosonName2.length() > 0 ) {
    		areaName += " "+sityosonName2;
    	}
    	if( sityosonName3.length() > 0 ) {
    		areaName += " "+sityosonName3;
    	}

    	return areaName;

    }

4.上記のコードの記述が終わったら、ぜひともメソッドに対するコメントも付け加えておきましょう。コメントはJavaDocでも扱われるようなメソッドの説明を記述することができ、複数メンバーで開発する場合には大変役立つものです(というより記載なしはマズイですよね)。このコメントをつけることによって、コンポーネントの中でこのメソッドを呼び出すときに、メソッド名と合わせて記載の説明が表示されるのです。どのように表示されるかの詳細なご説明は次回の記事にて行います。以下のコメントは、getAreaNameメソッドの直上に記載しておきます。日本語も問題なく利用できますので可読性は良いです。

    /**
     * 標準地域コードの都道府県・市町村名を連結した文字列を取得します。
     *
     * {talendTypes} String
     *
     * {Category} SampleCode
     *
     * {param} string("kenName") 都道府県名(CSVのken-name)
     * {param} string("sityosonName1") 市町村名1(CSVのsityouson-name1)
     * {param} string("sityosonName2") 市町村名2(CSVのsityouson-name2)
     * {param} string("sityosonName3") 市町村名3(CSVのsityouson-name3)
     *
     * {example} getAreaNmae("北海道","札幌市",null, "東区") # 北海道 札幌市 東区
     */

 

一連の編集作業が完了したら、忘れずにJavaコードを保存します。Javaコードのエディタ上で文法チェックはしてくれるので、エラーがないことは確認しておいて下さい。

Javaコードによる、コード(ルーチン)の書き方に関するご説明は以上となります。

次回の記事にて、上記コメントがどのように参照され、開発がしやすくなるかをご説明します。


Sponsored Link

関連記事

code_01

Talend Open Studio のコード(ルーチン)とは

Talend Open Studio で利用するコード(ルーチン)についてご紹介します。この記事は、

記事を読む

Talend Open Studioのコード(ルーチン)の使い方

Talend Open Studio でコード(ルーチン)の使い方についてご説明します。この記事は、

記事を読む

Talend Open Studioのコード(ルーチン)の新規作成方法

Talend Open Studio でコード(ルーチン)を新規作成する方法についてご紹介します。こ

記事を読む

PAGE TOP ↑