Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cimav.client.data.rest; import cimav.client.data.domain.Movimiento; import cimav.client.view.common.Ajax; import cimav.client.view.common.EMethod; import cimav.client.view.common.ETypeResult; import cimav.client.view.common.MethodEvent; import com.google.gwt.core.client.GWT; import com.google.gwt.json.client.JSONArray; import com.google.gwt.json.client.JSONParser; import com.google.gwt.json.client.JSONValue; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.fusesource.restygwt.client.JsonCallback; import org.fusesource.restygwt.client.JsonEncoderDecoder; import org.fusesource.restygwt.client.Method; import org.fusesource.restygwt.client.Resource; /** * * @author juan.calderon */ public class NominaQuincenalREST extends BaseREST { public interface JsonCodec extends JsonEncoderDecoder<Movimiento> { } public JsonCodec jsonCodec = GWT.create(JsonCodec.class); public void findByEmpleadoIds(String empleadoIds) { BaseREST.setDateFormatPOST(); String url = BaseREST.URL_REST_BASE + "api/movimientos/find_by_empleado_ids"; JSONValue jsonValue = JSONParser.parseStrict(empleadoIds); Resource rb = new Resource(url, headers); rb.post().json(jsonValue).send(Ajax.jsonCall(new JsonCallback() { @Override public void onFailure(Method method, Throwable exception) { MethodEvent dbEvent = new MethodEvent(EMethod.FIND_BY_EMPLEADO_IDS, ETypeResult.FAILURE, "NominaQuincenalREST.FIND_BY_EMPLEADO_IDS " + exception.getMessage()); onRESTExecuted(dbEvent); } @Override public void onSuccess(Method method, JSONValue response) { try { List<Movimiento> result = new ArrayList<>(); JSONArray array = response.isArray(); for (int i = 0; i < array.size(); i++) { JSONValue val = array.get(i); Movimiento nq = jsonCodec.decode(val); result.add(nq); } MethodEvent dbEvent = new MethodEvent(EMethod.FIND_BY_EMPLEADO_IDS, ETypeResult.SUCCESS, "NominaQuincenalREST.FIND_BY_EMPLEADO_IDS listo"); dbEvent.setResult(result); onRESTExecuted(dbEvent); } catch (Exception e) { String error = "NominaQuincenalREST.FIND_BY_EMPLEADO_IDS " + e.getMessage(); MethodEvent dbEvent = new MethodEvent(EMethod.FIND_BY_EMPLEADO_IDS, ETypeResult.FAILURE, error); onRESTExecuted(dbEvent); } } })); } public void create(Movimiento nominaQuincenal) { //BaseREST.setDateFormatPOST(); BaseREST.setDateFormatGET(); String url = BaseREST.URL_REST_BASE + "api/movimientos"; //Create a Jsonizer instance JSONValue jsonValue = jsonCodec.encode(nominaQuincenal); Resource rb = new Resource(url, headers); rb.post().json(jsonValue).send(Ajax.jsonCall(new JsonCallback() { @Override public void onFailure(Method method, Throwable exception) { MethodEvent dbEvent = new MethodEvent(EMethod.CREATE, ETypeResult.FAILURE, "Create " + exception.getMessage()); onRESTExecuted(dbEvent); } @Override public void onSuccess(Method method, JSONValue response) { try { Movimiento nuevo = jsonCodec.decode(response); MethodEvent dbEvent = new MethodEvent(EMethod.CREATE, ETypeResult.SUCCESS, "create listo"); dbEvent.setResult(nuevo); onRESTExecuted(dbEvent); } catch (Exception e) { String error = "NominaQuincenalREST.CREATE " + e.getMessage(); MethodEvent dbEvent = new MethodEvent(EMethod.CREATE, ETypeResult.FAILURE, error); onRESTExecuted(dbEvent); } } })); } public void update(Movimiento nominaQuincenal) { BaseREST.setDateFormatPOST(); String url = BaseREST.URL_REST_BASE + "api/movimientos/" + nominaQuincenal.getId(); //Create a Jsonizer instance JSONValue jsonValue = jsonCodec.encode(nominaQuincenal); Resource rb = new Resource(url, headers); rb.put().json(jsonValue).send(Ajax.jsonCall(new JsonCallback() { @Override public void onFailure(Method method, Throwable exception) { MethodEvent dbEvent = new MethodEvent(EMethod.UPDATE, ETypeResult.FAILURE, "Update " + exception.getMessage()); onRESTExecuted(dbEvent); } @Override public void onSuccess(Method method, JSONValue response) { try { // No regresa nada MethodEvent dbEvent = new MethodEvent(EMethod.UPDATE, ETypeResult.SUCCESS, "update listo"); onRESTExecuted(dbEvent); } catch (Exception e) { String error = "NominaQuincenalREST.UPDATE " + e.getMessage(); MethodEvent dbEvent = new MethodEvent(EMethod.UPDATE, ETypeResult.FAILURE, error); onRESTExecuted(dbEvent); } } })); } public void remove(String id) { BaseREST.setDateFormatPOST(); String url = BaseREST.URL_REST_BASE + "api/movimientos/" + id; Resource rb = new Resource(url, headers); rb.delete().send(Ajax.jsonCall(new JsonCallback() { @Override public void onFailure(Method method, Throwable exception) { MethodEvent dbEvent = new MethodEvent(EMethod.DELETE, ETypeResult.FAILURE, "remove " + exception.getMessage()); onRESTExecuted(dbEvent); } @Override public void onSuccess(Method method, JSONValue response) { try { // No regresa nada MethodEvent dbEvent = new MethodEvent(EMethod.DELETE, ETypeResult.SUCCESS, "remove listo"); onRESTExecuted(dbEvent); } catch (Exception e) { String error = "NominaQuincenalREST.remove " + e.getMessage(); MethodEvent dbEvent = new MethodEvent(EMethod.DELETE, ETypeResult.FAILURE, error); onRESTExecuted(dbEvent); } } })); } }