Skip to content

Commit 045b309

Browse files
authored
Merge pull request #2614 from ControlSystemStudio/CSSTUDIO-1879
Bug fix alarm logger config search
2 parents 46a7634 + 881a1d2 commit 045b309

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

services/alarm-logger/src/main/java/org/phoebus/alarm/logging/rest/AlarmLogSearchUtil.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,8 +292,9 @@ public static List<AlarmLogMessage> search(ElasticsearchClient client,
292292
*/
293293
public static List<AlarmLogMessage> searchConfig(ElasticsearchClient client, Map<String, String> allRequestParams) {
294294
String configString = allRequestParams.get("config");
295-
// Determine which alarm config to specify as Elasticsearch index
296-
String alarmConfig = configString.split("/")[1];
295+
// Determine which alarm config to specify as Elasticsearch index, convert to lower case as
296+
// indices are created using lower case.
297+
String alarmConfig = configString.split("/")[1].toLowerCase();
297298

298299
String searchPattern = "*".concat(configString).concat("*");
299300
int size = 1;

services/alarm-logger/src/main/java/org/phoebus/alarm/logging/rest/SearchController.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@
77
import com.fasterxml.jackson.databind.ObjectMapper;
88
import org.phoebus.alarm.logging.AlarmLoggingService;
99
import org.phoebus.alarm.logging.ElasticClientHelper;
10+
import org.springframework.http.HttpStatus;
1011
import org.springframework.web.bind.annotation.GetMapping;
1112
import org.springframework.web.bind.annotation.PathVariable;
1213
import org.springframework.web.bind.annotation.RequestMapping;
1314
import org.springframework.web.bind.annotation.RequestMethod;
1415
import org.springframework.web.bind.annotation.RequestParam;
1516
import org.springframework.web.bind.annotation.RestController;
17+
import org.springframework.web.server.ResponseStatusException;
1618

1719
import java.io.IOException;
1820
import java.util.HashMap;
@@ -84,6 +86,12 @@ public List<AlarmLogMessage> searchPv(@PathVariable String pv) {
8486

8587
@RequestMapping(value = "/search/alarm/config", method = RequestMethod.GET)
8688
public List<AlarmLogMessage> searchConfig(@RequestParam Map<String, String> allRequestParams) {
89+
if(allRequestParams == null ||
90+
allRequestParams.isEmpty() ||
91+
!allRequestParams.containsKey("config") ||
92+
allRequestParams.get("config").isEmpty()){
93+
throw new ResponseStatusException(HttpStatus.BAD_REQUEST);
94+
}
8795
List<AlarmLogMessage> result = AlarmLogSearchUtil.searchConfig(ElasticClientHelper.getInstance().getClient(), allRequestParams);
8896
return result;
8997
}

0 commit comments

Comments
 (0)