Subversion Repositories bacoAlunos

Rev

Rev 1576 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@ page import="jomm.utils.MessageResources"%><%@ page import="org.apache.struts.Globals"%><%@ page import="org.apache.struts.action.ActionMessage"%><%@ page import="org.apache.struts.action.ActionMessages"%><%@ page import="org.apache.struts.taglib.TagUtils"%><%@ page import="org.json.JSONArray"%><%@ page import="org.json.JSONObject"%><%@ page import="java.util.Iterator"%><%@ page import="pt.estgp.estgweb.web.controllers.ApplicationDispatchController"%><%@ page contentType="application/json;charset=UTF-8" language="java" %><%

    ActionMessages messages = TagUtils.getInstance().getActionMessages(pageContext, Globals.MESSAGE_KEY);
    ActionMessages errors = TagUtils.getInstance().getActionMessages(pageContext, Globals.ERROR_KEY);

    JSONObject responseObject = new JSONObject();
    responseObject.put("service","fail");
    if(messages != null)
    {
        JSONArray messagesJson = new JSONArray();
        responseObject.put("messages",messagesJson);
        Iterator reports = messages.get();
        while (reports.hasNext())
        {
            ActionMessage report = (ActionMessage) reports.next();

            if(report instanceof ApplicationDispatchController.StringMessage)
            {
                String messageTranslated = ((ApplicationDispatchController.StringMessage)report).toString();
                if(messageTranslated != null)
                    messagesJson.put(messageTranslated);
            }
            else
            {
                String messageTranslated = MessageResources.getMessage(request,report.getKey(),report.getValues());
                if(messageTranslated != null)
                    messagesJson.put(messageTranslated);
            }
        }
    }
    if(errors != null)
    {
        JSONArray errorsJson = new JSONArray();
        responseObject.put("errors",errorsJson);
        Iterator reports = errors.get();
        while (reports.hasNext())
        {
            ActionMessage report = (ActionMessage) reports.next();

            if(report instanceof ApplicationDispatchController.StringMessage)
            {
                String messageTranslated = ((ApplicationDispatchController.StringMessage)report).toString();
                if(messageTranslated != null)
                    errorsJson.put(messageTranslated);
            }
            else
            {
                String messageTranslated = MessageResources.getMessage(request,report.getKey(),report.getValues());
                if(messageTranslated != null)
                    errorsJson.put(messageTranslated);
            }
        }
    }
    out.write(responseObject.toString());
%>