use of org.pentaho.metaverse.impl.model.ParamInfo in project pentaho-metaverse by pentaho.
the class TransformationRuntimeExtensionPoint method populateExecutionProfile.
protected void populateExecutionProfile(IExecutionProfile executionProfile, Trans trans) {
TransMeta transMeta = trans.getTransMeta();
String filename = trans.getFilename();
if (filename == null) {
filename = transMeta.getPathAndName();
}
String filePath = null;
if (trans.getRepository() == null) {
try {
filePath = KettleAnalyzerUtil.normalizeFilePath(filename);
} catch (Exception e) {
log.warn("Couldn't normalize file path: " + filename, e);
filePath = filename;
}
} else {
filePath = filename;
}
// Set artifact information (path, type, description, etc.)
executionProfile.setPath(filePath);
executionProfile.setName(transMeta.getName());
executionProfile.setType(DictionaryConst.NODE_TYPE_TRANS);
executionProfile.setDescription(transMeta.getDescription());
// Set execution engine information
executionProfile.setExecutionEngine(getExecutionEngineInfo());
IExecutionData executionData = executionProfile.getExecutionData();
// Store execution information (client, server, user, etc.)
executionData.setStartTime(new Timestamp(new Date().getTime()));
KettleClientEnvironment.ClientType clientType = KettleClientEnvironment.getInstance().getClient();
executionData.setClientExecutor(clientType == null ? "DI Server" : clientType.name());
executionData.setExecutorUser(trans.getExecutingUser());
executionData.setExecutorServer(trans.getExecutingServer());
// Store variables
List<String> vars = transMeta.getUsedVariables();
Map<Object, Object> variableMap = executionData.getVariables();
for (String var : vars) {
String value = trans.getVariable(var);
if (var != null && value != null) {
variableMap.put(var, value);
}
}
// Store parameters
String[] params = trans.listParameters();
List<IParamInfo<String>> paramList = executionData.getParameters();
if (params != null) {
for (String param : params) {
try {
ParamInfo paramInfo = new ParamInfo(param, trans.getParameterDescription(param), trans.getParameterDefault(param));
paramList.add(paramInfo);
} catch (UnknownParamException e) {
log.error("Couldn't find transformation parameter: " + param, e);
}
}
}
// Store arguments
String[] args = trans.getArguments();
List<Object> argList = executionData.getArguments();
if (args != null) {
argList.addAll(Arrays.asList(args));
}
}
Aggregations