11package ch.bailu.aat_lib.preferences
22
33import ch.bailu.aat_lib.exception.ValidationException
4+ import com.google.common.net.InetAddresses
45import java.net.InetSocketAddress
56import java.net.SocketAddress
6- import com.google.common.net.InetAddresses
77
88open class SolidSocketAddress (
99 storage : StorageInterface ,
@@ -20,7 +20,7 @@ open class SolidSocketAddress(
2020 }
2121
2222 fun setValue (address : SocketAddress ) {
23- val addressString = formatAddress(address)
23+ val addressString = formatAddress(address, defaultPort )
2424 setValue(addressString)
2525 }
2626
@@ -29,7 +29,7 @@ open class SolidSocketAddress(
2929 return if (address == null ) {
3030 " "
3131 } else {
32- formatAddress(address)
32+ formatAddress(address, defaultPort )
3333 }
3434 }
3535
@@ -63,7 +63,7 @@ open class SolidSocketAddress(
6363 */
6464 override fun buildSelection (list : ArrayList <String >): ArrayList <String > {
6565 getDefaultValue()?.let { defaultAddress ->
66- list.add(formatAddress(defaultAddress))
66+ list.add(formatAddress(defaultAddress, defaultPort ))
6767 }
6868 return list
6969 }
@@ -133,23 +133,26 @@ open class SolidSocketAddress(
133133 * Format SocketAddress as string, handling both IPv4 and IPv6.
134134 * Omits port if it matches the default port.
135135 */
136- private fun formatAddress (address : SocketAddress ): String {
137- return when (address) {
138- is InetSocketAddress -> {
139- val host = InetAddresses .toAddrString(address.address)
140- val port = address.port
141-
142- if (port == defaultPort) {
143- /* omit the port if it's the default port */
144- host
145- } else if (host.contains(' :' )) {
146- /* add brackets for IPv6 addresses if they contain colons */
147- " [$host ]:$port "
148- } else {
149- " $host :$port "
136+ companion object {
137+ fun formatAddress (address : SocketAddress , defaultPort : Int ): String {
138+ return when (address) {
139+ is InetSocketAddress -> {
140+ val host = InetAddresses .toAddrString(address.address)
141+ val port = address.port
142+
143+ if (port == defaultPort) {
144+ /* omit the port if it's the default port */
145+ host
146+ } else if (host.contains(' :' )) {
147+ /* add brackets for IPv6 addresses if they contain colons */
148+ " [$host ]:$port "
149+ } else {
150+ " $host :$port "
151+ }
150152 }
153+
154+ else -> address.toString()
151155 }
152- else -> address.toString()
153156 }
154157 }
155158}
0 commit comments