hi
Please bear with me as I am a novice in Java.
I need to initialize some properties before transform. I am doing the following but my init() does not get called.
// Import cloverEtl classes.
import org.jetel.component.DataRecordTransform;
import org.jetel.data.DataRecord;
import org.jetel.metadata.DataRecordMetadata;
import java.util.Date;
public class ReformatDelete extends DataRecordTransform{
private Date now;
public boolean init(DataRecordMetadata[] sourceRecordsMetadata, DataRecordMetadata[] targetRecordsMetadata) {
now = new Date();
System.out.print("Initializing exp_date = "+ now);
return true;
}
public boolean transform(DataRecord[] source, DataRecord[] target){
/* now = new Date();
System.out.print("transform -- Initialising exp_date = "+ now);*/
// System.out.print(source[1].getField(1).toString()+" ");
target[0].getField(0).setValue(source[0].getField(0).getValue());
target[0].getField(1).setValue(source[0].getField(1).getValue());
target[0].getField(2).setValue(source[0].getField(2).getValue());
target[0].getField(3).setValue(source[0].getField(3).getValue());
target[0].getField(4).setValue(source[0].getField(4).getValue());
target[0].getField(5).setValue(source[0].getField(5).getValue()); //eff
target[0].getField(6).setValue(now); // exp
target[0].getField(7).setValue(now); // created date
target[0].getField(8).setValue(new String("dw")); // created by
return true;
}
}
Please bear with me as I am a novice in Java.
I need to initialize some properties before transform. I am doing the following but my init() does not get called.
// Import cloverEtl classes.
import org.jetel.component.DataRecordTransform;
import org.jetel.data.DataRecord;
import org.jetel.metadata.DataRecordMetadata;
import java.util.Date;
public class ReformatDelete extends DataRecordTransform{
private Date now;
public boolean init(DataRecordMetadata[] sourceRecordsMetadata, DataRecordMetadata[] targetRecordsMetadata) {
now = new Date();
System.out.print("Initializing exp_date = "+ now);
return true;
}
public boolean transform(DataRecord[] source, DataRecord[] target){
/* now = new Date();
System.out.print("transform -- Initialising exp_date = "+ now);*/
// System.out.print(source[1].getField(1).toString()+" ");
target[0].getField(0).setValue(source[0].getField(0).getValue());
target[0].getField(1).setValue(source[0].getField(1).getValue());
target[0].getField(2).setValue(source[0].getField(2).getValue());
target[0].getField(3).setValue(source[0].getField(3).getValue());
target[0].getField(4).setValue(source[0].getField(4).getValue());
target[0].getField(5).setValue(source[0].getField(5).getValue()); //eff
target[0].getField(6).setValue(now); // exp
target[0].getField(7).setValue(now); // created date
target[0].getField(8).setValue(new String("dw")); // created by
return true;
}
}
-
Thanks, I was looking at an older version that did not have public boolean init() signature. -
Hello !
It seems to me that you are using a newer version of Clover which has changed init() signature ->
public boolean init(Properties parameters, DataRecordMetadata[] sourceRecordsMetadata, DataRecordMetadata[] targetRecordsMetadata)
You may override public boolean init() only, since you don't need any metadata info.
David.
Please sign in to leave a comment.
Comments 2