From 275e0f3fdd4f10f5cdb04416c0d8cbb2092c065e Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Tue, 31 Dec 2019 11:42:38 -0500 Subject: [PATCH] add AbstractDAO.findSearchField and SearchResults.error --- .../main/java/org/cobbzilla/wizard/dao/AbstractDAO.java | 7 +++++++ .../main/java/org/cobbzilla/wizard/dao/SearchResults.java | 1 + 2 files changed, 8 insertions(+) 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