Skip to content

Commit a005e94

Browse files
authored
Sync up with Elasticsearch GeoIp interface changes: IpDatabaseProvider#isValid and IpDatabaseProvider#getDatabase methods have now projectId additional params. (#309)
1 parent f488f48 commit a005e94

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

src/main/java/co/elastic/logstash/filters/elasticintegration/geoip/IpDatabaseProvider.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import org.apache.logging.log4j.LogManager;
1010
import org.apache.logging.log4j.Logger;
11+
import org.elasticsearch.cluster.metadata.ProjectId;
1112
import org.elasticsearch.core.IOUtils;
1213
import org.elasticsearch.ingest.geoip.IpDatabase;
1314

@@ -33,13 +34,13 @@ public class IpDatabaseProvider implements org.elasticsearch.ingest.geoip.IpData
3334
}
3435

3536
@Override
36-
public Boolean isValid(String databaseIdentifierFileName) {
37+
public Boolean isValid(ProjectId projectId, String databaseIdentifierFileName) {
3738
final IpDatabaseHolder holder = getDatabaseHolder(databaseIdentifierFileName);
3839
return Objects.nonNull(holder) && holder.isValid();
3940
}
4041

4142
@Override
42-
public IpDatabase getDatabase(String databaseIdentifierFileName) {
43+
public IpDatabase getDatabase(ProjectId projectId, String databaseIdentifierFileName) {
4344
final IpDatabaseHolder holder = getDatabaseHolder(databaseIdentifierFileName);
4445
if (Objects.isNull(holder)) {
4546
return null;

src/test/java/co/elastic/logstash/filters/elasticintegration/geoip/IpDatabaseProviderTest.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import co.elastic.logstash.filters.elasticintegration.util.IngestDocumentUtil;
1111
import co.elastic.logstash.filters.elasticintegration.util.ResourcesUtil;
12+
import org.elasticsearch.cluster.metadata.ProjectId;
1213
import org.elasticsearch.ingest.IngestDocument;
1314
import org.elasticsearch.ingest.Processor;
1415
import org.elasticsearch.ingest.geoip.GeoIpProcessor;
@@ -35,16 +36,17 @@ class IpDatabaseProviderTest {
3536

3637
@Test
3738
void loadTestVendoredDatabases() throws Exception {
39+
3840
withVendoredGeoIpDatabaseProvider(geoIpDatabaseProvider -> {
3941
assertAll("Loaded databases all report valid",
40-
() -> assertThat(geoIpDatabaseProvider.isValid("GeoLite2-ASN.mmdb"), is(true)),
41-
() -> assertThat(geoIpDatabaseProvider.isValid("GeoLite2-City.mmdb"), is(true)),
42-
() -> assertThat(geoIpDatabaseProvider.isValid("GeoLite2-Country.mmdb"), is(true)));
42+
() -> assertThat(geoIpDatabaseProvider.isValid(ProjectId.DEFAULT, "GeoLite2-ASN.mmdb"), is(true)),
43+
() -> assertThat(geoIpDatabaseProvider.isValid(ProjectId.DEFAULT, "GeoLite2-City.mmdb"), is(true)),
44+
() -> assertThat(geoIpDatabaseProvider.isValid(ProjectId.DEFAULT, "GeoLite2-Country.mmdb"), is(true)));
4345

4446
assertAll("Non-loaded databases all report invalid",
45-
() -> assertThat(geoIpDatabaseProvider.isValid("GeoLite2-Global.mmdb"), is(false)),
46-
() -> assertThat(geoIpDatabaseProvider.isValid("Bananas.mmdb"), is(false)),
47-
() -> assertThat(geoIpDatabaseProvider.isValid("Intergalactic.mmdb"), is(false)));
47+
() -> assertThat(geoIpDatabaseProvider.isValid(ProjectId.DEFAULT, "GeoLite2-Global.mmdb"), is(false)),
48+
() -> assertThat(geoIpDatabaseProvider.isValid(ProjectId.DEFAULT, "Bananas.mmdb"), is(false)),
49+
() -> assertThat(geoIpDatabaseProvider.isValid(ProjectId.DEFAULT, "Intergalactic.mmdb"), is(false)));
4850
});
4951
}
5052

@@ -131,7 +133,7 @@ static void withVendoredGeoIpDatabaseProvider(final ExceptionalConsumer<IpDataba
131133
}
132134

133135
static void withGeoipProcessor(final IpDatabaseProvider geoIpDatabaseProvider, Map<String, Object> config, ExceptionalConsumer<Processor> geoIpProcessorConsumer) throws Exception {
134-
Processor processor = new GeoIpProcessor.Factory("geoip", geoIpDatabaseProvider).create(Map.of(), null, null, config);
136+
Processor processor = new GeoIpProcessor.Factory("geoip", geoIpDatabaseProvider).create(Map.of(), null, null, config, null);
135137
geoIpProcessorConsumer.accept(processor);
136138
}
137139

0 commit comments

Comments
 (0)