From 87e7e2aa60ea5d02ef76477603d7f034d1a2f762 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Thu, 6 Sep 2018 20:20:45 -0700 Subject: Add location, leader email, and campus search field --- .../p4square/groupsindexer/SearchFieldsCache.java | 3 +-- .../groupsindexer/model/GroupSearchDocument.java | 24 +++++++++++++++++++++- .../model/GroupSearchDocumentAdapter.java | 5 ++++- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/p4square/groupsindexer/SearchFieldsCache.java b/src/main/java/com/p4square/groupsindexer/SearchFieldsCache.java index 39ab0f7..117069d 100644 --- a/src/main/java/com/p4square/groupsindexer/SearchFieldsCache.java +++ b/src/main/java/com/p4square/groupsindexer/SearchFieldsCache.java @@ -40,10 +40,9 @@ public class SearchFieldsCache { cachedFields = new ArrayList<>(); final GetCustomFieldLabelsResponse labels = ccbClient.getCustomFieldLabels(); - // TODO fields.add(new SearchField("campusId", "Campus", ...)); + cachedFields.add(new SearchField("area", "Campus", getValues(LookupTableType.AREA))); cachedFields.add(new SearchField("meetingDay", "Day", getValues(LookupTableType.MEET_DAY))); - for (final CustomField field : labels.getCustomFields()) { final LookupTableType type = getTypeFromString(field.getName()); if (type != null) { diff --git a/src/main/java/com/p4square/groupsindexer/model/GroupSearchDocument.java b/src/main/java/com/p4square/groupsindexer/model/GroupSearchDocument.java index 5708c4f..3f32194 100644 --- a/src/main/java/com/p4square/groupsindexer/model/GroupSearchDocument.java +++ b/src/main/java/com/p4square/groupsindexer/model/GroupSearchDocument.java @@ -7,7 +7,7 @@ import java.util.HashMap; import java.util.Map; /** - * A group description in ElasticSearch. + * A group description in the search results. */ public class GroupSearchDocument { @@ -29,6 +29,12 @@ public class GroupSearchDocument { @JsonProperty("leader-name") private String leaderName; + @JsonProperty("leader-email") + private String leaderEmail; + + @JsonProperty("location-city") + private String locationCity; + @JsonProperty("member-count") private int currentMembers; @@ -101,6 +107,22 @@ public class GroupSearchDocument { this.leaderName = leaderName; } + public String getLeaderEmail() { + return leaderEmail; + } + + public void setLeaderEmail(String leaderEmail) { + this.leaderEmail = leaderEmail; + } + + public String getLocationCity() { + return locationCity; + } + + public void setLocationCity(String locationCity) { + this.locationCity = locationCity; + } + public String getImageUrl() { return imageUrl; } diff --git a/src/main/java/com/p4square/groupsindexer/model/GroupSearchDocumentAdapter.java b/src/main/java/com/p4square/groupsindexer/model/GroupSearchDocumentAdapter.java index 2a9a089..744138a 100644 --- a/src/main/java/com/p4square/groupsindexer/model/GroupSearchDocumentAdapter.java +++ b/src/main/java/com/p4square/groupsindexer/model/GroupSearchDocumentAdapter.java @@ -19,6 +19,10 @@ public class GroupSearchDocumentAdapter implements Function 0) { + doc.setLocationCity(groupProfile.getAddresses().get(0).getCity()); + } doc.setCurrentMembers(groupProfile.getCurrentMembers()); doc.setGroupCapacity(groupProfile.getGroupCapacity()); doc.setChildcareProvided(groupProfile.isChildcareProvided()); @@ -39,7 +43,6 @@ public class GroupSearchDocumentAdapter implements Function