Skip to content

Commit 1c0b8fd

Browse files
committed
remove the elastic client from the alarm logging ui
1 parent 58c1759 commit 1c0b8fd

File tree

9 files changed

+118
-309
lines changed

9 files changed

+118
-309
lines changed

app/alarm/logging-ui/pom.xml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,6 @@
1212
<artifactId>core-framework</artifactId>
1313
<version>4.6.10-SNAPSHOT</version>
1414
</dependency>
15-
<dependency>
16-
<groupId>co.elastic.clients</groupId>
17-
<artifactId>elasticsearch-java</artifactId>
18-
<version>${es.version}</version>
19-
</dependency>
20-
<dependency>
21-
<groupId>org.elasticsearch.client</groupId>
22-
<artifactId>elasticsearch-rest-client-sniffer</artifactId>
23-
<version>6.8.4</version>
24-
</dependency>
2515
<dependency>
2616
<groupId>org.phoebus</groupId>
2717
<artifactId>core-ui</artifactId>
@@ -48,5 +38,10 @@
4838
<version>4.6.10-SNAPSHOT</version>
4939
<scope>compile</scope>
5040
</dependency>
41+
<dependency>
42+
<groupId>com.sun.jersey</groupId>
43+
<artifactId>jersey-client</artifactId>
44+
<version>1.19</version>
45+
</dependency>
5146
</dependencies>
5247
</project>

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

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,27 @@
11
package org.phoebus.applications.alarm.logging.ui;
22

3+
import com.sun.jersey.api.client.WebResource;
34
import javafx.application.Platform;
45
import javafx.beans.binding.Bindings;
56
import javafx.beans.value.ObservableValue;
67
import javafx.collections.MapChangeListener;
78
import javafx.collections.ObservableMap;
89
import javafx.fxml.FXML;
9-
import javafx.fxml.FXMLLoader;
1010
import javafx.geometry.Pos;
1111
import javafx.scene.control.Button;
12-
import javafx.scene.control.ComboBox;
13-
import javafx.scene.control.Label;
1412
import javafx.scene.control.TextField;
1513
import javafx.scene.layout.AnchorPane;
1614
import javafx.scene.layout.GridPane;
1715
import javafx.scene.layout.HBox;
1816
import javafx.scene.layout.VBox;
19-
import co.elastic.clients.elasticsearch.ElasticsearchClient;
2017
import org.phoebus.applications.alarm.logging.ui.AlarmLogTableQueryUtil.Keys;
2118
import org.phoebus.ui.dialog.PopOver;
2219
import org.phoebus.ui.time.TimeRelativeIntervalPane;
2320
import org.phoebus.util.time.TimeParser;
2421
import org.phoebus.util.time.TimeRelativeInterval;
2522
import org.phoebus.util.time.TimestampFormats;
2623

27-
import java.io.IOException;
28-
import java.util.List;
29-
import java.util.logging.Level;
3024
import java.util.logging.Logger;
31-
import java.util.stream.Collectors;
3225

3326
import static org.phoebus.ui.time.TemporalAmountPane.Type.TEMPORAL_AMOUNTS_AND_NOW;
3427

@@ -64,15 +57,15 @@ public class AdvancedSearchViewController {
6457

6558
PopOver timeSearchPopover;
6659

67-
private ElasticsearchClient searchClient;
60+
private WebResource searchClient;
6861

6962
// Search parameters
7063
ObservableMap<Keys, String> searchParameters;
7164

7265
@FXML
7366
private AnchorPane advancedSearchPane;
7467

75-
public AdvancedSearchViewController(ElasticsearchClient client){
68+
public AdvancedSearchViewController(WebResource client){
7669
this.searchClient = client;
7770
}
7871

Lines changed: 9 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,26 @@
11
package org.phoebus.applications.alarm.logging.ui;
22

3-
import co.elastic.clients.elasticsearch.ElasticsearchClient;
4-
import co.elastic.clients.elasticsearch._types.FieldSort;
5-
import co.elastic.clients.elasticsearch._types.SortOptions;
6-
import co.elastic.clients.elasticsearch._types.SortOrder;
7-
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
8-
import co.elastic.clients.elasticsearch._types.query_dsl.WildcardQuery;
9-
import co.elastic.clients.elasticsearch.core.SearchResponse;
103
import com.fasterxml.jackson.databind.DeserializationFeature;
11-
import com.fasterxml.jackson.databind.JsonNode;
124
import com.fasterxml.jackson.databind.ObjectMapper;
13-
import com.fasterxml.jackson.databind.node.ObjectNode;
14-
import co.elastic.clients.elasticsearch.core.SearchRequest;
15-
import co.elastic.clients.elasticsearch._types.query_dsl.BoolQuery;
5+
import com.sun.jersey.api.client.WebResource;
166
import org.phoebus.applications.alarm.messages.AlarmConfigMessage;
17-
import org.phoebus.applications.alarm.messages.AlarmStateMessage;
18-
import org.phoebus.framework.jobs.*;
7+
import org.phoebus.framework.jobs.Job;
8+
import org.phoebus.framework.jobs.JobManager;
9+
import org.phoebus.framework.jobs.JobRunnableWithCancel;
1910

20-
import java.io.IOException;
21-
import java.time.Instant;
22-
import java.time.LocalDateTime;
2311
import java.time.ZoneId;
2412
import java.time.format.DateTimeFormatter;
25-
import java.util.*;
13+
import java.util.ArrayList;
14+
import java.util.List;
2615
import java.util.function.BiConsumer;
2716
import java.util.function.Consumer;
28-
import java.util.stream.Collectors;
2917

3018
/**
3119
* A Job to retrieve the latest alarm configuration details
3220
* @author Kunal Shroff
3321
*/
3422
public class AlarmLogConfigSearchJob extends JobRunnableWithCancel {
35-
private final ElasticsearchClient client;
23+
private final WebResource client;
3624
private final String pattern;
3725

3826
private final Consumer<List<AlarmConfigMessage>> alarmMessageHandler;
@@ -41,15 +29,15 @@ public class AlarmLogConfigSearchJob extends JobRunnableWithCancel {
4129
private final ObjectMapper objectMapper;
4230
private DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS").withZone(ZoneId.of("UTC"));
4331

44-
public static Job submit(ElasticsearchClient client,
32+
public static Job submit(WebResource client,
4533
final String pattern,
4634
final Consumer<List<AlarmConfigMessage>> alarmMessageHandler,
4735
final BiConsumer<String, Exception> errorHandler) {
4836
return JobManager.schedule("searching alarm log messages for : " + pattern,
4937
new AlarmLogConfigSearchJob(client, pattern, alarmMessageHandler, errorHandler));
5038
}
5139

52-
private AlarmLogConfigSearchJob(ElasticsearchClient client,
40+
private AlarmLogConfigSearchJob(WebResource client,
5341
String pattern,
5442
Consumer<List<AlarmConfigMessage>> alarmMessageHandler,
5543
BiConsumer<String, Exception> errorHandler) {
@@ -70,67 +58,9 @@ public String getName() {
7058
@Override
7159
public Runnable getRunnable() {
7260
return () -> {
73-
String searchPattern = "*".concat(pattern).concat("*");
74-
int size = 1;
75-
BoolQuery boolQuery = BoolQuery.of(bq->bq
76-
.must(Query.of(q->q
77-
.wildcard(WildcardQuery.of(w->w
78-
.field("config")
79-
.value(searchPattern)
80-
)
81-
)
82-
)
83-
)
84-
);
85-
86-
SearchRequest searchRequest = SearchRequest.of(req->req
87-
.query(Query.of(q->q
88-
.bool(boolQuery)
89-
)
90-
)
91-
.index("*alarms_config*")
92-
.size(size)
93-
.sort(
94-
SortOptions.of(s->s
95-
.field(FieldSort.of(f->f
96-
.field("message_time")
97-
.order(SortOrder.Desc)
98-
)
99-
)
100-
)
101-
)
102-
);
10361
List<String> result;
10462
List<AlarmConfigMessage> cResult = new ArrayList<>();
105-
SearchResponse<AlarmConfigMessage> response;
106-
try {
107-
response = client.search(searchRequest, AlarmConfigMessage.class);
108-
response.hits().hits().forEach(hit->cResult.add(hit.source()));
109-
/*result = Arrays.asList(client.search(searchRequest, AlarmConfigMessage.class).hits().hits()).stream()
110-
.map(hit -> {
111-
try {
112-
String source = hit.getSourceAsString();
113-
JsonNode root = objectMapper.readTree(source);
114-
JsonNode time = ((ObjectNode) root).remove("time");
115-
JsonNode message_time = ((ObjectNode) root).remove("message_time");
116-
JsonNode message = ((ObjectNode) root).get("config_msg");
11763

118-
String alarmSource = message.asText().trim();
119-
// Backwards compatibility for the old invalid json representation of alarm messages
120-
if (alarmSource.startsWith("AlarmConfigMessage")) {
121-
return alarmSource.replace("AlarmConfigMessage","");
122-
}
123-
Object json = objectMapper.readValue(alarmSource, Object.class);
124-
return objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(json);
125-
} catch (Exception e) {
126-
errorHandler.accept("Failed to search for alarm config ", e);
127-
return null;
128-
}
129-
}).collect(Collectors.toList());*/
130-
alarmMessageHandler.accept(cResult);
131-
} catch (IOException e) {
132-
errorHandler.accept("Failed to search for alarm config ", e);
133-
}
13464
};
13565
}
13666
}

0 commit comments

Comments
 (0)