update ktorm dependence

This commit is contained in:
tursom 2021-06-22 10:31:33 +08:00
parent dcdaa1bc2d
commit a657d733e3
36 changed files with 340 additions and 68 deletions

View File

@ -17,7 +17,7 @@ ext["excludeTest"] = { project: Project, tasks: TaskContainer ->
plugins {
kotlin("jvm") version "1.4.32"
kotlin("jvm") version "1.5.0"
`maven-publish`
}

View File

@ -0,0 +1,268 @@
package cn.tursom.core
class Switch(
val value: Any? = null,
var consider: Boolean = false
) {
object BreakException : Exception()
inline val `break`: Unit
inline get() {
throw BreakException
}
inline fun case(value: Any?, block: () -> Unit = {}) {
if (consider || value == value) {
consider = true
block()
}
}
inline fun case(condition: Boolean = false, block: () -> Unit = {}) {
if (consider || condition) {
consider = true
block()
}
}
}
inline fun switch(block: Switch.() -> Unit) {
val switch = Switch()
try {
switch.block()
} catch (e: Switch.BreakException) {
}
}
inline fun <T : Any?> switch(value: T, block: Switch.() -> Unit) {
val switch = Switch(value)
try {
switch.block()
} catch (e: Switch.BreakException) {
}
}
class ByteSwitch(
val value: Byte,
var consider: Boolean = false
) {
inline val `break`: Unit
inline get() {
throw Switch.BreakException
}
inline fun case(value: Byte, block: () -> Unit = {}) {
if (consider || value == value) {
consider = true
block()
}
}
inline fun case(condition: Boolean = false, block: () -> Unit = {}) {
if (consider || condition) {
consider = true
block()
}
}
}
inline fun switch(value: Byte, block: ByteSwitch.() -> Unit) {
val switch = ByteSwitch(value)
try {
switch.block()
} catch (e: Switch.BreakException) {
}
}
class ShortSwitch(
val value: Short,
var consider: Boolean = false
) {
inline val `break`: Unit
inline get() {
throw Switch.BreakException
}
inline fun case(value: Short, block: () -> Unit = {}) {
if (consider || value == value) {
consider = true
block()
}
}
inline fun case(condition: Boolean = false, block: () -> Unit = {}) {
if (consider || condition) {
consider = true
block()
}
}
}
inline fun switch(value: Short, block: ShortSwitch.() -> Unit) {
val switch = ShortSwitch(value)
try {
switch.block()
} catch (e: Switch.BreakException) {
}
}
class IntSwitch(
val value: Int,
var consider: Boolean = false
) {
inline val `break`: Unit
inline get() {
throw Switch.BreakException
}
inline fun case(value: Int, block: () -> Unit = {}) {
if (consider || value == value) {
consider = true
block()
}
}
inline fun case(condition: Boolean = false, block: () -> Unit = {}) {
if (consider || condition) {
consider = true
block()
}
}
}
inline fun switch(value: Int, block: IntSwitch.() -> Unit) {
val switch = IntSwitch(value)
try {
switch.block()
} catch (e: Switch.BreakException) {
}
}
class LongSwitch(
val value: Long,
var consider: Boolean = false
) {
inline val `break`: Unit
inline get() {
throw Switch.BreakException
}
inline fun case(value: Long, block: () -> Unit = {}) {
if (consider || value == value) {
consider = true
block()
}
}
inline fun case(condition: Boolean = false, block: () -> Unit = {}) {
if (consider || condition) {
consider = true
block()
}
}
}
inline fun switch(value: Long, block: LongSwitch.() -> Unit) {
val switch = LongSwitch(value)
try {
switch.block()
} catch (e: Switch.BreakException) {
}
}
class FloatSwitch(
val value: Float,
var consider: Boolean = false
) {
inline val `break`: Unit
inline get() {
throw Switch.BreakException
}
inline fun case(value: Float, block: () -> Unit = {}) {
if (consider || value == value) {
consider = true
block()
}
}
inline fun case(condition: Boolean = false, block: () -> Unit = {}) {
if (consider || condition) {
consider = true
block()
}
}
}
inline fun switch(value: Float, block: FloatSwitch.() -> Unit) {
val switch = FloatSwitch(value)
try {
switch.block()
} catch (e: Switch.BreakException) {
}
}
class DoubleSwitch(
val value: Double,
var consider: Boolean = false
) {
inline val `break`: Unit
inline get() {
throw Switch.BreakException
}
inline fun case(value: Double, block: () -> Unit = {}) {
if (consider || value == value) {
consider = true
block()
}
}
inline fun case(condition: Boolean = false, block: () -> Unit = {}) {
if (consider || condition) {
consider = true
block()
}
}
}
inline fun switch(value: Double, block: DoubleSwitch.() -> Unit) {
val switch = DoubleSwitch(value)
try {
switch.block()
} catch (e: Switch.BreakException) {
}
}
class CharSwitch(
val value: Char,
var consider: Boolean = false
) {
inline val `break`: Unit
inline get() {
throw Switch.BreakException
}
inline fun case(value: Char, block: () -> Unit = {}) {
if (consider || value == value) {
consider = true
block()
}
}
inline fun case(condition: Boolean = false, block: () -> Unit = {}) {
if (consider || condition) {
consider = true
block()
}
}
}
inline fun switch(value: Char, block: CharSwitch.() -> Unit) {
val switch = CharSwitch(value)
try {
switch.block()
} catch (e: Switch.BreakException) {
}
}

View File

@ -95,7 +95,7 @@ interface MultipleByteBuffer : List<ByteBuffer>, Closeable, ByteBuffer {
}
override fun close() = forEach(ByteBuffer::close)
override fun slice(offset: Int, size: Int): MultipleByteBuffer = ListByteBuffer(subList(offset, offset + size))
override fun slice(position: Int, size: Int): MultipleByteBuffer = ListByteBuffer(subList(position, position + size))
override fun fill(byte: Byte) = forEach { it.fill(byte) }
override fun clear() = forEach(ByteBuffer::clear)
override fun reset() = forEach(ByteBuffer::reset)

View File

@ -96,7 +96,7 @@ class NettyByteBuffer(
}
override fun put(char: Char) {
byteBuf.writeChar(char.toInt())
byteBuf.writeChar(char.code)
}
override fun put(short: Short) {

View File

@ -95,7 +95,7 @@ object MurmurHash3 {
var bits: Int
var nBytes = 0 // length in UTF8 bytes
while (pos < end) {
val code = data[pos++].toInt()
val code = data[pos++].code
if (code < 0x80) {
k2 = code
bits = 8
@ -112,7 +112,7 @@ object MurmurHash3 {
} else {
// surrogate pair
// int utf32 = pos < end ? (int) data.charAt(pos++) : 0;
var utf32 = data[pos++].toInt()
var utf32 = data[pos++].code
utf32 = (code - 0xD7C0 shl 10) + (utf32 and 0x3FF)
k2 = (0xff and (0xF0 or (utf32 shr 18))
or (0x80 or (utf32 shr 12 and 0x3F) shl 8

View File

@ -14,6 +14,7 @@ import ch.qos.logback.core.util.FileSize
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.slf4j.event.Level
import java.util.*
inline fun <reified T> T.slf4jLogger(): Logger = LoggerFactory.getLogger(T::class.java)
@ -22,7 +23,8 @@ fun setLogLevel(level: Level, pkg: String = Logger.ROOT_LOGGER_NAME) {
root.level = ch.qos.logback.classic.Level.toLevel(level.toString())
}
fun setLogLevel(level: String, pkg: String = Logger.ROOT_LOGGER_NAME) = setLogLevel(Level.valueOf(level.toUpperCase()), pkg)
fun setLogLevel(level: String, pkg: String = Logger.ROOT_LOGGER_NAME) =
setLogLevel(Level.valueOf(level.uppercase(Locale.getDefault())), pkg)
/**

View File

@ -9,7 +9,7 @@ interface MemoryPool {
val staticSize: Boolean get() = true
var autoCollection: Boolean
get() = false
set(value) {}
set(_) {}
// fun allocate(): Int
fun free(memory: ByteBuffer)

View File

@ -8,7 +8,7 @@ dependencies {
implementation(project(":ts-core"))
implementation(project(":ts-core:ts-clone"))
implementation(project(":ts-core:ts-log"))
api(group = "me.liuwj.ktorm", name = "ktorm-core", version = "3.1.0")
api(group = "org.ktorm", name = "ktorm-core", version = "3.4.1")
compileOnly(group = "com.baomidou", name = "mybatis-plus", version = "3.4.2")
compileOnly(group = "com.google.code.gson", name = "gson", version = "2.8.6")
}

View File

@ -5,9 +5,9 @@ import cn.tursom.core.clone.inject
import cn.tursom.core.clone.instance
import cn.tursom.core.uncheckedCast
import com.baomidou.mybatisplus.annotation.TableField
import me.liuwj.ktorm.dsl.QueryRowSet
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.dsl.QueryRowSet
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.util.concurrent.ConcurrentHashMap
import kotlin.reflect.KClass
import kotlin.reflect.KProperty

View File

@ -2,7 +2,7 @@ package cn.tursom.database
import cn.tursom.core.Utils
import com.google.gson.Gson
import me.liuwj.ktorm.schema.SqlType
import org.ktorm.schema.SqlType
import java.lang.reflect.Type
import java.sql.PreparedStatement
import java.sql.ResultSet

View File

@ -5,9 +5,9 @@ package cn.tursom.database
import cn.tursom.core.Utils
import cn.tursom.core.uncheckedCast
import com.google.gson.Gson
import me.liuwj.ktorm.dsl.Query
import me.liuwj.ktorm.dsl.QueryRowSet
import me.liuwj.ktorm.schema.*
import org.ktorm.dsl.Query
import org.ktorm.dsl.QueryRowSet
import org.ktorm.schema.*
import java.math.BigDecimal
import java.sql.Date
import java.sql.Time
@ -141,7 +141,7 @@ fun <E : Any> BaseTable<E>.uuid(
fun <E : Any, C : Enum<C>> BaseTable<E>.enum(
field: KProperty1<E, C?>,
typeRef: TypeReference<C>,
) = enum(field.simpTableField, typeRef)
) = registerColumn(field.simpTableField, EnumSqlType(typeRef.referencedType.uncheckedCast<Class<C>>()))
fun <E : Any, C : Enum<C>> BaseTable<E>.enum(
field: KProperty1<E, C?>,

View File

@ -82,11 +82,11 @@ val String.sqlName: String
get() {
val sb = StringBuilder()
val iterator = iterator()
sb.append(iterator.nextChar().toLowerCase())
sb.append(iterator.nextChar().lowercaseChar())
iterator.forEach {
if (it.isUpperCase()) {
sb.append('_')
sb.append(it.toLowerCase())
sb.append(it.lowercaseChar())
} else {
sb.append(it)
}

View File

@ -1,7 +1,7 @@
package cn.tursom.database
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import kotlin.reflect.KProperty1
/**

View File

@ -3,8 +3,8 @@ package cn.tursom.database
import cn.tursom.core.InstantAllocator
import cn.tursom.core.getClassByPackage
import cn.tursom.core.uncheckedCast
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.util.concurrent.ConcurrentSkipListMap
import java.util.concurrent.CopyOnWriteArraySet
import kotlin.reflect.KProperty1

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.boolean
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.bytes
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.jdbcDate
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.sql.Date
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.double
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -3,9 +3,9 @@ package cn.tursom.database.typeadapter
import cn.tursom.core.uncheckedCast
import cn.tursom.database.TypeAdapter
import cn.tursom.database.simpTableField
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import me.liuwj.ktorm.schema.EnumSqlType
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import org.ktorm.schema.EnumSqlType
import kotlin.reflect.KProperty1
import kotlin.reflect.full.isSubclassOf
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.float
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.timestamp
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.time.Instant
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.int
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.decimal
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.math.BigDecimal
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -3,8 +3,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.annotations.Json
import cn.tursom.database.json
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import kotlin.reflect.KProperty1
import kotlin.reflect.full.findAnnotation

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.date
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.time.LocalDate
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.datetime
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.time.LocalDateTime
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.time
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.time.LocalTime
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.long
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.monthDay
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.time.MonthDay
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.varchar
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.jdbcTime
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.sql.Time
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.jdbcTimestamp
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.sql.Timestamp
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.uuid
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.util.*
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.year
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.time.Year
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -2,8 +2,8 @@ package cn.tursom.database.typeadapter
import cn.tursom.database.TypeAdapter
import cn.tursom.database.yearMonth
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.Column
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import java.time.YearMonth
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.jvmErasure

View File

@ -46,9 +46,11 @@ class NettyHttpServer(
webSocketPath: Iterable<Pair<String, WebSocketHandler<NettyWebSocketContent>>> = listOf(),
readTimeout: Int = 60,
writeTimeout: Int = 0,
decodeType: NettyHttpDecodeType = if (webSocketPath.iterator()
.hasNext()
) NettyHttpDecodeType.FULL_HTTP else NettyHttpDecodeType.MULTI_PART,
decodeType: NettyHttpDecodeType = if (webSocketPath.iterator().hasNext()) {
NettyHttpDecodeType.FULL_HTTP
} else {
NettyHttpDecodeType.MULTI_PART
},
backlog: Int = 1024,
wrapWebSocketFrame: Boolean = false,
sslHandlerBuilder: ((allocator: ByteBufAllocator) -> SslHandler)? = null,