From cee071ba47d2239c9724cdf51934b036617cd580 Mon Sep 17 00:00:00 2001 From: Laura Rettig Date: Mon, 5 Aug 2024 11:52:50 +0200 Subject: [PATCH] Changed schema to a named block approach --- config-schema.json | 27 ++++++++++++------- .../engine/core/config/schema/SchemaConfig.kt | 2 +- .../kotlin/org/vitrivr/engine/server/Main.kt | 3 ++- .../engine/server/config/ServerConfig.kt | 2 +- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/config-schema.json b/config-schema.json index 0c45df69..8624cac4 100755 --- a/config-schema.json +++ b/config-schema.json @@ -1,7 +1,6 @@ { - "schemas": [ - { - "name": "vitrivr", + "schemas": { + "vitrivr": { "connection": { "database": "CottontailConnectionProvider", "parameters": { @@ -10,10 +9,18 @@ } }, "fields": { - "averagecolor": { "factory": "AverageColor" }, - "file": { "factory": "FileSourceMetadata" }, - "time": { "factory": "TemporalMetadata" }, - "video": { "factory": "VideoSourceMetadata" } + "averagecolor": { + "factory": "AverageColor" + }, + "file": { + "factory": "FileSourceMetadata" + }, + "time": { + "factory": "TemporalMetadata" + }, + "video": { + "factory": "VideoSourceMetadata" + } }, "resolvers": { "disk": { @@ -43,8 +50,10 @@ } }, "extractionPipelines": { - "ingestion": { "path": "./config-ingestion.json" } + "ingestion": { + "path": "./config-ingestion.json" + } } } - ] + } } diff --git a/vitrivr-engine-core/src/main/kotlin/org/vitrivr/engine/core/config/schema/SchemaConfig.kt b/vitrivr-engine-core/src/main/kotlin/org/vitrivr/engine/core/config/schema/SchemaConfig.kt index e5230fbd..0649b482 100644 --- a/vitrivr-engine-core/src/main/kotlin/org/vitrivr/engine/core/config/schema/SchemaConfig.kt +++ b/vitrivr-engine-core/src/main/kotlin/org/vitrivr/engine/core/config/schema/SchemaConfig.kt @@ -20,7 +20,7 @@ import java.nio.file.Paths @Serializable data class SchemaConfig( /** Name of the [Schema]. */ - val name: String = "vitrivr", + var name: String = "vitrivr", /** The (database) [ConnectionConfig] for this [SchemaConfig]. */ val connection: ConnectionConfig, diff --git a/vitrivr-engine-server/src/main/kotlin/org/vitrivr/engine/server/Main.kt b/vitrivr-engine-server/src/main/kotlin/org/vitrivr/engine/server/Main.kt index 328008b9..9dd73cb6 100644 --- a/vitrivr-engine-server/src/main/kotlin/org/vitrivr/engine/server/Main.kt +++ b/vitrivr-engine-server/src/main/kotlin/org/vitrivr/engine/server/Main.kt @@ -31,7 +31,8 @@ fun main(args: Array) { /* Setup schema manager. */ val manager = SchemaManager() - for (schema in config.schemas) { + for ((name, schema) in config.schemas) { + schema.name = name manager.load(schema) } diff --git a/vitrivr-engine-server/src/main/kotlin/org/vitrivr/engine/server/config/ServerConfig.kt b/vitrivr-engine-server/src/main/kotlin/org/vitrivr/engine/server/config/ServerConfig.kt index 618fec56..3b994c79 100644 --- a/vitrivr-engine-server/src/main/kotlin/org/vitrivr/engine/server/config/ServerConfig.kt +++ b/vitrivr-engine-server/src/main/kotlin/org/vitrivr/engine/server/config/ServerConfig.kt @@ -19,7 +19,7 @@ data class ServerConfig( val api: ApiConfig = ApiConfig(), /** List of [SchemaConfig] managed by this [ServerConfig]. */ - val schemas: List + val schemas: Map ) { companion object { /** Default path to fall back to. */