1919import io .trino .gateway .ha .clustermonitor .TrinoStatus ;
2020import io .trino .gateway .ha .config .HaGatewayConfiguration ;
2121import io .trino .gateway .ha .config .ProxyBackendConfiguration ;
22- import io .trino .gateway .ha .config .RoutingRulesConfiguration ;
23- import io .trino .gateway .ha .config .RulesType ;
2422import io .trino .gateway .ha .config .UIConfiguration ;
2523import io .trino .gateway .ha .domain .Result ;
2624import io .trino .gateway .ha .domain .RoutingRule ;
4038import io .trino .gateway .ha .router .HaGatewayManager ;
4139import io .trino .gateway .ha .router .QueryHistoryManager ;
4240import io .trino .gateway .ha .router .ResourceGroupsManager ;
43- import io .trino .gateway .ha .router .RoutingRulesManager ;
4441import jakarta .annotation .security .RolesAllowed ;
4542import jakarta .ws .rs .Consumes ;
4643import jakarta .ws .rs .GET ;
@@ -76,30 +73,25 @@ public class GatewayWebAppResource
7673 private final QueryHistoryManager queryHistoryManager ;
7774 private final BackendStateManager backendStateManager ;
7875 private final ResourceGroupsManager resourceGroupsManager ;
79- private final boolean isRulesEngineEnabled ;
80- private final RulesType ruleType ;
8176 // TODO Avoid putting mutable objects in fields
8277 private final UIConfiguration uiConfiguration ;
83- private final RoutingRulesManager routingRulesManager ;
78+ private final RoutingRulesResourceHandler routingRulesResourceHandler ;
8479
8580 @ Inject
8681 public GatewayWebAppResource (
8782 GatewayBackendManager gatewayBackendManager ,
8883 QueryHistoryManager queryHistoryManager ,
8984 BackendStateManager backendStateManager ,
9085 ResourceGroupsManager resourceGroupsManager ,
91- RoutingRulesManager routingRulesManager ,
86+ RoutingRulesResourceHandler routingRulesResourceHandler ,
9287 HaGatewayConfiguration configuration )
9388 {
9489 this .gatewayBackendManager = requireNonNull (gatewayBackendManager , "gatewayBackendManager is null" );
9590 this .queryHistoryManager = requireNonNull (queryHistoryManager , "queryHistoryManager is null" );
9691 this .backendStateManager = requireNonNull (backendStateManager , "backendStateManager is null" );
9792 this .resourceGroupsManager = requireNonNull (resourceGroupsManager , "resourceGroupsManager is null" );
9893 this .uiConfiguration = configuration .getUiConfiguration ();
99- this .routingRulesManager = requireNonNull (routingRulesManager , "routingRulesManager is null" );
100- RoutingRulesConfiguration routingRules = configuration .getRoutingRules ();
101- isRulesEngineEnabled = routingRules .isRulesEngineEnabled ();
102- ruleType = routingRules .getRulesType ();
94+ this .routingRulesResourceHandler = requireNonNull (routingRulesResourceHandler , "routingRulesResourceHandler is null" );
10395 }
10496
10597 @ POST
@@ -461,12 +453,7 @@ public Response readExactMatchSourceSelector()
461453 public Response getRoutingRules ()
462454 throws IOException
463455 {
464- if (isRulesEngineEnabled && ruleType == RulesType .EXTERNAL ) {
465- return Response .status (Response .Status .NO_CONTENT )
466- .entity (Result .fail ("Routing rules are managed by an external service" )).build ();
467- }
468- List <RoutingRule > routingRulesList = routingRulesManager .getRoutingRules ();
469- return Response .ok (Result .ok (routingRulesList )).build ();
456+ return routingRulesResourceHandler .getRoutingRules ();
470457 }
471458
472459 @ POST
@@ -477,8 +464,7 @@ public Response getRoutingRules()
477464 public Response updateRoutingRules (RoutingRule routingRule )
478465 throws IOException
479466 {
480- List <RoutingRule > routingRulesList = routingRulesManager .updateRoutingRule (routingRule );
481- return Response .ok (Result .ok (routingRulesList )).build ();
467+ return routingRulesResourceHandler .updateRoutingRules (routingRule );
482468 }
483469
484470 @ GET
0 commit comments