Search in sources :

Example 1 with Audio

use of ai.elimu.model.content.multimedia.Audio in project webapp by elimu-ai.

the class AudioEditController method handleAddContentLabelRequest.

@RequestMapping(value = "/{id}/add-content-label", method = RequestMethod.POST)
@ResponseBody
public String handleAddContentLabelRequest(HttpServletRequest request, @PathVariable Long id) {
    logger.info("handleAddContentLabelRequest");
    logger.info("id: " + id);
    Audio audio = audioDao.read(id);
    String letterIdParameter = request.getParameter("letterId");
    logger.info("letterIdParameter: " + letterIdParameter);
    if (StringUtils.isNotBlank(letterIdParameter)) {
        Long letterId = Long.valueOf(letterIdParameter);
        Letter letter = letterDao.read(letterId);
        Set<Letter> letters = audio.getLetters();
        if (!letters.contains(letter)) {
            letters.add(letter);
            audio.setRevisionNumber(audio.getRevisionNumber() + 1);
            audioDao.update(audio);
        }
    }
    String numberIdParameter = request.getParameter("numberId");
    logger.info("numberIdParameter: " + numberIdParameter);
    if (StringUtils.isNotBlank(numberIdParameter)) {
        Long numberId = Long.valueOf(numberIdParameter);
        Number number = numberDao.read(numberId);
        Set<Number> numbers = audio.getNumbers();
        if (!numbers.contains(number)) {
            numbers.add(number);
            audio.setRevisionNumber(audio.getRevisionNumber() + 1);
            audioDao.update(audio);
        }
    }
    String wordIdParameter = request.getParameter("wordId");
    logger.info("wordIdParameter: " + wordIdParameter);
    if (StringUtils.isNotBlank(wordIdParameter)) {
        Long wordId = Long.valueOf(wordIdParameter);
        Word word = wordDao.read(wordId);
        Set<Word> words = audio.getWords();
        if (!words.contains(word)) {
            words.add(word);
            audio.setRevisionNumber(audio.getRevisionNumber() + 1);
            audioDao.update(audio);
        }
    }
    return "success";
}
Also used : Letter(ai.elimu.model.content.Letter) Word(ai.elimu.model.content.Word) Number(ai.elimu.model.content.Number) Audio(ai.elimu.model.content.multimedia.Audio) RequestMapping(org.springframework.web.bind.annotation.RequestMapping) ResponseBody(org.springframework.web.bind.annotation.ResponseBody)

Example 2 with Audio

use of ai.elimu.model.content.multimedia.Audio in project webapp by elimu-ai.

the class AudioEditController method handleRequest.

@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public String handleRequest(HttpSession session, Model model, @PathVariable Long id) {
    logger.info("handleRequest");
    Contributor contributor = (Contributor) session.getAttribute("contributor");
    Audio audio = audioDao.read(id);
    model.addAttribute("audio", audio);
    model.addAttribute("contentLicenses", ContentLicense.values());
    model.addAttribute("literacySkills", LiteracySkill.values());
    model.addAttribute("numeracySkills", NumeracySkill.values());
    // model.addAttribute("audioRevisionEvents", audioRevisionEventDao.readAll(audio));
    model.addAttribute("letters", letterDao.readAllOrdered(contributor.getLocale()));
    model.addAttribute("numbers", numberDao.readAllOrdered(contributor.getLocale()));
    model.addAttribute("words", wordDao.readAllOrdered(contributor.getLocale()));
    return "content/multimedia/audio/edit";
}
Also used : Contributor(ai.elimu.model.Contributor) Audio(ai.elimu.model.content.multimedia.Audio) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 3 with Audio

use of ai.elimu.model.content.multimedia.Audio in project webapp by elimu-ai.

the class AudioListController method handleRequest.

@RequestMapping(method = RequestMethod.GET)
public String handleRequest(Model model, HttpSession session) {
    logger.info("handleRequest");
    Contributor contributor = (Contributor) session.getAttribute("contributor");
    List<Audio> audios = audioDao.readAllOrdered(contributor.getLocale());
    model.addAttribute("audios", audios);
    return "content/multimedia/audio/list";
}
Also used : Contributor(ai.elimu.model.Contributor) Audio(ai.elimu.model.content.multimedia.Audio) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 4 with Audio

use of ai.elimu.model.content.multimedia.Audio in project webapp by elimu-ai.

the class AudioRestController method list.

@RequestMapping("/list")
public String list(HttpServletRequest request, @RequestParam String deviceId, // TODO: checksum,
@RequestParam Locale locale) {
    logger.info("list");
    logger.info("request.getQueryString(): " + request.getQueryString());
    JSONArray jsonArray = new JSONArray();
    for (Audio audio : audioDao.readAllOrdered(locale)) {
        AudioGson audioGson = JavaToGsonConverter.getAudioGson(audio);
        String json = new Gson().toJson(audioGson);
        jsonArray.put(new JSONObject(json));
    }
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("result", "success");
    jsonObject.put("audios", jsonArray);
    logger.info("jsonObject: " + jsonObject);
    return jsonObject.toString();
}
Also used : AudioGson(ai.elimu.model.gson.content.multimedia.AudioGson) JSONObject(org.json.JSONObject) JSONArray(org.json.JSONArray) AudioGson(ai.elimu.model.gson.content.multimedia.AudioGson) Gson(com.google.gson.Gson) Audio(ai.elimu.model.content.multimedia.Audio) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 5 with Audio

use of ai.elimu.model.content.multimedia.Audio in project webapp by elimu-ai.

the class ImageEditController method handleRequest.

@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public String handleRequest(HttpSession session, Model model, @PathVariable Long id) {
    logger.info("handleRequest");
    Contributor contributor = (Contributor) session.getAttribute("contributor");
    Image image = imageDao.read(id);
    model.addAttribute("image", image);
    model.addAttribute("contentLicenses", ContentLicense.values());
    model.addAttribute("literacySkills", LiteracySkill.values());
    model.addAttribute("numeracySkills", NumeracySkill.values());
    // model.addAttribute("imageRevisionEvents", imageRevisionEventDao.readAll(image));
    model.addAttribute("letters", letterDao.readAllOrdered(contributor.getLocale()));
    model.addAttribute("numbers", numberDao.readAllOrdered(contributor.getLocale()));
    model.addAttribute("words", wordDao.readAllOrdered(contributor.getLocale()));
    Audio audio = audioDao.read(image.getTitle(), contributor.getLocale());
    model.addAttribute("audio", audio);
    return "content/multimedia/image/edit";
}
Also used : Contributor(ai.elimu.model.Contributor) Image(ai.elimu.model.content.multimedia.Image) Audio(ai.elimu.model.content.multimedia.Audio) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

Audio (ai.elimu.model.content.multimedia.Audio)13 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)13 Contributor (ai.elimu.model.Contributor)8 Word (ai.elimu.model.content.Word)4 IOException (java.io.IOException)4 Image (ai.elimu.model.content.multimedia.Image)3 Allophone (ai.elimu.model.content.Allophone)2 Letter (ai.elimu.model.content.Letter)2 Number (ai.elimu.model.content.Number)2 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)2 Syllable (ai.elimu.model.content.Syllable)1 WordRevisionEvent (ai.elimu.model.contributor.WordRevisionEvent)1 AudioGson (ai.elimu.model.gson.content.multimedia.AudioGson)1 Gson (com.google.gson.Gson)1 EOFException (java.io.EOFException)1 JSONArray (org.json.JSONArray)1 JSONObject (org.json.JSONObject)1