// Source File Name: QueryJspFields.java
package cn.javass.themes.ssh3.visitors;
import cn.javass.xgen.genconf.vo.ExtendConfModel;
import cn.javass.xgen.genconf.vo.ModuleConfModel;
import cn.javass.xgen.template.visitors.TemplateElement;
import cn.javass.xgen.template.visitors.Visitor;
import java.util.Map;
public class QueryJspFields
implements Visitor
{
public QueryJspFields()
{
}
public Object visitTemplateElement(TemplateElement element)
{
ModuleConfModel moduleConf = element.getModuleConf();
String voFields[] = ((ExtendConfModel)moduleConf.getMapExtends().get("voFields")).getValues();
String voFieldsTypes[] = ((ExtendConfModel)moduleConf.getMapExtends().get("voFieldsTypes")).getValues();
String voFieldsNames[] = ((ExtendConfModel)moduleConf.getMapExtends().get("colunName_CN")).getValues();
StringBuffer buffer = new StringBuffer("");
int count = 0;
for(int i = 0; i < voFields.length; i++)
if(!isNumber(voFieldsTypes[i]))
{
if(count == 0)
buffer.append("<tr>\n\t");
buffer.append((new StringBuilder("<td>")).append(voFieldsNames[i]).append("</td>\n\t").toString());
buffer.append((new StringBuilder("<td><input type=\"text\" name=\"qm.")).append(voFields[i]).append("\" ></td>\n\t").toString());
if(++count == 2)
{
buffer.append("</tr>\n");
count = 0;
}
}
count = 0;
String qmVoFields[] = ((ExtendConfModel)moduleConf.getMapExtends().get("qmVoFields")).getValues();
String qmVoFieldsNames[] = ((ExtendConfModel)moduleConf.getMapExtends().get("qmColunName_CN")).getValues();
for(int i = 0; i < voFields.length; i++)
if(isNumber(voFieldsTypes[i]))
{
buffer.append("<tr>\n\t");
int qmIndex = qmHasField((new StringBuilder(String.valueOf(voFields[i]))).append("2").toString(), qmVoFields);
if(qmIndex > 0)
{
buffer.append((new StringBuilder("<td>")).append(voFieldsNames[i]).append("\u5927\u4E8E\u7B49\u4E8E</td>\n\t").toString());
buffer.append((new StringBuilder("<td><input type=\"text\" name=\"qm.")).append(voFields[i]).append("\" ></td>\n\t").toString());
buffer.append((new StringBuilder("<td>")).append(qmVoFieldsNames[qmIndex - 1]).append("</td>\n\t").toString());
buffer.append((new StringBuilder("<td><input type=\"text\" name=\"qm.")).append(qmVoFields[qmIndex - 1]).append("\"></td>\n").toString());
} else
{
buffer.append((new StringBuilder("<td>")).append(voFieldsNames[i]).append("</td>\n\t").toString());
buffer.append((new StringBuilder("<td><input type=\"text\" name=\"qm.")).append(voFields[i]).append("\" ></td>\n\t").toString());
}
buffer.append("</tr>\n");
}
return buffer.toString();
}
private int qmHasField(String fName, String qmVoFields[])
{
for(int i = 1; i <= qmVoFields.length; i++)
if(qmVoFields[i - 1].equals(fName))
return i;
return 0;
}
private boolean isNumber(String type)
{
return "int".equals(type) || "Integer".equals(type) || "float".equals(type) || "Float".equals(type) || "double".equals(type) || "Double".equals(type);
}
}