Commit 9fbbb061 authored by kolo1984's avatar kolo1984
Browse files

ejercicio5

parent fa2c6659
package ejercicio.practico.servicio;
import java.math.BigDecimal;
import java.util.List;
import javax.ejb.Local;
import ejercicio.practico.entitidades.Recurso;
import ejercicio.practico.entitidades.TipoRecurso;
@Local
public interface IServicioSOAPRecursoLocal {
void altaRecurso(String codigo, BigDecimal precioUnitario, int cantidad, String nombreTipoRecurso);
List<TipoRecurso> listarTipoRecursos();
List<Recurso> listarRecursosPorTipo(String nombreTipoRecurso);
}
package ejercicio.practico.servicio;
import java.math.BigDecimal;
import java.util.List;
import javax.ejb.Remote;
import ejercicio.practico.entitidades.Recurso;
import ejercicio.practico.entitidades.TipoRecurso;
@Remote
public interface IServicioSOAPRecursoRemoto {
void altaRecurso(String codigo, BigDecimal precioUnitario, int cantidad, String nombreTipoRecurso);
List<TipoRecurso> listarTipoRecursos();
List<Recurso> listarRecursosPorTipo(String nombreTipoRecurso);
}
package ejercicio.practico.servicio;
import java.math.BigDecimal;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;
import ejercicio.practico.datos.IDatosABMLocal;
import ejercicio.practico.entitidades.Recurso;
import ejercicio.practico.entitidades.TipoRecurso;
@Stateless
@WebService
public class ServicioSOAPRecurso implements IServicioSOAPRecursoLocal, IServicioSOAPRecursoRemoto{
@EJB
private IDatosABMLocal datosABMLocal;
public ServicioSOAPRecurso() {}
@WebMethod(operationName = "altaRecurso")
public void altaRecurso(String codigo, BigDecimal precioUnitario, int cantidad, String nombreTipoRecurso) {
datosABMLocal.altaRecurso(codigo, precioUnitario, cantidad, nombreTipoRecurso);
}
@WebMethod(operationName = "listarTipoRecursos")
public List<TipoRecurso> listarTipoRecursos(){
return datosABMLocal.listarTipoRecursos();
}
@WebMethod(operationName = "listarRecursosPorTipo")
public List<Recurso> listarRecursosPorTipo(String nombreTipoRecurso){
return datosABMLocal.listarRecursosPorTipo(nombreTipoRecurso);
}
}
package ejercicio.practico.tse.webservices;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/api")
public class JaxRsActivator extends Application {
/* class body intentionally left blank */
}
package ejercicio.practico.tse.webservices;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import ejercicio.practico.negocio.IServicioRecursoLocal;
import ejercicio.practico.tse.webservices.entrada.AltaRecurso;
import java.math.BigDecimal;
import java.net.URI;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
@Path("/")
@RequestScoped
public class RecursoWS {
@EJB
private IServicioRecursoLocal servicioRecursoLocal;
@GET
@Path("/tipo_recursos")
@Produces(MediaType.APPLICATION_JSON)
public Response listarTipoRecursos() {
return Response.ok(servicioRecursoLocal.listarTipoRecursos()).header("Access-Control-Allow-Origin", "*")
.build();
}
@GET
@Path("/recursos/{nombre_tipo_recurso:[A-z,0-9][A-z,0-9]*}")
@Produces(MediaType.APPLICATION_JSON)
public Response listarRecursos(@PathParam("nombre_tipo_recurso") String nombreTipoRecurso) {
return Response.ok(servicioRecursoLocal.listarRecursosPorTipo(nombreTipoRecurso))
.header("Access-Control-Allow-Origin", "*").build();
}
@POST
@Path("/alta_recurso")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response agregarPublicacionANoticia(AltaRecurso entrada) {
Response.ResponseBuilder builder;
try {
String codigo = entrada.getCodigo();
BigDecimal precioUnitario = entrada.getPrecioUnitario();
int cantidad = entrada.getCantidad();
String nombreTipoRecurso = entrada.getNombreTipoRecurso();
try {
servicioRecursoLocal.altaRecurso(codigo, precioUnitario, cantidad, nombreTipoRecurso);
builder = Response.created(URI.create("/"));
} catch (Exception e) {
builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
}
} catch (Exception e) {
builder = Response.status(Response.Status.PRECONDITION_FAILED);
}
return builder.header("Access-Control-Allow-Origin", "*").build();
}
}
package ejercicio.practico.tse.webservices.entrada;
import java.math.BigDecimal;
public class AltaRecurso {
private String codigo;
private BigDecimal precioUnitario;
private int cantidad;
private String nombreTipoRecurso;
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public BigDecimal getPrecioUnitario() {
return precioUnitario;
}
public void setPrecioUnitario(BigDecimal precioUnitario) {
this.precioUnitario = precioUnitario;
}
public int getCantidad() {
return cantidad;
}
public void setCantidad(int cantidad) {
this.cantidad = cantidad;
}
public String getNombreTipoRecurso() {
return nombreTipoRecurso;
}
public void setNombreTipoRecurso(String nombreTipoRecurso) {
this.nombreTipoRecurso = nombreTipoRecurso;
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment