private void submitSearch() { List<ModelData> query = new ArrayList<ModelData>(); for (Field<?> field : formFields) { ModelData md = new BaseModelData(); MetaField mf = findField(field.getName()); if (mf == null || !enabledFields.containsKey(mf.getName()) || field.getValue() == null || field.getValue().toString().length() == 0 || !field.isValid()) { GWT.log("Will not submit field " + field.getName() + ".", null); continue; } md.set("field", mf); md.set("value", field.getValue()); query.add(md); } GWT.log("Submitting search with " + query.size() + " query elements.", null); AppEvent evt = new AppEvent(ApplicationEvents.SUBMIT_ADVANCED_SEARCH, query); evt.setData("asset", combo.getValue().getBean()); Dispatcher.forwardEvent(evt); }