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");
}
}