From 8d7d5424d37625bb7020149e2de068fdd1cc1456 Mon Sep 17 00:00:00 2001 From: Christian Egli Date: Wed, 28 Aug 2024 10:36:27 +0200 Subject: [PATCH] Fix some reflection and performamce warnings --- src/clj/daisyproducer2/hyphenate.clj | 4 ++-- src/clj/daisyproducer2/louis.clj | 2 +- src/clj/daisyproducer2/whitelists/tables.clj | 5 +++-- src/clj/daisyproducer2/words.clj | 4 ++-- src/clj/daisyproducer2/words/confirm.clj | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/clj/daisyproducer2/hyphenate.clj b/src/clj/daisyproducer2/hyphenate.clj index f90ac2e0..ca68d1a2 100644 --- a/src/clj/daisyproducer2/hyphenate.clj +++ b/src/clj/daisyproducer2/hyphenate.clj @@ -28,11 +28,11 @@ :stop (when hyphenators (doseq [[_ hyphenator] hyphenators] - (.close hyphenator)))) + (.close ^Hyphenator hyphenator)))) (defn- hyphenate* "Hyphenate given `text` using a given `hyphenator`" - [text hyphenator] + [text ^Hyphenator hyphenator] (if (string/blank? text) "" (.hyphenate hyphenator text \- nil))) diff --git a/src/clj/daisyproducer2/louis.clj b/src/clj/daisyproducer2/louis.clj index 9d491ed9..b7ffc062 100644 --- a/src/clj/daisyproducer2/louis.clj +++ b/src/clj/daisyproducer2/louis.clj @@ -29,7 +29,7 @@ (let [tables-string (apply str (interpose \, tables))] (Translator. ^String tables-string))) -(defn translate [word translator] +(defn translate [word ^Translator translator] (let [length (count word) inter-character-attributes (int-array (repeat (- length 1) 0))] (try diff --git a/src/clj/daisyproducer2/whitelists/tables.clj b/src/clj/daisyproducer2/whitelists/tables.clj index 5a6532a3..c600a5c7 100644 --- a/src/clj/daisyproducer2/whitelists/tables.clj +++ b/src/clj/daisyproducer2/whitelists/tables.clj @@ -7,7 +7,8 @@ [daisyproducer2.louis :as louis] [daisyproducer2.metrics :as metrics] [daisyproducer2.words :as words] - [iapetos.collector.fn :as prometheus])) + [iapetos.collector.fn :as prometheus]) + (:import java.io.BufferedWriter)) (def ascii-to-dots {\A "1" @@ -184,7 +185,7 @@ document-extension (if identifier (str "-" identifier) "")] (format "%s/sbs-de-%s-white%s.mod" tables-dir key document-extension))) -(defn write-table [w grade translate words] +(defn write-table [^BufferedWriter w grade translate words] (doseq [{:keys [untranslated uncontracted contracted homograph-disambiguation] :as word} words] (let [untranslated (if (words/is-homograph? word) (string/replace homograph-disambiguation "|" words/braille-dummy-text) diff --git a/src/clj/daisyproducer2/words.clj b/src/clj/daisyproducer2/words.clj index 9d01be42..aa7f6919 100644 --- a/src/clj/daisyproducer2/words.clj +++ b/src/clj/daisyproducer2/words.clj @@ -76,7 +76,7 @@ (assoc :contracted (louis/translate untranslated (louis/translator (louis/get-tables 2 params))))))) (defn grades [grade] - (case grade ; convert grade into a list of grades + (case (int grade) ; convert grade into a list of grades (1 2) [grade] ; for grade 1 and 2 the list contains just that grade 0 [1 2])) ; grade 0 really means both grades @@ -104,7 +104,7 @@ (rename-keys mapping))) (defn- value-to-boolean [v] - (case v + (case (int v) 1 true 0 false v)) diff --git a/src/clj/daisyproducer2/words/confirm.clj b/src/clj/daisyproducer2/words/confirm.clj index 2ebd8c54..b663d3ab 100644 --- a/src/clj/daisyproducer2/words/confirm.clj +++ b/src/clj/daisyproducer2/words/confirm.clj @@ -41,7 +41,7 @@ ;; do the deletion using the old type, otherwise we will ;; not find it. type (:type word) - old-type (case type + old-type (case (int type) 1 2 ; if :type-name-hoffmann it was previously :type-name 3 4 ; if :type-place-langenthal it was previously :type-place type)