import org.pentaho.di.trans.steps.userdefinedjavaclass.*;
import org.pentaho.di.trans.step.*;
import org.pentaho.di.core.row.*;
import org.pentaho.di.core.*;
import org.pentaho.di.core.exception.*;
String TransField;
String DbParamField;
int firstsign;
int lastsign;
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
{
// First, get a row from the default input hop
//
Object[] r = getRow();
// If the row object is null, we are done processing.
//
if (r == null) {
setOutputDone();
return false;
}
// Let's look up parameters only once for performance reason.
//
if (first) {
TransField = getParameter("Trans");
DbParamField = getParameter("DbParam");
first=false;
}
// It is always safest to call createOutputRow() to ensure that your output row's Object[] is large
// enough to handle any new fields you are creating in this step.
//
Object[] outputRow = createOutputRow(r, data.outputRowMeta.size());
String Trans = get(Fields.In, "Trans").getString(r);
String DbParam = get(Fields.In, "DbParam").getString(r);
//add by wangyong 2013-11-11
firstsign = Trans.indexOf("/");
lastsign = Trans.lastIndexOf("/");
DbParam = Trans.substring(0,firstsign)+":"+DbParam;
String Path = Trans.substring(0,lastsign);
Trans = Trans.substring(lastsign+1);
// Set the value in the output field
//
get(Fields.Out, "Path").setValue(outputRow, Path);
get(Fields.Out, "Trans").setValue(outputRow, Trans);
get(Fields.Out, "DbParam").setValue(outputRow, DbParam);
// putRow will send the row on to the default output hop.
//
putRow(data.outputRowMeta, outputRow);
return true;
}