Search in sources :

Example 1 with Number

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;
    }
}
Also used : Letter(ai.elimu.model.content.Letter) WordGson(ai.elimu.model.gson.content.WordGson) ImageGson(ai.elimu.model.gson.content.multimedia.ImageGson) Word(ai.elimu.model.content.Word) Number(ai.elimu.model.content.Number) ArrayList(java.util.ArrayList) LetterGson(ai.elimu.model.gson.content.LetterGson) NumberGson(ai.elimu.model.gson.content.NumberGson)

Example 2 with Number

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;
    }
}
Also used : Letter(ai.elimu.model.content.Letter) WordGson(ai.elimu.model.gson.content.WordGson) Word(ai.elimu.model.content.Word) Number(ai.elimu.model.content.Number) ArrayList(java.util.ArrayList) VideoGson(ai.elimu.model.gson.content.multimedia.VideoGson) LetterGson(ai.elimu.model.gson.content.LetterGson) NumberGson(ai.elimu.model.gson.content.NumberGson)

Example 3 with Number

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;
    }
}
Also used : Letter(ai.elimu.model.content.Letter) WordGson(ai.elimu.model.gson.content.WordGson) AudioGson(ai.elimu.model.gson.content.multimedia.AudioGson) Word(ai.elimu.model.content.Word) Number(ai.elimu.model.content.Number) ArrayList(java.util.ArrayList) LetterGson(ai.elimu.model.gson.content.LetterGson) NumberGson(ai.elimu.model.gson.content.NumberGson)

Example 4 with Number

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();
    }
}
Also used : Word(ai.elimu.model.content.Word) Number(ai.elimu.model.content.Number) Contributor(ai.elimu.model.Contributor) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 5 with Number

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();
    }
}
Also used : Word(ai.elimu.model.content.Word) Number(ai.elimu.model.content.Number) Contributor(ai.elimu.model.Contributor) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

Number (ai.elimu.model.content.Number)27 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)19 Word (ai.elimu.model.content.Word)17 Letter (ai.elimu.model.content.Letter)10 ArrayList (java.util.ArrayList)7 Contributor (ai.elimu.model.Contributor)5 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)5 NumberContributionEvent (ai.elimu.model.contributor.NumberContributionEvent)4 LetterGson (ai.elimu.model.gson.content.LetterGson)3 NumberGson (ai.elimu.model.gson.content.NumberGson)3 WordGson (ai.elimu.model.gson.content.WordGson)3 JSONArray (org.json.JSONArray)3 Audio (ai.elimu.model.content.multimedia.Audio)2 Image (ai.elimu.model.content.multimedia.Image)2 Video (ai.elimu.model.content.multimedia.Video)2 Contributor (ai.elimu.model.contributor.Contributor)2 Gson (com.google.gson.Gson)2 IOException (java.io.IOException)2 CSVFormat (org.apache.commons.csv.CSVFormat)2 JSONObject (org.json.JSONObject)2