use of ai.elimu.model.content.Number in project webapp by elimu-ai.
the class JavaToGsonConverter method getImageGson.
public static ImageGson getImageGson(Image image) {
if (image == null) {
return null;
} else {
ImageGson imageGson = new ImageGson();
imageGson.setId(image.getId());
imageGson.setLocale(image.getLocale());
imageGson.setTimeLastUpdate(image.getTimeLastUpdate());
imageGson.setRevisionNumber(image.getRevisionNumber());
imageGson.setContentStatus(image.getContentStatus());
imageGson.setDownloadUrl("/image/" + image.getId() + "." + image.getImageFormat().toString().toLowerCase());
imageGson.setDownloadSize(image.getBytes().length / 1024);
imageGson.setContentType(image.getContentType());
imageGson.setLiteracySkills(image.getLiteracySkills());
imageGson.setNumeracySkills(image.getNumeracySkills());
List<LetterGson> letters = new ArrayList<>();
for (Letter letter : image.getLetters()) {
LetterGson letterGson = getLetterGson(letter);
letters.add(letterGson);
}
imageGson.setLetters(letters);
List<NumberGson> numbers = new ArrayList<>();
for (Number number : image.getNumbers()) {
NumberGson numberGson = getNumberGson(number);
numbers.add(numberGson);
}
imageGson.setNumbers(numbers);
List<WordGson> words = new ArrayList<>();
for (Word word : image.getWords()) {
WordGson wordGson = getWordGson(word);
words.add(wordGson);
}
imageGson.setWords(words);
imageGson.setTitle(image.getTitle());
imageGson.setImageFormat(image.getImageFormat());
imageGson.setDominantColor(image.getDominantColor());
return imageGson;
}
}
use of ai.elimu.model.content.Number in project webapp by elimu-ai.
the class JavaToGsonConverter method getVideoGson.
public static VideoGson getVideoGson(Video video) {
if (video == null) {
return null;
} else {
VideoGson videoGson = new VideoGson();
videoGson.setId(video.getId());
videoGson.setLocale(video.getLocale());
videoGson.setTimeLastUpdate(video.getTimeLastUpdate());
videoGson.setRevisionNumber(video.getRevisionNumber());
videoGson.setContentStatus(video.getContentStatus());
videoGson.setDownloadUrl("/video/" + video.getId() + "." + video.getVideoFormat().toString().toLowerCase());
videoGson.setDownloadSize(video.getBytes().length / 1024);
videoGson.setContentType(video.getContentType());
videoGson.setLiteracySkills(video.getLiteracySkills());
videoGson.setNumeracySkills(video.getNumeracySkills());
List<LetterGson> letters = new ArrayList<>();
for (Letter letter : video.getLetters()) {
LetterGson letterGson = getLetterGson(letter);
letters.add(letterGson);
}
videoGson.setLetters(letters);
List<NumberGson> numbers = new ArrayList<>();
for (Number number : video.getNumbers()) {
NumberGson numberGson = getNumberGson(number);
numbers.add(numberGson);
}
videoGson.setNumbers(numbers);
List<WordGson> words = new ArrayList<>();
for (Word word : video.getWords()) {
WordGson wordGson = getWordGson(word);
words.add(wordGson);
}
videoGson.setWords(words);
videoGson.setTitle(video.getTitle());
videoGson.setVideoFormat(video.getVideoFormat());
videoGson.setThumbnailDownloadUrl("/video/" + video.getId() + "/thumbnail.png");
return videoGson;
}
}
use of ai.elimu.model.content.Number in project webapp by elimu-ai.
the class JavaToGsonConverter method getAudioGson.
public static AudioGson getAudioGson(Audio audio) {
if (audio == null) {
return null;
} else {
AudioGson audioGson = new AudioGson();
audioGson.setId(audio.getId());
audioGson.setLocale(audio.getLocale());
audioGson.setTimeLastUpdate(audio.getTimeLastUpdate());
audioGson.setRevisionNumber(audio.getRevisionNumber());
audioGson.setContentStatus(audio.getContentStatus());
audioGson.setDownloadUrl("/audio/" + audio.getId() + "." + audio.getAudioFormat().toString().toLowerCase());
audioGson.setDownloadSize(audio.getBytes().length / 1024);
audioGson.setContentType(audio.getContentType());
audioGson.setLiteracySkills(audio.getLiteracySkills());
audioGson.setNumeracySkills(audio.getNumeracySkills());
List<LetterGson> letters = new ArrayList<>();
for (Letter letter : audio.getLetters()) {
LetterGson letterGson = getLetterGson(letter);
letters.add(letterGson);
}
audioGson.setLetters(letters);
List<NumberGson> numbers = new ArrayList<>();
for (Number number : audio.getNumbers()) {
NumberGson numberGson = getNumberGson(number);
numbers.add(numberGson);
}
audioGson.setNumbers(numbers);
List<WordGson> words = new ArrayList<>();
for (Word word : audio.getWords()) {
WordGson wordGson = getWordGson(word);
words.add(wordGson);
}
audioGson.setWords(words);
audioGson.setTranscription(audio.getTranscription());
audioGson.setAudioType(audio.getAudioFormat());
return audioGson;
}
}
use of ai.elimu.model.content.Number in project webapp by elimu-ai.
the class NumberCreateController method handleSubmit.
@RequestMapping(method = RequestMethod.POST)
public String handleSubmit(HttpSession session, @Valid Number number, BindingResult result, Model model) {
logger.info("handleSubmit");
if (number.getLocale() == Locale.AR) {
if (StringUtils.isBlank(number.getSymbol())) {
result.rejectValue("symbol", "NotNull");
}
}
Number existingNumber = numberDao.readByValue(number.getLocale(), number.getValue());
if (existingNumber != null) {
result.rejectValue("value", "NonUnique");
}
Contributor contributor = (Contributor) session.getAttribute("contributor");
if (result.hasErrors()) {
model.addAttribute("number", number);
List<Word> words = wordDao.readAllOrdered(contributor.getLocale());
model.addAttribute("words", words);
return "content/number/create";
} else {
number.setTimeLastUpdate(Calendar.getInstance());
numberDao.create(number);
return "redirect:/content/number/list#" + number.getId();
}
}
use of ai.elimu.model.content.Number in project webapp by elimu-ai.
the class NumberEditController method handleSubmit.
@RequestMapping(value = "/{id}", method = RequestMethod.POST)
public String handleSubmit(HttpSession session, @Valid Number number, BindingResult result, Model model) {
logger.info("handleSubmit");
if (number.getLocale() == Locale.AR) {
if (StringUtils.isBlank(number.getSymbol())) {
result.rejectValue("symbol", "NotNull");
}
}
Number existingNumber = numberDao.readByValue(number.getLocale(), number.getValue());
if ((existingNumber != null) && !existingNumber.getId().equals(number.getId())) {
result.rejectValue("value", "NonUnique");
}
Contributor contributor = (Contributor) session.getAttribute("contributor");
if (result.hasErrors()) {
model.addAttribute("number", number);
List<Word> words = wordDao.readAllOrdered(contributor.getLocale());
model.addAttribute("words", words);
return "content/number/edit";
} else {
number.setTimeLastUpdate(Calendar.getInstance());
number.setRevisionNumber(number.getRevisionNumber() + 1);
numberDao.update(number);
return "redirect:/content/number/list#" + number.getId();
}
}
Aggregations