2121
2222import org .apache .commons .lang3 .tuple .Triple ;
2323import org .neo4j .common .DependencySatisfier ;
24+ import org .neo4j .gds .LicenseState ;
2425import org .neo4j .gds .applications .algorithms .machinery .AlgorithmProcessingTemplate ;
2526import org .neo4j .gds .applications .graphstorecatalog .ExportLocation ;
2627import org .neo4j .gds .applications .graphstorecatalog .GraphCatalogApplications ;
@@ -76,6 +77,7 @@ public final class OpenGraphDataScienceExtensionBuilder {
7677 private final GraphDataScienceProceduresProviderFactory graphDataScienceProceduresProviderFactory ;
7778
7879 // edition specifics
80+ private final LicenseState licenseState ;
7981 private final Metrics metrics ;
8082 private final ModelCatalog modelCatalog ;
8183
@@ -90,6 +92,7 @@ private OpenGraphDataScienceExtensionBuilder(
9092 Log log ,
9193 ComponentRegistration componentRegistration ,
9294 GraphDataScienceProceduresProviderFactory graphDataScienceProceduresProviderFactory ,
95+ LicenseState licenseState ,
9396 Metrics metrics ,
9497 ModelCatalog modelCatalog ,
9598 TaskStoreService taskStoreService ,
@@ -101,6 +104,7 @@ private OpenGraphDataScienceExtensionBuilder(
101104 this .log = log ;
102105 this .componentRegistration = componentRegistration ;
103106 this .graphDataScienceProceduresProviderFactory = graphDataScienceProceduresProviderFactory ;
107+ this .licenseState = licenseState ;
104108 this .metrics = metrics ;
105109 this .modelCatalog = modelCatalog ;
106110 this .taskStoreService = taskStoreService ;
@@ -125,6 +129,7 @@ public static Triple<OpenGraphDataScienceExtensionBuilder, TaskRegistryFactorySe
125129 ExportLocation exportLocation ,
126130 FeatureTogglesRepository featureTogglesRepository ,
127131 IdMapBehavior idMapBehavior ,
132+ LicenseState licenseState ,
128133 LimitsConfiguration limitsConfiguration ,
129134 Metrics metrics ,
130135 ModelCatalog modelCatalog ,
@@ -200,6 +205,7 @@ public static Triple<OpenGraphDataScienceExtensionBuilder, TaskRegistryFactorySe
200205 log ,
201206 componentRegistration ,
202207 graphDataScienceProviderFactory ,
208+ licenseState ,
203209 metrics ,
204210 modelCatalog ,
205211 taskStoreService ,
@@ -222,6 +228,7 @@ public Lifecycle build() {
222228 registerGraphDataScienceComponent ();
223229
224230 // register legacy bits
231+ registerLicenseStateComponent (licenseState );
225232 registerMetricsComponent (metrics );
226233 registerModelCatalogComponent (modelCatalog );
227234 registerTaskRegistryFactoryComponent (taskRegistryFactoryService );
@@ -250,6 +257,16 @@ private void registerGraphDataScienceComponent() {
250257 );
251258 }
252259
260+ /**
261+ * @deprecated Legacy stuff, will go away one day
262+ */
263+ @ Deprecated
264+ private void registerLicenseStateComponent (LicenseState licenseState ) {
265+ componentRegistration .registerComponent ("License State" , LicenseState .class , __ -> licenseState );
266+
267+ componentRegistration .setUpDependency (licenseState );
268+ }
269+
253270 /**
254271 * We register metrics as a component as a way of dependency injecting into spec framework.
255272 * As long as we keep that around, this hack needs to persist.
0 commit comments