diff --git a/wizard-server/src/main/java/org/cobbzilla/wizard/dao/AbstractDAO.java b/wizard-server/src/main/java/org/cobbzilla/wizard/dao/AbstractDAO.java index 762b0c6..b22fb61 100644 --- a/wizard-server/src/main/java/org/cobbzilla/wizard/dao/AbstractDAO.java +++ b/wizard-server/src/main/java/org/cobbzilla/wizard/dao/AbstractDAO.java @@ -248,6 +248,13 @@ public abstract class AbstractDAO implements DAO { @Getter(lazy=true) private final SearchViewContext searchViewContext = new SearchViewContext(getEntityClass()); @Getter(lazy=true) private final SqlViewField[] searchFields = getSearchViewContext().getSearchFields(); + public SqlViewField findSearchField(Class type, String name) { + for (SqlViewField f : getSearchFields()) { + if (f.getType().equals(type) && f.getProperty().equals(name)) return f; + } + return null; + } + // default search view is the table itself. subclasses can override this and provide custom views @Getter(lazy=true) private final String searchView = initSearchView(); private String initSearchView() { diff --git a/wizard-server/src/main/java/org/cobbzilla/wizard/dao/SearchResults.java b/wizard-server/src/main/java/org/cobbzilla/wizard/dao/SearchResults.java index ce1117b..21d62cb 100644 --- a/wizard-server/src/main/java/org/cobbzilla/wizard/dao/SearchResults.java +++ b/wizard-server/src/main/java/org/cobbzilla/wizard/dao/SearchResults.java @@ -46,6 +46,7 @@ public class SearchResults implements Scrubbable { @Getter @Setter private List results = new ArrayList<>(); @Getter @Setter private Integer totalCount; @Getter @Setter private String nextPage; + @Getter @Setter private String error; public String getResultType() { return empty(results) ? null : results.get(0).getClass().getName(); } public void setResultType (String val) {} // noop