/[projects]/WebConfig/src/dk/thoerup/webconfig/ConfigServlet.java
ViewVC logotype

Diff of /WebConfig/src/dk/thoerup/webconfig/ConfigServlet.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1370 by torben, Wed Apr 20 21:20:58 2011 UTC revision 1371 by torben, Thu Apr 21 05:50:38 2011 UTC
# Line 58  public class ConfigServlet extends HttpS Line 58  public class ConfigServlet extends HttpS
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 {
# Line 101  public class ConfigServlet extends HttpS Line 107  public class ConfigServlet extends HttpS
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()) {

Legend:
Removed from v.1370  
changed lines
  Added in v.1371

  ViewVC Help
Powered by ViewVC 1.1.20