Skip to content

Commit d4bd71b

Browse files
authored
Merge pull request #1494 from Raizlabs/develop
4.2.2
2 parents 6eaee99 + 8c6cf3d commit d4bd71b

File tree

7 files changed

+41
-17
lines changed

7 files changed

+41
-17
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
![Image](https://github.com/agrosner/DBFlow/blob/develop/dbflow_banner.png?raw=true)
22

3-
[![JitPack.io](https://img.shields.io/badge/JitPack.io-4.2.1-red.svg?style=flat)](https://jitpack.io/#Raizlabs/DBFlow) [![Android Weekly](http://img.shields.io/badge/Android%20Weekly-%23129-2CB3E5.svg?style=flat)](http://androidweekly.net/issues/issue-129) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-DBFlow-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1134)
3+
[![JitPack.io](https://img.shields.io/badge/JitPack.io-4.2.2-red.svg?style=flat)](https://jitpack.io/#Raizlabs/DBFlow) [![Android Weekly](http://img.shields.io/badge/Android%20Weekly-%23129-2CB3E5.svg?style=flat)](http://androidweekly.net/issues/issue-129) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-DBFlow-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1134)
44

55
A robust, powerful, and very simple ORM android database library with **annotation processing**.
66

@@ -43,7 +43,7 @@ Add the library to the project-level build.gradle, using the apt plugin to enabl
4343
4444
apply plugin: 'kotlin-kapt' // required for kotlin.
4545
46-
def dbflow_version = "4.2.1"
46+
def dbflow_version = "4.2.2"
4747
// or dbflow_version = "develop-SNAPSHOT" for grabbing latest dependency in your project on the develop branch
4848
// or 10-digit short-hash of a specific commit. (Useful for bugs fixed in develop, but not in a release yet)
4949

dbflow-processor/src/main/java/com/raizlabs/android/dbflow/processor/SQLiteHelper.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,14 @@ enum class SQLiteHelper {
7979
private val sNumberMethodList = hashSetOf(TypeName.BYTE, TypeName.DOUBLE, TypeName.FLOAT,
8080
TypeName.LONG, TypeName.SHORT, TypeName.INT)
8181

82-
operator fun get(typeName: TypeName?): SQLiteHelper = sTypeMap[typeName] ?: SQLiteHelper.TEXT
82+
operator fun get(typeName: TypeName?): SQLiteHelper = sTypeMap[typeName]
83+
?: throw IllegalArgumentException("Cannot map $typeName to a SQLite Type. If this is a " +
84+
"TypeConverter, ensure it maps to a primitive type.")
8385

8486
fun getWrapperMethod(typeName: TypeName?): String {
8587
var sqLiteHelper = get(typeName).sqliteStatementWrapperMethod
8688
if (typeName == TypeName.FLOAT.box()) {
87-
sqLiteHelper = "Float";
89+
sqLiteHelper = "Float"
8890
}
8991
return sqLiteHelper;
9092
}

dbflow-processor/src/main/java/com/raizlabs/android/dbflow/processor/definition/column/ColumnAccessCombiner.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ class SqliteStatementAccessCombiner(combiner: Combiner)
165165
val fieldAccess: CodeBlock = getFieldAccessBlock(this@addCode, modelBlock,
166166
defineProperty = defineProperty)
167167
val wrapperMethod = SQLiteHelper.getWrapperMethod(wrapperFieldTypeName ?: fieldTypeName)
168-
val statementMethod = SQLiteHelper[fieldTypeName].sqLiteStatementMethod
168+
val statementMethod = SQLiteHelper[wrapperFieldTypeName ?: fieldTypeName].sqLiteStatementMethod
169169

170170
var offset = "$index + $columnRepresentation"
171171
if (columnRepresentation.isNullOrEmpty()) {

dbflow-processor/src/main/java/com/raizlabs/android/dbflow/processor/definition/column/DefinitionUtils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ object DefinitionUtils {
1616
var statement: String? = null
1717

1818
if (SQLiteHelper.containsType(wrapperTypeName ?: elementTypeName)) {
19-
statement = SQLiteHelper[elementTypeName].toString()
19+
statement = SQLiteHelper[wrapperTypeName ?: elementTypeName].toString()
2020
}
2121

2222
return CodeBlock.builder().add("\$L \$L", QueryBuilder.quote(columnName), statement)

dbflow-tests/src/test/java/com/raizlabs/android/dbflow/models/SimpleTestModels.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -97,18 +97,18 @@ class FeedEntry(@PrimaryKey var id: Int = 0,
9797

9898
@Table(database = TestDatabase::class)
9999
@ManyToMany(
100-
generatedTableClassName = "Refund", referencedTable = Transfer::class,
101-
referencedTableColumnName = "refund_in", thisTableColumnName = "refund_out",
102-
saveForeignKeyModels = true
100+
generatedTableClassName = "Refund", referencedTable = Transfer::class,
101+
referencedTableColumnName = "refund_in", thisTableColumnName = "refund_out",
102+
saveForeignKeyModels = true
103103
)
104104
data class Transfer(@PrimaryKey var transfer_id: UUID = UUID.randomUUID())
105105

106106
@Table(database = TestDatabase::class)
107107
data class Transfer2(
108-
@PrimaryKey
109-
var id: UUID = UUID.randomUUID(),
110-
@ForeignKey(stubbedRelationship = true)
111-
var origin: Account? = null
108+
@PrimaryKey
109+
var id: UUID = UUID.randomUUID(),
110+
@ForeignKey(stubbedRelationship = true)
111+
var origin: Account? = null
112112
)
113113

114114
@Table(database = TestDatabase::class)
@@ -133,12 +133,12 @@ class SqlListenerModel(@PrimaryKey var id: Int = 0) : SQLiteStatementListener {
133133
}
134134
}
135135

136-
class CustomType(var name: String? = "")
136+
class CustomType(var name: Int? = 0)
137137

138-
class CustomTypeConverter : TypeConverter<String, CustomType>() {
138+
class CustomTypeConverter : TypeConverter<Int, CustomType>() {
139139
override fun getDBValue(model: CustomType?) = model?.name
140140

141-
override fun getModelValue(data: String?) = if (data == null) {
141+
override fun getModelValue(data: Int?) = if (data == null) {
142142
null
143143
} else {
144144
CustomType(data)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.raizlabs.android.dbflow.models
2+
3+
import com.raizlabs.android.dbflow.BaseUnitTest
4+
import com.raizlabs.android.dbflow.kotlinextensions.modelAdapter
5+
import org.junit.Assert.assertEquals
6+
import org.junit.Test
7+
8+
/**
9+
* Description:
10+
*/
11+
class SimpleTestModelsTest : BaseUnitTest() {
12+
13+
@Test
14+
fun validateCreationQuery() {
15+
assertEquals("CREATE TABLE IF NOT EXISTS `TypeConverterModel`(" +
16+
"`id` INTEGER, " +
17+
"`opaqueData` BLOB, " +
18+
"`blob` BLOB, " +
19+
"`customType` INTEGER, " +
20+
"PRIMARY KEY(`id`, `customType`))", modelAdapter<TypeConverterModel>().creationQuery)
21+
}
22+
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version=4.2.1
1+
version=4.2.2
22
version_code=1
33
group=com.raizlabs.android
44
bt_siteUrl=https://github.com/Raizlabs/DBFlow

0 commit comments

Comments
 (0)