Initial Development #1
@ -1,90 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
|
|
||||||
<groupId>solutions.bitbadger.documents</groupId>
|
|
||||||
<artifactId>common</artifactId>
|
|
||||||
<version>4.0.0-alpha1-SNAPSHOT</version>
|
|
||||||
<packaging>jar</packaging>
|
|
||||||
|
|
||||||
<parent>
|
|
||||||
<groupId>solutions.bitbadger</groupId>
|
|
||||||
<artifactId>documents</artifactId>
|
|
||||||
<version>4.0.0-alpha1-SNAPSHOT</version>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<name>${project.groupId}:${project.artifactId}</name>
|
|
||||||
<description>Expose a document store interface for PostgreSQL and SQLite (Common Library)</description>
|
|
||||||
<url>https://bitbadger.solutions/open-source/relational-documents/jvm/</url>
|
|
||||||
|
|
||||||
<scm>
|
|
||||||
<connection>scm:git:https://git.bitbadger.solutions/bit-badger/solutions.bitbadger.documents.git</connection>
|
|
||||||
<developerConnection>scm:git:https://git.bitbadger.solutions/bit-badger/solutions.bitbadger.documents.git</developerConnection>
|
|
||||||
<url>https://git.bitbadger.solutions/bit-badger/solutions.bitbadger.documents</url>
|
|
||||||
</scm>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<sourceDirectory>src/main/kotlin</sourceDirectory>
|
|
||||||
<testSourceDirectory>src/test/kotlin</testSourceDirectory>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.jetbrains.kotlin</groupId>
|
|
||||||
<artifactId>kotlin-maven-plugin</artifactId>
|
|
||||||
<version>${kotlin.version}</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>compile</id>
|
|
||||||
<phase>process-sources</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>compile</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<sourceDirs>
|
|
||||||
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
|
|
||||||
</sourceDirs>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
<execution>
|
|
||||||
<id>test-compile</id>
|
|
||||||
<phase>test-compile</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>test-compile</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<sourceDirs>
|
|
||||||
<sourceDir>${project.basedir}/src/test/java</sourceDir>
|
|
||||||
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
|
|
||||||
</sourceDirs>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
|
||||||
<version>2.22.2</version>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<artifactId>maven-failsafe-plugin</artifactId>
|
|
||||||
<version>2.22.2</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<goals>
|
|
||||||
<goal>integration-test</goal>
|
|
||||||
<goal>verify</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<source>${java.version}</source>
|
|
||||||
<target>${java.version}</target>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
</project>
|
|
@ -23,7 +23,8 @@ fun <TDoc> Connection.customList(
|
|||||||
parameters: Collection<Parameter<*>> = listOf(),
|
parameters: Collection<Parameter<*>> = listOf(),
|
||||||
clazz: Class<TDoc>,
|
clazz: Class<TDoc>,
|
||||||
mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
||||||
) = Custom.list(query, parameters, clazz, this, mapFunc)
|
) =
|
||||||
|
solutions.bitbadger.documents.jvm.Custom.list(query, parameters, clazz, this, mapFunc)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execute a query that returns one or no results
|
* Execute a query that returns one or no results
|
||||||
@ -39,7 +40,8 @@ fun <TDoc> Connection.customSingle(
|
|||||||
parameters: Collection<Parameter<*>> = listOf(),
|
parameters: Collection<Parameter<*>> = listOf(),
|
||||||
clazz: Class<TDoc>,
|
clazz: Class<TDoc>,
|
||||||
mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
||||||
) = Custom.single(query, parameters, clazz, this, mapFunc)
|
) =
|
||||||
|
solutions.bitbadger.documents.jvm.Custom.single(query, parameters, clazz, this, mapFunc)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execute a query that returns no results
|
* Execute a query that returns no results
|
||||||
@ -48,7 +50,7 @@ fun <TDoc> Connection.customSingle(
|
|||||||
* @param parameters Parameters to use for the query
|
* @param parameters Parameters to use for the query
|
||||||
*/
|
*/
|
||||||
fun Connection.customNonQuery(query: String, parameters: Collection<Parameter<*>> = listOf()) =
|
fun Connection.customNonQuery(query: String, parameters: Collection<Parameter<*>> = listOf()) =
|
||||||
Custom.nonQuery(query, parameters, this)
|
solutions.bitbadger.documents.jvm.Custom.nonQuery(query, parameters, this)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execute a query that returns a scalar result
|
* Execute a query that returns a scalar result
|
||||||
@ -64,7 +66,8 @@ fun <T : Any> Connection.customScalar(
|
|||||||
parameters: Collection<Parameter<*>> = listOf(),
|
parameters: Collection<Parameter<*>> = listOf(),
|
||||||
clazz: Class<T>,
|
clazz: Class<T>,
|
||||||
mapFunc: (ResultSet, Class<T>) -> T
|
mapFunc: (ResultSet, Class<T>) -> T
|
||||||
) = Custom.scalar(query, parameters, clazz, this, mapFunc)
|
) =
|
||||||
|
solutions.bitbadger.documents.jvm.Custom.scalar(query, parameters, clazz, this, mapFunc)
|
||||||
|
|
||||||
// ~~~ DEFINITION QUERIES ~~~
|
// ~~~ DEFINITION QUERIES ~~~
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package solutions.bitbadger.documents.common.java;
|
package solutions.bitbadger.documents.java;
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import AutoId;
|
import solutions.bitbadger.documents.AutoId;
|
||||||
import solutions.bitbadger.documents.DocumentException;
|
import solutions.bitbadger.documents.DocumentException;
|
||||||
import solutions.bitbadger.documents.java.java.testDocs.*;
|
import solutions.bitbadger.documents.java.support.*;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.java;
|
package solutions.bitbadger.documents.java;
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.java;
|
package solutions.bitbadger.documents.java;
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.java;
|
package solutions.bitbadger.documents.java;
|
||||||
|
|
||||||
import kotlin.Pair;
|
import kotlin.Pair;
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.AfterEach;
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.java;
|
package solutions.bitbadger.documents.java;
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.java;
|
package solutions.bitbadger.documents.java;
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.java;
|
package solutions.bitbadger.documents.java;
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
@ -1,10 +1,10 @@
|
|||||||
package solutions.bitbadger.documents.java.java;
|
package solutions.bitbadger.documents.java.jvm;
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.AfterEach;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import solutions.bitbadger.documents.*;
|
import solutions.bitbadger.documents.*;
|
||||||
import solutions.bitbadger.documents.java.jvm.Parameters;
|
import solutions.bitbadger.documents.jvm.Parameters;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -1,15 +1,15 @@
|
|||||||
package solutions.bitbadger.documents.java.java.integration.common;
|
package solutions.bitbadger.documents.java.jvm.integration.common;
|
||||||
|
|
||||||
import solutions.bitbadger.documents.Field;
|
import solutions.bitbadger.documents.Field;
|
||||||
import solutions.bitbadger.documents.java.jvm.Count;
|
import solutions.bitbadger.documents.jvm.Count;
|
||||||
import solutions.bitbadger.documents.java.integration.ThrowawayDatabase;
|
import solutions.bitbadger.documents.support.ThrowawayDatabase;
|
||||||
import solutions.bitbadger.documents.java.java.testDocs.JsonDocument;
|
import solutions.bitbadger.documents.java.support.JsonDocument;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static solutions.bitbadger.documents.java.integration.TypesKt.TEST_TABLE;
|
import static solutions.bitbadger.documents.support.TypesKt.TEST_TABLE;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Integration tests for the `Count` object
|
* Integration tests for the `Count` object
|
@ -1,9 +1,9 @@
|
|||||||
package solutions.bitbadger.documents.java.java.integration.postgresql;
|
package solutions.bitbadger.documents.java.jvm.integration.postgresql;
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import solutions.bitbadger.documents.java.integration.postgresql.PgDB;
|
import solutions.bitbadger.documents.java.jvm.integration.common.CountFunctions;
|
||||||
import solutions.bitbadger.documents.java.java.integration.common.CountFunctions;
|
import solutions.bitbadger.documents.jvm.integration.postgresql.PgDB;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PostgreSQL integration tests for the `Count` object / `count*` connection extension functions
|
* PostgreSQL integration tests for the `Count` object / `count*` connection extension functions
|
@ -1,10 +1,10 @@
|
|||||||
package solutions.bitbadger.documents.java.java.integration.sqlite;
|
package solutions.bitbadger.documents.java.jvm.integration.sqlite;
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import solutions.bitbadger.documents.DocumentException;
|
import solutions.bitbadger.documents.DocumentException;
|
||||||
import solutions.bitbadger.documents.java.integration.sqlite.SQLiteDB;
|
import solutions.bitbadger.documents.java.jvm.integration.common.CountFunctions;
|
||||||
import solutions.bitbadger.documents.java.java.integration.common.CountFunctions;
|
import solutions.bitbadger.documents.jvm.integration.sqlite.SQLiteDB;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.java.java.testDocs;
|
package solutions.bitbadger.documents.java.support;
|
||||||
|
|
||||||
public class ByteIdClass {
|
public class ByteIdClass {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.java.java.testDocs;
|
package solutions.bitbadger.documents.java.support;
|
||||||
|
|
||||||
public class IntIdClass {
|
public class IntIdClass {
|
||||||
|
|
@ -1,12 +1,12 @@
|
|||||||
package solutions.bitbadger.documents.java.java.testDocs;
|
package solutions.bitbadger.documents.java.support;
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable;
|
import kotlinx.serialization.Serializable;
|
||||||
import solutions.bitbadger.documents.java.jvm.Document;
|
import solutions.bitbadger.documents.jvm.Document;
|
||||||
import solutions.bitbadger.documents.java.integration.ThrowawayDatabase;
|
import solutions.bitbadger.documents.support.ThrowawayDatabase;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static solutions.bitbadger.documents.java.integration.TypesKt.TEST_TABLE;
|
import static solutions.bitbadger.documents.support.TypesKt.TEST_TABLE;
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
public class JsonDocument {
|
public class JsonDocument {
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.java.java.testDocs;
|
package solutions.bitbadger.documents.java.support;
|
||||||
|
|
||||||
public class LongIdClass {
|
public class LongIdClass {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.java.java.testDocs;
|
package solutions.bitbadger.documents.java.support;
|
||||||
|
|
||||||
public class ShortIdClass {
|
public class ShortIdClass {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.java.java.testDocs;
|
package solutions.bitbadger.documents.java.support;
|
||||||
|
|
||||||
public class StringIdClass {
|
public class StringIdClass {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.java.java.testDocs;
|
package solutions.bitbadger.documents.java.support;
|
||||||
|
|
||||||
public class SubDocument {
|
public class SubDocument {
|
||||||
|
|
@ -1,10 +1,8 @@
|
|||||||
package solutions.bitbadger.documents.common
|
package solutions.bitbadger.documents
|
||||||
|
|
||||||
import AutoId
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.DocumentException
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
import kotlin.test.assertFalse
|
import kotlin.test.assertFalse
|
||||||
import kotlin.test.assertNotEquals
|
import kotlin.test.assertNotEquals
|
@ -1,8 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.common
|
package solutions.bitbadger.documents
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import solutions.bitbadger.documents.*
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
import kotlin.test.assertFalse
|
import kotlin.test.assertFalse
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
@ -1,12 +1,8 @@
|
|||||||
package solutions.bitbadger.documents.common
|
package solutions.bitbadger.documents
|
||||||
|
|
||||||
import AutoId
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.Configuration
|
|
||||||
import solutions.bitbadger.documents.Dialect
|
|
||||||
import solutions.bitbadger.documents.DocumentException
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,9 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.common
|
package solutions.bitbadger.documents
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import solutions.bitbadger.documents.Dialect
|
|
||||||
import solutions.bitbadger.documents.DocumentException
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
import kotlin.test.assertNotNull
|
import kotlin.test.assertNotNull
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
@ -1,8 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.common
|
package solutions.bitbadger.documents
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import solutions.bitbadger.documents.DocumentIndex
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,8 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.common
|
package solutions.bitbadger.documents
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import solutions.bitbadger.documents.FieldMatch
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,10 +1,9 @@
|
|||||||
package solutions.bitbadger.documents.common
|
package solutions.bitbadger.documents
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.*
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
import kotlin.test.assertNotSame
|
import kotlin.test.assertNotSame
|
||||||
import kotlin.test.assertNull
|
import kotlin.test.assertNull
|
@ -1,8 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.common
|
package solutions.bitbadger.documents
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import solutions.bitbadger.documents.Op
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,8 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.common
|
package solutions.bitbadger.documents
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import solutions.bitbadger.documents.ParameterName
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,10 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.common
|
package solutions.bitbadger.documents
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.DocumentException
|
|
||||||
import solutions.bitbadger.documents.Parameter
|
|
||||||
import solutions.bitbadger.documents.ParameterType
|
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
import kotlin.test.assertNull
|
import kotlin.test.assertNull
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.java
|
package solutions.bitbadger.documents.jvm
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
@ -38,7 +38,8 @@ class ParametersTest {
|
|||||||
@DisplayName("nameFields works when changing fields")
|
@DisplayName("nameFields works when changing fields")
|
||||||
fun nameFieldsChange() {
|
fun nameFieldsChange() {
|
||||||
val fields = listOf(
|
val fields = listOf(
|
||||||
Field.equal("a", ""), Field.equal("e", "", ":hi"), Field.equal("b", ""), Field.notExists("z"))
|
Field.equal("a", ""), Field.equal("e", "", ":hi"), Field.equal("b", ""), Field.notExists("z")
|
||||||
|
)
|
||||||
val named = Parameters.nameFields(fields)
|
val named = Parameters.nameFields(fields)
|
||||||
assertEquals(fields.size, named.size, "There should have been 4 fields in the list")
|
assertEquals(fields.size, named.size, "There should have been 4 fields in the list")
|
||||||
assertNotSame(fields.elementAt(0), named.elementAt(0), "The first field should not be the same")
|
assertNotSame(fields.elementAt(0), named.elementAt(0), "The first field should not be the same")
|
@ -1,13 +1,8 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.common
|
package solutions.bitbadger.documents.jvm.integration.common
|
||||||
|
|
||||||
import solutions.bitbadger.documents.Field
|
import solutions.bitbadger.documents.Field
|
||||||
import solutions.bitbadger.documents.java.extensions.countAll
|
import solutions.bitbadger.documents.extensions.*
|
||||||
import solutions.bitbadger.documents.java.extensions.countByContains
|
import solutions.bitbadger.documents.support.*
|
||||||
import solutions.bitbadger.documents.java.extensions.countByFields
|
|
||||||
import solutions.bitbadger.documents.java.extensions.countByJsonPath
|
|
||||||
import solutions.bitbadger.documents.java.integration.JsonDocument
|
|
||||||
import solutions.bitbadger.documents.java.integration.TEST_TABLE
|
|
||||||
import solutions.bitbadger.documents.java.integration.ThrowawayDatabase
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,16 +1,12 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.common
|
package solutions.bitbadger.documents.jvm.integration.common
|
||||||
|
|
||||||
import solutions.bitbadger.documents.Configuration
|
import solutions.bitbadger.documents.*
|
||||||
import solutions.bitbadger.documents.Field
|
import solutions.bitbadger.documents.extensions.*
|
||||||
import solutions.bitbadger.documents.Parameter
|
import solutions.bitbadger.documents.jvm.Results
|
||||||
import solutions.bitbadger.documents.ParameterType
|
import solutions.bitbadger.documents.query.Count
|
||||||
import solutions.bitbadger.documents.common.*
|
import solutions.bitbadger.documents.query.Delete
|
||||||
import solutions.bitbadger.documents.java.*
|
import solutions.bitbadger.documents.query.Find
|
||||||
import solutions.bitbadger.documents.java.extensions.*
|
import solutions.bitbadger.documents.support.*
|
||||||
import solutions.bitbadger.documents.java.integration.JsonDocument
|
|
||||||
import solutions.bitbadger.documents.java.integration.TEST_TABLE
|
|
||||||
import solutions.bitbadger.documents.java.integration.ThrowawayDatabase
|
|
||||||
import solutions.bitbadger.documents.java.jvm.Results
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
import kotlin.test.assertNotNull
|
import kotlin.test.assertNotNull
|
||||||
import kotlin.test.assertNull
|
import kotlin.test.assertNull
|
@ -1,11 +1,11 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.common
|
package solutions.bitbadger.documents.jvm.integration.common
|
||||||
|
|
||||||
import solutions.bitbadger.documents.DocumentIndex
|
import solutions.bitbadger.documents.DocumentIndex
|
||||||
import solutions.bitbadger.documents.java.extensions.ensureDocumentIndex
|
import solutions.bitbadger.documents.extensions.ensureDocumentIndex
|
||||||
import solutions.bitbadger.documents.java.extensions.ensureFieldIndex
|
import solutions.bitbadger.documents.extensions.ensureFieldIndex
|
||||||
import solutions.bitbadger.documents.java.extensions.ensureTable
|
import solutions.bitbadger.documents.extensions.ensureTable
|
||||||
import solutions.bitbadger.documents.java.integration.TEST_TABLE
|
import solutions.bitbadger.documents.support.TEST_TABLE
|
||||||
import solutions.bitbadger.documents.java.integration.ThrowawayDatabase
|
import solutions.bitbadger.documents.support.ThrowawayDatabase
|
||||||
import kotlin.test.assertFalse
|
import kotlin.test.assertFalse
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.common
|
package solutions.bitbadger.documents.jvm.integration.common
|
||||||
|
|
||||||
import solutions.bitbadger.documents.Field
|
import solutions.bitbadger.documents.Field
|
||||||
import solutions.bitbadger.documents.java.extensions.*
|
import solutions.bitbadger.documents.extensions.*
|
||||||
import solutions.bitbadger.documents.java.integration.JsonDocument
|
import solutions.bitbadger.documents.support.JsonDocument
|
||||||
import solutions.bitbadger.documents.java.integration.TEST_TABLE
|
import solutions.bitbadger.documents.support.TEST_TABLE
|
||||||
import solutions.bitbadger.documents.java.integration.ThrowawayDatabase
|
import solutions.bitbadger.documents.support.ThrowawayDatabase
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,11 +1,10 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.common
|
package solutions.bitbadger.documents.jvm.integration.common
|
||||||
|
|
||||||
import AutoId
|
import solutions.bitbadger.documents.AutoId
|
||||||
import solutions.bitbadger.documents.Configuration
|
import solutions.bitbadger.documents.Configuration
|
||||||
import solutions.bitbadger.documents.Field
|
import solutions.bitbadger.documents.Field
|
||||||
import solutions.bitbadger.documents.common.*
|
import solutions.bitbadger.documents.extensions.*
|
||||||
import solutions.bitbadger.documents.java.extensions.*
|
import solutions.bitbadger.documents.support.*
|
||||||
import solutions.bitbadger.documents.java.integration.*
|
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,13 +1,8 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.common
|
package solutions.bitbadger.documents.jvm.integration.common
|
||||||
|
|
||||||
import solutions.bitbadger.documents.Field
|
import solutions.bitbadger.documents.Field
|
||||||
import solutions.bitbadger.documents.java.extensions.existsByContains
|
import solutions.bitbadger.documents.extensions.*
|
||||||
import solutions.bitbadger.documents.java.extensions.existsByFields
|
import solutions.bitbadger.documents.support.*
|
||||||
import solutions.bitbadger.documents.java.extensions.existsById
|
|
||||||
import solutions.bitbadger.documents.java.extensions.existsByJsonPath
|
|
||||||
import solutions.bitbadger.documents.java.integration.JsonDocument
|
|
||||||
import solutions.bitbadger.documents.java.integration.TEST_TABLE
|
|
||||||
import solutions.bitbadger.documents.java.integration.ThrowawayDatabase
|
|
||||||
import kotlin.test.assertFalse
|
import kotlin.test.assertFalse
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
@ -1,11 +1,10 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.common
|
package solutions.bitbadger.documents.jvm.integration.common
|
||||||
|
|
||||||
import solutions.bitbadger.documents.Configuration
|
import solutions.bitbadger.documents.Configuration
|
||||||
import solutions.bitbadger.documents.Field
|
import solutions.bitbadger.documents.Field
|
||||||
import solutions.bitbadger.documents.FieldMatch
|
import solutions.bitbadger.documents.FieldMatch
|
||||||
import solutions.bitbadger.documents.common.*
|
import solutions.bitbadger.documents.extensions.*
|
||||||
import solutions.bitbadger.documents.java.extensions.*
|
import solutions.bitbadger.documents.support.*
|
||||||
import solutions.bitbadger.documents.java.integration.*
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
import kotlin.test.assertNotNull
|
import kotlin.test.assertNotNull
|
||||||
import kotlin.test.assertNull
|
import kotlin.test.assertNull
|
@ -1,10 +1,8 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.common
|
package solutions.bitbadger.documents.jvm.integration.common
|
||||||
|
|
||||||
import solutions.bitbadger.documents.Field
|
import solutions.bitbadger.documents.Field
|
||||||
import solutions.bitbadger.documents.java.extensions.*
|
import solutions.bitbadger.documents.extensions.*
|
||||||
import solutions.bitbadger.documents.java.integration.JsonDocument
|
import solutions.bitbadger.documents.support.*
|
||||||
import solutions.bitbadger.documents.java.integration.TEST_TABLE
|
|
||||||
import solutions.bitbadger.documents.java.integration.ThrowawayDatabase
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
import kotlin.test.assertFalse
|
import kotlin.test.assertFalse
|
||||||
import kotlin.test.assertNotNull
|
import kotlin.test.assertNotNull
|
@ -1,10 +1,8 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.common
|
package solutions.bitbadger.documents.jvm.integration.common
|
||||||
|
|
||||||
import solutions.bitbadger.documents.Field
|
import solutions.bitbadger.documents.Field
|
||||||
import solutions.bitbadger.documents.java.extensions.*
|
import solutions.bitbadger.documents.extensions.*
|
||||||
import solutions.bitbadger.documents.java.integration.JsonDocument
|
import solutions.bitbadger.documents.support.*
|
||||||
import solutions.bitbadger.documents.java.integration.TEST_TABLE
|
|
||||||
import solutions.bitbadger.documents.java.integration.ThrowawayDatabase
|
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.postgresql
|
package solutions.bitbadger.documents.jvm.integration.postgresql
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import solutions.bitbadger.documents.java.integration.common.Count
|
import solutions.bitbadger.documents.jvm.integration.common.Count
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.postgresql
|
package solutions.bitbadger.documents.jvm.integration.postgresql
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import solutions.bitbadger.documents.java.integration.common.Custom
|
import solutions.bitbadger.documents.jvm.integration.common.Custom
|
||||||
|
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.postgresql
|
package solutions.bitbadger.documents.jvm.integration.postgresql
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import solutions.bitbadger.documents.java.integration.common.Definition
|
import solutions.bitbadger.documents.jvm.integration.common.Definition
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.postgresql
|
package solutions.bitbadger.documents.jvm.integration.postgresql
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import solutions.bitbadger.documents.java.integration.common.Delete
|
import solutions.bitbadger.documents.jvm.integration.common.Delete
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.postgresql
|
package solutions.bitbadger.documents.jvm.integration.postgresql
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import solutions.bitbadger.documents.java.integration.common.Document
|
import solutions.bitbadger.documents.jvm.integration.common.Document
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.postgresql
|
package solutions.bitbadger.documents.jvm.integration.postgresql
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import solutions.bitbadger.documents.java.integration.common.Exists
|
import solutions.bitbadger.documents.jvm.integration.common.Exists
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.postgresql
|
package solutions.bitbadger.documents.jvm.integration.postgresql
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import solutions.bitbadger.documents.java.integration.common.Find
|
import solutions.bitbadger.documents.jvm.integration.common.Find
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.postgresql
|
package solutions.bitbadger.documents.jvm.integration.postgresql
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import solutions.bitbadger.documents.java.integration.common.Patch
|
import solutions.bitbadger.documents.jvm.integration.common.Patch
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,18 +1,11 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.postgresql
|
package solutions.bitbadger.documents.jvm.integration.postgresql
|
||||||
|
|
||||||
import AutoId
|
import solutions.bitbadger.documents.*
|
||||||
import solutions.bitbadger.documents.Configuration
|
import solutions.bitbadger.documents.extensions.customNonQuery
|
||||||
import solutions.bitbadger.documents.Parameter
|
import solutions.bitbadger.documents.extensions.customScalar
|
||||||
import solutions.bitbadger.documents.ParameterType
|
import solutions.bitbadger.documents.extensions.ensureTable
|
||||||
import solutions.bitbadger.documents.common.*
|
import solutions.bitbadger.documents.jvm.*
|
||||||
import solutions.bitbadger.documents.java.*
|
import solutions.bitbadger.documents.support.*
|
||||||
import solutions.bitbadger.documents.java.extensions.customNonQuery
|
|
||||||
import solutions.bitbadger.documents.java.extensions.customScalar
|
|
||||||
import solutions.bitbadger.documents.java.extensions.ensureTable
|
|
||||||
import solutions.bitbadger.documents.java.integration.TEST_TABLE
|
|
||||||
import solutions.bitbadger.documents.java.integration.ThrowawayDatabase
|
|
||||||
import solutions.bitbadger.documents.java.jvm.DocumentConfig
|
|
||||||
import solutions.bitbadger.documents.java.jvm.Results
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A wrapper for a throwaway PostgreSQL database
|
* A wrapper for a throwaway PostgreSQL database
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.postgresql
|
package solutions.bitbadger.documents.jvm.integration.postgresql
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import solutions.bitbadger.documents.java.integration.common.RemoveFields
|
import solutions.bitbadger.documents.jvm.integration.common.RemoveFields
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,9 +1,9 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.sqlite
|
package solutions.bitbadger.documents.jvm.integration.sqlite
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.DocumentException
|
import solutions.bitbadger.documents.DocumentException
|
||||||
import solutions.bitbadger.documents.java.integration.common.Count
|
import solutions.bitbadger.documents.jvm.integration.common.Count
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.sqlite
|
package solutions.bitbadger.documents.jvm.integration.sqlite
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import solutions.bitbadger.documents.java.integration.common.Custom
|
import solutions.bitbadger.documents.jvm.integration.common.Custom
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,9 +1,9 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.sqlite
|
package solutions.bitbadger.documents.jvm.integration.sqlite
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.DocumentException
|
import solutions.bitbadger.documents.DocumentException
|
||||||
import solutions.bitbadger.documents.java.integration.common.Definition
|
import solutions.bitbadger.documents.jvm.integration.common.Definition
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,9 +1,9 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.sqlite
|
package solutions.bitbadger.documents.jvm.integration.sqlite
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.DocumentException
|
import solutions.bitbadger.documents.DocumentException
|
||||||
import solutions.bitbadger.documents.java.integration.common.Delete
|
import solutions.bitbadger.documents.jvm.integration.common.Delete
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.sqlite
|
package solutions.bitbadger.documents.jvm.integration.sqlite
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import solutions.bitbadger.documents.java.integration.common.Document
|
import solutions.bitbadger.documents.jvm.integration.common.Document
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,9 +1,9 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.sqlite
|
package solutions.bitbadger.documents.jvm.integration.sqlite
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.DocumentException
|
import solutions.bitbadger.documents.DocumentException
|
||||||
import solutions.bitbadger.documents.java.integration.common.Exists
|
import solutions.bitbadger.documents.jvm.integration.common.Exists
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,9 +1,9 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.sqlite
|
package solutions.bitbadger.documents.jvm.integration.sqlite
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.DocumentException
|
import solutions.bitbadger.documents.DocumentException
|
||||||
import solutions.bitbadger.documents.java.integration.common.Find
|
import solutions.bitbadger.documents.jvm.integration.common.Find
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,9 +1,9 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.sqlite
|
package solutions.bitbadger.documents.jvm.integration.sqlite
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.DocumentException
|
import solutions.bitbadger.documents.DocumentException
|
||||||
import solutions.bitbadger.documents.java.integration.common.Patch
|
import solutions.bitbadger.documents.jvm.integration.common.Patch
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,9 +1,9 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.sqlite
|
package solutions.bitbadger.documents.jvm.integration.sqlite
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.DocumentException
|
import solutions.bitbadger.documents.DocumentException
|
||||||
import solutions.bitbadger.documents.java.integration.common.RemoveFields
|
import solutions.bitbadger.documents.jvm.integration.common.RemoveFields
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,17 +1,10 @@
|
|||||||
package solutions.bitbadger.documents.java.integration.sqlite
|
package solutions.bitbadger.documents.jvm.integration.sqlite
|
||||||
|
|
||||||
import AutoId
|
import solutions.bitbadger.documents.*
|
||||||
import solutions.bitbadger.documents.Configuration
|
import solutions.bitbadger.documents.extensions.customScalar
|
||||||
import solutions.bitbadger.documents.Parameter
|
import solutions.bitbadger.documents.extensions.ensureTable
|
||||||
import solutions.bitbadger.documents.ParameterType
|
import solutions.bitbadger.documents.jvm.*
|
||||||
import solutions.bitbadger.documents.common.*
|
import solutions.bitbadger.documents.support.*
|
||||||
import solutions.bitbadger.documents.java.*
|
|
||||||
import solutions.bitbadger.documents.java.extensions.customScalar
|
|
||||||
import solutions.bitbadger.documents.java.extensions.ensureTable
|
|
||||||
import solutions.bitbadger.documents.java.integration.TEST_TABLE
|
|
||||||
import solutions.bitbadger.documents.java.integration.ThrowawayDatabase
|
|
||||||
import solutions.bitbadger.documents.java.jvm.DocumentConfig
|
|
||||||
import solutions.bitbadger.documents.java.jvm.Results
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.query
|
package solutions.bitbadger.documents.query
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
@ -8,7 +8,6 @@ import solutions.bitbadger.documents.Configuration
|
|||||||
import solutions.bitbadger.documents.Dialect
|
import solutions.bitbadger.documents.Dialect
|
||||||
import solutions.bitbadger.documents.DocumentException
|
import solutions.bitbadger.documents.DocumentException
|
||||||
import solutions.bitbadger.documents.Field
|
import solutions.bitbadger.documents.Field
|
||||||
import solutions.bitbadger.documents.java.query.Count
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.query
|
package solutions.bitbadger.documents.query
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.query
|
package solutions.bitbadger.documents.query
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
@ -1,14 +1,13 @@
|
|||||||
package solutions.bitbadger.documents.common.query
|
package solutions.bitbadger.documents.query
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import AutoId
|
import solutions.bitbadger.documents.AutoId
|
||||||
import solutions.bitbadger.documents.Configuration
|
import solutions.bitbadger.documents.Configuration
|
||||||
import solutions.bitbadger.documents.Dialect
|
import solutions.bitbadger.documents.Dialect
|
||||||
import solutions.bitbadger.documents.DocumentException
|
import solutions.bitbadger.documents.DocumentException
|
||||||
import solutions.bitbadger.documents.java.query.Document
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.query
|
package solutions.bitbadger.documents.query
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.query
|
package solutions.bitbadger.documents.query
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.query
|
package solutions.bitbadger.documents.query
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.common.query
|
package solutions.bitbadger.documents.query
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
@ -7,9 +7,6 @@ import solutions.bitbadger.documents.Configuration
|
|||||||
import solutions.bitbadger.documents.Dialect
|
import solutions.bitbadger.documents.Dialect
|
||||||
import solutions.bitbadger.documents.Field
|
import solutions.bitbadger.documents.Field
|
||||||
import solutions.bitbadger.documents.FieldMatch
|
import solutions.bitbadger.documents.FieldMatch
|
||||||
import solutions.bitbadger.documents.java.query.byFields
|
|
||||||
import solutions.bitbadger.documents.java.query.byId
|
|
||||||
import solutions.bitbadger.documents.java.query.orderBy
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -29,7 +26,7 @@ class QueryTest {
|
|||||||
@Test
|
@Test
|
||||||
@DisplayName("statementWhere generates correctly")
|
@DisplayName("statementWhere generates correctly")
|
||||||
fun statementWhere() =
|
fun statementWhere() =
|
||||||
assertEquals("x WHERE y", solutions.bitbadger.documents.java.query.statementWhere("x", "y"), "Statements not combined correctly")
|
assertEquals("x WHERE y", statementWhere("x", "y"), "Statements not combined correctly")
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("byId generates a numeric ID query (PostgreSQL)")
|
@DisplayName("byId generates a numeric ID query (PostgreSQL)")
|
@ -1,11 +1,10 @@
|
|||||||
package solutions.bitbadger.documents.common.query
|
package solutions.bitbadger.documents.query
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.*
|
import solutions.bitbadger.documents.*
|
||||||
import solutions.bitbadger.documents.common.*
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,12 +1,10 @@
|
|||||||
package solutions.bitbadger.documents.common.query
|
package solutions.bitbadger.documents.query
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach
|
import org.junit.jupiter.api.AfterEach
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.junit.jupiter.api.assertThrows
|
import org.junit.jupiter.api.assertThrows
|
||||||
import solutions.bitbadger.documents.*
|
import solutions.bitbadger.documents.*
|
||||||
import solutions.bitbadger.documents.common.*
|
|
||||||
import solutions.bitbadger.documents.java.query.Where
|
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.java
|
package solutions.bitbadger.documents.support
|
||||||
|
|
||||||
import solutions.bitbadger.documents.DocumentSerializer
|
import solutions.bitbadger.documents.DocumentSerializer
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper
|
import com.fasterxml.jackson.databind.ObjectMapper
|
@ -1,4 +1,4 @@
|
|||||||
package solutions.bitbadger.documents.java.integration
|
package solutions.bitbadger.documents.support
|
||||||
|
|
||||||
import java.sql.Connection
|
import java.sql.Connection
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
package solutions.bitbadger.documents.java.integration
|
package solutions.bitbadger.documents.support
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import solutions.bitbadger.documents.java.extensions.insert
|
import solutions.bitbadger.documents.extensions.insert
|
||||||
|
|
||||||
/** The test table name to use for integration tests */
|
/** The test table name to use for integration tests */
|
||||||
const val TEST_TABLE = "test_table"
|
const val TEST_TABLE = "test_table"
|
@ -1,24 +0,0 @@
|
|||||||
package solutions.bitbadger.documents.kotlin
|
|
||||||
|
|
||||||
import kotlinx.serialization.json.Json
|
|
||||||
|
|
||||||
object Configuration {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JSON serializer; replace to configure with non-default options
|
|
||||||
*
|
|
||||||
* The default sets `encodeDefaults` to `true` and `explicitNulls` to `false`; see
|
|
||||||
* https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/json.md for all configuration options
|
|
||||||
*/
|
|
||||||
@JvmField
|
|
||||||
var json = Json {
|
|
||||||
encodeDefaults = true
|
|
||||||
explicitNulls = false
|
|
||||||
coerceInputValues = true
|
|
||||||
}
|
|
||||||
|
|
||||||
/** The JSON serializer to use for documents */
|
|
||||||
@JvmStatic
|
|
||||||
var serializer: DocumentSerializer = DocumentSerializerKotlin()
|
|
||||||
|
|
||||||
}
|
|
@ -5,6 +5,7 @@ import solutions.bitbadger.documents.Field
|
|||||||
import solutions.bitbadger.documents.FieldMatch
|
import solutions.bitbadger.documents.FieldMatch
|
||||||
import solutions.bitbadger.documents.Parameter
|
import solutions.bitbadger.documents.Parameter
|
||||||
import solutions.bitbadger.documents.ParameterType
|
import solutions.bitbadger.documents.ParameterType
|
||||||
|
import solutions.bitbadger.documents.query.Count
|
||||||
|
|
||||||
import java.sql.Connection
|
import java.sql.Connection
|
||||||
|
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package solutions.bitbadger.documents.kotlin
|
package solutions.bitbadger.documents.kotlin
|
||||||
|
|
||||||
|
import solutions.bitbadger.documents.*
|
||||||
import solutions.bitbadger.documents.Configuration
|
import solutions.bitbadger.documents.Configuration
|
||||||
import solutions.bitbadger.documents.Parameter
|
import solutions.bitbadger.documents.jvm.Parameters
|
||||||
|
import solutions.bitbadger.documents.jvm.Custom as JvmCustom
|
||||||
import java.sql.Connection
|
import java.sql.Connection
|
||||||
import java.sql.ResultSet
|
import java.sql.ResultSet
|
||||||
|
|
||||||
@ -15,17 +17,16 @@ object Custom {
|
|||||||
*
|
*
|
||||||
* @param query The query to retrieve the results
|
* @param query The query to retrieve the results
|
||||||
* @param parameters Parameters to use for the query
|
* @param parameters Parameters to use for the query
|
||||||
* @param clazz The class of the document to be returned
|
|
||||||
* @param conn The connection over which the query should be executed
|
* @param conn The connection over which the query should be executed
|
||||||
* @param mapFunc The mapping function between the document and the domain item
|
* @param mapFunc The mapping function between the document and the domain item
|
||||||
* @return A list of results for the given query
|
* @return A list of results for the given query
|
||||||
*/
|
*/
|
||||||
inline fun <reified TDoc> list(
|
inline fun <reified TDoc : Any> list(
|
||||||
query: String,
|
query: String,
|
||||||
parameters: Collection<Parameter<*>> = listOf(),
|
parameters: Collection<Parameter<*>> = listOf(),
|
||||||
conn: Connection,
|
conn: Connection,
|
||||||
noinline mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
mapFunc: (ResultSet) -> TDoc
|
||||||
) = Custom.list(query, parameters, TDoc::class.java, conn, mapFunc)
|
) = Parameters.apply(conn, query, parameters).use { Results.toCustomList(it, mapFunc) }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execute a query that returns a list of results (creates connection)
|
* Execute a query that returns a list of results (creates connection)
|
||||||
@ -35,10 +36,10 @@ object Custom {
|
|||||||
* @param mapFunc The mapping function between the document and the domain item
|
* @param mapFunc The mapping function between the document and the domain item
|
||||||
* @return A list of results for the given query
|
* @return A list of results for the given query
|
||||||
*/
|
*/
|
||||||
inline fun <reified TDoc> list(
|
inline fun <reified TDoc : Any> list(
|
||||||
query: String,
|
query: String,
|
||||||
parameters: Collection<Parameter<*>> = listOf(),
|
parameters: Collection<Parameter<*>> = listOf(),
|
||||||
noinline mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
mapFunc: (ResultSet) -> TDoc
|
||||||
) = Configuration.dbConn().use { list(query, parameters, it, mapFunc) }
|
) = Configuration.dbConn().use { list(query, parameters, it, mapFunc) }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -50,12 +51,12 @@ object Custom {
|
|||||||
* @param mapFunc The mapping function between the document and the domain item
|
* @param mapFunc The mapping function between the document and the domain item
|
||||||
* @return The document if one matches the query, `null` otherwise
|
* @return The document if one matches the query, `null` otherwise
|
||||||
*/
|
*/
|
||||||
inline fun <reified TDoc> single(
|
inline fun <reified TDoc : Any> single(
|
||||||
query: String,
|
query: String,
|
||||||
parameters: Collection<Parameter<*>> = listOf(),
|
parameters: Collection<Parameter<*>> = listOf(),
|
||||||
conn: Connection,
|
conn: Connection,
|
||||||
noinline mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
mapFunc: (ResultSet) -> TDoc
|
||||||
) = Custom.single(query, parameters, TDoc::class.java, conn, mapFunc)
|
) = list("$query LIMIT 1", parameters, conn, mapFunc).singleOrNull()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execute a query that returns one or no results
|
* Execute a query that returns one or no results
|
||||||
@ -65,10 +66,10 @@ object Custom {
|
|||||||
* @param mapFunc The mapping function between the document and the domain item
|
* @param mapFunc The mapping function between the document and the domain item
|
||||||
* @return The document if one matches the query, `null` otherwise
|
* @return The document if one matches the query, `null` otherwise
|
||||||
*/
|
*/
|
||||||
inline fun <reified TDoc> single(
|
inline fun <reified TDoc : Any> single(
|
||||||
query: String,
|
query: String,
|
||||||
parameters: Collection<Parameter<*>> = listOf(),
|
parameters: Collection<Parameter<*>> = listOf(),
|
||||||
noinline mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
noinline mapFunc: (ResultSet) -> TDoc
|
||||||
) = Configuration.dbConn().use { single(query, parameters, it, mapFunc) }
|
) = Configuration.dbConn().use { single(query, parameters, it, mapFunc) }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -79,7 +80,7 @@ object Custom {
|
|||||||
* @param parameters Parameters to use for the query
|
* @param parameters Parameters to use for the query
|
||||||
*/
|
*/
|
||||||
fun nonQuery(query: String, parameters: Collection<Parameter<*>> = listOf(), conn: Connection) =
|
fun nonQuery(query: String, parameters: Collection<Parameter<*>> = listOf(), conn: Connection) =
|
||||||
Custom.nonQuery(query, parameters, conn)
|
JvmCustom.nonQuery(query, parameters, conn)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execute a query that returns no results
|
* Execute a query that returns no results
|
||||||
@ -103,8 +104,13 @@ object Custom {
|
|||||||
query: String,
|
query: String,
|
||||||
parameters: Collection<Parameter<*>> = listOf(),
|
parameters: Collection<Parameter<*>> = listOf(),
|
||||||
conn: Connection,
|
conn: Connection,
|
||||||
noinline mapFunc: (ResultSet, Class<T>) -> T
|
mapFunc: (ResultSet) -> T
|
||||||
) = Custom.scalar(query, parameters, T::class.java, conn, mapFunc)
|
) = Parameters.apply(conn, query, parameters).use { stmt ->
|
||||||
|
stmt.executeQuery().use { rs ->
|
||||||
|
rs.next()
|
||||||
|
mapFunc(rs)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execute a query that returns a scalar result
|
* Execute a query that returns a scalar result
|
||||||
@ -115,6 +121,6 @@ object Custom {
|
|||||||
* @return The scalar value from the query
|
* @return The scalar value from the query
|
||||||
*/
|
*/
|
||||||
inline fun <reified T : Any> scalar(
|
inline fun <reified T : Any> scalar(
|
||||||
query: String, parameters: Collection<Parameter<*>> = listOf(), noinline mapFunc: (ResultSet, Class<T>) -> T
|
query: String, parameters: Collection<Parameter<*>> = listOf(), mapFunc: (ResultSet) -> T
|
||||||
) = Configuration.dbConn().use { scalar(query, parameters, it, mapFunc) }
|
) = Configuration.dbConn().use { scalar(query, parameters, it, mapFunc) }
|
||||||
}
|
}
|
||||||
|
33
src/kotlin/src/main/kotlin/DocumentConfig.kt
Normal file
33
src/kotlin/src/main/kotlin/DocumentConfig.kt
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package solutions.bitbadger.documents.kotlin
|
||||||
|
|
||||||
|
import kotlinx.serialization.json.Json
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configuration for document serialization
|
||||||
|
*/
|
||||||
|
object DocumentConfig {
|
||||||
|
|
||||||
|
val options = Json {
|
||||||
|
coerceInputValues = true
|
||||||
|
encodeDefaults = true
|
||||||
|
explicitNulls = false
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Serialize a document to JSON
|
||||||
|
*
|
||||||
|
* @param document The document to be serialized
|
||||||
|
* @return The JSON string with the serialized document
|
||||||
|
*/
|
||||||
|
inline fun <reified TDoc> serialize(document: TDoc) =
|
||||||
|
options.encodeToString(document)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deserialize a document from JSON
|
||||||
|
*
|
||||||
|
* @param json The JSON string with the serialized document
|
||||||
|
* @return The document created from the given JSON
|
||||||
|
*/
|
||||||
|
inline fun <reified TDoc> deserialize(json: String) =
|
||||||
|
options.decodeFromString<TDoc>(json)
|
||||||
|
}
|
21
src/kotlin/src/test/kotlin/DocumentConfigTest.kt
Normal file
21
src/kotlin/src/test/kotlin/DocumentConfigTest.kt
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package solutions.bitbadger.documents.kotlin
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.DisplayName
|
||||||
|
import org.junit.jupiter.api.Test
|
||||||
|
import kotlin.test.assertFalse
|
||||||
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unit tests for the `Configuration` object
|
||||||
|
*/
|
||||||
|
@DisplayName("Kotlin | DocumentConfig")
|
||||||
|
class DocumentConfigTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("Default JSON options are as expected")
|
||||||
|
fun defaultJsonOptions() {
|
||||||
|
assertTrue(DocumentConfig.options.configuration.encodeDefaults, "Encode Defaults should have been set")
|
||||||
|
assertFalse(DocumentConfig.options.configuration.explicitNulls, "Explicit Nulls should not have been set")
|
||||||
|
assertTrue(DocumentConfig.options.configuration.coerceInputValues, "Coerce Input Values should have been set")
|
||||||
|
}
|
||||||
|
}
|
@ -1,118 +0,0 @@
|
|||||||
package solutions.bitbadger.documents
|
|
||||||
|
|
||||||
import java.sql.Connection
|
|
||||||
import java.sql.ResultSet
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Custom query execution functions
|
|
||||||
*/
|
|
||||||
object Custom {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Execute a query that returns a list of results
|
|
||||||
*
|
|
||||||
* @param query The query to retrieve the results
|
|
||||||
* @param parameters Parameters to use for the query
|
|
||||||
* @param clazz The class of the document to be returned
|
|
||||||
* @param conn The connection over which the query should be executed
|
|
||||||
* @param mapFunc The mapping function between the document and the domain item
|
|
||||||
* @return A list of results for the given query
|
|
||||||
*/
|
|
||||||
inline fun <reified TDoc> list(
|
|
||||||
query: String,
|
|
||||||
parameters: Collection<Parameter<*>> = listOf(),
|
|
||||||
conn: Connection,
|
|
||||||
noinline mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
|
||||||
) = Custom.list(query, parameters, TDoc::class.java, conn, mapFunc)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Execute a query that returns a list of results (creates connection)
|
|
||||||
*
|
|
||||||
* @param query The query to retrieve the results
|
|
||||||
* @param parameters Parameters to use for the query
|
|
||||||
* @param mapFunc The mapping function between the document and the domain item
|
|
||||||
* @return A list of results for the given query
|
|
||||||
*/
|
|
||||||
inline fun <reified TDoc> list(
|
|
||||||
query: String,
|
|
||||||
parameters: Collection<Parameter<*>> = listOf(),
|
|
||||||
noinline mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
|
||||||
) = Configuration.dbConn().use { list(query, parameters, it, mapFunc) }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Execute a query that returns one or no results
|
|
||||||
*
|
|
||||||
* @param query The query to retrieve the results
|
|
||||||
* @param parameters Parameters to use for the query
|
|
||||||
* @param conn The connection over which the query should be executed
|
|
||||||
* @param mapFunc The mapping function between the document and the domain item
|
|
||||||
* @return The document if one matches the query, `null` otherwise
|
|
||||||
*/
|
|
||||||
inline fun <reified TDoc> single(
|
|
||||||
query: String,
|
|
||||||
parameters: Collection<Parameter<*>> = listOf(),
|
|
||||||
conn: Connection,
|
|
||||||
noinline mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
|
||||||
) = Custom.single(query, parameters, TDoc::class.java, conn, mapFunc)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Execute a query that returns one or no results
|
|
||||||
*
|
|
||||||
* @param query The query to retrieve the results
|
|
||||||
* @param parameters Parameters to use for the query
|
|
||||||
* @param mapFunc The mapping function between the document and the domain item
|
|
||||||
* @return The document if one matches the query, `null` otherwise
|
|
||||||
*/
|
|
||||||
inline fun <reified TDoc> single(
|
|
||||||
query: String,
|
|
||||||
parameters: Collection<Parameter<*>> = listOf(),
|
|
||||||
noinline mapFunc: (ResultSet, Class<TDoc>) -> TDoc
|
|
||||||
) = Configuration.dbConn().use { single(query, parameters, it, mapFunc) }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Execute a query that returns no results
|
|
||||||
*
|
|
||||||
* @param query The query to retrieve the results
|
|
||||||
* @param conn The connection over which the query should be executed
|
|
||||||
* @param parameters Parameters to use for the query
|
|
||||||
*/
|
|
||||||
fun nonQuery(query: String, parameters: Collection<Parameter<*>> = listOf(), conn: Connection) =
|
|
||||||
Custom.nonQuery(query, parameters, conn)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Execute a query that returns no results
|
|
||||||
*
|
|
||||||
* @param query The query to retrieve the results
|
|
||||||
* @param parameters Parameters to use for the query
|
|
||||||
*/
|
|
||||||
fun nonQuery(query: String, parameters: Collection<Parameter<*>> = listOf()) =
|
|
||||||
Configuration.dbConn().use { nonQuery(query, parameters, it) }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Execute a query that returns a scalar result
|
|
||||||
*
|
|
||||||
* @param query The query to retrieve the result
|
|
||||||
* @param parameters Parameters to use for the query
|
|
||||||
* @param conn The connection over which the query should be executed
|
|
||||||
* @param mapFunc The mapping function between the document and the domain item
|
|
||||||
* @return The scalar value from the query
|
|
||||||
*/
|
|
||||||
inline fun <reified T : Any> scalar(
|
|
||||||
query: String,
|
|
||||||
parameters: Collection<Parameter<*>> = listOf(),
|
|
||||||
conn: Connection,
|
|
||||||
noinline mapFunc: (ResultSet, Class<T>) -> T
|
|
||||||
) = Custom.scalar(query, parameters, T::class.java, conn, mapFunc)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Execute a query that returns a scalar result
|
|
||||||
*
|
|
||||||
* @param query The query to retrieve the result
|
|
||||||
* @param parameters Parameters to use for the query
|
|
||||||
* @param mapFunc The mapping function between the document and the domain item
|
|
||||||
* @return The scalar value from the query
|
|
||||||
*/
|
|
||||||
inline fun <reified T : Any> scalar(
|
|
||||||
query: String, parameters: Collection<Parameter<*>> = listOf(), noinline mapFunc: (ResultSet, Class<T>) -> T
|
|
||||||
) = Configuration.dbConn().use { scalar(query, parameters, it, mapFunc) }
|
|
||||||
}
|
|
@ -45,7 +45,6 @@
|
|||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
<module>common</module>
|
|
||||||
<module>jvm</module>
|
<module>jvm</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
package solutions.bitbadger.documents.java;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import solutions.bitbadger.documents.common.Dialect;
|
|
||||||
import solutions.bitbadger.documents.common.DocumentException;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Unit tests for the `Configuration` object
|
|
||||||
*/
|
|
||||||
@DisplayName("Java | Configuration")
|
|
||||||
final public class ConfigurationTest {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("Default JSON options are as expected")
|
|
||||||
public void defaultJsonOptions() {
|
|
||||||
assertTrue(Configuration.json.getConfiguration().getEncodeDefaults(), "Encode Defaults should have been set");
|
|
||||||
assertFalse(Configuration.json.getConfiguration().getExplicitNulls(),
|
|
||||||
"Explicit Nulls should not have been set");
|
|
||||||
assertTrue(Configuration.json.getConfiguration().getCoerceInputValues(),
|
|
||||||
"Coerce Input Values should have been set");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("Default ID field is `id`")
|
|
||||||
public void defaultIdField() {
|
|
||||||
assertEquals("id", Configuration.idField, "Default ID field incorrect");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("Default Auto ID strategy is `DISABLED`")
|
|
||||||
public void defaultAutoId() {
|
|
||||||
assertEquals(AutoId.DISABLED, Configuration.autoIdStrategy, "Default Auto ID strategy should be `disabled`");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("Default ID string length should be 16")
|
|
||||||
public void defaultIdStringLength() {
|
|
||||||
assertEquals(16, Configuration.idStringLength, "Default ID string length should be 16");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("Dialect is derived from connection string")
|
|
||||||
public void dialectIsDerived() {
|
|
||||||
try {
|
|
||||||
assertThrows(DocumentException.class, Configuration::dialect);
|
|
||||||
Configuration.setConnectionString("jdbc:postgresql:db");
|
|
||||||
assertEquals(Dialect.POSTGRESQL, Configuration.dialect());
|
|
||||||
} catch (DocumentException ex) {
|
|
||||||
fail(ex);
|
|
||||||
} finally {
|
|
||||||
Configuration.setConnectionString(null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
package solutions.bitbadger.documents
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.DisplayName
|
|
||||||
import org.junit.jupiter.api.Test
|
|
||||||
import kotlin.test.assertFalse
|
|
||||||
import kotlin.test.assertTrue
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Unit tests for the `Configuration` object
|
|
||||||
*/
|
|
||||||
@DisplayName("Kotlin | Configuration")
|
|
||||||
class ConfigurationTest {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("Default JSON options are as expected")
|
|
||||||
fun defaultJsonOptions() {
|
|
||||||
assertTrue(Configuration.json.configuration.encodeDefaults, "Encode Defaults should have been set")
|
|
||||||
assertFalse(Configuration.json.configuration.explicitNulls, "Explicit Nulls should not have been set")
|
|
||||||
assertTrue(Configuration.json.configuration.coerceInputValues, "Coerce Input Values should have been set")
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user