package net.sf.minuteProject.utils;
import org.apache.commons.lang.StringUtils;
import net.sf.minuteProject.configuration.bean.model.data.Column;
import net.sf.minuteProject.configuration.bean.model.data.Function;
import net.sf.minuteProject.configuration.bean.model.data.FunctionColumn;
import net.sf.minuteProject.configuration.bean.model.data.Table;
import net.sf.minuteProject.configuration.bean.model.data.constant.Direction;
public class RoutineUtils {
public static boolean isReturn (Function function, Column column) {
for (FunctionColumn fc : function.getFunctionColumns()) {
if (fc.getName().toLowerCase().equals(column.getName().toLowerCase()))
return fc.isReturn();
}
return false;
}
public static Column getColumn(FunctionColumn functionColumn) {
if (functionColumn==null) return null;
Table table = functionColumn.getFunction().getEntity(Direction.ANY);
for (Column column : table.getColumns()) {
if (functionColumn.getName().toLowerCase().equals(column.getName().toLowerCase()))
return column;
}
return null;
}
public static String getFunctionCallName(Function function) {
return StringUtils.upperCase(function.getName()+"_CALL");
}
public static String getFunctionCall(Function function) {
return "call "+function.getName()+"("+getInput(function)+")";
}
private static String getInput(Function function) {
StringBuffer sb = new StringBuffer();
int size = function.getInputColumns().length;
for (int i=0; i<size; i++) {
sb.append("?");
if (i+1!=size)
sb.append(",");
}
return sb.toString();
}
}