mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-22 21:55:39 +00:00
fixed passing on of quoted keyword queries through REST API
Change-Id: I2cb64dca46d7688ec5224dd17ef04f50249d5e45
This commit is contained in:
+6
-3
@@ -45,11 +45,14 @@ public class GetSearchResultsAction implements SailingAction<ListResult<SearchRe
|
||||
public ListResult<SearchResultDTO> execute(SailingDispatchContext ctx) throws DispatchException {
|
||||
KeywordQuery searchQuery = new KeywordQuery(Util.splitAlongWhitespaceRespectingDoubleQuotedPhrases(searchText));
|
||||
RacingEventService service = ctx.getRacingEventService();
|
||||
final ListResult<SearchResultDTO> result;
|
||||
if (remoteServerName == null) {
|
||||
return getListResult(service.search(searchQuery), ctx.getRequestBaseURL(), false);
|
||||
result = getListResult(service.search(searchQuery), ctx.getRequestBaseURL(), false);
|
||||
} else {
|
||||
RemoteSailingServerReference remoteServer = service.getRemoteServerReferenceByName(remoteServerName);
|
||||
result = getListResult(service.searchRemotely(remoteServerName, searchQuery), remoteServer.getURL(), true);
|
||||
}
|
||||
RemoteSailingServerReference remoteServer = service.getRemoteServerReferenceByName(remoteServerName);
|
||||
return getListResult(service.searchRemotely(remoteServerName, searchQuery), remoteServer.getURL(), true);
|
||||
return result;
|
||||
}
|
||||
|
||||
@GwtIncompatible
|
||||
|
||||
+6
@@ -4,6 +4,12 @@
|
||||
<div id="mainContent">
|
||||
<h4 class="articleHeadline">What's New - SAP Sailing Analytics</h4>
|
||||
<div class="innerContent">
|
||||
<h5 class="articleSubheadline">October 2018</h5>
|
||||
<ul class="bulletList">
|
||||
<li>Searching for phrases containing whitespace characters with double quotes such as "Tobias Schadewaldt" will now work
|
||||
across a distributed server and event landscape.</li>
|
||||
</ul>
|
||||
|
||||
<h5 class="articleSubheadline">August 2018</h5>
|
||||
<ul class="bulletList">
|
||||
<li>The windstreamlets are now colored dynamically according to the wind fields maximum and minimum wind speed.</li>
|
||||
|
||||
+2
-1
@@ -17,6 +17,7 @@ import com.sap.sailing.server.gateway.serialization.impl.EventBaseJsonSerializer
|
||||
import com.sap.sailing.server.gateway.serialization.impl.LeaderboardGroupBaseJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.LeaderboardSearchResultJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.VenueJsonSerializer;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.search.KeywordQuery;
|
||||
import com.sap.sse.common.search.Result;
|
||||
|
||||
@@ -37,7 +38,7 @@ public class SearchResource extends AbstractSailingServerResource {
|
||||
@GET
|
||||
@Produces("application/json;charset=UTF-8")
|
||||
public Response search(@QueryParam("q") String keywords) {
|
||||
KeywordQuery query = new KeywordQuery(keywords.split(" "));
|
||||
KeywordQuery query = new KeywordQuery(Util.splitAlongWhitespaceRespectingDoubleQuotedPhrases(keywords));
|
||||
Iterable<LeaderboardSearchResult> searchResults = search(query).getHits();
|
||||
JSONArray jsonSearchResults = new JSONArray();
|
||||
for (LeaderboardSearchResult searchResult : searchResults) {
|
||||
|
||||
@@ -45,7 +45,9 @@ public class KeywordQuery implements Query, Serializable {
|
||||
} else {
|
||||
sb.append(' ');
|
||||
}
|
||||
sb.append('"');
|
||||
sb.append(keyword);
|
||||
sb.append('"');
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user