diff --git a/src/main/kotlin/org/zowe/explorer/config/connect/ConnectionConfig.kt b/src/main/kotlin/org/zowe/explorer/config/connect/ConnectionConfig.kt index ded5e51f4..29df4dfcd 100755 --- a/src/main/kotlin/org/zowe/explorer/config/connect/ConnectionConfig.kt +++ b/src/main/kotlin/org/zowe/explorer/config/connect/ConnectionConfig.kt @@ -65,9 +65,10 @@ class ConnectionConfig : ConnectionConfigBase { if (name != other.name) return false if (url != other.url) return false if (isAllowSelfSigned != other.isAllowSelfSigned) return false - if (zVersion != other.zVersion) return false if (zoweConfigPath != other.zoweConfigPath) return false - if (owner != other.owner) return false + // TODO: uncomment next 2 lines when the task https://jira.ibagroup.eu/browse/IJMP-1412 will be completed. + // if (zVersion != other.zVersion) return false + // if (owner != other.owner) return false return true } diff --git a/src/main/kotlin/org/zowe/explorer/config/connect/ui/zosmf/ZOSMFConnectionConfigurable.kt b/src/main/kotlin/org/zowe/explorer/config/connect/ui/zosmf/ZOSMFConnectionConfigurable.kt index 7306517d5..4252070fc 100644 --- a/src/main/kotlin/org/zowe/explorer/config/connect/ui/zosmf/ZOSMFConnectionConfigurable.kt +++ b/src/main/kotlin/org/zowe/explorer/config/connect/ui/zosmf/ZOSMFConnectionConfigurable.kt @@ -105,7 +105,7 @@ class ZOSMFConnectionConfigurable : BoundSearchableConfigurable("z/OSMF Connecti } } - private val zoweConfigStates = mutableListOf() + private val zoweConfigStates = hashMapOf() /** Dialog to edit existing connection. Triggers the dialog and, after the changes, tests the connection and adds the changes */ private fun editConnection() { @@ -114,8 +114,8 @@ class ZOSMFConnectionConfigurable : BoundSearchableConfigurable("z/OSMF Connecti val state = showAndTestConnection(connectionsTableModel!![idx].apply { mode = DialogMode.UPDATE }) - if (state?.zoweConfigPath != null) { - zoweConfigStates.add(state) + state?.zoweConfigPath?.let { + zoweConfigStates[it] = state } if (state != null) { connectionsTableModel?.set(idx, state) @@ -275,7 +275,11 @@ class ZOSMFConnectionConfigurable : BoundSearchableConfigurable("z/OSMF Connecti val wasModified = isModified applySandbox() applySandbox() - zoweConfigStates.distinct().forEach { updateZoweConfigIfNeeded(it) } + zoweConfigStates.values.forEach { + if (isModified) { + updateZoweConfigIfNeeded(it) + } + } if (wasModified) { panel?.updateUI() } diff --git a/src/main/kotlin/org/zowe/explorer/zowe/service/ZoweConfigServiceImpl.kt b/src/main/kotlin/org/zowe/explorer/zowe/service/ZoweConfigServiceImpl.kt index 793fe0913..1cb938a03 100644 --- a/src/main/kotlin/org/zowe/explorer/zowe/service/ZoweConfigServiceImpl.kt +++ b/src/main/kotlin/org/zowe/explorer/zowe/service/ZoweConfigServiceImpl.kt @@ -35,7 +35,7 @@ import org.zowe.kotlinsdk.zowe.config.ZoweConfig import org.zowe.kotlinsdk.zowe.config.parseConfigJson import java.nio.file.Path import java.util.* -import kotlin.streams.toList +import java.util.stream.Collectors val ZOWE_PROJECT_PREFIX = "zowe-" @@ -82,7 +82,7 @@ class ZoweConfigServiceImpl(override val myProject: Project) : ZoweConfigService private fun findExistingConnection(): ConnectionConfig? { val zoweConnectionList = configCrudable.find { it.name == zoweConnectionName - }.toList() + }.collect(Collectors.toList()) return if (zoweConnectionList.isEmpty()) null else zoweConnectionList[0] } @@ -177,6 +177,7 @@ class ZoweConfigServiceImpl(override val myProject: Project) : ZoweConfigService fun ZoweConfig.toConnectionConfig(zVersion: ZVersion = ZVersion.ZOS_2_1): ConnectionConfig = toConnectionConfig(getOrCreateUuid(), zVersion) + /** * @see ZoweConfigService.getZoweConfigState */ @@ -202,3 +203,4 @@ class ZoweConfigServiceImpl(override val myProject: Project) : ZoweConfigService } } +