From 4f71d4ff0d1e7ff4607b58eb7d030bd860e44f3a Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 4 Apr 2020 03:02:28 +0000 Subject: CTAN sync 202004040302 --- .../arara/filehandling/DatabaseUtils.kt | 97 ---------------------- 1 file changed, 97 deletions(-) delete mode 100644 support/arara/source/src/main/kotlin/org/islandoftex/arara/filehandling/DatabaseUtils.kt (limited to 'support/arara/source/src/main/kotlin/org/islandoftex/arara/filehandling/DatabaseUtils.kt') diff --git a/support/arara/source/src/main/kotlin/org/islandoftex/arara/filehandling/DatabaseUtils.kt b/support/arara/source/src/main/kotlin/org/islandoftex/arara/filehandling/DatabaseUtils.kt deleted file mode 100644 index f4728c9366..0000000000 --- a/support/arara/source/src/main/kotlin/org/islandoftex/arara/filehandling/DatabaseUtils.kt +++ /dev/null @@ -1,97 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -package org.islandoftex.arara.filehandling - -import com.charleskorn.kaml.Yaml -import java.io.File -import org.islandoftex.arara.Arara -import org.islandoftex.arara.configuration.AraraSpec -import org.islandoftex.arara.localization.LanguageController -import org.islandoftex.arara.localization.Messages -import org.islandoftex.arara.model.AraraException - -/** - * Implements database utilitary methods. - * - * @author Island of TeX - * @version 5.0 - * @since 4.0 - */ -object DatabaseUtils { - // the application messages obtained from the - // language controller - private val messages = LanguageController - - /** - * Gets the file representing the YAML file (database). - * - * @throws AraraException Something wrong happened, to be caught in the - * higher levels. - */ - private val file: File - @Throws(AraraException::class) - get() { - val reference = Arara.config[AraraSpec.Execution.reference] - val name = "${Arara.config[AraraSpec.Execution.databaseName]}.yaml" - val path = FileHandlingUtils.getParentCanonicalFile(reference) - return path.resolve(name) - } - - /** - * Loads the YAML file representing the database. - * - * @return The database object. - * @throws AraraException Something wrong happened, to be caught in the - * higher levels. - */ - @Throws(AraraException::class) - fun load(): Database { - return if (!exists()) { - Database() - } else { - file.runCatching { - val text = readText() - if (!text.startsWith("!database")) - throw Exception("Database should start with !database") - Yaml.default.parse(Database.serializer(), text) - }.getOrElse { - it.printStackTrace() - throw AraraException(messages.getMessage(Messages - .ERROR_LOAD_COULD_NOT_LOAD_XML, file.name), it) - } - } - } - - /** - * Saves the database on a YAML file. - * - * @param database The database object. - * @throws AraraException Something wrong happened, to be caught in the - * higher levels. - */ - @Throws(AraraException::class) - fun save(database: Database) { - file.runCatching { - val content = "!database\n" + - Yaml.default.stringify(Database.serializer(), database) - writeText(content) - }.getOrElse { - throw AraraException( - messages.getMessage( - Messages.ERROR_SAVE_COULD_NOT_SAVE_XML, - file.name - ), it) - } - } - - /** - * Checks if the YAML file representing the database exists. - * - * @return A boolean value indicating if the YAML file exists. - * @throws AraraException Something wrong happened, to be caught in the - * higher levels. - */ - @Throws(AraraException::class) - private fun exists(): Boolean { - return file.exists() - } -} -- cgit v1.2.3