Skip to content

Commit 8a5d96e

Browse files
authored
Poorva | Refactor codegenerator. (#207)
Extract Command and Query classes
1 parent 8dc8ae2 commit 8a5d96e

18 files changed

+359
-237
lines changed

cli/src/main/kotlin/norm/api/NormApi.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,11 @@ class NormApi(
1313
connection: Connection
1414
) {
1515
private val sqlAnalyzer = SqlAnalyzer(connection)
16-
private val codeGenerator = CodeGenerator()
17-
1816
/**
1917
* Generates code of classes against given SQL Query
2018
*/
2119
fun generate(query: String, packageName: String, baseName: String): String {
2220
val sqlModel = sqlAnalyzer.sqlModel(query)
23-
return codeGenerator.generate(sqlModel, packageName, baseName)
21+
return CodeGenerator.generate(listOf(sqlModel), packageName, baseName)
2422
}
2523
}

cli/src/test/kotlin/norm/test/utils/TestUtils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ fun toArgs(str: String): Array<String> = str.split(" ").toTypedArray()
1111

1212
fun codegen(conn: Connection, query: String, pkg: String, base: String): String {
1313
val sqlModel = SqlAnalyzer(conn).sqlModel(query)
14-
return CodeGenerator().generate(sqlModel, pkg, base).trim()
14+
return CodeGenerator.generate(listOf(sqlModel), pkg, base).trim()
1515
}
1616

1717
fun String.readAsResource(): String = object {}.javaClass.getResource(this).readText().trim()

cli/src/test/resources/gen/array-any.expected.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,6 @@ public class FooParamSetter : ParamSetter<FooParams> {
2020
}
2121
}
2222

23-
public data class FooResult(
24-
public val id: Int,
25-
public val firstName: String?,
26-
public val lastName: String?
27-
)
28-
2923
public class FooRowMapper : RowMapper<FooResult> {
3024
public override fun map(rs: ResultSet): FooResult = FooResult(
3125
id = rs.getObject("id") as kotlin.Int,
@@ -40,3 +34,9 @@ public class FooQuery : Query<FooParams, FooResult> {
4034

4135
public override val paramSetter: ParamSetter<FooParams> = FooParamSetter()
4236
}
37+
38+
public data class FooResult(
39+
public val id: Int,
40+
public val firstName: String?,
41+
public val lastName: String?
42+
)

cli/src/test/resources/gen/array-columns-mapping.expected.txt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,6 @@ public class FooParamSetter : ParamSetter<FooParams> {
1818
}
1919
}
2020

21-
public data class FooResult(
22-
public val id: Int,
23-
public val colors: Array<String>?,
24-
public val details: PGobject?
25-
)
26-
2721
public class FooRowMapper : RowMapper<FooResult> {
2822
public override fun map(rs: ResultSet): FooResult = FooResult(
2923
id = rs.getObject("id") as kotlin.Int,
@@ -39,3 +33,8 @@ public class FooQuery : Query<FooParams, FooResult> {
3933
public override val paramSetter: ParamSetter<FooParams> = FooParamSetter()
4034
}
4135

36+
public data class FooResult(
37+
public val id: Int,
38+
public val colors: Array<String>?,
39+
public val details: PGobject?
40+
)

cli/src/test/resources/gen/array-contains.expected.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,6 @@ public class FooParamSetter : ParamSetter<FooParams> {
2020
}
2121
}
2222

23-
public data class FooResult(
24-
public val id: Int,
25-
public val colors: Array<String>?
26-
)
27-
2823
public class FooRowMapper : RowMapper<FooResult> {
2924
public override fun map(rs: ResultSet): FooResult = FooResult(
3025
id = rs.getObject("id") as kotlin.Int,
@@ -38,3 +33,8 @@ public class FooQuery : Query<FooParams, FooResult> {
3833

3934
public override val paramSetter: ParamSetter<FooParams> = FooParamSetter()
4035
}
36+
37+
public data class FooResult(
38+
public val id: Int,
39+
public val colors: Array<String>?
40+
)

cli/src/test/resources/gen/empty-params-class.expected.txt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,6 @@ public class FooParamSetter : ParamSetter<FooParams> {
1616
}
1717
}
1818

19-
public data class FooResult(
20-
public val id: Int,
21-
public val firstName: String?,
22-
public val lastName: String?
23-
)
24-
2519
public class FooRowMapper : RowMapper<FooResult> {
2620
public override fun map(rs: ResultSet): FooResult = FooResult(
2721
id = rs.getObject("id") as kotlin.Int,
@@ -36,3 +30,10 @@ public class FooQuery : Query<FooParams, FooResult> {
3630

3731
public override val paramSetter: ParamSetter<FooParams> = FooParamSetter()
3832
}
33+
34+
public data class FooResult(
35+
public val id: Int,
36+
public val firstName: String?,
37+
public val lastName: String?
38+
)
39+

cli/src/test/resources/gen/left-joined-nullable-check.expected.txt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,6 @@ public class FooParamSetter : ParamSetter<FooParams> {
1717
}
1818
}
1919

20-
public data class FooResult(
21-
public val id: Int,
22-
public val firstName: String?,
23-
public val lastName: String?,
24-
public val departmentId: Int?,
25-
public val name: String?,
26-
public val combinationsId: Int?,
27-
public val colors: Array<String>?
28-
)
29-
3020
public class FooRowMapper : RowMapper<FooResult> {
3121
public override fun map(rs: ResultSet): FooResult = FooResult(
3222
id = rs.getObject("id") as kotlin.Int,
@@ -50,3 +40,13 @@ public class FooQuery : Query<FooParams, FooResult> {
5040

5141
public override val paramSetter: ParamSetter<FooParams> = FooParamSetter()
5242
}
43+
44+
public data class FooResult(
45+
public val id: Int,
46+
public val firstName: String?,
47+
public val lastName: String?,
48+
public val departmentId: Int?,
49+
public val name: String?,
50+
public val combinationsId: Int?,
51+
public val colors: Array<String>?
52+
)

cli/src/test/resources/gen/query-class-generator.expected.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,6 @@ public class FooParamSetter : ParamSetter<FooParams> {
2121
}
2222
}
2323

24-
public data class FooResult(
25-
public val id: Int,
26-
public val firstName: String?,
27-
public val lastName: String?
28-
)
29-
3024
public class FooRowMapper : RowMapper<FooResult> {
3125
public override fun map(rs: ResultSet): FooResult = FooResult(
3226
id = rs.getObject("id") as kotlin.Int,
@@ -41,3 +35,9 @@ public class FooQuery : Query<FooParams, FooResult> {
4135

4236
public override val paramSetter: ParamSetter<FooParams> = FooParamSetter()
4337
}
38+
39+
public data class FooResult(
40+
public val id: Int,
41+
public val firstName: String?,
42+
public val lastName: String?
43+
)

cli/src/test/resources/gen/uuid-column-type-generator.expected.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,6 @@ public class FooParamSetter : ParamSetter<FooParams> {
1717
}
1818
}
1919

20-
public data class FooResult(
21-
public val id: UUID,
22-
public val columnName: String?,
23-
public val oldValue: String?,
24-
public val newValue: String?,
25-
public val capturedAt: OffsetDateTime?
26-
)
27-
2820
public class FooRowMapper : RowMapper<FooResult> {
2921
public override fun map(rs: ResultSet): FooResult = FooResult(
3022
id = rs.getObject("id") as java.util.UUID,
@@ -41,3 +33,11 @@ public class FooQuery : Query<FooParams, FooResult> {
4133

4234
public override val paramSetter: ParamSetter<FooParams> = FooParamSetter()
4335
}
36+
37+
public data class FooResult(
38+
public val id: UUID,
39+
public val columnName: String?,
40+
public val oldValue: String?,
41+
public val newValue: String?,
42+
public val capturedAt: OffsetDateTime?
43+
)

0 commit comments

Comments
 (0)