Skip to content

Commit bc068c2

Browse files
committed
provided getter for DevWorkspace properties
Signed-off-by: Andre Dietisheim <[email protected]>
1 parent cc0ef1c commit bc068c2

File tree

5 files changed

+61
-33
lines changed

5 files changed

+61
-33
lines changed

src/main/kotlin/com/redhat/devtools/gateway/DevSpacesConnection.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class DevSpacesConnection(private val devSpacesContext: DevSpacesContext) {
3030
onDevWorkspaceStopped: () -> Unit,
3131
): ThinClientHandle {
3232
if (devSpacesContext.isConnected)
33-
throw IOException(String.format("Already connected to %s", devSpacesContext.devWorkspace.metadata.name))
33+
throw IOException(String.format("Already connected to %s", devSpacesContext.devWorkspace.name))
3434

3535
devSpacesContext.isConnected = true
3636
try {
@@ -72,8 +72,8 @@ class DevSpacesConnection(private val devSpacesContext: DevSpacesContext) {
7272
if (remoteIdeServer.waitServerTerminated())
7373
DevWorkspaces(devSpacesContext.client)
7474
.stop(
75-
devSpacesContext.devWorkspace.metadata.namespace,
76-
devSpacesContext.devWorkspace.metadata.name
75+
devSpacesContext.devWorkspace.namespace,
76+
devSpacesContext.devWorkspace.name
7777
)
7878
.also { onDevWorkspaceStopped() }
7979
}
@@ -86,23 +86,23 @@ class DevSpacesConnection(private val devSpacesContext: DevSpacesContext) {
8686

8787
@Throws(IOException::class, ApiException::class)
8888
private fun startAndWaitDevWorkspace() {
89-
if (!devSpacesContext.devWorkspace.spec.started) {
89+
if (!devSpacesContext.devWorkspace.started) {
9090
DevWorkspaces(devSpacesContext.client)
9191
.start(
92-
devSpacesContext.devWorkspace.metadata.namespace,
93-
devSpacesContext.devWorkspace.metadata.name
92+
devSpacesContext.devWorkspace.namespace,
93+
devSpacesContext.devWorkspace.name
9494
)
9595
}
9696

9797
if (!DevWorkspaces(devSpacesContext.client)
9898
.waitPhase(
99-
devSpacesContext.devWorkspace.metadata.namespace,
100-
devSpacesContext.devWorkspace.metadata.name,
99+
devSpacesContext.devWorkspace.namespace,
100+
devSpacesContext.devWorkspace.name,
101101
DevWorkspaces.RUNNING,
102102
DevWorkspaces.RUNNING_TIMEOUT
103103
)
104104
) throw IOException(
105-
"DevWorkspace '${devSpacesContext.devWorkspace.metadata.name}' is not running after ${DevWorkspaces.RUNNING_TIMEOUT} seconds"
105+
"DevWorkspace '${devSpacesContext.devWorkspace.name}' is not running after ${DevWorkspaces.RUNNING_TIMEOUT} seconds"
106106
)
107107
}
108108
}

src/main/kotlin/com/redhat/devtools/gateway/openshift/DevWorkspace.kt

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,31 @@ package com.redhat.devtools.gateway.openshift
1414
import java.util.Collections.emptyMap
1515

1616
data class DevWorkspace(
17-
val metadata: DevWorkspaceObjectMeta,
18-
val spec: DevWorkspaceSpec,
19-
val status: DevWorkspaceStatus
17+
private val metadata: DevWorkspaceObjectMeta,
18+
private val spec: DevWorkspaceSpec,
19+
private val status: DevWorkspaceStatus
2020
) {
21+
val namespace: String
22+
get() {
23+
return metadata.namespace
24+
}
25+
26+
val name: String
27+
get() {
28+
return metadata.name
29+
}
30+
31+
val started: Boolean
32+
get() {
33+
return spec.started
34+
}
35+
36+
val phase: String
37+
get() {
38+
return status.phase
39+
}
40+
41+
2142
companion object {
2243
fun from(map: Any?) = object {
2344
val metadata = Utils.getValue(map, arrayOf("metadata")) ?: emptyMap<String, Any>()
@@ -43,6 +64,13 @@ data class DevWorkspace(
4364

4465
return true
4566
}
67+
68+
override fun hashCode(): Int {
69+
var result = metadata.hashCode()
70+
result = 31 * result + spec.hashCode()
71+
result = 31 * result + status.hashCode()
72+
return result
73+
}
4674
}
4775

4876
data class DevWorkspaceObjectMeta(

src/main/kotlin/com/redhat/devtools/gateway/openshift/DevWorkspaces.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ class DevWorkspaces(private val client: ApiClient) {
107107
try {
108108
for (item in watcher) {
109109
val devWorkspace = DevWorkspace.from(item.`object`)
110-
if (desiredPhase == devWorkspace.status.phase) {
110+
if (desiredPhase == devWorkspace.phase) {
111111
phaseIsDesiredState = true
112112
break
113113
}

src/main/kotlin/com/redhat/devtools/gateway/server/RemoteIDEServer.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,17 +101,17 @@ class RemoteIDEServer(private val devSpacesContext: DevSpacesContext) {
101101
val selector =
102102
String.format(
103103
"controller.devfile.io/devworkspace_name=%s",
104-
devSpacesContext.devWorkspace.metadata.name
104+
devSpacesContext.devWorkspace.name
105105
)
106106

107107
return Pods(devSpacesContext.client)
108108
.findFirst(
109-
devSpacesContext.devWorkspace.metadata.namespace,
109+
devSpacesContext.devWorkspace.namespace,
110110
selector
111111
) ?: throw IOException(
112112
String.format(
113113
"DevWorkspace '%s' is not running.",
114-
devSpacesContext.devWorkspace.metadata.name
114+
devSpacesContext.devWorkspace.name
115115
)
116116
)
117117
}

src/main/kotlin/com/redhat/devtools/gateway/view/steps/DevSpacesRemoteServerConnectionStepView.kt

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -156,15 +156,15 @@ class DevSpacesRemoteServerConnectionStepView(private var devSpacesContext: DevS
156156
.also {
157157
DevWorkspaces(devSpacesContext.client)
158158
.stop(
159-
it.metadata.namespace,
160-
it.metadata.name
159+
it.namespace,
160+
it.name
161161
)
162162
ProgressManager.getInstance().runProcessWithProgressSynchronously(
163163
{
164164
if (waitDevWorkspaceStopped(it)) {
165165
refreshDevWorkspace(
166-
it.metadata.namespace,
167-
it.metadata.name
166+
it.namespace,
167+
it.name
168168
)
169169
enableStopButton()
170170
}
@@ -183,7 +183,7 @@ class DevSpacesRemoteServerConnectionStepView(private var devSpacesContext: DevS
183183
"Connection failed",
184184
String.format(
185185
"Already connected to %s",
186-
devSpacesContext.devWorkspace.metadata.name
186+
devSpacesContext.devWorkspace.name
187187
),
188188
component
189189
).show()
@@ -202,26 +202,26 @@ class DevSpacesRemoteServerConnectionStepView(private var devSpacesContext: DevS
202202
DevSpacesConnection(devSpacesContext).connect(
203203
{
204204
refreshDevWorkspace(
205-
devSpacesContext.devWorkspace.metadata.namespace,
206-
devSpacesContext.devWorkspace.metadata.name
205+
devSpacesContext.devWorkspace.namespace,
206+
devSpacesContext.devWorkspace.name
207207
)
208208
enableStopButton()
209209
},
210210
{},
211211
{
212212
if (waitDevWorkspaceStopped(devSpacesContext.devWorkspace)) {
213213
refreshDevWorkspace(
214-
devSpacesContext.devWorkspace.metadata.namespace,
215-
devSpacesContext.devWorkspace.metadata.name
214+
devSpacesContext.devWorkspace.namespace,
215+
devSpacesContext.devWorkspace.name
216216
)
217217
enableStopButton()
218218
}
219219
}
220220
)
221221
} catch (e: Exception) {
222222
refreshDevWorkspace(
223-
devSpacesContext.devWorkspace.metadata.namespace,
224-
devSpacesContext.devWorkspace.metadata.name
223+
devSpacesContext.devWorkspace.namespace,
224+
devSpacesContext.devWorkspace.name
225225
)
226226
enableStopButton()
227227
thisLogger().error("Remote server connection failed.", e)
@@ -237,8 +237,8 @@ class DevSpacesRemoteServerConnectionStepView(private var devSpacesContext: DevS
237237
private fun waitDevWorkspaceStopped(devWorkspace: DevWorkspace): Boolean {
238238
return DevWorkspaces(devSpacesContext.client)
239239
.waitPhase(
240-
devWorkspace.metadata.namespace,
241-
devWorkspace.metadata.name,
240+
devWorkspace.namespace,
241+
devWorkspace.name,
242242
DevWorkspaces.STOPPED,
243243
30
244244
)
@@ -247,7 +247,7 @@ class DevSpacesRemoteServerConnectionStepView(private var devSpacesContext: DevS
247247
private fun enableStopButton() {
248248
stopDevWorkspaceButton.isEnabled =
249249
!listDevWorkspaces.isSelectionEmpty
250-
&& listDWDataModel.get(listDevWorkspaces.minSelectionIndex).spec.started
250+
&& listDWDataModel.get(listDevWorkspaces.minSelectionIndex).started
251251
}
252252

253253
inner class DevWorkspaceListRenderer : ListCellRenderer<DevWorkspace> {
@@ -261,9 +261,9 @@ class DevSpacesRemoteServerConnectionStepView(private var devSpacesContext: DevS
261261
return JBLabel(
262262
String.format(
263263
"[%s] %s %s",
264-
devWorkspace.status.phase,
265-
if (!multipleNamespaces) "" else (devWorkspace.metadata.namespace + " /"),
266-
devWorkspace.metadata.name
264+
devWorkspace.phase,
265+
if (!multipleNamespaces) "" else (devWorkspace.namespace + " /"),
266+
devWorkspace.name
267267
)
268268
).also {
269269
it.font = JBFont.h4().asPlain()

0 commit comments

Comments
 (0)