Skip to content

Commit 7e2a6d8

Browse files
authored
Introduce LicenseService as an interface (#94261)
LicenseService is currently a concrete class. As part of a much larger refactoring LicenseService will be become an interface that the existing concrete class will implement. This commit is a pure refactoring (no functional changes) with the following changes: * rename LicenseService -> ClusterStateLicenseService (and matching variables) * move the static settings and methods from the concrete class to the interface
1 parent 86be0f0 commit 7e2a6d8

File tree

33 files changed

+737
-707
lines changed

33 files changed

+737
-707
lines changed

x-pack/plugin/core/src/internalClusterTest/java/org/elasticsearch/xpack/cluster/routing/allocation/DataTierTelemetryPlugin.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import org.elasticsearch.cluster.service.ClusterService;
1515
import org.elasticsearch.common.inject.Inject;
1616
import org.elasticsearch.common.settings.Settings;
17-
import org.elasticsearch.license.LicenseService;
17+
import org.elasticsearch.license.ClusterStateLicenseService;
1818
import org.elasticsearch.protocol.xpack.XPackInfoRequest;
1919
import org.elasticsearch.protocol.xpack.XPackInfoResponse;
2020
import org.elasticsearch.protocol.xpack.XPackUsageRequest;
@@ -62,10 +62,10 @@ public static class DataTiersTransportXPackInfoAction extends TransportXPackInfo
6262
public DataTiersTransportXPackInfoAction(
6363
TransportService transportService,
6464
ActionFilters actionFilters,
65-
LicenseService licenseService,
65+
ClusterStateLicenseService clusterStateLicenseService,
6666
NodeClient client
6767
) {
68-
super(transportService, actionFilters, licenseService, client);
68+
super(transportService, actionFilters, clusterStateLicenseService, client);
6969
}
7070

7171
@Override

x-pack/plugin/core/src/main/java/org/elasticsearch/license/ClusterStateLicenseService.java

Lines changed: 576 additions & 0 deletions
Large diffs are not rendered by default.

x-pack/plugin/core/src/main/java/org/elasticsearch/license/LicenseService.java

Lines changed: 13 additions & 574 deletions
Large diffs are not rendered by default.

x-pack/plugin/core/src/main/java/org/elasticsearch/license/TransportDeleteLicenseAction.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424

2525
public class TransportDeleteLicenseAction extends AcknowledgedTransportMasterNodeAction<DeleteLicenseRequest> {
2626

27-
private final LicenseService licenseService;
27+
private final ClusterStateLicenseService clusterStateLicenseService;
2828

2929
@Inject
3030
public TransportDeleteLicenseAction(
3131
TransportService transportService,
3232
ClusterService clusterService,
33-
LicenseService licenseService,
33+
ClusterStateLicenseService clusterStateLicenseService,
3434
ThreadPool threadPool,
3535
ActionFilters actionFilters,
3636
IndexNameExpressionResolver indexNameExpressionResolver
@@ -45,7 +45,7 @@ public TransportDeleteLicenseAction(
4545
indexNameExpressionResolver,
4646
ThreadPool.Names.MANAGEMENT
4747
);
48-
this.licenseService = licenseService;
48+
this.clusterStateLicenseService = clusterStateLicenseService;
4949
}
5050

5151
@Override
@@ -60,7 +60,7 @@ protected void masterOperation(
6060
ClusterState state,
6161
final ActionListener<AcknowledgedResponse> listener
6262
) throws ElasticsearchException {
63-
licenseService.removeLicense(
63+
clusterStateLicenseService.removeLicense(
6464
listener.delegateFailure(
6565
(l, postStartBasicResponse) -> l.onResponse(AcknowledgedResponse.of(postStartBasicResponse.isAcknowledged()))
6666
)

x-pack/plugin/core/src/main/java/org/elasticsearch/license/TransportGetLicenseAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,6 @@ protected void masterOperation(
5656
ClusterState state,
5757
final ActionListener<GetLicenseResponse> listener
5858
) throws ElasticsearchException {
59-
listener.onResponse(new GetLicenseResponse(LicenseService.getLicense(state.metadata())));
59+
listener.onResponse(new GetLicenseResponse(ClusterStateLicenseService.getLicense(state.metadata())));
6060
}
6161
}

x-pack/plugin/core/src/main/java/org/elasticsearch/license/TransportPostStartBasicAction.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@
2121

2222
public class TransportPostStartBasicAction extends TransportMasterNodeAction<PostStartBasicRequest, PostStartBasicResponse> {
2323

24-
private final LicenseService licenseService;
24+
private final ClusterStateLicenseService clusterStateLicenseService;
2525

2626
@Inject
2727
public TransportPostStartBasicAction(
2828
TransportService transportService,
2929
ClusterService clusterService,
30-
LicenseService licenseService,
30+
ClusterStateLicenseService clusterStateLicenseService,
3131
ThreadPool threadPool,
3232
ActionFilters actionFilters,
3333
IndexNameExpressionResolver indexNameExpressionResolver
@@ -43,7 +43,7 @@ public TransportPostStartBasicAction(
4343
PostStartBasicResponse::new,
4444
ThreadPool.Names.SAME
4545
);
46-
this.licenseService = licenseService;
46+
this.clusterStateLicenseService = clusterStateLicenseService;
4747
}
4848

4949
@Override
@@ -53,7 +53,7 @@ protected void masterOperation(
5353
ClusterState state,
5454
ActionListener<PostStartBasicResponse> listener
5555
) throws Exception {
56-
licenseService.startBasicLicense(request, listener);
56+
clusterStateLicenseService.startBasicLicense(request, listener);
5757
}
5858

5959
@Override

x-pack/plugin/core/src/main/java/org/elasticsearch/license/TransportPostStartTrialAction.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@
2121

2222
public class TransportPostStartTrialAction extends TransportMasterNodeAction<PostStartTrialRequest, PostStartTrialResponse> {
2323

24-
private final LicenseService licenseService;
24+
private final ClusterStateLicenseService clusterStateLicenseService;
2525

2626
@Inject
2727
public TransportPostStartTrialAction(
2828
TransportService transportService,
2929
ClusterService clusterService,
30-
LicenseService licenseService,
30+
ClusterStateLicenseService clusterStateLicenseService,
3131
ThreadPool threadPool,
3232
ActionFilters actionFilters,
3333
IndexNameExpressionResolver indexNameExpressionResolver
@@ -43,7 +43,7 @@ public TransportPostStartTrialAction(
4343
PostStartTrialResponse::new,
4444
ThreadPool.Names.SAME
4545
);
46-
this.licenseService = licenseService;
46+
this.clusterStateLicenseService = clusterStateLicenseService;
4747
}
4848

4949
@Override
@@ -53,7 +53,7 @@ protected void masterOperation(
5353
ClusterState state,
5454
ActionListener<PostStartTrialResponse> listener
5555
) throws Exception {
56-
licenseService.startTrialLicense(request, listener);
56+
clusterStateLicenseService.startTrialLicense(request, listener);
5757
}
5858

5959
@Override

x-pack/plugin/core/src/main/java/org/elasticsearch/license/TransportPutLicenseAction.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@
2323

2424
public class TransportPutLicenseAction extends TransportMasterNodeAction<PutLicenseRequest, PutLicenseResponse> {
2525

26-
private final LicenseService licenseService;
26+
private final ClusterStateLicenseService clusterStateLicenseService;
2727

2828
@Inject
2929
public TransportPutLicenseAction(
3030
TransportService transportService,
3131
ClusterService clusterService,
32-
LicenseService licenseService,
32+
ClusterStateLicenseService clusterStateLicenseService,
3333
ThreadPool threadPool,
3434
ActionFilters actionFilters,
3535
IndexNameExpressionResolver indexNameExpressionResolver
@@ -45,7 +45,7 @@ public TransportPutLicenseAction(
4545
PutLicenseResponse::new,
4646
ThreadPool.Names.MANAGEMENT
4747
);
48-
this.licenseService = licenseService;
48+
this.clusterStateLicenseService = clusterStateLicenseService;
4949
}
5050

5151
@Override
@@ -60,7 +60,7 @@ protected void masterOperation(
6060
ClusterState state,
6161
final ActionListener<PutLicenseResponse> listener
6262
) throws ElasticsearchException {
63-
licenseService.registerLicense(request, listener);
63+
clusterStateLicenseService.registerLicense(request, listener);
6464
}
6565

6666
}

x-pack/plugin/core/src/main/java/org/elasticsearch/license/package-info.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
* are available in a running cluster. Licenses are registered through a
1313
* {@link org.elasticsearch.license.PutLicenseRequest}. This action is handled by the master node, which places
1414
* the signed license into the cluster state. Each node listens for cluster state updates via the
15-
* {@link org.elasticsearch.license.LicenseService}, and updates its local copy of the license when it detects
15+
* {@link org.elasticsearch.license.ClusterStateLicenseService}, and updates its local copy of the license when it detects
1616
* changes in the cluster state.
1717
*
1818
* The logic for which features are available given the current license is handled by
1919
* {@link org.elasticsearch.license.XPackLicenseState}, which is updated by the
20-
* {@link org.elasticsearch.license.LicenseService} when the license changes.
20+
* {@link org.elasticsearch.license.ClusterStateLicenseService} when the license changes.
2121
*/
2222
package org.elasticsearch.license;

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackPlugin.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
import org.elasticsearch.index.engine.EngineFactory;
4242
import org.elasticsearch.index.mapper.MetadataFieldMapper;
4343
import org.elasticsearch.indices.recovery.RecoverySettings;
44-
import org.elasticsearch.license.LicenseService;
44+
import org.elasticsearch.license.ClusterStateLicenseService;
4545
import org.elasticsearch.license.LicensesMetadata;
4646
import org.elasticsearch.license.Licensing;
4747
import org.elasticsearch.license.XPackLicenseState;
@@ -156,7 +156,7 @@ public Void run() {
156156
// These should not be directly accessed as they cannot be overridden in tests. Please use the getters so they can be overridden.
157157
private static final SetOnce<XPackLicenseState> licenseState = new SetOnce<>();
158158
private static final SetOnce<SSLService> sslService = new SetOnce<>();
159-
private static final SetOnce<LicenseService> licenseService = new SetOnce<>();
159+
private static final SetOnce<ClusterStateLicenseService> licenseService = new SetOnce<>();
160160
private static final SetOnce<LongSupplier> epochMillisSupplier = new SetOnce<>();
161161

162162
public XPackPlugin(final Settings settings) {
@@ -179,7 +179,7 @@ protected SSLService getSslService() {
179179
return getSharedSslService();
180180
}
181181

182-
protected LicenseService getLicenseService() {
182+
protected ClusterStateLicenseService getLicenseService() {
183183
return getSharedLicenseService();
184184
}
185185

@@ -195,8 +195,8 @@ protected void setSslService(SSLService sslService) {
195195
XPackPlugin.sslService.set(sslService);
196196
}
197197

198-
protected void setLicenseService(LicenseService licenseService) {
199-
XPackPlugin.licenseService.set(licenseService);
198+
protected void setLicenseService(ClusterStateLicenseService clusterStateLicenseService) {
199+
XPackPlugin.licenseService.set(clusterStateLicenseService);
200200
}
201201

202202
protected void setLicenseState(XPackLicenseState licenseState) {
@@ -215,7 +215,7 @@ public static SSLService getSharedSslService() {
215215
return ssl;
216216
}
217217

218-
public static LicenseService getSharedLicenseService() {
218+
public static ClusterStateLicenseService getSharedLicenseService() {
219219
return licenseService.get();
220220
}
221221

@@ -312,7 +312,7 @@ public Collection<Object> createComponents(
312312
List<Object> components = new ArrayList<>();
313313

314314
final SSLService sslService = createSSLService(environment, resourceWatcherService);
315-
setLicenseService(new LicenseService(settings, threadPool, clusterService, getClock(), getLicenseState()));
315+
setLicenseService(new ClusterStateLicenseService(settings, threadPool, clusterService, getClock(), getLicenseState()));
316316

317317
setEpochMillisSupplier(threadPool::absoluteTimeInMillis);
318318

0 commit comments

Comments
 (0)