ViewModel.java
2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package com.taover.codegenerate.model.bussiness;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;
import com.taover.codegenerate.db.TableColumn;
public class ViewModel {
private String webRootPath;
private String controllerPathMap;
//map结构如下
//name:"",easyui:"numberbox|validatebox|datetimebox",required:true|false,precision:0,min:0,max:32767,validType
private List<Map<String, String>> fields = new ArrayList<Map<String, String>>();
private ViewModel(){}
public static ViewModel createViewModel(String controllerPathMap, String webRootPath,Vector<TableColumn> tableColumns){
ViewModel model = new ViewModel();
model.controllerPathMap = controllerPathMap;
model.webRootPath = webRootPath;
for(TableColumn column : tableColumns){
String fieldName = column.getColumBeanLName();
String fieldType = column.getJAVADataType();
Map<String, String> columnMap = new HashMap<String, String>();
columnMap.put("name", fieldName);
if("Byte|Long|Integer|Short".indexOf(fieldType) != -1){
columnMap.put("easyui", "numberbox");
columnMap.put("attr", " precision=\"0\" ");
}else if("Float|Double".indexOf(fieldType) != -1){
columnMap.put("easyui", "numberbox");
columnMap.put("attr", " precision=\"2\" ");
}else if("java.util.Date|java.sql.Time|java.sql.Timestamp".indexOf(fieldType) != -1){
columnMap.put("easyui", "datetimebox");
columnMap.put("attr", "");
}else{
columnMap.put("easyui", "validatebox");
columnMap.put("attr", " validType=\"length[0,"+column.getColumnSize()+"]\"");
}
if(!column.isNullable()){
columnMap.put("required", " required=\"true\" ");
}
String remarks = column.getRemarks();
String splitStr = ":";
if(remarks.contains(":")){
splitStr = ":";
}
String remarkPart[] = remarks.split(splitStr);
if(remarkPart.length > 0){
columnMap.put("cnName", remarkPart[0]);
}else{
columnMap.put("cnName", fieldName);
}
model.fields.add(columnMap);
}
return model;
}
public String getControllerPathMap() {
return controllerPathMap;
}
public void setControllerPathMap(String controllerPathMap) {
this.controllerPathMap = controllerPathMap;
}
public List<Map<String, String>> getFields() {
return fields;
}
public void setColumns(List<Map<String, String>> fields) {
this.fields = fields;
}
}