Commit f711c588 by Antonio Rueda

Código de mapeado de DTOs agrupado en servicio

parent 744fb747
......@@ -13,10 +13,11 @@ import org.springframework.scheduling.annotation.EnableScheduling;
*/
@SpringBootApplication(scanBasePackages={
"es.ujaen.dae.reservahoteles.servicios",
"es.ujaen.dae.reservahoteles.repositorios"
"es.ujaen.dae.reservahoteles.repositorios",
"es.ujaen.dae.reservahoteles.rest.dto"
})
@EntityScan(basePackages="es.ujaen.dae.reservahoteles.entidades")
//@EnableScheduling
@EnableScheduling
@EnableCaching
public class ReservaHoteles {
public static void main(String[] args) {
......
package es.ujaen.dae.reservahoteles.rest;
import es.ujaen.dae.reservahoteles.entidades.Hotel;
import es.ujaen.dae.reservahoteles.entidades.Reserva;
import es.ujaen.dae.reservahoteles.entidades.Usuario;
import es.ujaen.dae.reservahoteles.excepciones.UsuarioNoRegistrado;
import es.ujaen.dae.reservahoteles.repositorios.RepositorioUsuarios;
import es.ujaen.dae.reservahoteles.rest.dto.DHotel;
import es.ujaen.dae.reservahoteles.rest.dto.DReserva;
import es.ujaen.dae.reservahoteles.rest.dto.DUsuario;
import es.ujaen.dae.reservahoteles.rest.dto.Mapeador;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -19,63 +12,6 @@ import org.springframework.stereotype.Service;
@Service
public class ControladorReservas {
@Autowired
RepositorioUsuarios repositorioUsuarios;
Mapeador mapeador;
static DUsuario dtoUsuario(Usuario usuario) {
// Nunca extraemos la clave de la entidad
return new DUsuario(usuario.nombre(), usuario.direccion(), usuario.tlf(), usuario.email(), "");
}
static Usuario usuario(DUsuario dUsuario) {
return new Usuario(dUsuario.nombre(), dUsuario.direccion(), dUsuario.tlf(), dUsuario.email(), dUsuario.clave());
}
static DHotel dtoHotel(Hotel hotel) {
return new DHotel(
hotel.id(),
hotel.nombre(),
hotel.localidad(),
hotel.provincia(),
hotel.cp(),
hotel.numHabSimple(),
hotel.numHabDoble(),
hotel.precioHabSimple(),
hotel.precioHabDoble());
}
static Hotel hotel(DHotel dHotel) {
return new Hotel(
dHotel.id(),
dHotel.nombre(),
dHotel.localidad(),
dHotel.provincia(),
dHotel.cp(),
dHotel.numHabSimple(),
dHotel.numHabDoble(),
dHotel.precioHabSimple(),
dHotel.precioHabDoble());
}
static DReserva dtoReserva(Reserva reserva) {
return new DReserva(
reserva.num(),
reserva.fechaInicio(),
reserva.fechaFin(),
reserva.numHabSimple(),
reserva.numHabDoble(),
reserva.cliente().email());
}
Reserva reserva(DReserva dReserva) {
Usuario usuario = repositorioUsuarios.buscar(dReserva.emailUsuario())
.orElseThrow(UsuarioNoRegistrado::new);
return new Reserva(
dReserva.num(),
usuario,
dReserva.fechaInicio(),
dReserva.fechaFin(),
dReserva.numHabSimple(),
dReserva.numHabDoble());
}
}
package es.ujaen.dae.reservahoteles.rest.dto;
import es.ujaen.dae.reservahoteles.entidades.Hotel;
import es.ujaen.dae.reservahoteles.entidades.Reserva;
import es.ujaen.dae.reservahoteles.entidades.Usuario;
import es.ujaen.dae.reservahoteles.excepciones.UsuarioNoRegistrado;
import es.ujaen.dae.reservahoteles.repositorios.RepositorioUsuarios;
import es.ujaen.dae.reservahoteles.rest.dto.DHotel;
import es.ujaen.dae.reservahoteles.rest.dto.DReserva;
import es.ujaen.dae.reservahoteles.rest.dto.DUsuario;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
*
* @author ajrueda
*/
@Service
public class Mapeador {
@Autowired
RepositorioUsuarios repositorioUsuarios;
DUsuario dto(Usuario usuario) {
// Nunca extraemos la clave de la entidad
return new DUsuario(usuario.nombre(), usuario.direccion(), usuario.tlf(), usuario.email(), "");
}
Usuario entidad(DUsuario dUsuario) {
return new Usuario(dUsuario.nombre(), dUsuario.direccion(), dUsuario.tlf(), dUsuario.email(), dUsuario.clave());
}
DHotel dto(Hotel hotel) {
return new DHotel(
hotel.id(),
hotel.nombre(),
hotel.localidad(),
hotel.provincia(),
hotel.cp(),
hotel.numHabSimple(),
hotel.numHabDoble(),
hotel.precioHabSimple(),
hotel.precioHabDoble());
}
Hotel entidad(DHotel dHotel) {
return new Hotel(
dHotel.id(),
dHotel.nombre(),
dHotel.localidad(),
dHotel.provincia(),
dHotel.cp(),
dHotel.numHabSimple(),
dHotel.numHabDoble(),
dHotel.precioHabSimple(),
dHotel.precioHabDoble());
}
static DReserva dto(Reserva reserva) {
return new DReserva(
reserva.num(),
reserva.fechaInicio(),
reserva.fechaFin(),
reserva.numHabSimple(),
reserva.numHabDoble(),
reserva.cliente().email());
}
Reserva entidad(DReserva dReserva) {
Usuario usuario = repositorioUsuarios.buscar(dReserva.emailUsuario())
.orElseThrow(UsuarioNoRegistrado::new);
return new Reserva(
dReserva.num(),
usuario,
dReserva.fechaInicio(),
dReserva.fechaFin(),
dReserva.numHabSimple(),
dReserva.numHabDoble());
}
}
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 sign in to comment