Skip to content

Commit c148a26

Browse files
committed
request multiple elements at once WIP
1 parent 45710b6 commit c148a26

File tree

4 files changed

+147
-63
lines changed

4 files changed

+147
-63
lines changed

com.incquerylabs.vhci.modelaccess.twc.rest/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ group 'com.incquerylabs'
22
version '1.0-SNAPSHOT'
33

44
buildscript {
5-
ext.kotlin_version = '1.1.3-2'
5+
ext.kotlin_version = '1.1.4-3'
66
ext.vertx_version = '3.4.2'
77

88
repositories {

com.incquerylabs.vhci.modelaccess.twc.rest/src/main/kotlin/com/incquerylabs/vhci/modelaccess/twc/rest/data/Data.kt

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,35 @@ data class Revision(val id:Int, val branch_id:String, val resource_id:String ,va
1313
data class Element(val id:String, val branch_id:String, val resource_id:String ,val workspace_id:String, val elements:JsonArray)
1414

1515
object DataConstants {
16+
const val REPO = "repo"
17+
const val WORKSPACE = "workspace"
1618
const val WORKSPACE_ID = "workspace_id"
19+
const val RESOURCE = "resource"
1720
const val RESOURCE_ID = "resource_id"
21+
const val BRANCH = "branch"
1822
const val BRANCH_ID = "branch_id"
23+
const val REVISION = "revision"
24+
const val REVISION_ID = "rev_id"
25+
const val ELEMENTS = "elements"
26+
const val ELEMENT_IDS = "element_ids"
27+
const val ELEMENT = "element"
1928
const val ELEMENT_ID = "element_id"
29+
30+
const val GET_WORKSPACES = "getWorkspaces"
31+
const val GET_RESOURCES = "getResources"
32+
const val GET_BRANCHES = "getBranches"
33+
const val GET_REVISIONS = "getRevisions"
34+
const val GET_ROOT_ELEMENT_IDS = "getRootElementIds"
35+
const val GET_ELEMENT = "getElement"
36+
const val GET_ELEMENTS = "getElements"
37+
2038
const val TWCMAP = "twcMap"
21-
const val ELEMENTS = "elements"
22-
const val QUERIES = "queries"
2339
const val TWCVERT_ADDRESS = "twc.rest.twcvert"
2440
const val TWCMAIN_ADDRESS = "twc.rest.main"
25-
const val ERROR = "error"
41+
const val QUERIES = "queries"
2642
const val EXIT = "exit"
43+
const val ERROR = "error"
44+
const val LOGIN = "login"
45+
const val LOGGED_IN = "logged_in"
46+
const val LOGOUT = "logout"
2747
}

com.incquerylabs.vhci.modelaccess.twc.rest/src/main/kotlin/com/incquerylabs/vhci/modelaccess/twc/rest/verticles/MainVerticle.kt

Lines changed: 44 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class MainVerticle(val usr: String, val pswd: String) : AbstractVerticle() {
3838
counter.compareAndSet(number.toLong(), 0, {})
3939

4040
if (queries != 0 && sum != 0 && queries == sum) {
41-
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message("logout", JsonObject())))
41+
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message(DataConstants.LOGOUT, JsonObject())))
4242
}
4343
}
4444
}
@@ -61,48 +61,48 @@ class MainVerticle(val usr: String, val pswd: String) : AbstractVerticle() {
6161
})
6262

6363
})
64-
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message("login", User("$usr", "$pswd"))))
64+
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message(DataConstants.LOGIN, User("$usr", "$pswd"))))
6565
eb.consumer<Any>(DataConstants.TWCMAIN_ADDRESS, { message ->
6666

6767
val json = JsonObject(message.body().toString())
6868
val data = json.getJsonObject("obj")
6969

7070
when (json.getString("event")) {
71-
"logged_in" -> {
71+
DataConstants.LOGGED_IN -> {
7272
println("Login complete")
7373

74-
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message("getWorkspaces", JsonObject())))
74+
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message(DataConstants.GET_WORKSPACES, JsonObject())))
7575
//eb.send("twc.rest.twcvert", Json.encode(Message("logout", JsonObject())))
7676
}
77-
"repo" -> {
77+
DataConstants.REPO -> {
7878
// println("Received Repository")
7979
val repo = JsonObject(twcMap.get("repo") as String)
8080
repo.getJsonArray("workspaces").forEach { ws ->
8181
val id = (ws as JsonObject).getString("@id")
82-
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message("getResources", JsonObject().put(DataConstants.WORKSPACE_ID, id))))
82+
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message(DataConstants.GET_RESOURCES, JsonObject().put(DataConstants.WORKSPACE_ID, id))))
8383
}
8484
}
85-
"workspace" -> {
85+
DataConstants.WORKSPACE -> {
8686
// println("Received Workspace")
8787
// println(data)
8888
val workspaceId = data.getString("id")
8989
data.getJsonArray("resources").forEach { res ->
9090
val resourceId = (res as JsonObject).getString("@id")
91-
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message("getBranches",
91+
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message(DataConstants.GET_BRANCHES,
9292
JsonObject()
9393
.put(DataConstants.WORKSPACE_ID, workspaceId)
9494
.put(DataConstants.RESOURCE_ID, resourceId))))
9595
}
9696
}
97-
"resource" -> {
97+
DataConstants.RESOURCE -> {
9898
// println("Received Resource")
9999
// println(data)
100100

101101
val resourceId = data.getString("id")
102102
val workspaceId = data.getString(DataConstants.WORKSPACE_ID)
103103
data.getJsonArray("branches").forEach { branch ->
104104
val branchId = (branch as JsonObject).getString("@id")
105-
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message("getRevisions",
105+
eb.send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message(DataConstants.GET_REVISIONS,
106106
JsonObject()
107107
.put(DataConstants.WORKSPACE_ID, workspaceId)
108108
.put(DataConstants.RESOURCE_ID, resourceId)
@@ -111,7 +111,7 @@ class MainVerticle(val usr: String, val pswd: String) : AbstractVerticle() {
111111
}
112112

113113
}
114-
"branch" -> {
114+
DataConstants.BRANCH -> {
115115
// println("Received Branch")
116116
// println(data)
117117

@@ -120,47 +120,61 @@ class MainVerticle(val usr: String, val pswd: String) : AbstractVerticle() {
120120
val workspaceId = data.getString(DataConstants.WORKSPACE_ID)
121121
data.getJsonArray("revisions").forEach { rev ->
122122
val revId = (rev as Int)
123-
vertx.eventBus().send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message("getRootElementIds",
123+
vertx.eventBus().send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message(DataConstants.GET_ROOT_ELEMENT_IDS,
124124
JsonObject()
125125
.put(DataConstants.WORKSPACE_ID, workspaceId)
126126
.put(DataConstants.RESOURCE_ID, resourceId)
127127
.put(DataConstants.BRANCH_ID, branchId)
128-
.put("rev_id", revId)
128+
.put(DataConstants.REVISION_ID, revId)
129129
)))
130130
}
131131

132132
}
133-
"revision" -> {
133+
DataConstants.REVISION -> {
134134
// println("Received Revision")
135135
// println(data)
136136

137137
val branchId = data.getString(DataConstants.BRANCH_ID)
138138
val resourceId = data.getString(DataConstants.RESOURCE_ID)
139139
val workspaceId = data.getString(DataConstants.WORKSPACE_ID)
140-
data.getJsonArray(DataConstants.ELEMENTS).forEach { element ->
141-
val elemId = element as String
142-
vertx.eventBus().send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message("getRootElement",
140+
val revisionId = data.getInteger("id")
141+
val requestSingleElements = false
142+
if(requestSingleElements) {
143+
data.getJsonArray(DataConstants.ELEMENTS).forEach { element ->
144+
val elemId = element as String
145+
vertx.eventBus().send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message(DataConstants.GET_ELEMENT,
146+
JsonObject()
147+
.put(DataConstants.WORKSPACE_ID, workspaceId)
148+
.put(DataConstants.RESOURCE_ID, resourceId)
149+
.put(DataConstants.BRANCH_ID, branchId)
150+
.put(DataConstants.ELEMENT_ID, elemId)
151+
)))
152+
}
153+
} else {
154+
val element_ids = data.getJsonArray(DataConstants.ELEMENTS)
155+
vertx.eventBus().send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message(DataConstants.GET_ELEMENTS,
143156
JsonObject()
144157
.put(DataConstants.WORKSPACE_ID, workspaceId)
145158
.put(DataConstants.RESOURCE_ID, resourceId)
146159
.put(DataConstants.BRANCH_ID, branchId)
147-
.put(DataConstants.ELEMENT_ID, elemId)
160+
.put(DataConstants.REVISION_ID, revisionId)
161+
.put(DataConstants.ELEMENT_IDS, element_ids)
148162
)))
149163
}
150164

165+
151166
}
152-
"element" -> {
167+
DataConstants.ELEMENT -> {
153168
// println("Received Element")
154169
// println(data)
155170

156171
val branchId = data.getString(DataConstants.BRANCH_ID)
157172
val resourceId = data.getString(DataConstants.RESOURCE_ID)
158173
val workspaceId = data.getString(DataConstants.WORKSPACE_ID)
159-
// TODO send IDs as a single message
160174
data.getJsonArray(DataConstants.ELEMENTS).forEach { element ->
161175
val element_id = (element as JsonObject).getString("@id")
162176

163-
vertx.eventBus().send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message("getElement",
177+
vertx.eventBus().send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message(DataConstants.GET_ELEMENT,
164178
JsonObject()
165179
.put(DataConstants.WORKSPACE_ID, workspaceId)
166180
.put(DataConstants.RESOURCE_ID, resourceId)
@@ -176,18 +190,16 @@ class MainVerticle(val usr: String, val pswd: String) : AbstractVerticle() {
176190
val branchId = data.getString(DataConstants.BRANCH_ID)
177191
val resourceId = data.getString(DataConstants.RESOURCE_ID)
178192
val workspaceId = data.getString(DataConstants.WORKSPACE_ID)
179-
// TODO send IDs as a single message
180-
data.getJsonArray("element_ids").forEach { element ->
181-
val element_id = (element as JsonObject).getString("@id")
182-
183-
vertx.eventBus().send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message("getElement",
184-
JsonObject()
185-
.put(DataConstants.WORKSPACE_ID, workspaceId)
186-
.put(DataConstants.RESOURCE_ID, resourceId)
187-
.put(DataConstants.BRANCH_ID, branchId)
188-
.put(DataConstants.ELEMENT_ID, element_id)
189-
)))
193+
val element_ids = data.getJsonArray(DataConstants.ELEMENT_IDS).map { element ->
194+
(element as JsonObject).getString("@id")
190195
}
196+
vertx.eventBus().send(DataConstants.TWCVERT_ADDRESS, Json.encode(Message(DataConstants.GET_ELEMENTS,
197+
JsonObject()
198+
.put(DataConstants.WORKSPACE_ID, workspaceId)
199+
.put(DataConstants.RESOURCE_ID, resourceId)
200+
.put(DataConstants.BRANCH_ID, branchId)
201+
.put(DataConstants.ELEMENT_IDS, element_ids)
202+
)))
191203
}
192204
DataConstants.ERROR -> {
193205
println("\nExit")

0 commit comments

Comments
 (0)