Skip to content

Commit e47792c

Browse files
committed
adds more factory
1 parent 99690cc commit e47792c

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

elasticsearch-driver/src/main/java/org/jnosql/diana/elasticsearch/document/ElasticsearchDocumentConfiguration.java

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
package org.jnosql.diana.elasticsearch.document;
1616

1717

18+
import org.apache.http.Header;
19+
import org.apache.http.HttpHeaders;
1820
import org.apache.http.HttpHost;
1921
import org.elasticsearch.client.RestClient;
2022
import org.elasticsearch.client.RestClientBuilder;
@@ -27,6 +29,7 @@
2729
import java.util.HashMap;
2830
import java.util.List;
2931
import java.util.Map;
32+
import java.util.Objects;
3033

3134
import static java.util.Objects.requireNonNull;
3235

@@ -44,6 +47,8 @@ public class ElasticsearchDocumentConfiguration implements UnaryDocumentConfigur
4447

4548
private List<HttpHost> httpHosts = new ArrayList<>();
4649

50+
private List<Header> headers = new ArrayList<>();
51+
4752

4853
public ElasticsearchDocumentConfiguration() {
4954

@@ -61,8 +66,6 @@ public ElasticsearchDocumentConfiguration() {
6166
}
6267

6368

64-
65-
6669
@Override
6770
public ElasticsearchDocumentCollectionManagerFactory get() throws UnsupportedOperationException {
6871
return get(Settings.builder().build());
@@ -99,8 +102,30 @@ public ElasticsearchDocumentCollectionManagerFactory getAsync(org.jnosql.diana.a
99102
}
100103

101104

105+
/**
106+
* returns an {@link ElasticsearchDocumentCollectionManagerFactory} instance
107+
*
108+
* @param builder the builder {@link RestClientBuilder}
109+
* @return a manager factory instance
110+
* @throws NullPointerException when builder is null
111+
*/
112+
public ElasticsearchDocumentCollectionManagerFactory get(RestClientBuilder builder) {
113+
Objects.requireNonNull(builder, "builder is required");
114+
RestHighLevelClient client = new RestHighLevelClient(builder);
115+
return new ElasticsearchDocumentCollectionManagerFactory(client);
116+
}
102117

103118

104-
119+
/**
120+
* returns an {@link ElasticsearchDocumentCollectionManagerFactory} instance
121+
*
122+
* @param client the client {@link RestHighLevelClient}
123+
* @return a manager factory instance
124+
* @throws NullPointerException when client is null
125+
*/
126+
public ElasticsearchDocumentCollectionManagerFactory get(RestHighLevelClient client) {
127+
Objects.requireNonNull(client, "client is required");
128+
return new ElasticsearchDocumentCollectionManagerFactory(client);
129+
}
105130

106131
}

0 commit comments

Comments
 (0)