Skip to content

Commit 1fe162a

Browse files
committed
fix #233
1 parent 92c30c3 commit 1fe162a

File tree

13 files changed

+36
-64
lines changed

13 files changed

+36
-64
lines changed

conf/h2/md/database/schema/table.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ select "@schema" /* { "label": "Owner", "description": "Owner of the
1515
, t.table_name as "@table"
1616
, t.*
1717
from information_schema.tables t
18-
where lower(t.table_schema) like lower('${uri.path(0)}')
19-
and lower(t.table_name) like lower('${uri.path(1)}'))
18+
where lower(t.table_schema) like lower('{{ uri.path(0) }}')
19+
and lower(t.table_name) like lower('{{ uri.path(1) }}'))
2020
````
2121

2222
````sql

pom.xml

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -178,23 +178,10 @@
178178
<scope>test</scope>
179179
</dependency>
180180

181-
182-
<dependency>
183-
<groupId>org.codehaus.groovy</groupId>
184-
<artifactId>groovy</artifactId>
185-
<version>3.0.0-beta-1</version>
186-
</dependency>
187-
188-
<dependency>
189-
<groupId>org.codehaus.groovy</groupId>
190-
<artifactId>groovy-xml</artifactId>
191-
<version>3.0.0-beta-1</version>
192-
</dependency>
193-
194181
<dependency>
195-
<groupId>org.codehaus.groovy</groupId>
196-
<artifactId>groovy-templates</artifactId>
197-
<version>3.0.0-beta-1</version>
182+
<groupId>com.hubspot.jinjava</groupId>
183+
<artifactId>jinjava</artifactId>
184+
<version>2.5.1</version>
198185
</dependency>
199186

200187
<dependency>

src/main/kotlin/com/github/mgramin/sqlboot/model/dialect/FakeDialect.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,6 @@ class FakeDialect : Dialect {
3737

3838
override fun name() = "h2"
3939

40-
override fun paginationQueryTemplate() = "${"$"}{query}"
40+
override fun paginationQueryTemplate() = "{{ query }}"
4141

4242
}

src/main/kotlin/com/github/mgramin/sqlboot/model/resourcetype/impl/FsResourceType.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import com.github.mgramin.sqlboot.model.resourcetype.wrappers.header.SelectWrapp
4242
import com.github.mgramin.sqlboot.model.resourcetype.wrappers.header.TypeWrapper
4343
import com.github.mgramin.sqlboot.model.resourcetype.wrappers.list.SortWrapper
4444
import com.github.mgramin.sqlboot.model.uri.Uri
45-
import com.github.mgramin.sqlboot.template.generator.impl.GroovyTemplateGenerator
45+
import com.github.mgramin.sqlboot.template.generator.impl.FakeTemplateGenerator
4646
import com.github.mgramin.sqlboot.tools.files.file.impl.MarkdownFile
4747
import org.springframework.core.io.FileSystemResource
4848
import reactor.core.publisher.Flux
@@ -100,7 +100,7 @@ class FsResourceType(
100100
sql = it,
101101
endpoints = endpoints,
102102
dialects = dialects),
103-
templateGenerator = GroovyTemplateGenerator("[EMPTY BODY]")))))
103+
templateGenerator = FakeTemplateGenerator("[EMPTY BODY]")))))
104104

105105
private fun wildcardToRegex(uri: Uri) =
106106
uri.type().replace("?", ".?").replace("*", ".*?").toRegex()

src/main/kotlin/com/github/mgramin/sqlboot/model/resourcetype/impl/SqlResourceType.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,12 @@ import com.github.mgramin.sqlboot.model.uri.impl.DbUri
4343
import com.github.mgramin.sqlboot.model.uri.impl.FakeUri
4444
import com.github.mgramin.sqlboot.sql.select.SelectQuery
4545
import com.github.mgramin.sqlboot.sql.select.impl.SimpleSelectQuery
46-
import com.github.mgramin.sqlboot.sql.select.wrappers.*
47-
import com.github.mgramin.sqlboot.template.generator.impl.GroovyTemplateGenerator
46+
import com.github.mgramin.sqlboot.sql.select.wrappers.GrafanaSelectQuery
47+
import com.github.mgramin.sqlboot.sql.select.wrappers.JdbcSelectQuery
48+
import com.github.mgramin.sqlboot.sql.select.wrappers.OrderedSelectQuery
49+
import com.github.mgramin.sqlboot.sql.select.wrappers.PaginatedSelectQuery
50+
import com.github.mgramin.sqlboot.sql.select.wrappers.RestSelectQuery
51+
import com.github.mgramin.sqlboot.template.generator.impl.JinjaTemplateGenerator
4852
import com.google.gson.Gson
4953
import com.google.gson.JsonArray
5054
import com.google.gson.JsonObject
@@ -60,7 +64,7 @@ class SqlResourceType(
6064
private val dialects: List<Dialect>
6165
) : ResourceType {
6266

63-
private val simpleSelectQuery = SimpleSelectQuery(GroovyTemplateGenerator(sql))
67+
private val simpleSelectQuery = SimpleSelectQuery(JinjaTemplateGenerator(sql))
6468

6569
override fun aliases(): List<String> {
6670
return listOf(simpleSelectQuery.properties()["name"]!!)

src/main/kotlin/com/github/mgramin/sqlboot/sql/select/wrappers/JdbcSelectQuery.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
package com.github.mgramin.sqlboot.sql.select.wrappers
3434

3535
import com.github.mgramin.sqlboot.sql.select.SelectQuery
36-
import com.github.mgramin.sqlboot.template.generator.impl.GroovyTemplateGenerator
36+
import com.github.mgramin.sqlboot.template.generator.impl.JinjaTemplateGenerator
3737
import org.slf4j.LoggerFactory
3838
import org.springframework.jdbc.core.JdbcTemplate
3939
import reactor.core.publisher.Flux
@@ -66,7 +66,7 @@ class JdbcSelectQuery(
6666
override fun columns() = origin.columns()
6767

6868
override fun execute(variables: Map<String, Any>): Flux<Map<String, Any>> {
69-
val sqlText = GroovyTemplateGenerator(origin.query()).generate(variables)
69+
val sqlText = JinjaTemplateGenerator(origin.query()).generate(variables)
7070
logger.info(sqlText)
7171

7272
return Mono.fromCallable {

src/main/kotlin/com/github/mgramin/sqlboot/sql/select/wrappers/PaginatedSelectQuery.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ package com.github.mgramin.sqlboot.sql.select.wrappers
3434

3535
import com.github.mgramin.sqlboot.model.uri.Uri
3636
import com.github.mgramin.sqlboot.sql.select.SelectQuery
37-
import com.github.mgramin.sqlboot.template.generator.impl.GroovyTemplateGenerator
37+
import com.github.mgramin.sqlboot.template.generator.impl.JinjaTemplateGenerator
3838

3939
class PaginatedSelectQuery(
4040
private val origin: SelectQuery,
@@ -51,7 +51,7 @@ class PaginatedSelectQuery(
5151
"uri" to uri,
5252
"offset" to uri.pageSize() * (uri.pageNumber() - 1),
5353
"limit" to uri.pageSize())
54-
GroovyTemplateGenerator(template).generate(vars)
54+
JinjaTemplateGenerator(template).generate(vars)
5555
} else {
5656
origin.query()
5757
}

src/main/kotlin/com/github/mgramin/sqlboot/sql/select/wrappers/TemplatedSelectQuery.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
package com.github.mgramin.sqlboot.sql.select.wrappers
3434

3535
import com.github.mgramin.sqlboot.sql.select.SelectQuery
36-
import com.github.mgramin.sqlboot.template.generator.impl.GroovyTemplateGenerator
36+
import com.github.mgramin.sqlboot.template.generator.impl.JinjaTemplateGenerator
3737

3838
class TemplatedSelectQuery(
3939
private val origin: SelectQuery,
@@ -46,7 +46,7 @@ class TemplatedSelectQuery(
4646
override fun query(): String {
4747
val vars = hashMapOf<String, Any>("query" to origin.query())
4848
vars.putAll(variables)
49-
return GroovyTemplateGenerator(template).generate(vars)
49+
return JinjaTemplateGenerator(template).generate(vars)
5050
}
5151

5252
override fun columns() = origin.columns()
Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,17 @@
3333
package com.github.mgramin.sqlboot.template.generator.impl
3434

3535
import com.github.mgramin.sqlboot.template.generator.TemplateGenerator
36-
import groovy.text.GStringTemplateEngine
37-
import groovy.text.Template
36+
import com.hubspot.jinjava.Jinjava
3837

39-
class GroovyTemplateGenerator(private val templateText: String) : TemplateGenerator {
4038

41-
private val template: Template = GStringTemplateEngine().createTemplate(templateText)
39+
class JinjaTemplateGenerator(private val templateText: String) : TemplateGenerator {
4240

4341
override fun generate(variables: Map<String, Any>): String {
44-
return this.template.make(variables).toString()
42+
return Jinjava().render(templateText, variables)
4543
}
4644

4745
override fun template(): String {
4846
return templateText
4947
}
50-
}
48+
49+
}

src/main/resources/application.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ conf:
33
dialects:
44
- name: h2
55
paginationQueryTemplate: >
6-
${query} offset ${uri.pageSize()*(uri.pageNumber()-1)} limit ${uri.pageSize()}
6+
{{ query }} offset {{ uri.pageSize()*(uri.pageNumber()-1) }} limit {{ uri.pageSize() }}
77
- name: postgres
88
paginationQueryTemplate: >
9-
${query} offset ${uri.pageSize()*(uri.pageNumber()-1)} limit ${uri.pageSize()}
9+
{{ query }} offset {{ uri.pageSize()*(uri.pageNumber()-1) }} limit {{ uri.pageSize() }}
1010
- name: osquery
1111
paginationQueryTemplate: >
12-
${query} limit ${uri.pageSize()*(uri.pageNumber()-1)}, ${uri.pageSize()}
12+
{{ query }} limit {{ uri.pageSize()*(uri.pageNumber()-1) }}, {{ uri.pageSize() }}
1313
1414
endpoints:
1515
- name: h2

0 commit comments

Comments
 (0)