Skip to content

Commit c6ba81a

Browse files
authored
refactor: remove frequency chart from list of letters, sounds, words (#2359)
2 parents 368b2cc + 8db25ba commit c6ba81a

File tree

6 files changed

+2
-144
lines changed

6 files changed

+2
-144
lines changed

pom-dependency-tree.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
ai.elimu:webapp:war:2.6.142-SNAPSHOT
2-
+- ai.elimu:model:jar:model-2.0.127:compile
1+
ai.elimu:webapp:war:2.6.148-SNAPSHOT
2+
+- ai.elimu:model:jar:model-2.0.128:compile
33
| \- com.google.code.gson:gson:jar:2.13.1:compile
44
| \- com.google.errorprone:error_prone_annotations:jar:2.38.0:compile
55
+- org.springframework:spring-context:jar:6.0.11:compile
Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,8 @@
11
package ai.elimu.web.content.letter;
22

33
import ai.elimu.dao.LetterDao;
4-
import ai.elimu.dao.StoryBookParagraphDao;
54
import ai.elimu.entity.content.Letter;
6-
import ai.elimu.entity.content.StoryBookParagraph;
7-
import ai.elimu.model.v2.enums.Language;
8-
import ai.elimu.util.ConfigHelper;
9-
import ai.elimu.util.LetterFrequencyHelper;
10-
11-
import java.util.ArrayList;
125
import java.util.List;
13-
import java.util.Map;
14-
156
import lombok.RequiredArgsConstructor;
167
import lombok.extern.slf4j.Slf4j;
178
import org.springframework.stereotype.Controller;
@@ -27,8 +18,6 @@ public class LetterListController {
2718

2819
private final LetterDao letterDao;
2920

30-
private final StoryBookParagraphDao storyBookParagraphDao;
31-
3221
@GetMapping
3322
public String handleRequest(Model model) {
3423
log.info("handleRequest");
@@ -44,15 +33,6 @@ public String handleRequest(Model model) {
4433
}
4534
model.addAttribute("maxUsageCount", maxUsageCount);
4635

47-
// Extract letter frequency distribution from storybook paragraphs
48-
List<String> paragraphs = new ArrayList<>();
49-
for (StoryBookParagraph storyBookParagraph : storyBookParagraphDao.readAll()) {
50-
paragraphs.add(storyBookParagraph.getOriginalText());
51-
}
52-
Language language = Language.valueOf(ConfigHelper.getProperty("content.language"));
53-
Map<String, Integer> letterFrequencyMap = LetterFrequencyHelper.getLetterFrequency(paragraphs, language);
54-
model.addAttribute("letterFrequencyMap", letterFrequencyMap);
55-
5636
return "content/letter/list";
5737
}
5838
}

src/main/java/ai/elimu/web/content/word/WordListController.java

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
11
package ai.elimu.web.content.word;
22

33
import ai.elimu.dao.EmojiDao;
4-
import ai.elimu.dao.StoryBookParagraphDao;
54
import ai.elimu.dao.WordDao;
65
import ai.elimu.entity.content.Emoji;
7-
import ai.elimu.entity.content.StoryBookParagraph;
86
import ai.elimu.entity.content.Word;
9-
import ai.elimu.model.v2.enums.Language;
10-
import ai.elimu.util.ConfigHelper;
11-
import ai.elimu.util.WordFrequencyHelper;
12-
13-
import java.util.ArrayList;
147
import java.util.HashMap;
158
import java.util.List;
169
import java.util.Map;
@@ -32,8 +25,6 @@ public class WordListController {
3225

3326
private final EmojiDao emojiDao;
3427

35-
private final StoryBookParagraphDao storyBookParagraphDao;
36-
3728
@GetMapping
3829
public String handleRequest(Model model) {
3930
log.info("handleRequest");
@@ -50,19 +41,6 @@ public String handleRequest(Model model) {
5041
}
5142
model.addAttribute("maxUsageCount", maxUsageCount);
5243

53-
// Extract word frequency distribution from storybook paragraphs
54-
List<String> paragraphs = new ArrayList<>();
55-
for (StoryBookParagraph storyBookParagraph : storyBookParagraphDao.readAll()) {
56-
if (StringUtils.isNotBlank(storyBookParagraph.getOriginalText())) {
57-
paragraphs.add(storyBookParagraph.getOriginalText());
58-
}
59-
}
60-
if (StringUtils.isNotBlank(ConfigHelper.getProperty("content.language"))) {
61-
Language language = Language.valueOf(ConfigHelper.getProperty("content.language"));
62-
Map<String, Integer> wordFrequencyMap = WordFrequencyHelper.getWordFrequency(paragraphs, language);
63-
model.addAttribute("wordFrequencyMap", wordFrequencyMap);
64-
}
65-
6644
return "content/word/list";
6745
}
6846

src/main/webapp/WEB-INF/jsp/content/letter/list.jsp

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,6 @@
44

55
<content:section cssId="letterListPage">
66
<div class="section row">
7-
<div class="card-panel">
8-
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.4/dist/chart.umd.min.js"></script>
9-
<canvas id="chart"></canvas>
10-
<script>
11-
var ctx = document.getElementById('chart');
12-
var data = {
13-
labels: [
14-
<c:forEach var="key" items="${letterFrequencyMap.keySet()}">
15-
'<c:out value="${key}" escapeXml="true" />',
16-
</c:forEach>
17-
],
18-
datasets: [
19-
{
20-
data: [
21-
<c:forEach var="key" items="${letterFrequencyMap}">
22-
${key.value},
23-
</c:forEach>
24-
],
25-
label: 'Letter frequency distribution',
26-
backgroundColor: 'rgba(149,117,205, 0.5)', // #9575cd deep-purple lighten-2
27-
}
28-
]
29-
};
30-
var options = {};
31-
new Chart(ctx, {
32-
type: 'bar',
33-
data: data,
34-
options: options
35-
});
36-
</script>
37-
</div>
38-
397
<a id="exportToCsvButton" class="right btn waves-effect waves-light grey-text white"
408
href="<spring:url value='/content/letter/list/letters.csv' />">
419
Export to CSV<i class="material-icons right">vertical_align_bottom</i>

src/main/webapp/WEB-INF/jsp/content/sound/list.jsp

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,6 @@
44

55
<content:section cssId="soundListPage">
66
<div class="section row">
7-
<div class="card-panel">
8-
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.4/dist/chart.umd.min.js"></script>
9-
<canvas id="chart"></canvas>
10-
<script>
11-
var ctx = document.getElementById('chart');
12-
var data = {
13-
labels: [
14-
<c:forEach var="sound" items="${sounds}">
15-
'/${sound.valueIpa}/',
16-
</c:forEach>
17-
],
18-
datasets: [
19-
{
20-
data: [
21-
<c:forEach var="sound" items="${sounds}">
22-
'${sound.usageCount}',
23-
</c:forEach>
24-
],
25-
label: 'Sound frequency distribution',
26-
backgroundColor: 'rgba(149,117,205, 0.5)', // #9575cd deep-purple lighten-2
27-
}
28-
]
29-
};
30-
var options = {};
31-
new Chart(ctx, {
32-
type: 'bar',
33-
data: data,
34-
options: options
35-
});
36-
</script>
37-
</div>
38-
397
<a id="exportToCsvButton" class="right btn waves-effect waves-light grey-text white"
408
href="<spring:url value='/content/sound/list/sounds.csv' />">
419
Export to CSV<i class="material-icons right">vertical_align_bottom</i>

src/main/webapp/WEB-INF/jsp/content/word/list.jsp

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,42 +4,6 @@
44

55
<content:section cssId="wordListPage">
66
<div class="section row">
7-
<div class="card-panel">
8-
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.4/dist/chart.umd.min.js"></script>
9-
<canvas id="chart"></canvas>
10-
<script>
11-
var ctx = document.getElementById('chart');
12-
var data = {
13-
labels: [
14-
<c:forEach var="key" items="${wordFrequencyMap.keySet()}" varStatus="status">
15-
<c:if test="${status.index < 100}">
16-
"<c:out value="${key}" escapeXml="true" />",
17-
</c:if>
18-
</c:forEach>
19-
],
20-
datasets: [
21-
{
22-
data: [
23-
<c:forEach var="key" items="${wordFrequencyMap}" varStatus="status">
24-
<c:if test="${status.index < 100}">
25-
${key.value},
26-
</c:if>
27-
</c:forEach>
28-
],
29-
label: 'Word frequency distribution (top 100)',
30-
backgroundColor: 'rgba(149,117,205, 0.5)', // #9575cd deep-purple lighten-2
31-
}
32-
]
33-
};
34-
var options = {};
35-
new Chart(ctx, {
36-
type: 'bar',
37-
data: data,
38-
options: options
39-
});
40-
</script>
41-
</div>
42-
437
<a id="exportToCsvButton" class="right btn waves-effect waves-light grey-text white"
448
href="<spring:url value='/content/word/list/words.csv' />">
459
Export to CSV<i class="material-icons right">vertical_align_bottom</i>

0 commit comments

Comments
 (0)