Skip to content

Commit f2bfb39

Browse files
committed
Change gateway configuration for setting supported modes
1 parent d72af32 commit f2bfb39

File tree

2 files changed

+14
-23
lines changed

2 files changed

+14
-23
lines changed

components/apimgt/org.wso2.carbon.apimgt.api/src/main/java/org/wso2/carbon/apimgt/api/model/GatewayAgentConfiguration.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,10 @@ public interface GatewayAgentConfiguration {
7676
* @return String default hostname template
7777
*/
7878
String getDefaultHostnameTemplate();
79+
80+
/**
81+
* This method returns the supported gateway modes for a given gateway type
82+
* @return List of supported gateway modes
83+
*/
84+
List<String> getSupportedModes();
7985
}

components/apimgt/org.wso2.carbon.apimgt.rest.api.admin.v1/src/main/java/org/wso2/carbon/apimgt/rest/api/admin/v1/utils/mappings/SettingsMappingUtil.java

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,14 @@ private static List<SettingsGatewayConfigurationDTO> getSettingsGatewayConfigura
168168
settingsFederatedGatewayConfigurationDTO.setType(gatewayConfiguration.getType());
169169
settingsFederatedGatewayConfigurationDTO.setDisplayName(gatewayConfiguration.getType());
170170
settingsFederatedGatewayConfigurationDTO.setDefaultHostnameTemplate(gatewayConfiguration.getDefaultHostnameTemplate());
171-
settingsFederatedGatewayConfigurationDTO.setSupportedModes(getSupportedGatewayModes(gatewayConfiguration));
171+
List<String> supportedModes = gatewayConfiguration.getSupportedModes();
172+
if (supportedModes.isEmpty()) {
173+
log.warn(String.format(
174+
"No supported modes derived for gateway type '%s'. Defaulting to '%s'",
175+
gatewayConfiguration.getType(), GatewayMode.WRITE_ONLY.getMode()));
176+
supportedModes.add(GatewayMode.WRITE_ONLY.getMode());
177+
}
178+
settingsFederatedGatewayConfigurationDTO.setSupportedModes(gatewayConfiguration.getSupportedModes());
172179
List<ConfigurationDto> connectionConfigurations = gatewayConfiguration.getConnectionConfigurations();
173180
if (connectionConfigurations != null) {
174181
for (ConfigurationDto dto : connectionConfigurations) {
@@ -200,28 +207,6 @@ private static List<SettingsGatewayConfigurationDTO> getSettingsGatewayConfigura
200207
return list;
201208
}
202209

203-
private static List<String> getSupportedGatewayModes(GatewayAgentConfiguration gatewayConfiguration) {
204-
//Deriving the supported modes from the gateway connector
205-
List<String> supportedModes = new ArrayList<>();
206-
if (gatewayConfiguration.getGatewayDeployerImplementation() != null
207-
&& !gatewayConfiguration.getGatewayDeployerImplementation().trim().isEmpty()) {
208-
supportedModes.add(GatewayMode.WRITE_ONLY.getMode());
209-
}
210-
if (gatewayConfiguration.getDiscoveryImplementation() != null
211-
&& !gatewayConfiguration.getDiscoveryImplementation().trim().isEmpty()) {
212-
supportedModes.add(GatewayMode.READ_ONLY.getMode());
213-
}
214-
if (supportedModes.size() == 2) {
215-
supportedModes.add(GatewayMode.READ_WRITE.getMode());
216-
}
217-
if (supportedModes.isEmpty()) {
218-
log.warn(String.format(
219-
"No supported modes derived for gateway connector type '%s'.",
220-
gatewayConfiguration.getType()));
221-
}
222-
return supportedModes;
223-
}
224-
225210
private static GatewayConfigurationDTO fromConfigurationToConfigurationDTO(ConfigurationDto configuration) {
226211
GatewayConfigurationDTO dto = new GatewayConfigurationDTO();
227212
dto.setName(configuration.getName());

0 commit comments

Comments
 (0)