58 |
|
|
59 |
if (anno.readonly() == false) { |
if (anno.readonly() == false) { |
60 |
if (field.getType().getName().equals("boolean") ) { |
if (field.getType().getName().equals("boolean") ) { |
61 |
String trueSelected = field.get(configObject).toString().equals("true") ? " selected " : ""; |
|
62 |
String falseSelected = field.get(configObject).toString().equals("false") ? " selected " : ""; |
String options = getBooleanSelectOptions(field,configObject); |
|
String options = String.format("<option %s>true</option><option %s>false</option>", trueSelected, falseSelected); |
|
63 |
sb.append("<td><select name='varvalue'>").append(options).append("</select></td>"); |
sb.append("<td><select name='varvalue'>").append(options).append("</select></td>"); |
64 |
|
|
65 |
|
} else if (field.getType().isEnum()) { |
66 |
|
|
67 |
|
String options = getEnumSelectOptions(field,configObject); |
68 |
|
sb.append("<td><select name='varvalue'>").append(options).append("</select></td>"); |
69 |
|
|
70 |
} else { |
} else { |
71 |
sb.append("<td><input type='text' name='varvalue' value='").append( "" + field.get(configObject) ).append("' /></td>"); |
sb.append("<td><input type='text' name='varvalue' value='").append( "" + field.get(configObject) ).append("' /></td>"); |
72 |
|
|
73 |
} |
} |
74 |
sb.append("<td><input type='submit' name='Set' value='Set'></td>\n"); |
sb.append("<td><input type='submit' name='Set' value='Set'></td>\n"); |
75 |
} else { |
} else { |
107 |
resp.getWriter().print( sb.toString() ); |
resp.getWriter().print( sb.toString() ); |
108 |
} |
} |
109 |
|
|
110 |
|
String getBooleanSelectOptions(Field field, Object configObject) throws IllegalAccessException { |
111 |
|
String trueSelected = field.get(configObject).toString().equals("true") ? " selected " : ""; |
112 |
|
String falseSelected = field.get(configObject).toString().equals("false") ? " selected " : ""; |
113 |
|
return String.format("<option %s>true</option><option %s>false</option>", trueSelected, falseSelected); |
114 |
|
} |
115 |
|
|
116 |
|
String getEnumSelectOptions(Field field, Object configObject) throws IllegalAccessException { |
117 |
|
Class<?> cls = field.getType(); |
118 |
|
StringBuilder sb = new StringBuilder(); |
119 |
|
Object constants[] = cls.getEnumConstants(); |
120 |
|
|
121 |
|
String value = field.get(configObject).toString(); |
122 |
|
|
123 |
|
for (int i = 0; i < constants.length; i++) { |
124 |
|
String current = constants[i].toString(); |
125 |
|
String selected = current.equals(value) ? " selected " : ""; |
126 |
|
sb.append( String.format("<option %s>%s</option>", selected, current) ); |
127 |
|
} |
128 |
|
|
129 |
|
|
130 |
|
return sb.toString(); |
131 |
|
} |
132 |
|
|
133 |
String getCleanTypename(Class<?> cls) { |
String getCleanTypename(Class<?> cls) { |
134 |
|
|
135 |
if (cls.isEnum()) { |
if (cls.isEnum()) { |