Skip to content

Commit 226be80

Browse files
committed
Add pref for max search size, remove unused pattern
1 parent bb8f771 commit 226be80

File tree

3 files changed

+33
-39
lines changed

3 files changed

+33
-39
lines changed

app/alarm/logging-ui/src/main/java/org/phoebus/applications/alarm/logging/ui/AlarmLogSearchJob.java

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,35 +6,29 @@
66
import com.fasterxml.jackson.databind.ObjectMapper;
77
import com.sun.jersey.api.client.WebResource;
88
import javafx.collections.ObservableMap;
9-
import org.phoebus.applications.alarm.logging.ui.AlarmLogTableQueryUtil.Keys;
109
import org.phoebus.framework.jobs.Job;
1110
import org.phoebus.framework.jobs.JobManager;
1211
import org.phoebus.framework.jobs.JobMonitor;
1312
import org.phoebus.framework.jobs.JobRunnable;
1413
import org.phoebus.framework.preferences.PreferencesReader;
15-
import org.phoebus.util.time.TimeParser;
14+
import org.phoebus.applications.alarm.logging.ui.AlarmLogTableQueryUtil.Keys;
1615

1716
import javax.ws.rs.core.MediaType;
1817
import javax.ws.rs.core.MultivaluedHashMap;
1918
import javax.ws.rs.core.MultivaluedMap;
20-
import java.io.IOException;
21-
import java.time.Instant;
2219
import java.time.ZoneId;
2320
import java.time.format.DateTimeFormatter;
24-
import java.time.temporal.TemporalAmount;
25-
import java.util.ArrayList;
26-
import java.util.HashMap;
21+
import java.util.Arrays;
2722
import java.util.List;
28-
import java.util.Map;
2923
import java.util.function.BiConsumer;
3024
import java.util.function.Consumer;
25+
import java.util.stream.Collectors;
3126

3227
/**
3328
* A Job to search for alarm messages logged by the alarm logging service
3429
* @author Kunal Shroff
3530
*/
3631
public class AlarmLogSearchJob implements JobRunnable {
37-
private final String pattern;
3832
private final Boolean isNodeTable;
3933
private final ObservableMap<Keys, String> searchParameters;
4034
private final Consumer<List<AlarmLogTableType>> alarmMessageHandler;
@@ -55,14 +49,13 @@ public static Job submit(WebResource client,
5549
final Consumer<List<AlarmLogTableType>> alarmMessageHandler,
5650
final BiConsumer<String, Exception> errorHandler) {
5751
return JobManager.schedule("searching alarm log messages for : " + pattern,
58-
new AlarmLogSearchJob(client, pattern, isNodeTable, searchParameters, alarmMessageHandler, errorHandler));
52+
new AlarmLogSearchJob(client, isNodeTable, searchParameters, alarmMessageHandler, errorHandler));
5953
}
6054

61-
private AlarmLogSearchJob(WebResource client, String pattern, Boolean isNodeTable, ObservableMap<Keys, String> searchParameters,
62-
Consumer<List<AlarmLogTableType>> alarmMessageHandler, BiConsumer<String, Exception> errorHandler) {
55+
private AlarmLogSearchJob(WebResource client, Boolean isNodeTable, ObservableMap<Keys, String> searchParameters,
56+
Consumer<List<AlarmLogTableType>> alarmMessageHandler, BiConsumer<String, Exception> errorHandler) {
6357
super();
6458
this.client = client;
65-
this.pattern = pattern;
6659
this.isNodeTable = isNodeTable;
6760
this.searchParameters = searchParameters;
6861
this.alarmMessageHandler = alarmMessageHandler;
@@ -73,29 +66,25 @@ private AlarmLogSearchJob(WebResource client, String pattern, Boolean isNodeTabl
7366

7467
@Override
7568
public void run(JobMonitor monitor) {
76-
monitor.beginTask("searching for alarm log entires : " + pattern);
77-
String searchPattern = "*".concat(pattern).concat("*");
78-
int size = prefs.getInt("es_max_size");
79-
Boolean configSet = false;
69+
monitor.beginTask("searching for alarm log entires : " +
70+
searchParameters.entrySet().stream().map(e-> e.getKey() + ":" + e.getValue()).collect(Collectors.joining()));
71+
int size = prefs.getInt("results_max_size");
8072

8173
MultivaluedMap<String, String> map = new MultivaluedHashMap<>();
82-
map.addFirst("pv", "*");
83-
//final List<AlarmLogTableType> result = new ArrayList<>();
74+
searchParameters.entrySet().forEach(e -> {
75+
map.add(e.getKey().getName(), e.getValue());
76+
}
77+
);
78+
map.putIfAbsent("size", Arrays.asList(String.valueOf(size)));
79+
8480
try {
8581
List<AlarmLogTableType> result = objectMapper.readValue(client.path("/search/alarm")
8682
.queryParams(map)
8783
.accept(MediaType.APPLICATION_JSON).get(String.class), new TypeReference<List<AlarmLogTableType>>() {
8884
});
85+
alarmMessageHandler.accept(result);
8986
} catch (JsonProcessingException e) {
9087
e.printStackTrace();
9188
}
92-
93-
// try {
94-
// SearchResponse<AlarmLogTableType> response = client.search(searchRequest, AlarmLogTableType.class);
95-
// response.hits().hits().forEach(hit->result.add(hit.source()));
96-
// alarmMessageHandler.accept(result);
97-
// } catch (IOException e) {
98-
// errorHandler.accept("Failed to search for alarm logs ", e);
99-
// }
10089
}
10190
}

app/alarm/logging-ui/src/main/java/org/phoebus/applications/alarm/logging/ui/AlarmLogTableController.java

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,21 @@
1111
import javafx.collections.FXCollections;
1212
import javafx.collections.MapChangeListener;
1313
import javafx.collections.ObservableMap;
14-
import javafx.event.EventHandler;
1514
import javafx.fxml.FXML;
16-
import javafx.scene.control.*;
15+
import javafx.scene.control.Alert;
16+
import javafx.scene.control.Button;
17+
import javafx.scene.control.ContextMenu;
18+
import javafx.scene.control.MenuItem;
19+
import javafx.scene.control.ProgressIndicator;
20+
import javafx.scene.control.SelectionMode;
21+
import javafx.scene.control.SeparatorMenuItem;
22+
import javafx.scene.control.TableCell;
23+
import javafx.scene.control.TableColumn;
1724
import javafx.scene.control.TableColumn.CellDataFeatures;
1825
import javafx.scene.control.TableColumn.SortType;
26+
import javafx.scene.control.TableView;
27+
import javafx.scene.control.TextField;
1928
import javafx.scene.input.KeyCode;
20-
import javafx.scene.input.KeyEvent;
2129
import javafx.scene.layout.GridPane;
2230
import javafx.scene.paint.Color;
2331
import javafx.util.Callback;
@@ -39,14 +47,13 @@
3947
import java.util.List;
4048
import java.util.Map;
4149
import java.util.Map.Entry;
42-
import java.util.stream.Collectors;
43-
import java.util.concurrent.atomic.AtomicBoolean;
44-
4550
import java.util.concurrent.Executors;
4651
import java.util.concurrent.ScheduledExecutorService;
4752
import java.util.concurrent.ScheduledFuture;
4853
import java.util.concurrent.TimeUnit;
54+
import java.util.concurrent.atomic.AtomicBoolean;
4955
import java.util.logging.Level;
56+
import java.util.stream.Collectors;
5057

5158
import static org.phoebus.applications.alarm.logging.ui.AlarmLogTableApp.logger;
5259

@@ -316,12 +323,9 @@ public ObservableValue<String> call(CellDataFeatures<AlarmLogTableType, String>
316323
.map((e) -> e.getKey().getName().trim() + "=" + e.getValue().trim())
317324
.collect(Collectors.joining("&"))));
318325

319-
query.setOnKeyPressed(new EventHandler<KeyEvent>() {
320-
@Override
321-
public void handle(KeyEvent keyEvent) {
322-
if (keyEvent.getCode() == KeyCode.ENTER) {
323-
search();
324-
}
326+
query.setOnKeyPressed(keyEvent -> {
327+
if (keyEvent.getCode() == KeyCode.ENTER) {
328+
search();
325329
}
326330
});
327331

app/alarm/logging-ui/src/main/resources/alarm_logging_preferences.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
# -------------------------------------------------
44

55
service_uri = http://localhost:9000
6+
results_max_size = 10000

0 commit comments

Comments
 (0)