4343import marquez .db .TagDao ;
4444import marquez .graphql .GraphqlSchemaBuilder ;
4545import marquez .graphql .MarquezGraphqlServletBuilder ;
46+ import marquez .search .SearchConfig ;
4647import marquez .service .ColumnLineageService ;
4748import marquez .service .DatasetFieldService ;
4849import marquez .service .DatasetService ;
5354import marquez .service .OpenLineageService ;
5455import marquez .service .RunService ;
5556import marquez .service .RunTransitionListener ;
57+ import marquez .service .SearchService ;
5658import marquez .service .ServiceFactory ;
5759import marquez .service .SourceService ;
5860import marquez .service .TagService ;
@@ -89,26 +91,31 @@ public final class MarquezContext {
8991 @ Getter private final OpenLineageService openLineageService ;
9092 @ Getter private final LineageService lineageService ;
9193 @ Getter private final ColumnLineageService columnLineageService ;
94+ @ Getter private final SearchService searchService ;
9295 @ Getter private final NamespaceResource namespaceResource ;
9396 @ Getter private final SourceResource sourceResource ;
9497 @ Getter private final DatasetResource datasetResource ;
9598 @ Getter private final ColumnLineageResource columnLineageResource ;
9699 @ Getter private final JobResource jobResource ;
97100 @ Getter private final TagResource tagResource ;
98101 @ Getter private final OpenLineageResource openLineageResource ;
102+ @ Getter private final marquez .api .v2beta .SearchResource v2BetasearchResource ;
99103 @ Getter private final SearchResource searchResource ;
100104 @ Getter private final ImmutableList <Object > resources ;
101105 @ Getter private final JdbiExceptionExceptionMapper jdbiException ;
102106 @ Getter private final JsonProcessingExceptionMapper jsonException ;
103107 @ Getter private final GraphQLHttpServlet graphqlServlet ;
108+ @ Getter private final SearchConfig searchConfig ;
104109
105110 private MarquezContext (
106111 @ NonNull final Jdbi jdbi ,
112+ @ NonNull final SearchConfig searchConfig ,
107113 @ NonNull final ImmutableSet <Tag > tags ,
108114 List <RunTransitionListener > runTransitionListeners ) {
109115 if (runTransitionListeners == null ) {
110116 runTransitionListeners = new ArrayList <>();
111117 }
118+ this .searchConfig = searchConfig ;
112119
113120 final BaseDao baseDao = jdbi .onDemand (NamespaceDao .class );
114121 this .namespaceDao = jdbi .onDemand (NamespaceDao .class );
@@ -141,6 +148,7 @@ private MarquezContext(
141148 this .openLineageService = new OpenLineageService (baseDao , runService );
142149 this .lineageService = new LineageService (lineageDao , jobDao );
143150 this .columnLineageService = new ColumnLineageService (columnLineageDao , datasetFieldDao );
151+ this .searchService = new SearchService (searchConfig );
144152 this .jdbiException = new JdbiExceptionExceptionMapper ();
145153 this .jsonException = new JsonProcessingExceptionMapper ();
146154 final ServiceFactory serviceFactory =
@@ -151,6 +159,7 @@ private MarquezContext(
151159 .namespaceService (namespaceService )
152160 .tagService (tagService )
153161 .openLineageService (openLineageService )
162+ .searchService (searchService )
154163 .sourceService (sourceService )
155164 .lineageService (lineageService )
156165 .columnLineageService (columnLineageService )
@@ -165,6 +174,7 @@ private MarquezContext(
165174 this .tagResource = new TagResource (serviceFactory );
166175 this .openLineageResource = new OpenLineageResource (serviceFactory , openLineageDao );
167176 this .searchResource = new SearchResource (searchDao );
177+ this .v2BetasearchResource = new marquez .api .v2beta .SearchResource (serviceFactory );
168178
169179 this .resources =
170180 ImmutableList .of (
@@ -177,7 +187,8 @@ private MarquezContext(
177187 jdbiException ,
178188 jsonException ,
179189 openLineageResource ,
180- searchResource );
190+ searchResource ,
191+ v2BetasearchResource );
181192
182193 final MarquezGraphqlServletBuilder servlet = new MarquezGraphqlServletBuilder ();
183194 this .graphqlServlet = servlet .getServlet (new GraphqlSchemaBuilder (jdbi ));
@@ -190,6 +201,7 @@ public static Builder builder() {
190201 public static class Builder {
191202
192203 private Jdbi jdbi ;
204+ private SearchConfig searchConfig ;
193205 private ImmutableSet <Tag > tags ;
194206 private List <RunTransitionListener > runTransitionListeners ;
195207
@@ -203,6 +215,11 @@ public Builder jdbi(@NonNull Jdbi jdbi) {
203215 return this ;
204216 }
205217
218+ public Builder searchConfig (@ NonNull SearchConfig searchConfig ) {
219+ this .searchConfig = searchConfig ;
220+ return this ;
221+ }
222+
206223 public Builder tags (@ NonNull ImmutableSet <Tag > tags ) {
207224 this .tags = tags ;
208225 return this ;
@@ -219,7 +236,7 @@ public Builder runTransitionListeners(
219236 }
220237
221238 public MarquezContext build () {
222- return new MarquezContext (jdbi , tags , runTransitionListeners );
239+ return new MarquezContext (jdbi , searchConfig , tags , runTransitionListeners );
223240 }
224241 }
225242}
0 commit comments