Changeset 3459
- Timestamp:
- 09/02/10 22:11:50 (17 months ago)
- Location:
- molgenis/3.3/src/org/molgenis
- Files:
-
- 3 edited
-
generators/ui/FormScreenGen.java.ftl (modified) (2 diffs)
-
model/MolgenisModelParser.java (modified) (8 diffs)
-
model/elements/Form.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
molgenis/3.3/src/org/molgenis/generators/ui/FormScreenGen.java.ftl
r3417 r3459 66 66 this.setLabel("${form.label}"); 67 67 this.setLimit(${form.limit}); 68 <#if form.sortby?exists> 68 69 <#if form.sortby?exists> 69 70 //sort is a bit hacky awaiting redesign of the Form classes 70 71 try 71 72 { 72 73 ((FormController)this.getController()).getPager().setOrderByField("${form.sortby}".toLowerCase()); 73 this.setSort("${form.sortby}".toLowerCase()); 74 ((FormController)this.getController()).getPager().setOrderByOperator(Operator.SORT${form.sortorder}); 75 this.setSort("${form.sortby}"); 74 76 } 75 77 catch (DatabaseException e) … … 78 80 e.printStackTrace(); 79 81 } 80 </#if>82 </#if> 81 83 this.setMode(FormModel.Mode.${form.viewType}); 82 84 this.setCsvReader(new ${entity}CsvReader()); -
molgenis/3.3/src/org/molgenis/model/MolgenisModelParser.java
r3417 r3459 43 43 import org.molgenis.model.elements.View; 44 44 import org.molgenis.model.elements.Field.Type; 45 import org.molgenis.model.elements.Form.SortOrder; 45 46 import org.w3c.dom.Document; 46 47 import org.w3c.dom.Element; … … 165 166 for (String name : elem.getAttribute("fields").split(",")) 166 167 { 167 // Field f = entity.getField(name); 168 // if (f == null) 169 // { 170 // // try to get superclass field (need to copy it then) 171 // f = entity.getAllField(name); 172 // if (f == null) throw new MolgenisModelException("Missing unique field '" + name 173 // + "' in entity '" + entity.getName() + "'"); 174 // 175 // // copy the field so it will end up in the table (as 176 // // redundant copy) to enforce unique 177 // // f = new Field(f); 178 // // f.setEntity(entity); 179 // // f.setSystem(true); 180 // // entity.addField(f); 181 // } 168 // Field f = entity.getField(name); 169 // if (f == null) 170 // { 171 // // try to get superclass field (need to copy it then) 172 // f = entity.getAllField(name); 173 // if (f == null) throw new 174 // MolgenisModelException("Missing unique field '" + name 175 // + "' in entity '" + entity.getName() + "'"); 176 // 177 // // copy the field so it will end up in the table (as 178 // // redundant copy) to enforce unique 179 // // f = new Field(f); 180 // // f.setEntity(entity); 181 // // f.setSystem(true); 182 // // entity.addField(f); 183 // } 182 184 183 185 keys.add(name); … … 194 196 String name = elem.getAttribute("name"); 195 197 // should include superclass methods now 196 // if (f == null) 197 // { 198 // throw new MolgenisModelException("Missing unique field: " + elem.getAttribute("name")); 199 // // return null; 200 // } 198 // if (f == null) 199 // { 200 // throw new MolgenisModelException("Missing unique field: " + 201 // elem.getAttribute("name")); 202 // // return null; 203 // } 201 204 202 205 keys.add(name); 203 206 } 204 205 // description207 208 // description 206 209 String key_description = null; 207 210 if (elem.hasAttribute("description")) key_description = elem.getAttribute("description"); … … 387 390 if (type.equals("varchar")) type = "string"; 388 391 if (type.equals("number")) type = "int"; 389 if (type.equals("boolean")) type ="bool";390 if (type.equals("xref_single")) type = "xref";392 if (type.equals("boolean")) type = "bool"; 393 if (type.equals("xref_single")) type = "xref"; 391 394 if (type.equals("xref_multiple")) type = "mref"; 392 395 if (label.equals("")) label = name; … … 470 473 // caveat, can be both ends!!! 471 474 if (mref_name.equals("") && (xref_entity.equals(""))) throw new MolgenisModelException( 472 "xref_entity must be set for xref field '" + field.getName() + "' of entity '" 473 + entity.getName() +"'");475 "xref_entity must be set for xref field '" + field.getName() + "' of entity '" + entity.getName() 476 + "'"); 474 477 475 478 List<String> xref_labels = null; 476 if (xref_label != null) xref_labels = Arrays.asList(xref_label.split(","));477 479 if (xref_label != null) xref_labels = Arrays.asList(xref_label.split(",")); 480 478 481 field.setXRefVariables(xref_entity, xref_field, xref_labels); 479 482 … … 881 884 } 882 885 } 883 884 // SORT886 887 // SORT 885 888 String sortby = element.getAttribute("sortby"); 886 if (sortby != null)887 { 888 // TODO ensure valid sort field889 if (sortby != null && sortby != "") 890 { 891 // TODO ensure valid sort field 889 892 form.setSortby(sortby); 893 } 894 String sortorder = element.getAttribute("sortorder"); 895 if (sortorder != null && sortby != "") 896 { 897 if (!sortorder.equalsIgnoreCase(Form.SortOrder.ASC.toString()) 898 && !sortorder.equalsIgnoreCase(Form.SortOrder.DESC.toString())) 899 { 900 throw new MolgenisModelException( 901 "sortorder can only be 'asc' or 'desc'. Parser found <form name=\"" + form.getName() 902 + "\" sortorder=\"" + sortorder + "\""); 903 } 904 else 905 { 906 907 form.setSortorder(SortOrder.parse(sortorder)); 908 } 890 909 } 891 910 … … 943 962 if (f == null) 944 963 { 945 throw new MolgenisModelException("Could not find field '" 946 + field + "' defined in compact_view='"+element.getAttribute("compact_view")+"' in form '" + form.getName() + "'"); 964 throw new MolgenisModelException("Could not find field '" + field 965 + "' defined in compact_view='" + element.getAttribute("compact_view") + "' in form '" 966 + form.getName() + "'"); 947 967 } 948 968 compact_fields.add(field); … … 1105 1125 try 1106 1126 { 1107 field.setXrefLabelNames(Arrays.asList(new String[]{"id"})); 1127 field.setXrefLabelNames(Arrays.asList(new String[] 1128 { "id" })); 1108 1129 } 1109 1130 catch (Exception e) -
molgenis/3.3/src/org/molgenis/model/elements/Form.java
r3417 r3459 194 194 195 195 private String sortby; 196 197 /** 198 * Option to have a compact view only showing the assigned fields.. 199 * The other fields will be 'collapsed' with a '+' to uncollapse them. 196 private SortOrder sortorder = SortOrder.ASC; 197 public enum SortOrder 198 { 199 ASC, DESC; 200 public static SortOrder parse(String str) throws MolgenisModelException 201 { 202 if (str == null) throw new MolgenisModelException("SortOrder cannot be null"); 203 if(str.equalsIgnoreCase(SortOrder.ASC.toString())) return SortOrder.ASC; 204 if(str.equalsIgnoreCase(SortOrder.DESC.toString())) return SortOrder.DESC; 205 throw new MolgenisModelException("SortOrder can only be 'asc' or 'desc'"); 206 } 207 }; 208 209 /** 210 * Option to have a compact view only showing the assigned fields.. The 211 * other fields will be 'collapsed' with a '+' to uncollapse them. 200 212 */ 201 213 private List<String> compactView = new ArrayList<String>(); 202 214 203 215 /** */ 204 216 private static final long serialVersionUID = -2642011592737487306L; … … 343 355 this.compactView = compactFields; 344 356 } 345 357 346 358 public String toString() 347 359 { 348 360 String commands = ""; 349 for(String command: getCommands()) commands += command +","; 361 for (String command : getCommands()) 362 commands += command + ","; 350 363 String sortby = ""; 351 if(this.sortby != null) sortby = "sortby="+this.sortby; 352 return String.format("Form(name=%s, entity=%s, commands=%s,%s)", getName(), getRecord().getName(), commands,sortby); 364 if (this.sortby != null) sortby = "sortby=" + this.sortby; 365 return String.format("Form(name=%s, entity=%s, commands=%s,%s)", getName(), getRecord().getName(), commands, 366 sortby); 353 367 } 354 368 … … 362 376 this.sortby = sortby; 363 377 } 364 365 378 379 public SortOrder getSortorder() 380 { 381 return sortorder; 382 } 383 384 public void setSortorder(SortOrder sortorder) 385 { 386 this.sortorder = sortorder; 387 } 366 388 }
Note: See TracChangeset
for help on using the changeset viewer.