Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.web.controllers.examples.jsonwidget;

import org.apache.struts.action.ActionForm;
import org.json.JSONException;
import org.json.JSONObject;
import pt.estgp.estgweb.web.controllers.utils.AbstractWidgetAjaxController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Created by jorgemachado on 27/12/16.
 */

public class WidgetExampleController extends AbstractWidgetAjaxController
{

    /**
     * HTTP Query Parameter serviceName = serviceSimpleOkExample
     * RESPONSE IS A JSON OBJECT LIKE THIS:
     * {
     *     "service" : "ok"
     * }
     * @param form
     * @param request
     * @param response
     * @throws JSONException
     */

    public 1.5.0/docs/api/java/lang/Boolean.html">Boolean serviceSimpleOkExample(ActionForm form,HttpServletRequest request, HttpServletResponse response)
    {
        addMessage(request, "errors.widget.example.msg");
        return true;
    }

    /**
     * HTTP Query Parameter serviceName = serviceSimpleFailExample
     * RESPONSE IS A JSON OBJECT LIKE THIS:
     * {
     *     "service" : "fail"
     * }
     * @param form
     * @param request
     * @param response
     * @throws JSONException
     */

    public 1.5.0/docs/api/java/lang/Boolean.html">Boolean serviceSimpleFailExample(ActionForm form,HttpServletRequest request, HttpServletResponse response)
    {
        addError(request,"errors.widget.example.error");
        return false;
    }

    /**
     * HTTP Query Parameter serviceName = serviceWithErrors
     * RESPONSE IS A JSON OBJECT LIKE THIS:
     * {
     *     "service" : "fail",
     *     "response" : { userResponseJson },
     *     "messages" :
     *          [
     *              "MESSAGE 1",
     *              "MESSAGE 2",
     *          ],
     *     "errors" :
     *          [
     *              "ERROR 1",
     *              "ERROR 2",
     *          ]
     * }
     * @param form
     * @param request
     * @param response
     * @throws JSONException
     */

    public JSONObject serviceWithErrors(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws JSONException
    {
        JSONObject obj = new JSONObject();
        obj.put("dataExample","Isto e um exemplo com erros");

        //As mensagens e os erros adicionam-se como nos outros controllers usando as keys dos ficheiros de mensagens
        addError(request,"errors.widget.example.error");
        addMessage(request, "errors.widget.example.msg");
        return obj;
    }



    /**
     * HTTP Query Parameter serviceName = serviceClean
     * RESPONSE IS A JSON OBJECT LIKE THIS:
     * {
     *     "service" : "ok"
     *     "response" : { userResponseJson },
     *     "messages" :
     *          [
     *              "MESSAGE 1",
     *              "MESSAGE 2",
     *          ],
     * }
     * @param form
     * @param request
     * @param response
     * @throws JSONException
     */

    public JSONObject serviceClean(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws JSONException
    {
        JsonWidgetExampleForm frm = (JsonWidgetExampleForm) form;
        JSONObject obj = new JSONObject();
        obj.put("dataExample","Isto e um exemplo sem erros nome:" + frm.getNome());

        //As mensagens e os erros adicionam-se como nos outros controllers usando as keys dos ficheiros de mensagens
        addMessage(request,"errors.widget.example.msg");
        addMessage(request,"errors.widget.example.msg2");
        addMessage(request,"errors.widget.example.msg.com.nome", frm.getNome());

        return obj;
    }

    /**
     *
     * HTTP Query Parameter serviceName = serviceException
     * RESPONSE IS A JSON OBJECT LIKE THIS:
     * {
     *     "service" : "error"
     *     "exception" : "string with exception.toString()"
     */

    public JSONObject serviceException(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Exception.html">Exception
    {
        throw new 1.5.0/docs/api/java/lang/Exception.html">Exception("Exception de teste");
    }
}