Further tweaks on column list view.

This commit is contained in:
Marco Vermeulen
2013-09-18 20:28:11 +01:00
parent 2f364e0402
commit fe8effd752
2 changed files with 14 additions and 28 deletions

View File

@@ -21,6 +21,7 @@ import org.vertx.java.core.json.JsonObject
final GVM_VERSION = '@GVM_VERSION@'
final VERTX_VERSION = '@VERTX_VERSION@'
final COLUMN_LENGTH = 25
//
// datasource configuration
@@ -112,7 +113,6 @@ rm.get("/candidates/:candidate/default") { req ->
}
}
def colLength = 10
def pad = { col, width=20 -> (col ?: "").take(width).padRight(width) }
def decorate = { version, currentVersion, installedVersions ->
if(currentVersion == version){
@@ -125,13 +125,14 @@ def decorate = { version, currentVersion, installedVersions ->
}
def prepareList = { candidate, available, current, installed, local ->
println "$candidate, $available, $current, $installed, $local"
def output = ""
for (i in (0..(colLength-1))){
for (i in (0..(COLUMN_LENGTH-1))){
def column1 = decorate(available[i], current, installed)
def column2 = decorate(available[i+(colLength*1)], current, installed)
def column3 = decorate(available[i+(colLength*2)], current, installed)
def column4 = decorate(available[i=(colLength*3)], current, installed)
output << "${pad(column1)} ${pad(column2)} ${pad(column3)} ${pad(column4)}\n"
def column2 = decorate(available[i+(COLUMN_LENGTH*1)], current, installed)
def column3 = decorate(available[i+(COLUMN_LENGTH*2)], current, installed)
def column4 = decorate(available[i+(COLUMN_LENGTH*3)], current, installed)
output += "${pad(column1)} ${pad(column2)} ${pad(column3)} ${pad(column4)}\n"
}
output
}
@@ -145,9 +146,13 @@ rm.get("/candidates/:candidate/list") { req ->
vertx.eventBus.send("mongo-persistor", cmd){ msg ->
def available = msg.body.results.collect { it.version }
def local = installed.findAll { ! available.contains(it) }
def output = prepareList(candidate, available, current, installed, local)
def content = prepareList(candidate, available, current, installed, local)
def gtplFile = 'build/templates/list.gtpl' as File
def binding = [candidate:candidate, content:content]
def templateText = templateEngine.createTemplate(gtplFile).make(binding).toString()
addPlainTextHeader req
req.response.end output
req.response.end templateText
}
}

View File

@@ -2,26 +2,7 @@
============================================================
Available ${candidate.capitalize()} Versions
============================================================
<%
if(local){
local.each { version ->
if(current == version) {
println " > + ${version}"
} else {
println " + ${version}"
}
}
}
available.each { version ->
if(current == version) {
println " > * ${version}"
} else if(installed.contains(version)){
println " * ${version}"
} else {
println " ${version}"
}
}
%>
${content}
============================================================
+ - local version
* - installed