From 912cd6aecf11893ce5109197586f12337954113a Mon Sep 17 00:00:00 2001 From: jo-elimu <1451036+jo-elimu@users.noreply.github.com> Date: Fri, 27 Oct 2023 21:03:21 +0700 Subject: [PATCH 1/6] feat: Add letter-sounds to REST API /analytics closes #1624 --- ...tterSoundLearningEventsRestController.java | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 src/main/java/ai/elimu/rest/v2/analytics/LetterSoundLearningEventsRestController.java diff --git a/src/main/java/ai/elimu/rest/v2/analytics/LetterSoundLearningEventsRestController.java b/src/main/java/ai/elimu/rest/v2/analytics/LetterSoundLearningEventsRestController.java new file mode 100644 index 000000000..3a47e89cd --- /dev/null +++ b/src/main/java/ai/elimu/rest/v2/analytics/LetterSoundLearningEventsRestController.java @@ -0,0 +1,77 @@ +package ai.elimu.rest.v2.analytics; + +import java.io.File; +import java.io.IOException; + +import javax.servlet.http.HttpServletResponse; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.json.JSONObject; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import ai.elimu.model.v2.enums.Language; +import ai.elimu.util.AnalyticsHelper; +import ai.elimu.util.ConfigHelper; + +/** + * REST API endpoint for receiving letter-sound learning events from the + * Analytics application. + */ +@RestController +@RequestMapping(value = "/rest/v2/analytics/letter-sound-learning-events", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) +public class LetterSoundLearningEventsRestController { + + private Logger logger = LogManager.getLogger(); + + @RequestMapping(value = "/csv", method = RequestMethod.POST) + public String handleUploadCsvRequest( + @RequestParam("file") MultipartFile multipartFile, + HttpServletResponse response + ) { + logger.info("handleUploadCsvRequest"); + + // Expected format: "7161a85a0e4751cd_3001017_letter-sound-learning-events_2023-10-27.csv" + String originalFilename = multipartFile.getOriginalFilename(); + logger.info("originalFilename: " + originalFilename); + + String androidIdExtractedFromFilename = AnalyticsHelper.extractAndroidIdFromCsvFilename(originalFilename); + logger.info("androidIdExtractedFromFilename: \"" + androidIdExtractedFromFilename + "\""); + + Integer versionCodeExtractedFromFilename = AnalyticsHelper.extractVersionCodeFromCsvFilename(originalFilename); + logger.info("versionCodeExtractedFromFilename: " + versionCodeExtractedFromFilename); + + // Store the original CSV file on the filesystem, e.g. + // ~/.elimuai/lang-HIN/analytics/android-id-7161a85a0e4751cd/version-code-3001017/letter-sound-learning-events/7161a85a0e4751cd_3001017_letter-sound-learning-events_2023-10-27.csv" + File elimuAiDir = new File(System.getProperty("user.home"), ".elimu-ai"); + File languageDir = new File(elimuAiDir, "lang-" + Language.valueOf(ConfigHelper.getProperty("content.language"))); + File analyticsDir = new File(languageDir, "analytics"); + File androidIdDir = new File(analyticsDir, "android-id-" + androidIdExtractedFromFilename); + File versionCodeDir = new File(androidIdDir, "version-code-" + versionCodeExtractedFromFilename); + File letterSoundLearningEventsDir = new File(versionCodeDir, "letter-sound-learning-events"); + letterSoundLearningEventsDir.mkdirs(); + File csvFile = new File(letterSoundLearningEventsDir, originalFilename); + logger.info("Storing CSV file at " + csvFile); + + JSONObject jsonObject = new JSONObject(); + try { + multipartFile.transferTo(csvFile); + jsonObject.put("result", "success"); + jsonObject.put("successMessage", "The CSV file was successfully uploaded"); + } catch (IllegalStateException | IOException e) { + logger.error(e); + jsonObject.put("result", "error"); + jsonObject.put("errorMessage", e.getMessage()); + response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); + } + String jsonResponse = jsonObject.toString(); + logger.info("jsonResponse: " + jsonResponse); + return jsonResponse; + } +} From bbf98ff79caceb8b2c476653ef0fb2f040a53674 Mon Sep 17 00:00:00 2001 From: jo-elimu <1451036+jo-elimu@users.noreply.github.com> Date: Mon, 30 Oct 2023 21:32:41 +0700 Subject: [PATCH 2/6] refactor: Rename CSVs ref #1624 --- LOCALIZE.md | 46 ++--- .../elimu/util/db/DbContentImportHelper.java | 4 +- ...oundCorrespondenceCsvExportController.java | 2 +- ...-correspondences.csv => letter-sounds.csv} | 100 +++++------ ...-correspondences.csv => letter-sounds.csv} | 104 +++++------ ...-correspondences.csv => letter-sounds.csv} | 68 +++---- ...-correspondences.csv => letter-sounds.csv} | 170 +++++++++--------- ...-correspondences.csv => letter-sounds.csv} | 8 +- ...-correspondences.csv => letter-sounds.csv} | 40 ++--- ...-correspondences.csv => letter-sounds.csv} | 68 +++---- ...-correspondences.csv => letter-sounds.csv} | 46 ++--- ...-correspondences.csv => letter-sounds.csv} | 80 ++++----- ...-correspondences.csv => letter-sounds.csv} | 60 +++---- ...-correspondences.csv => letter-sounds.csv} | 142 +++++++-------- ...-correspondences.csv => letter-sounds.csv} | 38 ++-- ...-correspondences.csv => letter-sounds.csv} | 40 ++--- ...-correspondences.csv => letter-sounds.csv} | 48 ++--- .../letter-sound-correspondence/list.jsp | 2 +- 18 files changed, 533 insertions(+), 533 deletions(-) rename src/main/resources/db/content_PROD/ben/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_PROD/eng/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_PROD/fil/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_PROD/hin/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_PROD/swa/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_PROD/urd/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_PROD/xho/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_TEST/ben/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_TEST/eng/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_TEST/fil/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_TEST/hin/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_TEST/swa/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_TEST/urd/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) rename src/main/resources/db/content_TEST/xho/{letter-sound-correspondences.csv => letter-sounds.csv} (97%) diff --git a/LOCALIZE.md b/LOCALIZE.md index f3016b8df..9f51f3bfb 100644 --- a/LOCALIZE.md +++ b/LOCALIZE.md @@ -23,30 +23,30 @@ Follow these steps to add a new audio file to the webapp's database: 1. Press the "Add audio" button. - Screen Shot 2020-12-09 at 4 14 45 PM + 1. If the audio recording is a word, the title should match the transcription: - Screen Shot 2020-12-09 at 4 20 17 PM + 1. However, if the audio recording is longer than a single word (e.g. a storybook paragraph), the title should be something other than the transcription: - Screen Shot 2020-12-09 at 4 22 29 PM + 1. If you copied the audio file from somewhere, make sure to include the license used on the website where you downloaded the file, as well as a link to the website. If, however, you recorded the audio file yourself, _you_ can select which license to use. We recommend using [Creative Commons CC BY](https://creativecommons.org/licenses/by/4.0/): - Screen Shot 2020-12-09 at 4 26 35 PM + 1. Remove silence before/after the audio, if any. This is to make sure that a child does not experience any delays while interacting with the software. We recommend using [Audacity](https://www.audacityteam.org) for editing audio recordings: - Screen Shot 2020-12-17 at 7 10 51 PM + - Screen Shot 2020-12-17 at 7 11 14 PM + 1. Then select the audio file, and press the "Add" button. If you want to provide any additional details about your contribution, you can do so in the "Comment" field: - Screen Shot 2020-12-09 at 4 32 43 PM + #### Adding Audio Recording via Another Page @@ -56,25 +56,25 @@ Note that there are two other ways you can add audio recordings: 1) via the word 1. At https://xho.elimu.ai/content/word/list you can find a list of words. While editing a word, you will see a warning saying "This word has no corresponding audio." if an audio recording with a matching transcription does not already exist: - Screen Shot 2020-12-09 at 4 44 43 PM + 1. Then, if you press the "Add audio" link, you will be redirected to the page for uploading an audio file, and the title and the transcription of the audio will be auto-filled: - Screen Shot 2020-12-09 at 4 48 07 PM + ##### Via the storybook paragraph edit page 1. While editing a storybook paragrah, you'll find an "Add audio" link at the bottom: - Screen Shot 2020-12-09 at 4 54 18 PM + 1. If you press the "Add audio" link, you will be redirected to the page for uploading an audio file, and the title and the transcription of the audio will be auto-filled to match the content of the paragraph: - Screen Shot 2020-12-09 at 4 56 18 PM + 1. If you add an audio recording this way, remember to go back to the paragraph edit page after uploading the audio file, and select the corresponding audio in the drop-down: - Screen Shot 2020-12-09 at 4 58 48 PM + ### Adding Words @@ -84,27 +84,27 @@ Follow these steps to add a new word to the webapp's database: 1. Press the "Add word" button: - Screen Shot 2020-12-09 at 7 41 22 PM + 1. Type the word's text: - Screen Shot 2020-12-09 at 7 44 29 PM + 1. Select the word's letter-sound correspondences: - Screen Shot 2020-12-09 at 7 52 55 PM + If the letter-sound correspondence you want to use does not exist in the drop-down, press the "Add letter-sound correspondence" link. Then select the sound corresponding to the letter(s): - Screen Shot 2020-12-09 at 7 50 47 PM + -1. Select the _Grapheme-phoneme correspondence_, according to how well the letters match the sounds. If you are unsure about this step, leave it unselected. +1. Select the _Spelling consistency_, according to how well the letters match the sounds. If you are unsure about this step, leave it unselected. - Screen Shot 2020-12-09 at 7 54 34 PM + 1. Select the word type (adjective, adverb, noun, etc) if it exists in the drop-down. Then press the "Add" button: - Screen Shot 2020-12-09 at 7 56 42 PM + #### Adding Word via Another Page @@ -114,13 +114,13 @@ One strategy is to add words used in a particular storybook: 1. In the sidebar you'll see a word frequency list: - Screen Shot 2020-12-09 at 8 12 28 PM + 1. Then, press the "Add word" link if you want to create it. 1. You will then be redirected for the page for adding a word, with the word's text auto-filled: - Screen Shot 2020-12-09 at 8 13 56 PM + 1. Then, proceed as described above in ["Adding Words"](#adding-words). @@ -128,10 +128,10 @@ Another strategy for adding words is to go to the "Words Pending" page, where yo 1. Go to https://xho.elimu.ai/content/word/pending - Screen Shot 2020-12-09 at 8 10 35 PM + 1. Here you can also choose the word to add by pressing the "Add word" link, which will redirect you to the page for adding a new word (with its text auto-filled): - Screen Shot 2020-12-09 at 8 20 00 PM + 1. Then, proceed as described above in ["Adding Words"](#adding-words). diff --git a/src/main/java/ai/elimu/util/db/DbContentImportHelper.java b/src/main/java/ai/elimu/util/db/DbContentImportHelper.java index 7115b95d0..36bcec843 100644 --- a/src/main/java/ai/elimu/util/db/DbContentImportHelper.java +++ b/src/main/java/ai/elimu/util/db/DbContentImportHelper.java @@ -161,8 +161,8 @@ public synchronized void performDatabaseContentImport(Environment environment, L } // Extract and import letter-sound correspondences in src/main/resources/ - File letterToAllophioneMappingsCsvFile = new File(contentDirectory, "letter-sound-correspondences.csv"); - List letterSoundCorrespondences = CsvContentExtractionHelper.getLetterSoundCorrespondencesFromCsvBackup(letterToAllophioneMappingsCsvFile, letterDao, soundDao, letterSoundCorrespondenceDao); + File letterSoundsCsvFile = new File(contentDirectory, "letter-sounds.csv"); + List letterSoundCorrespondences = CsvContentExtractionHelper.getLetterSoundCorrespondencesFromCsvBackup(letterSoundsCsvFile, letterDao, soundDao, letterSoundCorrespondenceDao); logger.info("letterSoundCorrespondences.size(): " + letterSoundCorrespondences.size()); letterSoundCorrespondenceDao = (LetterSoundCorrespondenceDao) webApplicationContext.getBean("letterSoundCorrespondenceDao"); letterSoundCorrespondenceContributionEventDao = (LetterSoundCorrespondenceContributionEventDao) webApplicationContext.getBean("letterSoundCorrespondenceContributionEventDao"); diff --git a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCsvExportController.java b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCsvExportController.java index 2265067c9..c5f1055b3 100644 --- a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCsvExportController.java +++ b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCsvExportController.java @@ -30,7 +30,7 @@ public class LetterSoundCorrespondenceCsvExportController { @Autowired private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; - @RequestMapping(value="/letter-sound-correspondences.csv", method = RequestMethod.GET) + @RequestMapping(value="/letter-sounds.csv", method = RequestMethod.GET) public void handleRequest( HttpServletResponse response, OutputStream outputStream diff --git a/src/main/resources/db/content_PROD/ben/letter-sound-correspondences.csv b/src/main/resources/db/content_PROD/ben/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_PROD/ben/letter-sound-correspondences.csv rename to src/main/resources/db/content_PROD/ben/letter-sounds.csv index 8a48b6187..576a661dd 100644 --- a/src/main/resources/db/content_PROD/ben/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_PROD/ben/letter-sounds.csv @@ -1,50 +1,50 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -4,[1],"[""া""]",[1],"[""ɐ""]",140 -12,[2],"[""ে""]",[7],"[""e""]",87 -7,[9],"[""ম""]",[4],"[""m""]",81 -2,[3],"[""র""]",[46],"[""ɾ""]",78 -10,[4],"[""ি""]",[6],"[""iː""]",67 -3,[8],"[""ত""]",[5],"[""t""]",53 -6,[12],"[""স""]",[8],"[""ʃ""]",53 -11,[20],"[""আ""]",[1],"[""ɐ""]",47 -13,[14],"[""ো""]",[9],"[""o""]",27 -17,[7],"[""ব""]",[11],"[""b""]",27 -20,[15],"[""দ""]",[14],"[""d""]",20 -14,[33],"[""ফ""]",[23],"[""pʰ""]",19 -21,[21],"[""খ""]",[15],"[""kʰ""]",18 -15,[18],"[""এ""]",[7],"[""e""]",17 -16,[5],"[""ক""]",[12],"[""k""]",17 -18,[19],"[""জ""]",[13],"[""dʒ""]",17 -9,[24],"[""ছ""]","[5,43]","[""t"",""ʃʰ""]",15 -19,[30],"[""ও""]",[9],"[""o""]",13 -8,[48],"[""ৌ""]","[9,34]","[""o"",""uː""]",7 -22,[6],"[""ন""]",[22],"[""n""]",3 -23,[26],"[""চ""]","[5,8]","[""t"",""ʃ""]",2 -24,[11],"[""ু""]",[34],"[""uː""]",2 -25,[28],"[""ই""]",[6],"[""iː""]",2 -1,[3],"[""র""]",[3],"[""r""]",0 -5,[12],"[""স""]",[33],"[""s""]",0 -26,[23],"[""ট""]",[44],"[""ʈ""]",0 -27,[42],"[""ঠ""]",[29],"[""ʈʰ""]",0 -28,[40],"[""উ""]",[34],"[""uː""]",0 -29,[27],"[""শ""]",[8],"[""ʃ""]",0 -30,[25],"[""গ""]",[30],"[""g""]",0 -31,[26],"[""চ""]","[5,8,10]","[""t"",""ʃ"",""ɔ""]",0 -33,[61],"[""্""]",[47],"[""∅""]",0 -34,[15],"[""দ""]","[14,10]","[""d"",""ɔ""]",0 -35,"[17,62]","[""য"",""়""]",[21],"[""j""]",0 -36,[24],"[""ছ""]","[5,43,10]","[""t"",""ʃʰ"",""ɔ""]",0 -37,[3],"[""র""]","[3,10]","[""r"",""ɔ""]",0 -38,[6],"[""ন""]","[22,10]","[""n"",""ɔ""]",0 -39,[13],"[""প""]","[16,10]","[""p"",""ɔ""]",0 -40,[13],"[""প""]",[16],"[""p""]",0 -41,"[1,36]","[""া"",""ঁ""]",[1],"[""ɐ""]",0 -42,[33],"[""ফ""]","[23,10]","[""pʰ"",""ɔ""]",0 -43,[12],"[""স""]","[39,10]","[""ɕ"",""ɔ""]",0 -44,[10],"[""ল""]",[32],"[""l""]",0 -45,[31],"[""ভ""]",[17],"[""bʱ""]",0 -46,[38],"[""ী""]",[6],"[""iː""]",0 -47,[47],"[""ূ""]",[34],"[""uː""]",0 -48,[17],"[""য""]","[13,10]","[""dʒ"",""ɔ""]",0 -49,[39],"[""ষ""]",[8],"[""ʃ""]",0 -50,[10],"[""ল""]","[32,10]","[""l"",""ɔ""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +4,[1],"[""া""]",[1],"[""ɐ""]",140 +12,[2],"[""ে""]",[7],"[""e""]",87 +7,[9],"[""ম""]",[4],"[""m""]",81 +2,[3],"[""র""]",[46],"[""ɾ""]",78 +10,[4],"[""ি""]",[6],"[""iː""]",67 +3,[8],"[""ত""]",[5],"[""t""]",53 +6,[12],"[""স""]",[8],"[""ʃ""]",53 +11,[20],"[""আ""]",[1],"[""ɐ""]",47 +13,[14],"[""ো""]",[9],"[""o""]",27 +17,[7],"[""ব""]",[11],"[""b""]",27 +20,[15],"[""দ""]",[14],"[""d""]",20 +14,[33],"[""ফ""]",[23],"[""pʰ""]",19 +21,[21],"[""খ""]",[15],"[""kʰ""]",18 +15,[18],"[""এ""]",[7],"[""e""]",17 +16,[5],"[""ক""]",[12],"[""k""]",17 +18,[19],"[""জ""]",[13],"[""dʒ""]",17 +9,[24],"[""ছ""]","[5,43]","[""t"",""ʃʰ""]",15 +19,[30],"[""ও""]",[9],"[""o""]",13 +8,[48],"[""ৌ""]","[9,34]","[""o"",""uː""]",7 +22,[6],"[""ন""]",[22],"[""n""]",3 +23,[26],"[""চ""]","[5,8]","[""t"",""ʃ""]",2 +24,[11],"[""ু""]",[34],"[""uː""]",2 +25,[28],"[""ই""]",[6],"[""iː""]",2 +1,[3],"[""র""]",[3],"[""r""]",0 +5,[12],"[""স""]",[33],"[""s""]",0 +26,[23],"[""ট""]",[44],"[""ʈ""]",0 +27,[42],"[""ঠ""]",[29],"[""ʈʰ""]",0 +28,[40],"[""উ""]",[34],"[""uː""]",0 +29,[27],"[""শ""]",[8],"[""ʃ""]",0 +30,[25],"[""গ""]",[30],"[""g""]",0 +31,[26],"[""চ""]","[5,8,10]","[""t"",""ʃ"",""ɔ""]",0 +33,[61],"[""্""]",[47],"[""∅""]",0 +34,[15],"[""দ""]","[14,10]","[""d"",""ɔ""]",0 +35,"[17,62]","[""য"",""়""]",[21],"[""j""]",0 +36,[24],"[""ছ""]","[5,43,10]","[""t"",""ʃʰ"",""ɔ""]",0 +37,[3],"[""র""]","[3,10]","[""r"",""ɔ""]",0 +38,[6],"[""ন""]","[22,10]","[""n"",""ɔ""]",0 +39,[13],"[""প""]","[16,10]","[""p"",""ɔ""]",0 +40,[13],"[""প""]",[16],"[""p""]",0 +41,"[1,36]","[""া"",""ঁ""]",[1],"[""ɐ""]",0 +42,[33],"[""ফ""]","[23,10]","[""pʰ"",""ɔ""]",0 +43,[12],"[""স""]","[39,10]","[""ɕ"",""ɔ""]",0 +44,[10],"[""ল""]",[32],"[""l""]",0 +45,[31],"[""ভ""]",[17],"[""bʱ""]",0 +46,[38],"[""ী""]",[6],"[""iː""]",0 +47,[47],"[""ূ""]",[34],"[""uː""]",0 +48,[17],"[""য""]","[13,10]","[""dʒ"",""ɔ""]",0 +49,[39],"[""ষ""]",[8],"[""ʃ""]",0 +50,[10],"[""ল""]","[32,10]","[""l"",""ɔ""]",0 diff --git a/src/main/resources/db/content_PROD/eng/letter-sound-correspondences.csv b/src/main/resources/db/content_PROD/eng/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_PROD/eng/letter-sound-correspondences.csv rename to src/main/resources/db/content_PROD/eng/letter-sounds.csv index f2550d29c..cef32b21d 100644 --- a/src/main/resources/db/content_PROD/eng/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_PROD/eng/letter-sounds.csv @@ -1,52 +1,52 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -1,[18],"[""r""]",[38],"[""r""]",0 -2,[1],"[""a""]",[5],"[""æ""]",0 -3,[2],"[""b""]",[20],"[""b""]",0 -4,[9],"[""i""]",[10],"[""ə""]",0 -5,[20],"[""t""]",[18],"[""t""]",0 -6,"[20,8]","[""t"",""h""]",[27],"[""θ""]",0 -7,[5],"[""e""]",[7],"[""ɛ""]",0 -8,[9],"[""i""]",[8],"[""ɪ""]",0 -9,[5],"[""e""]",[4],"[""iː""]",0 -10,[8],"[""h""]",[33],"[""h""]",0 -11,[23],"[""w""]",[39],"[""w""]",0 -12,[14],"[""n""]",[36],"[""n""]",0 -14,[22],"[""v""]",[26],"[""v""]",0 -15,[5],"[""e""]",[85],"[""∅""]",0 -16,[13],"[""m""]",[35],"[""m""]",0 -17,[19],"[""s""]",[29],"[""s""]",0 -18,[7],"[""g""]",[22],"[""g""]",0 -19,"[15,1]","[""o"",""a""]","[86,9]","[""o"",""ʊ""]",0 -20,"[15,15]","[""o"",""o""]",[3],"[""u""]",0 -21,[4],"[""d""]",[21],"[""d""]",0 -22,[15],"[""o""]",[2],"[""ɔ""]",0 -23,[15],"[""o""]","[86,9]","[""o"",""ʊ""]",0 -24,[21],"[""u""]",[6],"[""ʌ""]",0 -25,"[5,5]","[""e"",""e""]",[4],"[""iː""]",0 -26,[5],"[""e""]",[10],"[""ə""]",0 -27,[15],"[""o""]",[3],"[""u""]",0 -28,[1],"[""a""]",[10],"[""ə""]",0 -29,[19],"[""s""]",[30],"[""z""]",0 -30,"[20,20]","[""t"",""t""]",[18],"[""t""]",0 -31,[12],"[""l""]",[34],"[""l""]",0 -32,"[12,5]","[""l"",""e""]","[10,34]","[""ə"",""l""]",0 -33,[6],"[""f""]",[25],"[""f""]",0 -34,[25],"[""y""]","[1,8]","[""ɑ"",""ɪ""]",0 -35,[11],"[""k""]",[19],"[""k""]",0 -37,"[14,7]","[""n"",""g""]",[37],"[""ŋ""]",0 -38,[1],"[""a""]",[6],"[""ʌ""]",0 -39,[15],"[""o""]",[6],"[""ʌ""]",0 -40,[15],"[""o""]","[39,6]","[""w"",""ʌ""]",0 -41,"[14,5]","[""n"",""e""]",[36],"[""n""]",0 -42,[16],"[""p""]",[17],"[""p""]",0 -43,[25],"[""y""]",[40],"[""j""]",0 -44,"[15,21]","[""o"",""u""]",[3],"[""u""]",0 -45,[1],"[""a""]",[1],"[""ɑ""]",0 -46,"[18,5]","[""r"",""e""]",[38],"[""r""]",0 -47,[3],"[""c""]",[19],"[""k""]",0 -48,[1],"[""a""]",[87],"[""ɔː""]",0 -49,"[12,12]","[""l"",""l""]",[34],"[""l""]",0 -50,"[16,16]","[""p"",""p""]",[17],"[""p""]",0 -51,[1],"[""a""]","[7,8]","[""ɛ"",""ɪ""]",0 -52,"[20,5]","[""t"",""e""]",[18],"[""t""]",0 -53,[15],"[""o""]",[10],"[""ə""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +1,[18],"[""r""]",[38],"[""r""]",0 +2,[1],"[""a""]",[5],"[""æ""]",0 +3,[2],"[""b""]",[20],"[""b""]",0 +4,[9],"[""i""]",[10],"[""ə""]",0 +5,[20],"[""t""]",[18],"[""t""]",0 +6,"[20,8]","[""t"",""h""]",[27],"[""θ""]",0 +7,[5],"[""e""]",[7],"[""ɛ""]",0 +8,[9],"[""i""]",[8],"[""ɪ""]",0 +9,[5],"[""e""]",[4],"[""iː""]",0 +10,[8],"[""h""]",[33],"[""h""]",0 +11,[23],"[""w""]",[39],"[""w""]",0 +12,[14],"[""n""]",[36],"[""n""]",0 +14,[22],"[""v""]",[26],"[""v""]",0 +15,[5],"[""e""]",[85],"[""∅""]",0 +16,[13],"[""m""]",[35],"[""m""]",0 +17,[19],"[""s""]",[29],"[""s""]",0 +18,[7],"[""g""]",[22],"[""g""]",0 +19,"[15,1]","[""o"",""a""]","[86,9]","[""o"",""ʊ""]",0 +20,"[15,15]","[""o"",""o""]",[3],"[""u""]",0 +21,[4],"[""d""]",[21],"[""d""]",0 +22,[15],"[""o""]",[2],"[""ɔ""]",0 +23,[15],"[""o""]","[86,9]","[""o"",""ʊ""]",0 +24,[21],"[""u""]",[6],"[""ʌ""]",0 +25,"[5,5]","[""e"",""e""]",[4],"[""iː""]",0 +26,[5],"[""e""]",[10],"[""ə""]",0 +27,[15],"[""o""]",[3],"[""u""]",0 +28,[1],"[""a""]",[10],"[""ə""]",0 +29,[19],"[""s""]",[30],"[""z""]",0 +30,"[20,20]","[""t"",""t""]",[18],"[""t""]",0 +31,[12],"[""l""]",[34],"[""l""]",0 +32,"[12,5]","[""l"",""e""]","[10,34]","[""ə"",""l""]",0 +33,[6],"[""f""]",[25],"[""f""]",0 +34,[25],"[""y""]","[1,8]","[""ɑ"",""ɪ""]",0 +35,[11],"[""k""]",[19],"[""k""]",0 +37,"[14,7]","[""n"",""g""]",[37],"[""ŋ""]",0 +38,[1],"[""a""]",[6],"[""ʌ""]",0 +39,[15],"[""o""]",[6],"[""ʌ""]",0 +40,[15],"[""o""]","[39,6]","[""w"",""ʌ""]",0 +41,"[14,5]","[""n"",""e""]",[36],"[""n""]",0 +42,[16],"[""p""]",[17],"[""p""]",0 +43,[25],"[""y""]",[40],"[""j""]",0 +44,"[15,21]","[""o"",""u""]",[3],"[""u""]",0 +45,[1],"[""a""]",[1],"[""ɑ""]",0 +46,"[18,5]","[""r"",""e""]",[38],"[""r""]",0 +47,[3],"[""c""]",[19],"[""k""]",0 +48,[1],"[""a""]",[87],"[""ɔː""]",0 +49,"[12,12]","[""l"",""l""]",[34],"[""l""]",0 +50,"[16,16]","[""p"",""p""]",[17],"[""p""]",0 +51,[1],"[""a""]","[7,8]","[""ɛ"",""ɪ""]",0 +52,"[20,5]","[""t"",""e""]",[18],"[""t""]",0 +53,[15],"[""o""]",[10],"[""ə""]",0 diff --git a/src/main/resources/db/content_PROD/fil/letter-sound-correspondences.csv b/src/main/resources/db/content_PROD/fil/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_PROD/fil/letter-sound-correspondences.csv rename to src/main/resources/db/content_PROD/fil/letter-sounds.csv index 9c8501845..d2aca38df 100644 --- a/src/main/resources/db/content_PROD/fil/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_PROD/fil/letter-sounds.csv @@ -1,34 +1,34 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -1,[1],"[""a""]",[1],"[""ɑ""]",5789 -5,[2],"[""n""]",[5],"[""n""]",1966 -23,"[2,4]","[""n"",""g""]",[3],"[""ŋ""]",1763 -6,[5],"[""s""]",[2],"[""s""]",1541 -14,[3],"[""i""]",[14],"[""ɪ""]",1258 -7,[6],"[""t""]",[7],"[""t""]",1050 -9,[7],"[""o""]",[6],"[""ɔ""]",1040 -8,[3],"[""i""]",[4],"[""iː""]",978 -17,[9],"[""k""]",[15],"[""k""]",935 -27,[1],"[""a""]",[236],"[""ɑː""]",863 -3,[11],"[""y""]",[10],"[""j""]",839 -16,[8],"[""l""]",[13],"[""l""]",692 -10,[12],"[""p""]",[9],"[""p""]",579 -18,[13],"[""m""]",[16],"[""m""]",569 -4,[15],"[""b""]",[20],"[""b""]",543 -11,[10],"[""u""]",[11],"[""u""]",525 -29,"[2,4]","[""n"",""g""]","[5,1,3]","[""n"",""ɑ"",""ŋ""]",499 -12,[14],"[""r""]",[12],"[""r""]",387 -15,[17],"[""d""]",[17],"[""d""]",336 -20,[4],"[""g""]",[22],"[""g""]",298 -13,[16],"[""h""]",[19],"[""h""]",277 -30,"[13,4]","[""m"",""g""]","[16,1,3]","[""m"",""ɑ"",""ŋ""]",266 -19,[20],"[""w""]",[23],"[""w""]",218 -33,[10],"[""u""]",[238],"[""uː""]",141 -24,"[5,3,11]","[""s"",""i"",""y""]",[24],"[""ʃ""]",129 -21,[19],"[""e""]",[21],"[""ɛ""]",118 -31,[7],"[""o""]",[237],"[""ɔː""]",113 -22,[19],"[""e""]",[38],"[""ə""]",60 -32,"[2,11]","[""n"",""y""]",[41],"[""ɲ""]",41 -34,[19],"[""e""]",[239],"[""ɛː""]",28 -26,"[6,5]","[""t"",""s""]",[33],"[""tʃ""]",12 -25,"[5,11]","[""s"",""y""]",[24],"[""ʃ""]",1 -2,[18],"[""A""]",[1],"[""ɑ""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +1,[1],"[""a""]",[1],"[""ɑ""]",5789 +5,[2],"[""n""]",[5],"[""n""]",1966 +23,"[2,4]","[""n"",""g""]",[3],"[""ŋ""]",1763 +6,[5],"[""s""]",[2],"[""s""]",1541 +14,[3],"[""i""]",[14],"[""ɪ""]",1258 +7,[6],"[""t""]",[7],"[""t""]",1050 +9,[7],"[""o""]",[6],"[""ɔ""]",1040 +8,[3],"[""i""]",[4],"[""iː""]",978 +17,[9],"[""k""]",[15],"[""k""]",935 +27,[1],"[""a""]",[236],"[""ɑː""]",863 +3,[11],"[""y""]",[10],"[""j""]",839 +16,[8],"[""l""]",[13],"[""l""]",692 +10,[12],"[""p""]",[9],"[""p""]",579 +18,[13],"[""m""]",[16],"[""m""]",569 +4,[15],"[""b""]",[20],"[""b""]",543 +11,[10],"[""u""]",[11],"[""u""]",525 +29,"[2,4]","[""n"",""g""]","[5,1,3]","[""n"",""ɑ"",""ŋ""]",499 +12,[14],"[""r""]",[12],"[""r""]",387 +15,[17],"[""d""]",[17],"[""d""]",336 +20,[4],"[""g""]",[22],"[""g""]",298 +13,[16],"[""h""]",[19],"[""h""]",277 +30,"[13,4]","[""m"",""g""]","[16,1,3]","[""m"",""ɑ"",""ŋ""]",266 +19,[20],"[""w""]",[23],"[""w""]",218 +33,[10],"[""u""]",[238],"[""uː""]",141 +24,"[5,3,11]","[""s"",""i"",""y""]",[24],"[""ʃ""]",129 +21,[19],"[""e""]",[21],"[""ɛ""]",118 +31,[7],"[""o""]",[237],"[""ɔː""]",113 +22,[19],"[""e""]",[38],"[""ə""]",60 +32,"[2,11]","[""n"",""y""]",[41],"[""ɲ""]",41 +34,[19],"[""e""]",[239],"[""ɛː""]",28 +26,"[6,5]","[""t"",""s""]",[33],"[""tʃ""]",12 +25,"[5,11]","[""s"",""y""]",[24],"[""ʃ""]",1 +2,[18],"[""A""]",[1],"[""ɑ""]",0 diff --git a/src/main/resources/db/content_PROD/hin/letter-sound-correspondences.csv b/src/main/resources/db/content_PROD/hin/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_PROD/hin/letter-sound-correspondences.csv rename to src/main/resources/db/content_PROD/hin/letter-sounds.csv index 3ed76a30c..179f29c24 100644 --- a/src/main/resources/db/content_PROD/hin/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_PROD/hin/letter-sounds.csv @@ -1,85 +1,85 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -4,[15],"[""े""]",[15],"[""eː""]",3462 -10,[14],"[""ा""]",[14],"[""aː""]",2760 -1,[3],"[""ह""]",[3],"[""ɦ""]",2672 -14,[2],"[""क""]",[2],"[""k""]",2456 -16,[16],"[""ी""]",[16],"[""iː""]",1957 -24,[10],"[""र""]",[10],"[""ɾ""]",1611 -2,[22],"[""ै""]",[21],"[""ɛː""]",1203 -5,[6],"[""स""]",[6],"[""s""]",1169 -11,[4],"[""म""]",[4],"[""m""]",1163 -21,[21],"[""ो""]",[20],"[""oː""]",1152 -3,[1],"[""न""]",[1],"[""n""]",1151 -42,[34],"[""ं""]",[32],"[""◌̃""]",1127 -9,[7],"[""त""]",[7],"[""t""]",1050 -19,[24],"[""ि""]",[23],"[""ɪ""]",685 -39,[5],"[""ल""]",[5],"[""l""]",613 -38,[12],"[""ब""]",[12],"[""b""]",523 -20,[11],"[""ज""]",[31],"[""dʒ""]",489 -56,[13],"[""य""]",[13],"[""j""]",463 -27,[2],"[""क""]","[2,8]","[""k"",""ə""]",447 -25,[9],"[""प""]","[9,8]","[""p"",""ə""]",441 -55,[20],"[""ए""]",[15],"[""eː""]",440 -41,[17],"[""द""]",[17],"[""d""]",425 -23,[25],"[""औ""]",[24],"[""ɔː""]",416 -7,[23],"[""ु""]",[22],"[""ʊ""]",410 -17,[19],"[""थ""]",[19],"[""tʰ""]",399 -34,[3],"[""ह""]","[3,8]","[""ɦ"",""ə""]",395 -18,[9],"[""प""]",[9],"[""p""]",378 -57,[8],"[""अ""]",[8],"[""ə""]",349 -43,[38],"[""उ""]",[22],"[""ʊ""]",325 -28,[45],"[""ू""]",[36],"[""uː""]",321 -32,[29],"[""व""]",[29],"[""ʋ""]",316 -35,[10],"[""र""]","[10,8]","[""ɾ"",""ə""]",315 -26,[18],"[""भ""]",[18],"[""bʱ""]",313 -22,[1],"[""न""]","[1,8]","[""n"",""ə""]",293 -33,[6],"[""स""]","[6,8]","[""s"",""ə""]",276 -30,[12],"[""ब""]","[12,8]","[""b"",""ə""]",264 -29,[31],"[""ँ""]",[32],"[""◌̃""]",263 -66,[32],"[""आ""]",[14],"[""aː""]",235 -50,[30],"[""ग""]",[30],"[""g""]",218 -65,[30],"[""ग""]","[30,8]","[""g"",""ə""]",212 -59,[29],"[""व""]","[29,8]","[""ʋ"",""ə""]",206 -85,[44],"[""्""]",[39],"[""∅""]",195 -13,[23],"[""ु""]",[36],"[""uː""]",180 -15,[26],"[""ख""]",[26],"[""kʰ""]",180 -31,[7],"[""त""]","[7,8]","[""t"",""ə""]",171 -36,[27],"[""च""]","[7,27]","[""t"",""ʃ""]",164 -64,[11],"[""ज""]","[31,8]","[""dʒ"",""ə""]",158 -8,[28],"[""छ""]","[7,28]","[""t"",""ʃʰ""]",154 -77,"[2,44]","[""क"",""्""]",[2],"[""k""]",149 -44,[5],"[""ल""]","[5,8]","[""l"",""ə""]",143 -49,[50],"[""इ""]",[23],"[""ɪ""]",135 -53,[37],"[""ट""]",[35],"[""ʈ""]",133 -54,[36],"[""ड़""]",[34],"[""ɽ""]",132 -68,[39],"[""ई""]",[16],"[""iː""]",116 -46,[13],"[""य""]","[13,8]","[""j"",""ə""]",109 -45,[4],"[""म""]","[4,8]","[""m"",""ə""]",86 -62,[49],"[""झ""]",[31],"[""dʒ""]",72 -37,[47],"[""ज़""]",[11],"[""z""]",71 -71,[17],"[""द""]","[17,8]","[""d"",""ə""]",68 -69,[55],"[""फ""]",[46],"[""pʰ""]",60 -61,[51],"[""श""]",[27],"[""ʃ""]",57 -48,[42],"[""घ""]","[37,8]","[""ɡʱ"",""ə""]",55 -63,[43],"[""ध""]","[38,8]","[""dʱ"",""ə""]",47 -67,[40],"[""ऊ""]",[36],"[""uː""]",42 -58,[33],"[""ठ""]",[33],"[""ʈʰ""]",40 -40,[35],"[""ौ""]",[24],"[""ɔː""]",34 -60,[54],"[""ष""]",[45],"[""ʂ""]",27 -74,[41],"[""ओ""]",[20],"[""oː""]",26 -88,[47],"[""ज़""]",[49],"[""zə""]",24 -12,[43],"[""ध""]",[38],"[""dʱ""]",19 -73,[55],"[""फ""]","[46,8]","[""pʰ"",""ə""]",17 -79,"[7,44]","[""त"",""्""]",[7],"[""t""]",16 -78,[37],"[""ट""]","[35,8]","[""ʈ"",""ə""]",12 -87,[46],"[""ड""]",[40],"[""ɖ""]",10 -52,[27],"[""च""]","[7,27,8]","[""t"",""ʃ"",""ə""]",5 -81,"[37,44]","[""ट"",""्""]",[35],"[""ʈ""]",4 -89,"[27,44,27]","[""च"",""्"",""च""]","[35,35,27]","[""ʈ"",""ʈ"",""ʃ""]",4 -70,[28],"[""छ""]","[7,28,8]","[""t"",""ʃʰ"",""ə""]",2 -86,[56],"[""ण""]",[47],"[""ɳ""]",1 -75,[36],"[""ड़""]","[34,8]","[""ɽ"",""ə""]",0 -80,"[30,44]","[""ग"",""्""]",[30],"[""g""]",0 -90,"[9,44]","[""प"",""्""]",[9],"[""p""]",0 -84,[46],"[""ड""]",[38],"[""dʱ""]",0 -92,"[46,57]","[""ड"","" ़""]",[34],"[""ɽ""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +4,[15],"[""े""]",[15],"[""eː""]",3462 +10,[14],"[""ा""]",[14],"[""aː""]",2760 +1,[3],"[""ह""]",[3],"[""ɦ""]",2672 +14,[2],"[""क""]",[2],"[""k""]",2456 +16,[16],"[""ी""]",[16],"[""iː""]",1957 +24,[10],"[""र""]",[10],"[""ɾ""]",1611 +2,[22],"[""ै""]",[21],"[""ɛː""]",1203 +5,[6],"[""स""]",[6],"[""s""]",1169 +11,[4],"[""म""]",[4],"[""m""]",1163 +21,[21],"[""ो""]",[20],"[""oː""]",1152 +3,[1],"[""न""]",[1],"[""n""]",1151 +42,[34],"[""ं""]",[32],"[""◌̃""]",1127 +9,[7],"[""त""]",[7],"[""t""]",1050 +19,[24],"[""ि""]",[23],"[""ɪ""]",685 +39,[5],"[""ल""]",[5],"[""l""]",613 +38,[12],"[""ब""]",[12],"[""b""]",523 +20,[11],"[""ज""]",[31],"[""dʒ""]",489 +56,[13],"[""य""]",[13],"[""j""]",463 +27,[2],"[""क""]","[2,8]","[""k"",""ə""]",447 +25,[9],"[""प""]","[9,8]","[""p"",""ə""]",441 +55,[20],"[""ए""]",[15],"[""eː""]",440 +41,[17],"[""द""]",[17],"[""d""]",425 +23,[25],"[""औ""]",[24],"[""ɔː""]",416 +7,[23],"[""ु""]",[22],"[""ʊ""]",410 +17,[19],"[""थ""]",[19],"[""tʰ""]",399 +34,[3],"[""ह""]","[3,8]","[""ɦ"",""ə""]",395 +18,[9],"[""प""]",[9],"[""p""]",378 +57,[8],"[""अ""]",[8],"[""ə""]",349 +43,[38],"[""उ""]",[22],"[""ʊ""]",325 +28,[45],"[""ू""]",[36],"[""uː""]",321 +32,[29],"[""व""]",[29],"[""ʋ""]",316 +35,[10],"[""र""]","[10,8]","[""ɾ"",""ə""]",315 +26,[18],"[""भ""]",[18],"[""bʱ""]",313 +22,[1],"[""न""]","[1,8]","[""n"",""ə""]",293 +33,[6],"[""स""]","[6,8]","[""s"",""ə""]",276 +30,[12],"[""ब""]","[12,8]","[""b"",""ə""]",264 +29,[31],"[""ँ""]",[32],"[""◌̃""]",263 +66,[32],"[""आ""]",[14],"[""aː""]",235 +50,[30],"[""ग""]",[30],"[""g""]",218 +65,[30],"[""ग""]","[30,8]","[""g"",""ə""]",212 +59,[29],"[""व""]","[29,8]","[""ʋ"",""ə""]",206 +85,[44],"[""्""]",[39],"[""∅""]",195 +13,[23],"[""ु""]",[36],"[""uː""]",180 +15,[26],"[""ख""]",[26],"[""kʰ""]",180 +31,[7],"[""त""]","[7,8]","[""t"",""ə""]",171 +36,[27],"[""च""]","[7,27]","[""t"",""ʃ""]",164 +64,[11],"[""ज""]","[31,8]","[""dʒ"",""ə""]",158 +8,[28],"[""छ""]","[7,28]","[""t"",""ʃʰ""]",154 +77,"[2,44]","[""क"",""्""]",[2],"[""k""]",149 +44,[5],"[""ल""]","[5,8]","[""l"",""ə""]",143 +49,[50],"[""इ""]",[23],"[""ɪ""]",135 +53,[37],"[""ट""]",[35],"[""ʈ""]",133 +54,[36],"[""ड़""]",[34],"[""ɽ""]",132 +68,[39],"[""ई""]",[16],"[""iː""]",116 +46,[13],"[""य""]","[13,8]","[""j"",""ə""]",109 +45,[4],"[""म""]","[4,8]","[""m"",""ə""]",86 +62,[49],"[""झ""]",[31],"[""dʒ""]",72 +37,[47],"[""ज़""]",[11],"[""z""]",71 +71,[17],"[""द""]","[17,8]","[""d"",""ə""]",68 +69,[55],"[""फ""]",[46],"[""pʰ""]",60 +61,[51],"[""श""]",[27],"[""ʃ""]",57 +48,[42],"[""घ""]","[37,8]","[""ɡʱ"",""ə""]",55 +63,[43],"[""ध""]","[38,8]","[""dʱ"",""ə""]",47 +67,[40],"[""ऊ""]",[36],"[""uː""]",42 +58,[33],"[""ठ""]",[33],"[""ʈʰ""]",40 +40,[35],"[""ौ""]",[24],"[""ɔː""]",34 +60,[54],"[""ष""]",[45],"[""ʂ""]",27 +74,[41],"[""ओ""]",[20],"[""oː""]",26 +88,[47],"[""ज़""]",[49],"[""zə""]",24 +12,[43],"[""ध""]",[38],"[""dʱ""]",19 +73,[55],"[""फ""]","[46,8]","[""pʰ"",""ə""]",17 +79,"[7,44]","[""त"",""्""]",[7],"[""t""]",16 +78,[37],"[""ट""]","[35,8]","[""ʈ"",""ə""]",12 +87,[46],"[""ड""]",[40],"[""ɖ""]",10 +52,[27],"[""च""]","[7,27,8]","[""t"",""ʃ"",""ə""]",5 +81,"[37,44]","[""ट"",""्""]",[35],"[""ʈ""]",4 +89,"[27,44,27]","[""च"",""्"",""च""]","[35,35,27]","[""ʈ"",""ʈ"",""ʃ""]",4 +70,[28],"[""छ""]","[7,28,8]","[""t"",""ʃʰ"",""ə""]",2 +86,[56],"[""ण""]",[47],"[""ɳ""]",1 +75,[36],"[""ड़""]","[34,8]","[""ɽ"",""ə""]",0 +80,"[30,44]","[""ग"",""्""]",[30],"[""g""]",0 +90,"[9,44]","[""प"",""्""]",[9],"[""p""]",0 +84,[46],"[""ड""]",[38],"[""dʱ""]",0 +92,"[46,57]","[""ड"","" ़""]",[34],"[""ɽ""]",0 diff --git a/src/main/resources/db/content_PROD/swa/letter-sound-correspondences.csv b/src/main/resources/db/content_PROD/swa/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_PROD/swa/letter-sound-correspondences.csv rename to src/main/resources/db/content_PROD/swa/letter-sounds.csv index 4b0c1482b..ce7818923 100644 --- a/src/main/resources/db/content_PROD/swa/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_PROD/swa/letter-sounds.csv @@ -1,4 +1,4 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -1,[37],"[""k""]",[73],"[""k""]",0 -2,[48],"[""w""]",[76],"[""w""]",0 -3,[27],"[""a""]",[41],"[""ɑ""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +1,[37],"[""k""]",[73],"[""k""]",0 +2,[48],"[""w""]",[76],"[""w""]",0 +3,[27],"[""a""]",[41],"[""ɑ""]",0 diff --git a/src/main/resources/db/content_PROD/urd/letter-sound-correspondences.csv b/src/main/resources/db/content_PROD/urd/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_PROD/urd/letter-sound-correspondences.csv rename to src/main/resources/db/content_PROD/urd/letter-sounds.csv index 49bf19880..93676611e 100644 --- a/src/main/resources/db/content_PROD/urd/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_PROD/urd/letter-sounds.csv @@ -1,20 +1,20 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -9,[8],"[""ے""]",[8],"[""ɛː""]",221 -6,[4],"[""ک""]",[4],"[""k""]",218 -8,[9],"[""س""]",[9],"[""s""]",128 -1,[10],"[""ن""]",[10],"[""n""]",82 -5,[3],"[""ا""]",[3],"[""ɑː""]",68 -18,[1],"[""ی""]",[1],"[""j""]",54 -11,[7],"[""و""]",[7],"[""ʋ""]",54 -10,[6],"[""ہ""]",[6],"[""ɦ""]",31 -19,[12],"[""گ""]",[20],"[""g""]",21 -20,[11],"[""ر""]",[19],"[""r""]",21 -4,[10],"[""ن""]",[13],"[""ŋ""]",21 -3,[10],"[""ن""]",[12],"[""ɳ""]",0 -12,[6],"[""ہ""]",[3],"[""ɑː""]",0 -13,[6],"[""ہ""]",[14],"[""eː""]",0 -15,[7],"[""و""]",[16],"[""ʊ""]",0 -16,[7],"[""و""]",[17],"[""oː""]",0 -17,[7],"[""و""]",[18],"[""ɔː""]",0 -2,[10],"[""ن""]",[11],"[""ɲ""]",0 -14,[7],"[""و""]",[15],"[""uː""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +9,[8],"[""ے""]",[8],"[""ɛː""]",221 +6,[4],"[""ک""]",[4],"[""k""]",218 +8,[9],"[""س""]",[9],"[""s""]",128 +1,[10],"[""ن""]",[10],"[""n""]",82 +5,[3],"[""ا""]",[3],"[""ɑː""]",68 +18,[1],"[""ی""]",[1],"[""j""]",54 +11,[7],"[""و""]",[7],"[""ʋ""]",54 +10,[6],"[""ہ""]",[6],"[""ɦ""]",31 +19,[12],"[""گ""]",[20],"[""g""]",21 +20,[11],"[""ر""]",[19],"[""r""]",21 +4,[10],"[""ن""]",[13],"[""ŋ""]",21 +3,[10],"[""ن""]",[12],"[""ɳ""]",0 +12,[6],"[""ہ""]",[3],"[""ɑː""]",0 +13,[6],"[""ہ""]",[14],"[""eː""]",0 +15,[7],"[""و""]",[16],"[""ʊ""]",0 +16,[7],"[""و""]",[17],"[""oː""]",0 +17,[7],"[""و""]",[18],"[""ɔː""]",0 +2,[10],"[""ن""]",[11],"[""ɲ""]",0 +14,[7],"[""و""]",[15],"[""uː""]",0 diff --git a/src/main/resources/db/content_PROD/xho/letter-sound-correspondences.csv b/src/main/resources/db/content_PROD/xho/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_PROD/xho/letter-sound-correspondences.csv rename to src/main/resources/db/content_PROD/xho/letter-sounds.csv index 8f2391e67..eb7adfcb1 100644 --- a/src/main/resources/db/content_PROD/xho/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_PROD/xho/letter-sounds.csv @@ -1,34 +1,34 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -14,[11],"[""a""]",[15],"[""a""]",109 -23,[18],"[""k""]",[25],"[""k""]",92 -1,[1],"[""u""]",[1],"[""u""]",85 -4,[1],"[""u""]",[2],"[""uː""]",80 -3,[3],"[""l""]",[4],"[""l""]",52 -20,[16],"[""b""]",[22],"[""b""]",48 -9,[7],"[""i""]",[10],"[""ɪ""]",37 -2,[2],"[""m""]",[3],"[""m""]",34 -24,"[18,13]","[""k"",""h""]",[26],"[""kʰ""]",32 -5,[4],"[""o""]",[5],"[""ɔ""]",29 -7,[5],"[""e""]",[7],"[""ɛ""]",25 -12,[9],"[""n""]",[12],"[""n""]",23 -10,[7],"[""i""]",[9],"[""iː""]",22 -8,[6],"[""s""]",[8],"[""s""]",13 -17,"[8,13]","[""p"",""h""]",[18],"[""pʰ""]",12 -15,[12],"[""z""]",[16],"[""z""]",10 -25,[19],"[""t""]",[27],"[""t'""]",9 -22,[17],"[""w""]",[24],"[""w""]",9 -6,[4],"[""o""]",[6],"[""oː""]",7 -16,[11],"[""a""]",[17],"[""aː""]",6 -21,"[2,13]","[""m"",""h""]",[23],"[""mʱ""]",4 -28,[22],"[""y""]",[32],"[""j""]",3 -27,[21],"[""v""]",[31],"[""v""]",3 -11,[8],"[""p""]",[11],"[""p""]",3 -29,"[19,13]","[""t"",""h""]",[33],"[""tʰ""]",2 -32,"[16,13]","[""b"",""h""]",[29],"[""b̥ʱ""]",1 -31,[23],"[""x""]",[34],"[""x""]",1 -30,"[23,13]","[""x"",""h""]","[34,19]","[""x"",""h""]",1 -33,"[6,13]","[""s"",""h""]",[35],"[""ʃ""]",1 -13,[10],"[""j""]",[14],"[""ʄ""]",1 -26,[20],"[""f""]",[30],"[""f""]",0 -18,[14],"[""d""]",[20],"[""d""]",0 -19,[15],"[""q""]",[21],"[""k͡ǃ""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +14,[11],"[""a""]",[15],"[""a""]",109 +23,[18],"[""k""]",[25],"[""k""]",92 +1,[1],"[""u""]",[1],"[""u""]",85 +4,[1],"[""u""]",[2],"[""uː""]",80 +3,[3],"[""l""]",[4],"[""l""]",52 +20,[16],"[""b""]",[22],"[""b""]",48 +9,[7],"[""i""]",[10],"[""ɪ""]",37 +2,[2],"[""m""]",[3],"[""m""]",34 +24,"[18,13]","[""k"",""h""]",[26],"[""kʰ""]",32 +5,[4],"[""o""]",[5],"[""ɔ""]",29 +7,[5],"[""e""]",[7],"[""ɛ""]",25 +12,[9],"[""n""]",[12],"[""n""]",23 +10,[7],"[""i""]",[9],"[""iː""]",22 +8,[6],"[""s""]",[8],"[""s""]",13 +17,"[8,13]","[""p"",""h""]",[18],"[""pʰ""]",12 +15,[12],"[""z""]",[16],"[""z""]",10 +25,[19],"[""t""]",[27],"[""t'""]",9 +22,[17],"[""w""]",[24],"[""w""]",9 +6,[4],"[""o""]",[6],"[""oː""]",7 +16,[11],"[""a""]",[17],"[""aː""]",6 +21,"[2,13]","[""m"",""h""]",[23],"[""mʱ""]",4 +28,[22],"[""y""]",[32],"[""j""]",3 +27,[21],"[""v""]",[31],"[""v""]",3 +11,[8],"[""p""]",[11],"[""p""]",3 +29,"[19,13]","[""t"",""h""]",[33],"[""tʰ""]",2 +32,"[16,13]","[""b"",""h""]",[29],"[""b̥ʱ""]",1 +31,[23],"[""x""]",[34],"[""x""]",1 +30,"[23,13]","[""x"",""h""]","[34,19]","[""x"",""h""]",1 +33,"[6,13]","[""s"",""h""]",[35],"[""ʃ""]",1 +13,[10],"[""j""]",[14],"[""ʄ""]",1 +26,[20],"[""f""]",[30],"[""f""]",0 +18,[14],"[""d""]",[20],"[""d""]",0 +19,[15],"[""q""]",[21],"[""k͡ǃ""]",0 diff --git a/src/main/resources/db/content_TEST/ben/letter-sound-correspondences.csv b/src/main/resources/db/content_TEST/ben/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_TEST/ben/letter-sound-correspondences.csv rename to src/main/resources/db/content_TEST/ben/letter-sounds.csv index 6a8e545aa..abbfa77b6 100644 --- a/src/main/resources/db/content_TEST/ben/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_TEST/ben/letter-sounds.csv @@ -1,23 +1,23 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -7,[9],"[""ম""]",[4],"[""m""]",72 -4,[1],"[""া""]",[1],"[""ɐ""]",69 -10,[4],"[""ি""]",[6],"[""iː""]",48 -3,[8],"[""ত""]",[5],"[""t""]",45 -2,[3],"[""র""]",[46],"[""ɾ""]",42 -21,[20],"[""আ""]",[1],"[""ɐ""]",38 -17,[5],"[""ক""]",[12],"[""k""]",30 -16,[18],"[""এ""]",[7],"[""e""]",17 -22,[38],"[""ী""]",[6],"[""iː""]",13 -8,[48],"[""ৌ""]","[9,34]","[""o"",""uː""]",7 -9,[24],"[""ছ""]","[5,43]","[""t"",""ʃʰ""]",7 -13,[6],"[""ন""]",[22],"[""n""]",3 -18,[15],"[""দ""]",[14],"[""d""]",2 -19,[11],"[""ু""]",[34],"[""uː""]",2 -20,[28],"[""ই""]",[6],"[""iː""]",2 -1,[3],"[""র""]",[3],"[""r""]",0 -5,[12],"[""স""]",[33],"[""s""]",0 -6,[12],"[""স""]",[8],"[""ʃ""]",0 -11,[27],"[""শ""]",[8],"[""ʃ""]",0 -12,[47],"[""ূ""]",[34],"[""uː""]",0 -14,[61],"[""্""]",[47],"[""∅""]",0 -15,[17],"[""য""]","[13,10]","[""dʒ"",""ɔ""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +7,[9],"[""ম""]",[4],"[""m""]",72 +4,[1],"[""া""]",[1],"[""ɐ""]",69 +10,[4],"[""ি""]",[6],"[""iː""]",48 +3,[8],"[""ত""]",[5],"[""t""]",45 +2,[3],"[""র""]",[46],"[""ɾ""]",42 +21,[20],"[""আ""]",[1],"[""ɐ""]",38 +17,[5],"[""ক""]",[12],"[""k""]",30 +16,[18],"[""এ""]",[7],"[""e""]",17 +22,[38],"[""ী""]",[6],"[""iː""]",13 +8,[48],"[""ৌ""]","[9,34]","[""o"",""uː""]",7 +9,[24],"[""ছ""]","[5,43]","[""t"",""ʃʰ""]",7 +13,[6],"[""ন""]",[22],"[""n""]",3 +18,[15],"[""দ""]",[14],"[""d""]",2 +19,[11],"[""ু""]",[34],"[""uː""]",2 +20,[28],"[""ই""]",[6],"[""iː""]",2 +1,[3],"[""র""]",[3],"[""r""]",0 +5,[12],"[""স""]",[33],"[""s""]",0 +6,[12],"[""স""]",[8],"[""ʃ""]",0 +11,[27],"[""শ""]",[8],"[""ʃ""]",0 +12,[47],"[""ূ""]",[34],"[""uː""]",0 +14,[61],"[""্""]",[47],"[""∅""]",0 +15,[17],"[""য""]","[13,10]","[""dʒ"",""ɔ""]",0 diff --git a/src/main/resources/db/content_TEST/eng/letter-sound-correspondences.csv b/src/main/resources/db/content_TEST/eng/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_TEST/eng/letter-sound-correspondences.csv rename to src/main/resources/db/content_TEST/eng/letter-sounds.csv index 669547399..a758c0ea6 100644 --- a/src/main/resources/db/content_TEST/eng/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_TEST/eng/letter-sounds.csv @@ -1,40 +1,40 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -2,[1],"[""a""]",[5],"[""æ""]",77 -3,[20],"[""t""]",[18],"[""t""]",33 -1,[3],"[""c""]",[19],"[""k""]",29 -27,[9],"[""i""]",[8],"[""ɪ""]",18 -37,[8],"[""h""]",[33],"[""h""]",18 -38,[19],"[""s""]",[30],"[""z""]",18 -4,[19],"[""s""]",[29],"[""s""]",16 -11,"[14,5]","[""n"",""e""]",[36],"[""n""]",16 -12,[15],"[""o""]","[39,6]","[""w"",""ʌ""]",16 -5,"[20,8]","[""t"",""h""]",[27],"[""θ""]",6 -9,[18],"[""r""]",[38],"[""r""]",6 -10,"[5,5]","[""e"",""e""]",[4],"[""iː""]",6 -13,[13],"[""m""]",[35],"[""m""]",6 -14,[25],"[""y""]","[1,8]","[""ɑ"",""ɪ""]",6 -15,[6],"[""f""]",[25],"[""f""]",2 -16,[9],"[""i""]","[1,8]","[""ɑ"",""ɪ""]",2 -17,"[22,5]","[""v"",""e""]",[26],"[""v""]",2 -20,[14],"[""n""]",[36],"[""n""]",2 -22,[9],"[""i""]",[130],"[""ɜ""]",2 -23,"[23,15]","[""w"",""o""]",[131],"[""uː""]",2 -6,[5],"[""e""]",[4],"[""iː""]",0 -7,"[15,15]","[""o"",""o""]",[3],"[""u""]",0 -8,[11],"[""k""]",[19],"[""k""]",0 -18,[5],"[""e""]",[7],"[""ɛ""]",0 -19,[22],"[""v""]",[26],"[""v""]",0 -21,[5],"[""e""]",[10],"[""ə""]",0 -24,"[16,16]","[""p"",""p""]",[17],"[""p""]",0 -25,"[12,5]","[""l"",""e""]",[34],"[""l""]",0 -26,"[7,8,20]","[""g"",""h"",""t""]",[18],"[""t""]",0 -28,[5],"[""e""]",[8],"[""ɪ""]",0 -29,[12],"[""l""]",[34],"[""l""]",0 -30,[15],"[""o""]",[132],"[""ɔː""]",0 -31,[24],"[""x""]","[19,29]","[""k"",""s""]",0 -32,[25],"[""y""]",[8],"[""ɪ""]",0 -33,[23],"[""w""]",[39],"[""w""]",0 -34,[103],"[""-""]",[83],"["".""]",0 -35,[26],"[""z""]",[30],"[""z""]",0 -36,[15],"[""o""]","[133,9]","[""o"",""ʊ""]",0 -39,[2],"[""b""]",[20],"[""b""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +2,[1],"[""a""]",[5],"[""æ""]",77 +3,[20],"[""t""]",[18],"[""t""]",33 +1,[3],"[""c""]",[19],"[""k""]",29 +27,[9],"[""i""]",[8],"[""ɪ""]",18 +37,[8],"[""h""]",[33],"[""h""]",18 +38,[19],"[""s""]",[30],"[""z""]",18 +4,[19],"[""s""]",[29],"[""s""]",16 +11,"[14,5]","[""n"",""e""]",[36],"[""n""]",16 +12,[15],"[""o""]","[39,6]","[""w"",""ʌ""]",16 +5,"[20,8]","[""t"",""h""]",[27],"[""θ""]",6 +9,[18],"[""r""]",[38],"[""r""]",6 +10,"[5,5]","[""e"",""e""]",[4],"[""iː""]",6 +13,[13],"[""m""]",[35],"[""m""]",6 +14,[25],"[""y""]","[1,8]","[""ɑ"",""ɪ""]",6 +15,[6],"[""f""]",[25],"[""f""]",2 +16,[9],"[""i""]","[1,8]","[""ɑ"",""ɪ""]",2 +17,"[22,5]","[""v"",""e""]",[26],"[""v""]",2 +20,[14],"[""n""]",[36],"[""n""]",2 +22,[9],"[""i""]",[130],"[""ɜ""]",2 +23,"[23,15]","[""w"",""o""]",[131],"[""uː""]",2 +6,[5],"[""e""]",[4],"[""iː""]",0 +7,"[15,15]","[""o"",""o""]",[3],"[""u""]",0 +8,[11],"[""k""]",[19],"[""k""]",0 +18,[5],"[""e""]",[7],"[""ɛ""]",0 +19,[22],"[""v""]",[26],"[""v""]",0 +21,[5],"[""e""]",[10],"[""ə""]",0 +24,"[16,16]","[""p"",""p""]",[17],"[""p""]",0 +25,"[12,5]","[""l"",""e""]",[34],"[""l""]",0 +26,"[7,8,20]","[""g"",""h"",""t""]",[18],"[""t""]",0 +28,[5],"[""e""]",[8],"[""ɪ""]",0 +29,[12],"[""l""]",[34],"[""l""]",0 +30,[15],"[""o""]",[132],"[""ɔː""]",0 +31,[24],"[""x""]","[19,29]","[""k"",""s""]",0 +32,[25],"[""y""]",[8],"[""ɪ""]",0 +33,[23],"[""w""]",[39],"[""w""]",0 +34,[103],"[""-""]",[83],"["".""]",0 +35,[26],"[""z""]",[30],"[""z""]",0 +36,[15],"[""o""]","[133,9]","[""o"",""ʊ""]",0 +39,[2],"[""b""]",[20],"[""b""]",0 diff --git a/src/main/resources/db/content_TEST/fil/letter-sound-correspondences.csv b/src/main/resources/db/content_TEST/fil/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_TEST/fil/letter-sound-correspondences.csv rename to src/main/resources/db/content_TEST/fil/letter-sounds.csv index 7485d5029..079b1ac8c 100644 --- a/src/main/resources/db/content_TEST/fil/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_TEST/fil/letter-sounds.csv @@ -1,30 +1,30 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -1,[1],"[""a""]",[1],"[""ɑ""]",2594 -6,[5],"[""s""]",[2],"[""s""]",728 -5,[2],"[""n""]",[5],"[""n""]",702 -23,"[2,4]","[""n"",""g""]",[3],"[""ŋ""]",609 -7,[6],"[""t""]",[7],"[""t""]",476 -14,[3],"[""i""]",[14],"[""ɪ""]",460 -8,[3],"[""i""]",[4],"[""iː""]",449 -9,[7],"[""o""]",[6],"[""ɔ""]",401 -11,[10],"[""u""]",[11],"[""u""]",315 -3,[11],"[""y""]",[10],"[""j""]",290 -10,[12],"[""p""]",[9],"[""p""]",289 -16,[8],"[""l""]",[13],"[""l""]",289 -17,[9],"[""k""]",[15],"[""k""]",265 -18,[13],"[""m""]",[16],"[""m""]",229 -4,[15],"[""b""]",[20],"[""b""]",207 -26,"[2,4]","[""n"",""g""]","[5,1,3]","[""n"",""ɑ"",""ŋ""]",203 -12,[14],"[""r""]",[12],"[""r""]",160 -20,[4],"[""g""]",[22],"[""g""]",147 -15,[17],"[""d""]",[17],"[""d""]",131 -13,[16],"[""h""]",[19],"[""h""]",109 -27,"[13,4]","[""m"",""g""]","[16,1,3]","[""m"",""ɑ"",""ŋ""]",86 -24,"[5,3,11]","[""s"",""i"",""y""]",[24],"[""ʃ""]",67 -19,[20],"[""w""]",[23],"[""w""]",44 -21,[19],"[""e""]",[21],"[""ɛː""]",23 -28,[1],"[""a""]",[236],"[""ɑː""]",19 -22,[19],"[""e""]",[38],"[""ə""]",16 -29,[7],"[""o""]",[237],"[""ɔː""]",3 -25,"[5,11]","[""s"",""y""]",[24],"[""ʃ""]",1 -2,[18],"[""A""]",[1],"[""ɑ""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +1,[1],"[""a""]",[1],"[""ɑ""]",2594 +6,[5],"[""s""]",[2],"[""s""]",728 +5,[2],"[""n""]",[5],"[""n""]",702 +23,"[2,4]","[""n"",""g""]",[3],"[""ŋ""]",609 +7,[6],"[""t""]",[7],"[""t""]",476 +14,[3],"[""i""]",[14],"[""ɪ""]",460 +8,[3],"[""i""]",[4],"[""iː""]",449 +9,[7],"[""o""]",[6],"[""ɔ""]",401 +11,[10],"[""u""]",[11],"[""u""]",315 +3,[11],"[""y""]",[10],"[""j""]",290 +10,[12],"[""p""]",[9],"[""p""]",289 +16,[8],"[""l""]",[13],"[""l""]",289 +17,[9],"[""k""]",[15],"[""k""]",265 +18,[13],"[""m""]",[16],"[""m""]",229 +4,[15],"[""b""]",[20],"[""b""]",207 +26,"[2,4]","[""n"",""g""]","[5,1,3]","[""n"",""ɑ"",""ŋ""]",203 +12,[14],"[""r""]",[12],"[""r""]",160 +20,[4],"[""g""]",[22],"[""g""]",147 +15,[17],"[""d""]",[17],"[""d""]",131 +13,[16],"[""h""]",[19],"[""h""]",109 +27,"[13,4]","[""m"",""g""]","[16,1,3]","[""m"",""ɑ"",""ŋ""]",86 +24,"[5,3,11]","[""s"",""i"",""y""]",[24],"[""ʃ""]",67 +19,[20],"[""w""]",[23],"[""w""]",44 +21,[19],"[""e""]",[21],"[""ɛː""]",23 +28,[1],"[""a""]",[236],"[""ɑː""]",19 +22,[19],"[""e""]",[38],"[""ə""]",16 +29,[7],"[""o""]",[237],"[""ɔː""]",3 +25,"[5,11]","[""s"",""y""]",[24],"[""ʃ""]",1 +2,[18],"[""A""]",[1],"[""ɑ""]",0 diff --git a/src/main/resources/db/content_TEST/hin/letter-sound-correspondences.csv b/src/main/resources/db/content_TEST/hin/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_TEST/hin/letter-sound-correspondences.csv rename to src/main/resources/db/content_TEST/hin/letter-sounds.csv index 061e7b9db..f1a093494 100644 --- a/src/main/resources/db/content_TEST/hin/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_TEST/hin/letter-sounds.csv @@ -1,71 +1,71 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -4,[15],"[""े""]",[15],"[""eː""]",1907 -1,[3],"[""ह""]",[3],"[""ɦ""]",1563 -14,[2],"[""क""]",[2],"[""k""]",1539 -10,[14],"[""ा""]",[14],"[""aː""]",1127 -16,[16],"[""ी""]",[16],"[""iː""]",1120 -2,[22],"[""ै""]",[21],"[""ɛː""]",790 -11,[4],"[""म""]",[4],"[""m""]",757 -24,[10],"[""र""]",[10],"[""ɾ""]",738 -42,[34],"[""ं""]",[32],"[""◌̃""]",704 -21,[21],"[""ो""]",[20],"[""oː""]",665 -3,[1],"[""न""]",[1],"[""n""]",592 -5,[6],"[""स""]",[6],"[""s""]",592 -9,[7],"[""त""]",[7],"[""t""]",552 -19,[24],"[""ि""]",[23],"[""ɪ""]",350 -23,[25],"[""औ""]",[24],"[""ɔː""]",320 -55,[20],"[""ए""]",[15],"[""eː""]",281 -20,[11],"[""ज""]",[31],"[""dʒ""]",228 -38,[12],"[""ब""]",[12],"[""b""]",221 -39,[5],"[""ल""]",[5],"[""l""]",221 -17,[19],"[""थ""]",[19],"[""tʰ""]",203 -34,[3],"[""ह""]","[3,8]","[""ɦ"",""ə""]",195 -28,[45],"[""ू""]",[36],"[""uː""]",188 -35,[10],"[""र""]","[10,8]","[""ɾ"",""ə""]",188 -18,[9],"[""प""]",[9],"[""p""]",180 -7,[23],"[""ु""]",[22],"[""ʊ""]",175 -57,[8],"[""अ""]",[8],"[""ə""]",172 -30,[12],"[""ब""]","[12,8]","[""b"",""ə""]",171 -32,[29],"[""व""]",[29],"[""ʋ""]",171 -27,[2],"[""क""]","[2,8]","[""k"",""ə""]",170 -22,[1],"[""न""]","[1,8]","[""n"",""ə""]",168 -43,[38],"[""उ""]",[22],"[""ʊ""]",164 -25,[9],"[""प""]","[9,8]","[""p"",""ə""]",163 -33,[6],"[""स""]","[6,8]","[""s"",""ə""]",155 -26,[18],"[""भ""]",[18],"[""bʱ""]",144 -56,[13],"[""य""]",[13],"[""j""]",142 -41,[17],"[""द""]",[17],"[""d""]",139 -29,[31],"[""ँ""]",[32],"[""◌̃""]",134 -13,[23],"[""ु""]",[36],"[""uː""]",124 -66,[32],"[""आ""]",[14],"[""aː""]",110 -53,[37],"[""ट""]",[35],"[""ʈ""]",101 -65,[30],"[""ग""]","[30,8]","[""g"",""ə""]",90 -49,[50],"[""इ""]",[23],"[""ɪ""]",76 -64,[11],"[""ज""]","[31,8]","[""dʒ"",""ə""]",76 -46,[13],"[""य""]","[13,8]","[""j"",""ə""]",63 -36,[27],"[""च""]","[7,27]","[""t"",""ʃ""]",56 -68,[39],"[""ई""]",[16],"[""iː""]",53 -45,[4],"[""म""]","[4,8]","[""m"",""ə""]",50 -63,[43],"[""ध""]","[38,8]","[""dʱ"",""ə""]",43 -48,[42],"[""घ""]","[37,8]","[""ɡʱ"",""ə""]",42 -62,[49],"[""झ""]",[31],"[""dʒ""]",39 -31,[7],"[""त""]","[7,8]","[""t"",""ə""]",38 -67,[40],"[""ऊ""]",[36],"[""uː""]",35 -69,[55],"[""फ""]",[46],"[""pʰ""]",34 -37,[47],"[""ज़""]",[11],"[""z""]",31 -54,"[46,56]","[""ड"","" ़""]",[34],"[""ɽ""]",28 -8,[28],"[""छ""]","[7,28]","[""t"",""ʃʰ""]",26 -44,[5],"[""ल""]","[5,8]","[""l"",""ə""]",26 -50,[30],"[""ग""]",[30],"[""g""]",26 -60,[54],"[""ष""]",[45],"[""ʂ""]",26 -71,[17],"[""द""]","[17,8]","[""d"",""ə""]",26 -40,[35],"[""ौ""]",[24],"[""ɔː""]",23 -61,[51],"[""श""]",[27],"[""ʃ""]",10 -12,[43],"[""ध""]",[38],"[""dʱ""]",9 -15,[26],"[""ख""]",[26],"[""kʰ""]",9 -59,[29],"[""व""]","[29,8]","[""ʋ"",""ə""]",6 -52,[27],"[""च""]","[7,27,8]","[""t"",""ʃ"",""ə""]",0 -58,[33],"[""ठ""]",[33],"[""ʈʰ""]",0 -70,[28],"[""छ""]","[7,28,8]","[""t"",""ʃʰ"",""ə""]",0 -73,"[46,56]","[""ड"","" ़""]","[34,8]","[""ɽ"",""ə""]",0 -74,"[7,44]","[""त"",""्""]",[7],"[""t""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +4,[15],"[""े""]",[15],"[""eː""]",1907 +1,[3],"[""ह""]",[3],"[""ɦ""]",1563 +14,[2],"[""क""]",[2],"[""k""]",1539 +10,[14],"[""ा""]",[14],"[""aː""]",1127 +16,[16],"[""ी""]",[16],"[""iː""]",1120 +2,[22],"[""ै""]",[21],"[""ɛː""]",790 +11,[4],"[""म""]",[4],"[""m""]",757 +24,[10],"[""र""]",[10],"[""ɾ""]",738 +42,[34],"[""ं""]",[32],"[""◌̃""]",704 +21,[21],"[""ो""]",[20],"[""oː""]",665 +3,[1],"[""न""]",[1],"[""n""]",592 +5,[6],"[""स""]",[6],"[""s""]",592 +9,[7],"[""त""]",[7],"[""t""]",552 +19,[24],"[""ि""]",[23],"[""ɪ""]",350 +23,[25],"[""औ""]",[24],"[""ɔː""]",320 +55,[20],"[""ए""]",[15],"[""eː""]",281 +20,[11],"[""ज""]",[31],"[""dʒ""]",228 +38,[12],"[""ब""]",[12],"[""b""]",221 +39,[5],"[""ल""]",[5],"[""l""]",221 +17,[19],"[""थ""]",[19],"[""tʰ""]",203 +34,[3],"[""ह""]","[3,8]","[""ɦ"",""ə""]",195 +28,[45],"[""ू""]",[36],"[""uː""]",188 +35,[10],"[""र""]","[10,8]","[""ɾ"",""ə""]",188 +18,[9],"[""प""]",[9],"[""p""]",180 +7,[23],"[""ु""]",[22],"[""ʊ""]",175 +57,[8],"[""अ""]",[8],"[""ə""]",172 +30,[12],"[""ब""]","[12,8]","[""b"",""ə""]",171 +32,[29],"[""व""]",[29],"[""ʋ""]",171 +27,[2],"[""क""]","[2,8]","[""k"",""ə""]",170 +22,[1],"[""न""]","[1,8]","[""n"",""ə""]",168 +43,[38],"[""उ""]",[22],"[""ʊ""]",164 +25,[9],"[""प""]","[9,8]","[""p"",""ə""]",163 +33,[6],"[""स""]","[6,8]","[""s"",""ə""]",155 +26,[18],"[""भ""]",[18],"[""bʱ""]",144 +56,[13],"[""य""]",[13],"[""j""]",142 +41,[17],"[""द""]",[17],"[""d""]",139 +29,[31],"[""ँ""]",[32],"[""◌̃""]",134 +13,[23],"[""ु""]",[36],"[""uː""]",124 +66,[32],"[""आ""]",[14],"[""aː""]",110 +53,[37],"[""ट""]",[35],"[""ʈ""]",101 +65,[30],"[""ग""]","[30,8]","[""g"",""ə""]",90 +49,[50],"[""इ""]",[23],"[""ɪ""]",76 +64,[11],"[""ज""]","[31,8]","[""dʒ"",""ə""]",76 +46,[13],"[""य""]","[13,8]","[""j"",""ə""]",63 +36,[27],"[""च""]","[7,27]","[""t"",""ʃ""]",56 +68,[39],"[""ई""]",[16],"[""iː""]",53 +45,[4],"[""म""]","[4,8]","[""m"",""ə""]",50 +63,[43],"[""ध""]","[38,8]","[""dʱ"",""ə""]",43 +48,[42],"[""घ""]","[37,8]","[""ɡʱ"",""ə""]",42 +62,[49],"[""झ""]",[31],"[""dʒ""]",39 +31,[7],"[""त""]","[7,8]","[""t"",""ə""]",38 +67,[40],"[""ऊ""]",[36],"[""uː""]",35 +69,[55],"[""फ""]",[46],"[""pʰ""]",34 +37,[47],"[""ज़""]",[11],"[""z""]",31 +54,"[46,56]","[""ड"","" ़""]",[34],"[""ɽ""]",28 +8,[28],"[""छ""]","[7,28]","[""t"",""ʃʰ""]",26 +44,[5],"[""ल""]","[5,8]","[""l"",""ə""]",26 +50,[30],"[""ग""]",[30],"[""g""]",26 +60,[54],"[""ष""]",[45],"[""ʂ""]",26 +71,[17],"[""द""]","[17,8]","[""d"",""ə""]",26 +40,[35],"[""ौ""]",[24],"[""ɔː""]",23 +61,[51],"[""श""]",[27],"[""ʃ""]",10 +12,[43],"[""ध""]",[38],"[""dʱ""]",9 +15,[26],"[""ख""]",[26],"[""kʰ""]",9 +59,[29],"[""व""]","[29,8]","[""ʋ"",""ə""]",6 +52,[27],"[""च""]","[7,27,8]","[""t"",""ʃ"",""ə""]",0 +58,[33],"[""ठ""]",[33],"[""ʈʰ""]",0 +70,[28],"[""छ""]","[7,28,8]","[""t"",""ʃʰ"",""ə""]",0 +73,"[46,56]","[""ड"","" ़""]","[34,8]","[""ɽ"",""ə""]",0 +74,"[7,44]","[""त"",""्""]",[7],"[""t""]",0 diff --git a/src/main/resources/db/content_TEST/swa/letter-sound-correspondences.csv b/src/main/resources/db/content_TEST/swa/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_TEST/swa/letter-sound-correspondences.csv rename to src/main/resources/db/content_TEST/swa/letter-sounds.csv index 3d4fe746b..46ebec9dc 100644 --- a/src/main/resources/db/content_TEST/swa/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_TEST/swa/letter-sounds.csv @@ -1,19 +1,19 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -2,[27],"[""a""]",[41],"[""ɑ""]",70 -1,[40],"[""n""]",[55],"[""n""]",43 -5,[35],"[""i""]",[43],"[""i""]",36 -3,[39],"[""m""]",[46],"[""m""]",33 -4,[36],"[""j""]",[66],"[""ʄ""]",24 -6,[41],"[""o""]",[44],"[""ɔ""]",8 -7,[42],"[""p""]",[49],"[""p""]",8 -8,[43],"[""r""]",[62],"[""ɾ""]",8 -11,[44],"[""s""]",[61],"[""s""]",3 -13,[45],"[""t""]",[58],"[""t""]",2 -9,[37],"[""k""]",[73],"[""k""]",1 -10,[46],"[""u""]",[45],"[""u""]",1 -12,[28],"[""b""]",[48],"[""ɓ""]",1 -14,"[44,34]","[""s"",""h""]",[68],"[""ʃ""]",0 -15,[38],"[""l""]",[63],"[""l""]",0 -16,[31],"[""e""]",[42],"[""ɛ""]",0 -17,[32],"[""f""]",[52],"[""f""]",0 -18,"[45,34]","[""t"",""h""]",[54],"[""θ""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +2,[27],"[""a""]",[41],"[""ɑ""]",70 +1,[40],"[""n""]",[55],"[""n""]",43 +5,[35],"[""i""]",[43],"[""i""]",36 +3,[39],"[""m""]",[46],"[""m""]",33 +4,[36],"[""j""]",[66],"[""ʄ""]",24 +6,[41],"[""o""]",[44],"[""ɔ""]",8 +7,[42],"[""p""]",[49],"[""p""]",8 +8,[43],"[""r""]",[62],"[""ɾ""]",8 +11,[44],"[""s""]",[61],"[""s""]",3 +13,[45],"[""t""]",[58],"[""t""]",2 +9,[37],"[""k""]",[73],"[""k""]",1 +10,[46],"[""u""]",[45],"[""u""]",1 +12,[28],"[""b""]",[48],"[""ɓ""]",1 +14,"[44,34]","[""s"",""h""]",[68],"[""ʃ""]",0 +15,[38],"[""l""]",[63],"[""l""]",0 +16,[31],"[""e""]",[42],"[""ɛ""]",0 +17,[32],"[""f""]",[52],"[""f""]",0 +18,"[45,34]","[""t"",""h""]",[54],"[""θ""]",0 diff --git a/src/main/resources/db/content_TEST/urd/letter-sound-correspondences.csv b/src/main/resources/db/content_TEST/urd/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_TEST/urd/letter-sound-correspondences.csv rename to src/main/resources/db/content_TEST/urd/letter-sounds.csv index 849bf9c40..2e8c13ba4 100644 --- a/src/main/resources/db/content_TEST/urd/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_TEST/urd/letter-sounds.csv @@ -1,20 +1,20 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -9,[8],"[""ے""]",[8],"[""ɛː""]",221 -6,[4],"[""ک""]",[4],"[""k""]",218 -8,[9],"[""س""]",[9],"[""s""]",128 -1,[10],"[""ن""]",[10],"[""n""]",82 -5,[3],"[""ا""]",[3],"[""ɑː""]",68 -11,[7],"[""و""]",[7],"[""ʋ""]",54 -18,[1],"[""ی""]",[1],"[""j""]",54 -10,[6],"[""ہ""]",[6],"[""ɦ""]",31 -4,[10],"[""ن""]",[13],"[""ŋ""]",21 -19,[12],"[""گ""]",[20],"[""g""]",21 -20,[11],"[""ر""]",[19],"[""r""]",21 -2,[10],"[""ن""]",[11],"[""ɲ""]",0 -3,[10],"[""ن""]",[12],"[""ɳ""]",0 -12,[6],"[""ہ""]",[3],"[""ɑː""]",0 -13,[6],"[""ہ""]",[14],"[""eː""]",0 -14,[7],"[""و""]",[15],"[""uː""]",0 -15,[7],"[""و""]",[16],"[""ʊ""]",0 -16,[7],"[""و""]",[17],"[""oː""]",0 -17,[7],"[""و""]",[18],"[""ɔː""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +9,[8],"[""ے""]",[8],"[""ɛː""]",221 +6,[4],"[""ک""]",[4],"[""k""]",218 +8,[9],"[""س""]",[9],"[""s""]",128 +1,[10],"[""ن""]",[10],"[""n""]",82 +5,[3],"[""ا""]",[3],"[""ɑː""]",68 +11,[7],"[""و""]",[7],"[""ʋ""]",54 +18,[1],"[""ی""]",[1],"[""j""]",54 +10,[6],"[""ہ""]",[6],"[""ɦ""]",31 +4,[10],"[""ن""]",[13],"[""ŋ""]",21 +19,[12],"[""گ""]",[20],"[""g""]",21 +20,[11],"[""ر""]",[19],"[""r""]",21 +2,[10],"[""ن""]",[11],"[""ɲ""]",0 +3,[10],"[""ن""]",[12],"[""ɳ""]",0 +12,[6],"[""ہ""]",[3],"[""ɑː""]",0 +13,[6],"[""ہ""]",[14],"[""eː""]",0 +14,[7],"[""و""]",[15],"[""uː""]",0 +15,[7],"[""و""]",[16],"[""ʊ""]",0 +16,[7],"[""و""]",[17],"[""oː""]",0 +17,[7],"[""و""]",[18],"[""ɔː""]",0 diff --git a/src/main/resources/db/content_TEST/xho/letter-sound-correspondences.csv b/src/main/resources/db/content_TEST/xho/letter-sounds.csv similarity index 97% rename from src/main/resources/db/content_TEST/xho/letter-sound-correspondences.csv rename to src/main/resources/db/content_TEST/xho/letter-sounds.csv index d5aa053b6..39db8324e 100644 --- a/src/main/resources/db/content_TEST/xho/letter-sound-correspondences.csv +++ b/src/main/resources/db/content_TEST/xho/letter-sounds.csv @@ -1,24 +1,24 @@ -id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count -5,[6],"[""i""]",[7],"[""ɪ""]",12 -13,[5],"[""a""]",[13],"[""a""]",11 -4,[3],"[""o""]",[6],"[""ɔ""]",10 -2,[2],"[""m""]",[2],"[""m""]",9 -3,[1],"[""l""]",[1],"[""l""]",8 -8,[6],"[""i""]",[9],"[""iː""]",7 -6,[7],"[""n""]",[8],"[""n""]",6 -10,[8],"[""e""]",[12],"[""ɛ""]",6 -14,[10],"[""b""]",[16],"[""b""]",4 -15,[3],"[""o""]",[3],"[""oː""]",4 -16,"[2,9]","[""m"",""h""]",[17],"[""mʱ""]",4 -18,"[14,9]","[""p"",""h""]",[22],"[""pʰ""]",4 -22,[17],"[""k""]",[24],"[""k""]",4 -7,[14],"[""p""]",[10],"[""p""]",3 -9,[12],"[""s""]",[11],"[""s""]",3 -11,[5],"[""a""]",[14],"[""aː""]",3 -12,[11],"[""z""]",[15],"[""z""]",3 -23,[18],"[""w""]",[25],"[""w""]",3 -1,[4],"[""u""]",[4],"[""u""]",1 -17,[16],"[""j""]",[23],"[""ʄ""]",0 -19,[13],"[""d""]",[18],"[""d""]",0 -20,[15],"[""q""]",[21],"[""k͡ǃ""]",0 -21,[4],"[""u""]",[5],"[""uː""]",0 +id,letter_ids,letter_texts,sound_ids,sound_values_ipa,usage_count +5,[6],"[""i""]",[7],"[""ɪ""]",12 +13,[5],"[""a""]",[13],"[""a""]",11 +4,[3],"[""o""]",[6],"[""ɔ""]",10 +2,[2],"[""m""]",[2],"[""m""]",9 +3,[1],"[""l""]",[1],"[""l""]",8 +8,[6],"[""i""]",[9],"[""iː""]",7 +6,[7],"[""n""]",[8],"[""n""]",6 +10,[8],"[""e""]",[12],"[""ɛ""]",6 +14,[10],"[""b""]",[16],"[""b""]",4 +15,[3],"[""o""]",[3],"[""oː""]",4 +16,"[2,9]","[""m"",""h""]",[17],"[""mʱ""]",4 +18,"[14,9]","[""p"",""h""]",[22],"[""pʰ""]",4 +22,[17],"[""k""]",[24],"[""k""]",4 +7,[14],"[""p""]",[10],"[""p""]",3 +9,[12],"[""s""]",[11],"[""s""]",3 +11,[5],"[""a""]",[14],"[""aː""]",3 +12,[11],"[""z""]",[15],"[""z""]",3 +23,[18],"[""w""]",[25],"[""w""]",3 +1,[4],"[""u""]",[4],"[""u""]",1 +17,[16],"[""j""]",[23],"[""ʄ""]",0 +19,[13],"[""d""]",[18],"[""d""]",0 +20,[15],"[""q""]",[21],"[""k͡ǃ""]",0 +21,[4],"[""u""]",[5],"[""uː""]",0 diff --git a/src/main/webapp/WEB-INF/jsp/content/letter-sound-correspondence/list.jsp b/src/main/webapp/WEB-INF/jsp/content/letter-sound-correspondence/list.jsp index 2d6ee947a..3f3f5400d 100644 --- a/src/main/webapp/WEB-INF/jsp/content/letter-sound-correspondence/list.jsp +++ b/src/main/webapp/WEB-INF/jsp/content/letter-sound-correspondence/list.jsp @@ -5,7 +5,7 @@
+ href=""> vertical_align_bottom - launch + launch
diff --git a/src/main/webapp/WEB-INF/jsp/content/word/edit.jsp b/src/main/webapp/WEB-INF/jsp/content/word/edit.jsp index 34d85a21c..721609785 100644 --- a/src/main/webapp/WEB-INF/jsp/content/word/edit.jsp +++ b/src/main/webapp/WEB-INF/jsp/content/word/edit.jsp @@ -61,7 +61,7 @@ clear - + " ${letter.text} "
@@ -116,7 +116,7 @@ }); -
launch + launch diff --git a/src/main/webapp/WEB-INF/jsp/content/word/list.jsp b/src/main/webapp/WEB-INF/jsp/content/word/list.jsp index 5b7360a18..dd89306c8 100644 --- a/src/main/webapp/WEB-INF/jsp/content/word/list.jsp +++ b/src/main/webapp/WEB-INF/jsp/content/word/list.jsp @@ -50,7 +50,7 @@
- + " ${letter.text} "
diff --git a/src/main/webapp/WEB-INF/jsp/content/word/peer-reviews/pending.jsp b/src/main/webapp/WEB-INF/jsp/content/word/peer-reviews/pending.jsp index 8cc7cbc63..9bbbc7805 100644 --- a/src/main/webapp/WEB-INF/jsp/content/word/peer-reviews/pending.jsp +++ b/src/main/webapp/WEB-INF/jsp/content/word/peer-reviews/pending.jsp @@ -30,7 +30,7 @@
"" - / ${sound.valueIpa} / + / ${sound.valueIpa} / ${word.wordType}
diff --git a/src/main/webapp/WEB-INF/jsp/contributions/most-recent.jsp b/src/main/webapp/WEB-INF/jsp/contributions/most-recent.jsp index c18781401..5c5606a4b 100644 --- a/src/main/webapp/WEB-INF/jsp/contributions/most-recent.jsp +++ b/src/main/webapp/WEB-INF/jsp/contributions/most-recent.jsp @@ -49,7 +49,7 @@ "${word.text}" - / ${sound.valueIpa} / + / ${sound.valueIpa} / ${word.wordType}
From c00cb8caff3a7939f8081db8295e7cb8a9cb73c2 Mon Sep 17 00:00:00 2001 From: jo-elimu <1451036+jo-elimu@users.noreply.github.com> Date: Mon, 30 Oct 2023 21:52:29 +0700 Subject: [PATCH 4/6] refactor: Rename REST API controller ref #1624 --- ...r.java => LetterSoundsRestController.java} | 18 +++++------ ...oundCorrespondencesRestControllerTest.java | 31 ------------------- .../LetterSoundsRestControllerTest.java | 31 +++++++++++++++++++ 3 files changed, 40 insertions(+), 40 deletions(-) rename src/main/java/ai/elimu/rest/v2/content/{LetterSoundCorrespondencesRestController.java => LetterSoundsRestController.java} (56%) delete mode 100644 src/test/java/ai/elimu/rest/v2/content/LetterSoundCorrespondencesRestControllerTest.java create mode 100644 src/test/java/ai/elimu/rest/v2/content/LetterSoundsRestControllerTest.java diff --git a/src/main/java/ai/elimu/rest/v2/content/LetterSoundCorrespondencesRestController.java b/src/main/java/ai/elimu/rest/v2/content/LetterSoundsRestController.java similarity index 56% rename from src/main/java/ai/elimu/rest/v2/content/LetterSoundCorrespondencesRestController.java rename to src/main/java/ai/elimu/rest/v2/content/LetterSoundsRestController.java index 11fa9d438..0ddd44b7b 100644 --- a/src/main/java/ai/elimu/rest/v2/content/LetterSoundCorrespondencesRestController.java +++ b/src/main/java/ai/elimu/rest/v2/content/LetterSoundsRestController.java @@ -16,26 +16,26 @@ import ai.elimu.dao.LetterSoundCorrespondenceDao; @RestController -@RequestMapping(value = "/rest/v2/content/letter-sound-correspondences", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) -public class LetterSoundCorrespondencesRestController { +@RequestMapping(value = "/rest/v2/content/letter-sounds", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) +public class LetterSoundsRestController { private Logger logger = LogManager.getLogger(); @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundCorrespondenceDao letterSoundDao; @RequestMapping(method = RequestMethod.GET) public String handleGetRequest() { logger.info("handleGetRequest"); - JSONArray letterSoundCorrespondencesJsonArray = new JSONArray(); - for (LetterSoundCorrespondence letterSoundCorrespondence : letterSoundCorrespondenceDao.readAllOrderedByUsage()) { - LetterSoundCorrespondenceGson letterSoundCorrespondenceGson = JpaToGsonConverter.getLetterSoundCorrespondenceGson(letterSoundCorrespondence); - String json = new Gson().toJson(letterSoundCorrespondenceGson); - letterSoundCorrespondencesJsonArray.put(new JSONObject(json)); + JSONArray letterSoundsJsonArray = new JSONArray(); + for (LetterSoundCorrespondence letterSound : letterSoundDao.readAllOrderedByUsage()) { + LetterSoundCorrespondenceGson letterSoundGson = JpaToGsonConverter.getLetterSoundCorrespondenceGson(letterSound); + String json = new Gson().toJson(letterSoundGson); + letterSoundsJsonArray.put(new JSONObject(json)); } - String jsonResponse = letterSoundCorrespondencesJsonArray.toString(); + String jsonResponse = letterSoundsJsonArray.toString(); logger.info("jsonResponse: " + jsonResponse); return jsonResponse; } diff --git a/src/test/java/ai/elimu/rest/v2/content/LetterSoundCorrespondencesRestControllerTest.java b/src/test/java/ai/elimu/rest/v2/content/LetterSoundCorrespondencesRestControllerTest.java deleted file mode 100644 index b1432f6b8..000000000 --- a/src/test/java/ai/elimu/rest/v2/content/LetterSoundCorrespondencesRestControllerTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package ai.elimu.rest.v2.content; - -import ai.elimu.util.JsonLoader; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import static org.hamcrest.CoreMatchers.*; -import org.json.JSONArray; -import org.json.JSONObject; -import static org.junit.Assert.assertThat; -import org.junit.Test; -import selenium.DomainHelper; - -public class LetterSoundCorrespondencesRestControllerTest { - - private Logger logger = LogManager.getLogger(); - - @Test - public void testHandleGetRequest() { - String jsonResponse = JsonLoader.loadJson(DomainHelper.getRestUrlV2() + "/content/letter-sound-correspondences"); - logger.info("jsonResponse: " + jsonResponse); - - JSONArray letterSoundCorrespondencesJSONArray = new JSONArray(jsonResponse); - logger.info("letterSoundCorrespondencesJSONArray.length(): " + letterSoundCorrespondencesJSONArray.length()); - assertThat(letterSoundCorrespondencesJSONArray.length() > 0, is(true)); - - JSONObject letterSoundCorrespondenceJsonObject = letterSoundCorrespondencesJSONArray.getJSONObject(0); - assertThat(letterSoundCorrespondenceJsonObject.getLong("id"), not(nullValue())); - assertThat(letterSoundCorrespondenceJsonObject.has("letters"), is(true)); - assertThat(letterSoundCorrespondenceJsonObject.has("sounds"), is(true)); - } -} diff --git a/src/test/java/ai/elimu/rest/v2/content/LetterSoundsRestControllerTest.java b/src/test/java/ai/elimu/rest/v2/content/LetterSoundsRestControllerTest.java new file mode 100644 index 000000000..4dfa98f50 --- /dev/null +++ b/src/test/java/ai/elimu/rest/v2/content/LetterSoundsRestControllerTest.java @@ -0,0 +1,31 @@ +package ai.elimu.rest.v2.content; + +import ai.elimu.util.JsonLoader; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import static org.hamcrest.CoreMatchers.*; +import org.json.JSONArray; +import org.json.JSONObject; +import static org.junit.Assert.assertThat; +import org.junit.Test; +import selenium.DomainHelper; + +public class LetterSoundsRestControllerTest { + + private Logger logger = LogManager.getLogger(); + + @Test + public void testHandleGetRequest() { + String jsonResponse = JsonLoader.loadJson(DomainHelper.getRestUrlV2() + "/content/letter-sounds"); + logger.info("jsonResponse: " + jsonResponse); + + JSONArray letterSoundsJSONArray = new JSONArray(jsonResponse); + logger.info("letterSoundsJSONArray.length(): " + letterSoundsJSONArray.length()); + assertThat(letterSoundsJSONArray.length() > 0, is(true)); + + JSONObject letterSoundJsonObject = letterSoundsJSONArray.getJSONObject(0); + assertThat(letterSoundJsonObject.getLong("id"), not(nullValue())); + assertThat(letterSoundJsonObject.has("letters"), is(true)); + assertThat(letterSoundJsonObject.has("sounds"), is(true)); + } +} From aa95de82bfd85dbb0ca9cec283e79b200f845f4b Mon Sep 17 00:00:00 2001 From: jo-elimu <1451036+jo-elimu@users.noreply.github.com> Date: Mon, 30 Oct 2023 22:00:37 +0700 Subject: [PATCH 5/6] refactor: Rename letter-sound DAO ref #1624 --- ...undCorrespondenceDao.java => LetterSoundDao.java} | 2 +- ...respondenceDaoJpa.java => LetterSoundDaoJpa.java} | 4 ++-- .../StringToLetterSoundCorrespondenceConverter.java | 6 +++--- .../rest/v2/content/LetterSoundsRestController.java | 4 ++-- .../crowdsource/WordContributionRestController.java | 6 +++--- ...LetterSoundCorrespondenceUsageCountScheduler.java | 8 ++++---- .../elimu/util/csv/CsvContentExtractionHelper.java | 8 ++++---- .../java/ai/elimu/util/db/DbContentImportHelper.java | 12 ++++++------ .../ai/elimu/web/content/MainContentController.java | 6 +++--- .../LetterSoundCorrespondenceCreateController.java | 8 ++++---- ...LetterSoundCorrespondenceCsvExportController.java | 6 +++--- .../LetterSoundCorrespondenceEditController.java | 10 +++++----- .../LetterSoundCorrespondenceListController.java | 6 +++--- ...tterSoundCorrespondencePeerReviewsController.java | 4 ++-- ...orrespondencePeerReviewEventCreateController.java | 6 +++--- .../elimu/web/content/sound/SoundEditController.java | 8 ++++---- .../elimu/web/content/word/WordCreateController.java | 10 +++++----- .../elimu/web/content/word/WordEditController.java | 10 +++++----- .../webapp/WEB-INF/spring/applicationContext-jpa.xml | 2 +- 19 files changed, 63 insertions(+), 63 deletions(-) rename src/main/java/ai/elimu/dao/{LetterSoundCorrespondenceDao.java => LetterSoundDao.java} (85%) rename src/main/java/ai/elimu/dao/jpa/{LetterSoundCorrespondenceDaoJpa.java => LetterSoundDaoJpa.java} (91%) diff --git a/src/main/java/ai/elimu/dao/LetterSoundCorrespondenceDao.java b/src/main/java/ai/elimu/dao/LetterSoundDao.java similarity index 85% rename from src/main/java/ai/elimu/dao/LetterSoundCorrespondenceDao.java rename to src/main/java/ai/elimu/dao/LetterSoundDao.java index c5ca00104..7c60bffab 100644 --- a/src/main/java/ai/elimu/dao/LetterSoundCorrespondenceDao.java +++ b/src/main/java/ai/elimu/dao/LetterSoundDao.java @@ -7,7 +7,7 @@ import org.springframework.dao.DataAccessException; -public interface LetterSoundCorrespondenceDao extends GenericDao { +public interface LetterSoundDao extends GenericDao { LetterSoundCorrespondence read(List letters, List sounds) throws DataAccessException; diff --git a/src/main/java/ai/elimu/dao/jpa/LetterSoundCorrespondenceDaoJpa.java b/src/main/java/ai/elimu/dao/jpa/LetterSoundDaoJpa.java similarity index 91% rename from src/main/java/ai/elimu/dao/jpa/LetterSoundCorrespondenceDaoJpa.java rename to src/main/java/ai/elimu/dao/jpa/LetterSoundDaoJpa.java index 19332f1e4..7d0dbc941 100644 --- a/src/main/java/ai/elimu/dao/jpa/LetterSoundCorrespondenceDaoJpa.java +++ b/src/main/java/ai/elimu/dao/jpa/LetterSoundDaoJpa.java @@ -6,9 +6,9 @@ import java.util.List; import java.util.stream.Collectors; import org.springframework.dao.DataAccessException; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; -public class LetterSoundCorrespondenceDaoJpa extends GenericDaoJpa implements LetterSoundCorrespondenceDao { +public class LetterSoundDaoJpa extends GenericDaoJpa implements LetterSoundDao { @Override public LetterSoundCorrespondence read(List letters, List sounds) throws DataAccessException { diff --git a/src/main/java/ai/elimu/logic/converters/StringToLetterSoundCorrespondenceConverter.java b/src/main/java/ai/elimu/logic/converters/StringToLetterSoundCorrespondenceConverter.java index 24af28ebe..eaed27e7c 100644 --- a/src/main/java/ai/elimu/logic/converters/StringToLetterSoundCorrespondenceConverter.java +++ b/src/main/java/ai/elimu/logic/converters/StringToLetterSoundCorrespondenceConverter.java @@ -4,12 +4,12 @@ import ai.elimu.model.content.LetterSoundCorrespondence; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.convert.converter.Converter; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; public class StringToLetterSoundCorrespondenceConverter implements Converter { @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; /** * Convert LetterSoundCorrespondence id to LetterSoundCorrespondence entity @@ -19,7 +19,7 @@ public LetterSoundCorrespondence convert(String id) { return null; } else { Long letterSoundCorrespondenceId = Long.parseLong(id); - LetterSoundCorrespondence letterSoundCorrespondence = letterSoundCorrespondenceDao.read(letterSoundCorrespondenceId); + LetterSoundCorrespondence letterSoundCorrespondence = letterSoundDao.read(letterSoundCorrespondenceId); return letterSoundCorrespondence; } } diff --git a/src/main/java/ai/elimu/rest/v2/content/LetterSoundsRestController.java b/src/main/java/ai/elimu/rest/v2/content/LetterSoundsRestController.java index 0ddd44b7b..27ac11723 100644 --- a/src/main/java/ai/elimu/rest/v2/content/LetterSoundsRestController.java +++ b/src/main/java/ai/elimu/rest/v2/content/LetterSoundsRestController.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; @RestController @RequestMapping(value = "/rest/v2/content/letter-sounds", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @@ -22,7 +22,7 @@ public class LetterSoundsRestController { private Logger logger = LogManager.getLogger(); @Autowired - private LetterSoundCorrespondenceDao letterSoundDao; + private LetterSoundDao letterSoundDao; @RequestMapping(method = RequestMethod.GET) public String handleGetRequest() { diff --git a/src/main/java/ai/elimu/rest/v2/crowdsource/WordContributionRestController.java b/src/main/java/ai/elimu/rest/v2/crowdsource/WordContributionRestController.java index df403e910..92177f82e 100644 --- a/src/main/java/ai/elimu/rest/v2/crowdsource/WordContributionRestController.java +++ b/src/main/java/ai/elimu/rest/v2/crowdsource/WordContributionRestController.java @@ -52,7 +52,7 @@ public class WordContributionRestController { private ContributorDao contributorDao; @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; /** * Returns a list of {@link LetterSoundCorrespondence}s that will be used to construct a {@link Word}. @@ -62,7 +62,7 @@ public String getLetterSoundCorrespondences(HttpServletRequest request, HttpServ logger.info("getLetterSoundCorrespondences"); JSONArray letterSoundCorrespondencesJsonArray = new JSONArray(); - for (LetterSoundCorrespondence letterSoundCorrespondence : letterSoundCorrespondenceDao.readAllOrderedByUsage()) { + for (LetterSoundCorrespondence letterSoundCorrespondence : letterSoundDao.readAllOrderedByUsage()) { LetterSoundCorrespondenceGson letterSoundCorrespondenceGson = JpaToGsonConverter.getLetterSoundCorrespondenceGson(letterSoundCorrespondence); String json = new Gson().toJson(letterSoundCorrespondenceGson); @@ -148,7 +148,7 @@ public String postWordContribution( List letterSoundCorrespondences = new ArrayList<>(); for (LetterSoundCorrespondenceGson letterSoundCorrespondenceGson : letterSoundCorrespondencesGsons) { LetterSoundCorrespondence letterSoundCorrespondence = - letterSoundCorrespondenceDao.read(letterSoundCorrespondenceGson.getId()); + letterSoundDao.read(letterSoundCorrespondenceGson.getId()); letterSoundCorrespondences.add(letterSoundCorrespondence); } word.setLetterSoundCorrespondences(letterSoundCorrespondences); diff --git a/src/main/java/ai/elimu/tasks/LetterSoundCorrespondenceUsageCountScheduler.java b/src/main/java/ai/elimu/tasks/LetterSoundCorrespondenceUsageCountScheduler.java index 32d2c02cd..d42907ac5 100644 --- a/src/main/java/ai/elimu/tasks/LetterSoundCorrespondenceUsageCountScheduler.java +++ b/src/main/java/ai/elimu/tasks/LetterSoundCorrespondenceUsageCountScheduler.java @@ -14,7 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; @Service public class LetterSoundCorrespondenceUsageCountScheduler { @@ -25,7 +25,7 @@ public class LetterSoundCorrespondenceUsageCountScheduler { private WordDao wordDao; @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; @Scheduled(cron="00 15 06 * * *") // At 06:15 every day public synchronized void execute() { @@ -47,7 +47,7 @@ public synchronized void execute() { } // Update the values previously stored in the database - for (LetterSoundCorrespondence letterSoundCorrespondence : letterSoundCorrespondenceDao.readAll()) { + for (LetterSoundCorrespondence letterSoundCorrespondence : letterSoundDao.readAll()) { logger.info("letterSoundCorrespondence.getId(): " + letterSoundCorrespondence.getId()); logger.info("letterSoundCorrespondence Letters: \"" + letterSoundCorrespondence.getLetters().stream().map(Letter::getText).collect(Collectors.joining()) + "\""); logger.info("letterSoundCorrespondence Sounds: /" + letterSoundCorrespondence.getSounds().stream().map(Sound::getValueIpa).collect(Collectors.joining()) + "/"); @@ -60,7 +60,7 @@ public synchronized void execute() { logger.info("newUsageCount: " + newUsageCount); letterSoundCorrespondence.setUsageCount(newUsageCount); - letterSoundCorrespondenceDao.update(letterSoundCorrespondence); + letterSoundDao.update(letterSoundCorrespondence); logger.info("letterSoundCorrespondence.getUsageCount() (after update): " + letterSoundCorrespondence.getUsageCount()); } diff --git a/src/main/java/ai/elimu/util/csv/CsvContentExtractionHelper.java b/src/main/java/ai/elimu/util/csv/CsvContentExtractionHelper.java index a2b5861ee..9fa4a75f2 100644 --- a/src/main/java/ai/elimu/util/csv/CsvContentExtractionHelper.java +++ b/src/main/java/ai/elimu/util/csv/CsvContentExtractionHelper.java @@ -1,7 +1,7 @@ package ai.elimu.util.csv; import ai.elimu.dao.LetterDao; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; import ai.elimu.dao.SoundDao; import ai.elimu.dao.WordDao; import ai.elimu.model.content.Emoji; @@ -49,7 +49,7 @@ public class CsvContentExtractionHelper { /** * For information on how the CSV files were generated, see {@link LetterSoundCorrespondenceCsvExportController#handleRequest}. */ - public static List getLetterSoundCorrespondencesFromCsvBackup(File csvFile, LetterDao letterDao, SoundDao soundDao, LetterSoundCorrespondenceDao letterSoundCorrespondenceDao) { + public static List getLetterSoundCorrespondencesFromCsvBackup(File csvFile, LetterDao letterDao, SoundDao soundDao, LetterSoundDao letterSoundDao) { logger.info("getLetterSoundCorrespondencesFromCsvBackup"); List letterSoundCorrespondences = new ArrayList<>(); @@ -119,7 +119,7 @@ public static List getLetterSoundCorrespondencesFromC /** * For information on how the CSV files were generated, see {@link WordCsvExportController#handleRequest}. */ - public static List getWordsFromCsvBackup(File csvFile, LetterDao letterDao, SoundDao soundDao, LetterSoundCorrespondenceDao letterSoundCorrespondenceDao, WordDao wordDao) { + public static List getWordsFromCsvBackup(File csvFile, LetterDao letterDao, SoundDao soundDao, LetterSoundDao letterSoundDao, WordDao wordDao) { logger.info("getWordsFromCsvBackup"); List words = new ArrayList<>(); @@ -167,7 +167,7 @@ public static List getWordsFromCsvBackup(File csvFile, LetterDao letterDao Sound sound = soundDao.readByValueIpa(soundsJsonArray.getString(j)); sounds.add(sound); } - LetterSoundCorrespondence letterSoundCorrespondence = letterSoundCorrespondenceDao.read(letters, sounds); + LetterSoundCorrespondence letterSoundCorrespondence = letterSoundDao.read(letters, sounds); logger.info("letterSoundCorrespondence.getId(): " + letterSoundCorrespondence.getId()); letterSoundCorrespondences.add(letterSoundCorrespondence); } diff --git a/src/main/java/ai/elimu/util/db/DbContentImportHelper.java b/src/main/java/ai/elimu/util/db/DbContentImportHelper.java index 36bcec843..3e2baf278 100644 --- a/src/main/java/ai/elimu/util/db/DbContentImportHelper.java +++ b/src/main/java/ai/elimu/util/db/DbContentImportHelper.java @@ -6,7 +6,7 @@ import ai.elimu.dao.LetterContributionEventDao; import ai.elimu.dao.LetterDao; import ai.elimu.dao.LetterSoundCorrespondenceContributionEventDao; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; import ai.elimu.dao.NumberContributionEventDao; import ai.elimu.dao.NumberDao; import ai.elimu.dao.SoundDao; @@ -67,7 +67,7 @@ public class DbContentImportHelper { private SoundDao soundDao; - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; private LetterSoundCorrespondenceContributionEventDao letterSoundCorrespondenceContributionEventDao; @@ -162,12 +162,12 @@ public synchronized void performDatabaseContentImport(Environment environment, L // Extract and import letter-sound correspondences in src/main/resources/ File letterSoundsCsvFile = new File(contentDirectory, "letter-sounds.csv"); - List letterSoundCorrespondences = CsvContentExtractionHelper.getLetterSoundCorrespondencesFromCsvBackup(letterSoundsCsvFile, letterDao, soundDao, letterSoundCorrespondenceDao); + List letterSoundCorrespondences = CsvContentExtractionHelper.getLetterSoundCorrespondencesFromCsvBackup(letterSoundsCsvFile, letterDao, soundDao, letterSoundDao); logger.info("letterSoundCorrespondences.size(): " + letterSoundCorrespondences.size()); - letterSoundCorrespondenceDao = (LetterSoundCorrespondenceDao) webApplicationContext.getBean("letterSoundCorrespondenceDao"); + letterSoundDao = (LetterSoundDao) webApplicationContext.getBean("letterSoundDao"); letterSoundCorrespondenceContributionEventDao = (LetterSoundCorrespondenceContributionEventDao) webApplicationContext.getBean("letterSoundCorrespondenceContributionEventDao"); for (LetterSoundCorrespondence letterSoundCorrespondence : letterSoundCorrespondences) { - letterSoundCorrespondenceDao.create(letterSoundCorrespondence); + letterSoundDao.create(letterSoundCorrespondence); LetterSoundCorrespondenceContributionEvent letterSoundCorrespondenceContributionEvent = new LetterSoundCorrespondenceContributionEvent(); letterSoundCorrespondenceContributionEvent.setContributor(contributor); @@ -181,7 +181,7 @@ public synchronized void performDatabaseContentImport(Environment environment, L // Extract and import Words from CSV file in src/main/resources/ File wordsCsvFile = new File(contentDirectory, "words.csv"); - List words = CsvContentExtractionHelper.getWordsFromCsvBackup(wordsCsvFile, letterDao, soundDao, letterSoundCorrespondenceDao, wordDao); + List words = CsvContentExtractionHelper.getWordsFromCsvBackup(wordsCsvFile, letterDao, soundDao, letterSoundDao, wordDao); logger.info("words.size(): " + words.size()); wordDao = (WordDao) webApplicationContext.getBean("wordDao"); wordContributionEventDao = (WordContributionEventDao) webApplicationContext.getBean("wordContributionEventDao"); diff --git a/src/main/java/ai/elimu/web/content/MainContentController.java b/src/main/java/ai/elimu/web/content/MainContentController.java index af12a5a7a..fcfb86408 100644 --- a/src/main/java/ai/elimu/web/content/MainContentController.java +++ b/src/main/java/ai/elimu/web/content/MainContentController.java @@ -13,7 +13,7 @@ import ai.elimu.dao.EmojiDao; import ai.elimu.dao.ImageDao; import ai.elimu.dao.LetterDao; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; import ai.elimu.dao.NumberContributionEventDao; import ai.elimu.dao.NumberDao; import ai.elimu.dao.StoryBookContributionEventDao; @@ -50,7 +50,7 @@ public class MainContentController { private SoundDao soundDao; @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; @Autowired private NumberDao numberDao; @@ -119,7 +119,7 @@ public String handleRequest( model.addAttribute("letterCount", letterDao.readCount()); model.addAttribute("soundCount", soundDao.readCount()); - model.addAttribute("letterSoundCorrespondenceCount", letterSoundCorrespondenceDao.readCount()); + model.addAttribute("letterSoundCorrespondenceCount", letterSoundDao.readCount()); model.addAttribute("numberCount", numberDao.readCount()); model.addAttribute("syllableCount", syllableDao.readCount()); model.addAttribute("wordCount", wordDao.readCount()); diff --git a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCreateController.java b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCreateController.java index cd8f5d7fb..7c3d851ec 100644 --- a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCreateController.java +++ b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCreateController.java @@ -16,7 +16,7 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; import ai.elimu.model.contributor.Contributor; import ai.elimu.model.contributor.LetterSoundCorrespondenceContributionEvent; import ai.elimu.model.enums.Platform; @@ -36,7 +36,7 @@ public class LetterSoundCorrespondenceCreateController { private final Logger logger = LogManager.getLogger(); @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; @Autowired private LetterSoundCorrespondenceContributionEventDao letterSoundCorrespondenceContributionEventDao; @@ -76,7 +76,7 @@ public String handleSubmit( logger.info("handleSubmit"); // Check if the LetterSoundCorrespondence already exists - LetterSoundCorrespondence existingLetterSoundCorrespondence = letterSoundCorrespondenceDao.read(letterSoundCorrespondence.getLetters(), letterSoundCorrespondence.getSounds()); + LetterSoundCorrespondence existingLetterSoundCorrespondence = letterSoundDao.read(letterSoundCorrespondence.getLetters(), letterSoundCorrespondence.getSounds()); if (existingLetterSoundCorrespondence != null) { result.rejectValue("letters", "NonUnique"); } @@ -95,7 +95,7 @@ public String handleSubmit( return "content/letter-sound/create"; } else { letterSoundCorrespondence.setTimeLastUpdate(Calendar.getInstance()); - letterSoundCorrespondenceDao.create(letterSoundCorrespondence); + letterSoundDao.create(letterSoundCorrespondence); LetterSoundCorrespondenceContributionEvent letterSoundCorrespondenceContributionEvent = new LetterSoundCorrespondenceContributionEvent(); letterSoundCorrespondenceContributionEvent.setContributor((Contributor) session.getAttribute("contributor")); diff --git a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCsvExportController.java b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCsvExportController.java index c39ff05d3..2b470abe7 100644 --- a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCsvExportController.java +++ b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceCsvExportController.java @@ -19,7 +19,7 @@ import org.apache.logging.log4j.LogManager; import org.json.JSONArray; import org.springframework.web.bind.annotation.RequestMethod; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; @Controller @RequestMapping("/content/letter-sound/list") @@ -28,7 +28,7 @@ public class LetterSoundCorrespondenceCsvExportController { private final Logger logger = LogManager.getLogger(); @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; @RequestMapping(value="/letter-sounds.csv", method = RequestMethod.GET) public void handleRequest( @@ -37,7 +37,7 @@ public void handleRequest( ) throws IOException { logger.info("handleRequest"); - List letterSoundCorrespondences = letterSoundCorrespondenceDao.readAllOrderedByUsage(); + List letterSoundCorrespondences = letterSoundDao.readAllOrderedByUsage(); logger.info("letterSoundCorrespondences.size(): " + letterSoundCorrespondences.size()); CSVFormat csvFormat = CSVFormat.DEFAULT diff --git a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceEditController.java b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceEditController.java index 2a78e7fbf..33ffd3370 100644 --- a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceEditController.java +++ b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceEditController.java @@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; import ai.elimu.dao.LetterSoundCorrespondencePeerReviewEventDao; import ai.elimu.dao.WordDao; import ai.elimu.model.content.Word; @@ -40,7 +40,7 @@ public class LetterSoundCorrespondenceEditController { private final Logger logger = LogManager.getLogger(); @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; @Autowired private LetterSoundCorrespondenceContributionEventDao letterSoundCorrespondenceContributionEventDao; @@ -61,7 +61,7 @@ public class LetterSoundCorrespondenceEditController { public String handleRequest(Model model, @PathVariable Long id) { logger.info("handleRequest"); - LetterSoundCorrespondence letterSoundCorrespondence = letterSoundCorrespondenceDao.read(id); + LetterSoundCorrespondence letterSoundCorrespondence = letterSoundDao.read(id); model.addAttribute("letterSoundCorrespondence", letterSoundCorrespondence); model.addAttribute("timeStart", System.currentTimeMillis()); @@ -92,7 +92,7 @@ public String handleSubmit( logger.info("handleSubmit"); // Check if the LetterSoundCorrespondence already exists - LetterSoundCorrespondence existingLetterSoundCorrespondence = letterSoundCorrespondenceDao.read(letterSoundCorrespondence.getLetters(), letterSoundCorrespondence.getSounds()); + LetterSoundCorrespondence existingLetterSoundCorrespondence = letterSoundDao.read(letterSoundCorrespondence.getLetters(), letterSoundCorrespondence.getSounds()); if ((existingLetterSoundCorrespondence != null) && !existingLetterSoundCorrespondence.getId().equals(letterSoundCorrespondence.getId())) { result.rejectValue("letters", "NonUnique"); } @@ -115,7 +115,7 @@ public String handleSubmit( } else { letterSoundCorrespondence.setTimeLastUpdate(Calendar.getInstance()); letterSoundCorrespondence.setRevisionNumber(letterSoundCorrespondence.getRevisionNumber() + 1); - letterSoundCorrespondenceDao.update(letterSoundCorrespondence); + letterSoundDao.update(letterSoundCorrespondence); LetterSoundCorrespondenceContributionEvent letterSoundCorrespondenceContributionEvent = new LetterSoundCorrespondenceContributionEvent(); letterSoundCorrespondenceContributionEvent.setContributor((Contributor) session.getAttribute("contributor")); diff --git a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceListController.java b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceListController.java index 83877fcfd..9b34314d5 100644 --- a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceListController.java +++ b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondenceListController.java @@ -9,7 +9,7 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; @Controller @RequestMapping("/content/letter-sound/list") @@ -18,13 +18,13 @@ public class LetterSoundCorrespondenceListController { private final Logger logger = LogManager.getLogger(); @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; @RequestMapping(method = RequestMethod.GET) public String handleRequest(Model model) { logger.info("handleRequest"); - List letterSoundCorrespondences = letterSoundCorrespondenceDao.readAllOrderedByUsage(); + List letterSoundCorrespondences = letterSoundDao.readAllOrderedByUsage(); model.addAttribute("letterSoundCorrespondences", letterSoundCorrespondences); int maxUsageCount = 0; diff --git a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondencePeerReviewsController.java b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondencePeerReviewsController.java index 7839be625..d8fd8a21b 100644 --- a/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondencePeerReviewsController.java +++ b/src/main/java/ai/elimu/web/content/letter_sound_correspondence/LetterSoundCorrespondencePeerReviewsController.java @@ -2,7 +2,7 @@ import ai.elimu.dao.EmojiDao; import ai.elimu.dao.LetterSoundCorrespondenceContributionEventDao; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; import ai.elimu.dao.LetterSoundCorrespondencePeerReviewEventDao; import ai.elimu.model.contributor.Contributor; import ai.elimu.model.contributor.LetterSoundCorrespondenceContributionEvent; @@ -31,7 +31,7 @@ public class LetterSoundCorrespondencePeerReviewsController { private LetterSoundCorrespondencePeerReviewEventDao letterSoundCorrespondencePeerReviewEventDao; @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; @Autowired private EmojiDao emojiDao; diff --git a/src/main/java/ai/elimu/web/content/peer_review/LetterSoundCorrespondencePeerReviewEventCreateController.java b/src/main/java/ai/elimu/web/content/peer_review/LetterSoundCorrespondencePeerReviewEventCreateController.java index 1f1074902..8c847bc5c 100644 --- a/src/main/java/ai/elimu/web/content/peer_review/LetterSoundCorrespondencePeerReviewEventCreateController.java +++ b/src/main/java/ai/elimu/web/content/peer_review/LetterSoundCorrespondencePeerReviewEventCreateController.java @@ -1,7 +1,7 @@ package ai.elimu.web.content.peer_review; import ai.elimu.dao.LetterSoundCorrespondenceContributionEventDao; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; import ai.elimu.dao.LetterSoundCorrespondencePeerReviewEventDao; import ai.elimu.model.content.Letter; import ai.elimu.model.content.LetterSoundCorrespondence; @@ -37,7 +37,7 @@ public class LetterSoundCorrespondencePeerReviewEventCreateController { private LetterSoundCorrespondencePeerReviewEventDao letterSoundCorrespondencePeerReviewEventDao; @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; @RequestMapping(method = RequestMethod.POST) public String handleSubmit( @@ -93,7 +93,7 @@ public String handleSubmit( } else { letterSoundCorrespondence.setPeerReviewStatus(PeerReviewStatus.NOT_APPROVED); } - letterSoundCorrespondenceDao.update(letterSoundCorrespondence); + letterSoundDao.update(letterSoundCorrespondence); return "redirect:/content/letter-sound/edit/" + letterSoundCorrespondenceContributionEvent.getLetterSoundCorrespondence().getId() + "#contribution-events"; } diff --git a/src/main/java/ai/elimu/web/content/sound/SoundEditController.java b/src/main/java/ai/elimu/web/content/sound/SoundEditController.java index edcefd5f2..9a282a478 100644 --- a/src/main/java/ai/elimu/web/content/sound/SoundEditController.java +++ b/src/main/java/ai/elimu/web/content/sound/SoundEditController.java @@ -1,6 +1,6 @@ package ai.elimu.web.content.sound; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; import ai.elimu.dao.SoundContributionEventDao; import java.util.Calendar; import javax.servlet.http.HttpSession; @@ -39,7 +39,7 @@ public class SoundEditController { private SoundContributionEventDao soundContributionEventDao; @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; @RequestMapping(value = "/{id}", method = RequestMethod.GET) public String handleRequest(Model model, @PathVariable Long id) { @@ -53,7 +53,7 @@ public String handleRequest(Model model, @PathVariable Long id) { model.addAttribute("soundContributionEvents", soundContributionEventDao.readAll(sound)); - model.addAttribute("letterSoundCorrespondences", letterSoundCorrespondenceDao.readAll()); + model.addAttribute("letterSoundCorrespondences", letterSoundDao.readAll()); return "content/sound/edit"; } @@ -88,7 +88,7 @@ public String handleSubmit( model.addAttribute("timeStart", System.currentTimeMillis()); model.addAttribute("soundTypes", SoundType.values()); model.addAttribute("soundContributionEvents", soundContributionEventDao.readAll(sound)); - model.addAttribute("letterSoundCorrespondences", letterSoundCorrespondenceDao.readAll()); + model.addAttribute("letterSoundCorrespondences", letterSoundDao.readAll()); return "content/sound/edit"; } else { sound.setTimeLastUpdate(Calendar.getInstance()); diff --git a/src/main/java/ai/elimu/web/content/word/WordCreateController.java b/src/main/java/ai/elimu/web/content/word/WordCreateController.java index 30c9e4523..6f208b732 100644 --- a/src/main/java/ai/elimu/web/content/word/WordCreateController.java +++ b/src/main/java/ai/elimu/web/content/word/WordCreateController.java @@ -45,7 +45,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; import ai.elimu.util.DiscordHelper; import ai.elimu.web.context.EnvironmentContextLoaderListener; @@ -62,7 +62,7 @@ public class WordCreateController { private EmojiDao emojiDao; @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; @Autowired private ImageDao imageDao; @@ -95,7 +95,7 @@ public String handleRequest(Model model, @RequestParam(required = false) String model.addAttribute("word", word); model.addAttribute("timeStart", System.currentTimeMillis()); - model.addAttribute("letterSoundCorrespondences", letterSoundCorrespondenceDao.readAllOrderedByUsage()); // TODO: sort by letter(s) text + model.addAttribute("letterSoundCorrespondences", letterSoundDao.readAllOrderedByUsage()); // TODO: sort by letter(s) text model.addAttribute("rootWords", wordDao.readAllOrdered()); model.addAttribute("emojisByWordId", getEmojisByWordId()); model.addAttribute("wordTypes", WordType.values()); @@ -125,7 +125,7 @@ public String handleSubmit( if (result.hasErrors()) { model.addAttribute("word", word); model.addAttribute("timeStart", request.getParameter("timeStart")); - model.addAttribute("letterSoundCorrespondences", letterSoundCorrespondenceDao.readAllOrderedByUsage()); // TODO: sort by letter(s) text + model.addAttribute("letterSoundCorrespondences", letterSoundDao.readAllOrderedByUsage()); // TODO: sort by letter(s) text model.addAttribute("rootWords", wordDao.readAllOrdered()); model.addAttribute("emojisByWordId", getEmojisByWordId()); model.addAttribute("wordTypes", WordType.values()); @@ -248,7 +248,7 @@ private void autoSelectLetterSoundCorrespondences(Word word) { List letterSoundCorrespondences = new ArrayList<>(); - List allLetterSoundCorrespondencesOrderedByLettersLength = letterSoundCorrespondenceDao.readAllOrderedByLettersLength(); + List allLetterSoundCorrespondencesOrderedByLettersLength = letterSoundDao.readAllOrderedByLettersLength(); while (StringUtils.isNotBlank(wordText)) { logger.info("wordText: \"" + wordText + "\""); diff --git a/src/main/java/ai/elimu/web/content/word/WordEditController.java b/src/main/java/ai/elimu/web/content/word/WordEditController.java index 9d812cc14..c39290bda 100644 --- a/src/main/java/ai/elimu/web/content/word/WordEditController.java +++ b/src/main/java/ai/elimu/web/content/word/WordEditController.java @@ -47,7 +47,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import ai.elimu.dao.LetterSoundCorrespondenceDao; +import ai.elimu.dao.LetterSoundDao; import ai.elimu.util.DiscordHelper; import ai.elimu.web.context.EnvironmentContextLoaderListener; @@ -61,7 +61,7 @@ public class WordEditController { private WordDao wordDao; @Autowired - private LetterSoundCorrespondenceDao letterSoundCorrespondenceDao; + private LetterSoundDao letterSoundDao; @Autowired private AudioDao audioDao; @@ -104,7 +104,7 @@ public String handleRequest( model.addAttribute("word", word); model.addAttribute("timeStart", System.currentTimeMillis()); - model.addAttribute("letterSoundCorrespondences", letterSoundCorrespondenceDao.readAllOrderedByUsage()); // TODO: sort by letter(s) text + model.addAttribute("letterSoundCorrespondences", letterSoundDao.readAllOrderedByUsage()); // TODO: sort by letter(s) text model.addAttribute("rootWords", wordDao.readAllOrdered()); model.addAttribute("emojisByWordId", getEmojisByWordId()); model.addAttribute("wordTypes", WordType.values()); @@ -195,7 +195,7 @@ public String handleSubmit( if (result.hasErrors()) { model.addAttribute("word", word); model.addAttribute("timeStart", request.getParameter("timeStart")); - model.addAttribute("letterSoundCorrespondences", letterSoundCorrespondenceDao.readAllOrderedByUsage()); // TODO: sort by letter(s) text + model.addAttribute("letterSoundCorrespondences", letterSoundDao.readAllOrderedByUsage()); // TODO: sort by letter(s) text model.addAttribute("rootWords", wordDao.readAllOrdered()); model.addAttribute("emojisByWordId", getEmojisByWordId()); model.addAttribute("wordTypes", WordType.values()); @@ -284,7 +284,7 @@ private void autoSelectLetterSoundCorrespondences(Word word) { List letterSoundCorrespondences = new ArrayList<>(); - List allLetterSoundCorrespondencesOrderedByLettersLength = letterSoundCorrespondenceDao.readAllOrderedByLettersLength(); + List allLetterSoundCorrespondencesOrderedByLettersLength = letterSoundDao.readAllOrderedByLettersLength(); while (StringUtils.isNotBlank(wordText)) { logger.info("wordText: \"" + wordText + "\""); diff --git a/src/main/webapp/WEB-INF/spring/applicationContext-jpa.xml b/src/main/webapp/WEB-INF/spring/applicationContext-jpa.xml index 96bff7aa1..575c130e4 100644 --- a/src/main/webapp/WEB-INF/spring/applicationContext-jpa.xml +++ b/src/main/webapp/WEB-INF/spring/applicationContext-jpa.xml @@ -58,9 +58,9 @@ - + From 110bfbf42e336ebdb8fd2ab5bebc8e0aed0311be Mon Sep 17 00:00:00 2001 From: jo-elimu <1451036+jo-elimu@users.noreply.github.com> Date: Mon, 30 Oct 2023 22:09:36 +0700 Subject: [PATCH 6/6] refactor: Rename from "Correspondence" closes #1624 --- .../ai/elimu/rest/v2/JpaToGsonConverter.java | 32 +++++++++---------- .../content/LetterSoundsRestController.java | 2 +- .../WordContributionRestController.java | 2 +- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/java/ai/elimu/rest/v2/JpaToGsonConverter.java b/src/main/java/ai/elimu/rest/v2/JpaToGsonConverter.java index 1f7b466c1..e15a619c2 100644 --- a/src/main/java/ai/elimu/rest/v2/JpaToGsonConverter.java +++ b/src/main/java/ai/elimu/rest/v2/JpaToGsonConverter.java @@ -88,31 +88,31 @@ public static SoundGson getSoundGson(Sound sound) { } } - public static LetterSoundCorrespondenceGson getLetterSoundCorrespondenceGson(LetterSoundCorrespondence letterSoundCorrespondence) { - if (letterSoundCorrespondence == null) { + public static LetterSoundCorrespondenceGson getLetterSoundGson(LetterSoundCorrespondence letterSound) { + if (letterSound == null) { return null; } else { - LetterSoundCorrespondenceGson letterSoundCorrespondenceGson = new LetterSoundCorrespondenceGson(); + LetterSoundCorrespondenceGson letterSoundGson = new LetterSoundCorrespondenceGson(); // BaseEntity - letterSoundCorrespondenceGson.setId(letterSoundCorrespondence.getId()); + letterSoundGson.setId(letterSound.getId()); - // LetterSoundCorrespondence + // LetterSound List letters = new ArrayList<>(); - for (Letter letter : letterSoundCorrespondence.getLetters()) { + for (Letter letter : letterSound.getLetters()) { LetterGson letterGson = getLetterGson(letter); letters.add(letterGson); } - letterSoundCorrespondenceGson.setLetters(letters); + letterSoundGson.setLetters(letters); List sounds = new ArrayList<>(); - for (Sound sound : letterSoundCorrespondence.getSounds()) { + for (Sound sound : letterSound.getSounds()) { SoundGson soundGson = getSoundGson(sound); sounds.add(soundGson); } - letterSoundCorrespondenceGson.setSounds(sounds); - letterSoundCorrespondenceGson.setUsageCount(letterSoundCorrespondence.getUsageCount()); + letterSoundGson.setSounds(sounds); + letterSoundGson.setUsageCount(letterSound.getUsageCount()); - return letterSoundCorrespondenceGson; + return letterSoundGson; } } @@ -131,12 +131,12 @@ public static WordGson getWordGson(Word word) { // Word wordGson.setText(word.getText()); - List letterSoundCorrespondences = new ArrayList<>(); - for (LetterSoundCorrespondence letterSoundCorrespondence : word.getLetterSoundCorrespondences()) { - LetterSoundCorrespondenceGson letterSoundCorrespondenceGson = getLetterSoundCorrespondenceGson(letterSoundCorrespondence); - letterSoundCorrespondences.add(letterSoundCorrespondenceGson); + List letterSounds = new ArrayList<>(); + for (LetterSoundCorrespondence letterSound : word.getLetterSoundCorrespondences()) { + LetterSoundCorrespondenceGson letterSoundGson = getLetterSoundGson(letterSound); + letterSounds.add(letterSoundGson); } - wordGson.setLetterSoundCorrespondences(letterSoundCorrespondences); + wordGson.setLetterSoundCorrespondences(letterSounds); wordGson.setWordType(word.getWordType()); return wordGson; diff --git a/src/main/java/ai/elimu/rest/v2/content/LetterSoundsRestController.java b/src/main/java/ai/elimu/rest/v2/content/LetterSoundsRestController.java index 27ac11723..7e0437617 100644 --- a/src/main/java/ai/elimu/rest/v2/content/LetterSoundsRestController.java +++ b/src/main/java/ai/elimu/rest/v2/content/LetterSoundsRestController.java @@ -30,7 +30,7 @@ public String handleGetRequest() { JSONArray letterSoundsJsonArray = new JSONArray(); for (LetterSoundCorrespondence letterSound : letterSoundDao.readAllOrderedByUsage()) { - LetterSoundCorrespondenceGson letterSoundGson = JpaToGsonConverter.getLetterSoundCorrespondenceGson(letterSound); + LetterSoundCorrespondenceGson letterSoundGson = JpaToGsonConverter.getLetterSoundGson(letterSound); String json = new Gson().toJson(letterSoundGson); letterSoundsJsonArray.put(new JSONObject(json)); } diff --git a/src/main/java/ai/elimu/rest/v2/crowdsource/WordContributionRestController.java b/src/main/java/ai/elimu/rest/v2/crowdsource/WordContributionRestController.java index 92177f82e..28b837195 100644 --- a/src/main/java/ai/elimu/rest/v2/crowdsource/WordContributionRestController.java +++ b/src/main/java/ai/elimu/rest/v2/crowdsource/WordContributionRestController.java @@ -64,7 +64,7 @@ public String getLetterSoundCorrespondences(HttpServletRequest request, HttpServ JSONArray letterSoundCorrespondencesJsonArray = new JSONArray(); for (LetterSoundCorrespondence letterSoundCorrespondence : letterSoundDao.readAllOrderedByUsage()) { LetterSoundCorrespondenceGson letterSoundCorrespondenceGson = - JpaToGsonConverter.getLetterSoundCorrespondenceGson(letterSoundCorrespondence); + JpaToGsonConverter.getLetterSoundGson(letterSoundCorrespondence); String json = new Gson().toJson(letterSoundCorrespondenceGson); letterSoundCorrespondencesJsonArray.put(new JSONObject(json)); }