use of ai.elimu.model.content.Word in project webapp by elimu-ai.
the class WordPeerReviewsController method getEmojisByWordId.
private Map<Long, String> getEmojisByWordId() {
logger.info("getEmojisByWordId");
Map<Long, String> emojisByWordId = new HashMap<>();
for (Word word : wordDao.readAll()) {
String emojiGlyphs = "";
List<Emoji> emojis = emojiDao.readAllLabeled(word);
for (Emoji emoji : emojis) {
emojiGlyphs += emoji.getGlyph();
}
if (StringUtils.isNotBlank(emojiGlyphs)) {
emojisByWordId.put(word.getId(), emojiGlyphs);
}
}
return emojisByWordId;
}
use of ai.elimu.model.content.Word in project webapp by elimu-ai.
the class WordCreationsPendingController method handleRequest.
@RequestMapping(method = RequestMethod.GET)
public String handleRequest(Model model) {
logger.info("handleRequest");
List<String> paragraphs = new ArrayList<>();
for (StoryBookParagraph storyBookParagraph : storyBookParagraphDao.readAll()) {
paragraphs.add(storyBookParagraph.getOriginalText());
}
logger.info("paragraphs.size(): " + paragraphs.size());
Language language = Language.valueOf(ConfigHelper.getProperty("content.language"));
Map<String, Integer> wordFrequencyMap = WordFrequencyHelper.getWordFrequency(paragraphs, language);
model.addAttribute("wordFrequencyMap", wordFrequencyMap);
logger.info("wordFrequencyMap.size(): " + wordFrequencyMap.size());
// Remove Words that have already been added
Iterator<String> wordTextIterator = wordFrequencyMap.keySet().iterator();
while (wordTextIterator.hasNext()) {
String wordText = wordTextIterator.next();
Word existingWord = wordDao.readByText(wordText);
if (existingWord != null) {
wordTextIterator.remove();
}
}
int maxUsageCount = 0;
for (Integer usageCount : wordFrequencyMap.values()) {
if (usageCount > maxUsageCount) {
maxUsageCount = usageCount;
}
}
model.addAttribute("maxUsageCount", maxUsageCount);
return "content/word/pending";
}
use of ai.elimu.model.content.Word in project webapp by elimu-ai.
the class ImageListController method getEmojisByWordId.
private Map<Long, String> getEmojisByWordId() {
logger.info("getEmojisByWordId");
Map<Long, String> emojisByWordId = new HashMap<>();
for (Word word : wordDao.readAll()) {
String emojiGlyphs = "";
List<Emoji> emojis = emojiDao.readAllLabeled(word);
for (Emoji emoji : emojis) {
emojiGlyphs += emoji.getGlyph();
}
if (StringUtils.isNotBlank(emojiGlyphs)) {
emojisByWordId.put(word.getId(), emojiGlyphs);
}
}
return emojisByWordId;
}
use of ai.elimu.model.content.Word in project webapp by elimu-ai.
the class ImageDaoTest method testReadAllLabeled.
@Test
public void testReadAllLabeled() {
Word wordDog = new Word();
wordDog.setText("dog");
wordDao.create(wordDog);
Word wordCat = new Word();
wordCat.setText("cat");
wordDao.create(wordCat);
List<Image> images = imageDao.readAllLabeled(wordCat);
assertThat(images.size(), is(0));
Set<Word> words = new HashSet<>();
words.add(wordCat);
Image image = new Image();
image.setTitle("image");
image.setWords(words);
imageDao.create(image);
images = imageDao.readAllLabeled(wordDog);
assertThat(images.size(), is(0));
images = imageDao.readAllLabeled(wordCat);
assertThat(images.size(), is(1));
assertThat(images.get(0).getWords().size(), is(1));
words.add(wordDog);
image.setWords(words);
imageDao.update(image);
images = imageDao.readAllLabeled(wordCat);
assertThat(images.size(), is(1));
assertThat(images.get(0).getWords().size(), is(2));
}
use of ai.elimu.model.content.Word in project webapp by elimu-ai.
the class NumberDaoTest method testStoreWithMultipleNumberWords.
@Test
public void testStoreWithMultipleNumberWords() {
Word word1 = new Word();
wordDao.create(word1);
Word word2 = new Word();
wordDao.create(word2);
List<Word> numberWords = new ArrayList<>();
numberWords.add(word1);
numberWords.add(word2);
Number number = new Number();
number.setWords(numberWords);
numberDao.create(number);
assertThat(number.getWords().size(), is(2));
}
Aggregations