package action.util; import com.opensymphony.xwork2.ActionSupport; import dao.UsuarioDAO; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import model.Cliente; import model.Comentario; import model.Direccion; import model.LineaPedido; import model.Pedido; import model.Producto; import model.Usuario; import util.BCrypt; import util.MongoConnectionManager; public class CargaBBDDAction extends ActionSupport { public CargaBBDDAction() { } public String execute() { //Borramos cambios anteriores MongoConnectionManager.instance().getDb().getCollection(Usuario.class).drop(); MongoConnectionManager.instance().getDb().getCollection(Producto.class).drop(); MongoConnectionManager.instance().getDb().getCollection(Pedido.class).drop(); /* Cliente c1 = new Cliente(); c1.setEmail("borja@email.com"); String hashedpw = BCrypt.hashpw("b123", BCrypt.gensalt(12)); c1.setPassword(hashedpw); c1.setNombre("Borja"); c1.setApellido("Bravo"); c1.setUsername("borjab"); Cliente c2 = new Cliente(); c2.setEmail("jorge.lillo9@gmail.com"); String hashedpw2 = BCrypt.hashpw("1", BCrypt.gensalt(12)); c2.setPassword(hashedpw2); c2.setNombre("Jorge"); c2.setApellido("Lillo"); c2.setUsername("jlillo"); Cliente c3 = new Cliente(); c3.setEmail("adri@email.com"); String hashedpw3 = BCrypt.hashpw("a123", BCrypt.gensalt(12)); c3.setPassword(hashedpw3); c3.setNombre("Adrián"); c3.setApellido("Alonso"); c3.setUsername("alonsus91"); c3.setPrivilegios(0); Cliente c4 = new Cliente(); c4.setEmail("joako@email.com"); String hashedpw4 = BCrypt.hashpw("jo123", BCrypt.gensalt(12)); c4.setPassword(hashedpw4); c4.setNombre("Joaquín Miguel"); c4.setApellido("Ladron de Guevara"); c4.setUsername("superjoako"); Cliente c5 = new Cliente(); c5.setEmail("guille@email.com"); String hashedpw5 = BCrypt.hashpw("g123", BCrypt.gensalt(12)); c5.setPassword(hashedpw5); c5.setNombre("Guillermo"); c5.setApellido("Rivas"); c5.setUsername("gille"); Cliente c6 = new Cliente(); c6.setEmail("jorgeapro@email.com"); String hashedpw6 = BCrypt.hashpw("ja123", BCrypt.gensalt(12)); c6.setPassword(hashedpw6); c6.setNombre("Jorge"); c6.setApellido("Alcaín"); c6.setUsername("jpro"); */ Usuario user = new Usuario(); user.setEmail("admin@email.com"); user.setPassword(BCrypt.hashpw("admin", BCrypt.gensalt(12))); user.setUsername("admin"); user.setPrivilegios(1); // Direcciones (asociadas a clientes) /* Direccion direccion1 = new Direccion(); direccion1.setTipo("Via"); direccion1.setNombre("Torrejón"); direccion1.setNumero(20); direccion1.setPiso(9); direccion1.setPuerta("4"); direccion1.setCodigopostal(28843); direccion1.setPais("España"); direccion1.setComunidad("Madrid"); c1.setDireccion(direccion1); c1.setNumerodecontacto("987654");*/ /* Direccion direccion2 = new Direccion(); direccion2.setTipo("Calle"); direccion2.setNombre("Coslada"); direccion2.setNumero(2); direccion2.setPiso(3); direccion2.setPuerta("A"); direccion2.setCodigopostal(28821); direccion2.setPais("España"); direccion2.setComunidad("Madrid"); c2.setDireccion(direccion2); c2.setNumerodecontacto("628457303"); Direccion direccion3 = new Direccion(); direccion3.setTipo("Calle"); direccion3.setNombre("Perú"); direccion3.setNumero(22); direccion3.setPiso(4); direccion3.setPuerta("1"); direccion3.setCodigopostal(28823); direccion3.setPais("España"); direccion3.setComunidad("Madrid"); c3.setDireccion(direccion3); c3.setNumerodecontacto("616364750"); Direccion direccion4 = new Direccion(); direccion4.setTipo("Carretera"); direccion4.setNombre("Guada"); direccion4.setNumero(7); direccion4.setPiso(4); direccion4.setPuerta("B"); direccion4.setCodigopostal(28853); direccion4.setPais("España"); direccion4.setComunidad("Castilla La Mancha"); c4.setDireccion(direccion4); c4.setNumerodecontacto("168943"); Direccion direccion5 = new Direccion(); direccion5.setTipo("Calle"); direccion5.setNombre("Torrejon"); direccion5.setNumero(4); direccion5.setPiso(2); direccion5.setPuerta("2"); direccion5.setCodigopostal(28893); direccion5.setPais("España"); direccion5.setComunidad("Madrid"); c5.setDireccion(direccion5); c5.setNumerodecontacto("557333"); Direccion direccion6 = new Direccion(); direccion6.setTipo("Calle"); direccion6.setNombre("Chalet Molon"); direccion6.setNumero(16); direccion6.setPiso(8); direccion6.setPuerta("3"); direccion6.setCodigopostal(28853); direccion6.setPais("España"); direccion6.setComunidad("Madrid"); c6.setDireccion(direccion6); c6.setNumerodecontacto("7435262");*/ // Persistir Cliente /* MongoConnectionManager.instance().getDb().save(c1); MongoConnectionManager.instance().getDb().save(c2); MongoConnectionManager.instance().getDb().save(c3); MongoConnectionManager.instance().getDb().save(c4); MongoConnectionManager.instance().getDb().save(c5); MongoConnectionManager.instance().getDb().save(c6);*/ MongoConnectionManager.instance().getDb().save(user); // Productos /* Producto producto1 = new Producto(); producto1.setNombre("Capucchino"); producto1.setMarca("Nescafé"); producto1.setPrecio(3.4f); producto1.setDescripcion("El capuchino (del italiano cappuccino) es una bebida italiana preparada con café expreso, leche y espuma de leche (en ocasiones lleva cacao o canela en polvo). Un capuchino se compone de 1/3 de café expreso, 1/3 de leche calentada y texturizada al vapor y 1/3 de leche con espuma; la espuma y la leche se obtienen al mismo tiempo durante el calentado."); producto1.setPaisOrigen("España"); producto1.setTipoTostado("Intenso"); producto1.setVisible(true); Producto producto2 = new Producto(); producto2.setNombre("Con leche"); producto2.setMarca("Nespresso"); producto2.setPrecio(2.3f); producto2.setDescripcion("El café con leche,: café (como infusión) y leche, con una proporción que varía de acuerdo a las costumbres locales, pero ronda la mezcla por partes iguales. Generalmente, el término café con leche lleva implícito también el tamaño de la taza que se usa, la cual suele ser grande, es decir entre 200 y 250 ml. A la mezcla de café y leche en un recipiente de tamaño chico se la denomina cortado (aunque además del tamaño también cambia la proporción de los constituyentes)."); producto2.setPaisOrigen("Colombia"); producto2.setTipoTostado("Suave"); producto2.setVisible(true); Producto producto3 = new Producto(); producto3.setNombre("Bombon"); producto3.setMarca("Marcilla"); producto3.setPrecio(1.0f); producto3.setPaisOrigen("Japon"); producto3.setTipoTostado("Medio"); producto3.setVisible(true); Producto producto4 = new Producto(); producto4.setNombre("Capucchino++"); producto4.setMarca("Saimaza"); producto4.setPrecio(4.0f); producto4.setOferta(true); producto4.setPaisOrigen("Italia"); producto4.setTipoTostado("Suave"); producto4.setVisible(true); Producto producto5 = new Producto(); producto5.setNombre("Vienés"); producto5.setMarca("Estrella"); producto5.setPrecio(1.8f); producto5.setPaisOrigen("Brasil"); producto5.setTipoTostado("Intenso"); producto3.setVisible(true); Producto producto6 = new Producto(); producto6.setNombre("Moca"); producto6.setMarca("Bonka"); producto6.setPrecio(3.2f); producto6.setPaisOrigen("china"); producto6.setTipoTostado("Medio"); producto6.setVisible(true); Producto producto7 = new Producto(); producto7.setNombre("Manchado"); producto7.setMarca("Orus"); producto7.setPrecio(4.2f); producto7.setPaisOrigen("Francia"); producto7.setTipoTostado("Intenso"); producto7.setOferta(true); Producto producto8 = new Producto(); producto8.setNombre("Corto"); producto8.setMarca("Delta"); producto8.setPrecio(2.8f); producto8.setPaisOrigen("España"); producto8.setTipoTostado("Suave"); producto8.setOferta(true); Producto producto9 = new Producto(); producto9.setNombre("Sin leche"); producto9.setMarca("Castel"); producto9.setPrecio(3.75f); producto9.setPaisOrigen("Noruega"); producto9.setTipoTostado("Medio"); Producto producto10 = new Producto(); producto10.setNombre("Frappuccino"); producto10.setMarca("Starbucks"); producto10.setPrecio(0.80f); producto10.setPaisOrigen("Finlandia"); producto10.setTipoTostado("Suave"); //Comentarios asociados a clientes (luego arraylist de comentarios asociado a producto) /* Comentario comentario1 = new Comentario(); comentario1.setTexto("Me gusta"); comentario1.setUsuario(c1); Comentario comentario2 = new Comentario(); comentario2.setTexto("No me gusta"); comentario2.setUsuario(c2); Comentario comentario3 = new Comentario(); comentario3.setTexto("Prueba comentario"); comentario3.setUsuario(c3); Comentario comentario4 = new Comentario(); comentario4.setTexto("Soy un spammer adisafjnoegnapiñkgn "); comentario4.setUsuario(c4); Comentario comentario5 = new Comentario(); comentario5.setTexto("En CafeLandia los precios son mas bajos"); comentario5.setUsuario(c5); Comentario comentario6 = new Comentario(); comentario6.setTexto("TROLL TROLL TROLL TROLL"); comentario6.setUsuario(c6); Comentario comentario7 = new Comentario(); comentario7.setTexto("Delicioso, totalmente recomendado"); comentario7.setUsuario(c1); Comentario comentario8 = new Comentario(); comentario8.setTexto("Buen servicio de entrega"); comentario8.setUsuario(c2); Comentario comentario9 = new Comentario(); comentario9.setTexto("Todo correcto, gracias"); comentario9.setUsuario(c3); Comentario comentario10 = new Comentario(); comentario10.setTexto("Lorem ipsum .... blablabla qwertytrewdkslnboerlnkberipbnrwovlhenuovhwlgnvouealhgvneaoilgkneioglhenwoiglhwneuofgljhwenugoewlhgnouewlghn"); comentario10.setUsuario(c4);*/ /* MongoConnectionManager.instance().getDb().save(producto1); MongoConnectionManager.instance().getDb().save(producto2); MongoConnectionManager.instance().getDb().save(producto3); MongoConnectionManager.instance().getDb().save(producto4); MongoConnectionManager.instance().getDb().save(producto5); MongoConnectionManager.instance().getDb().save(producto6); MongoConnectionManager.instance().getDb().save(producto7); MongoConnectionManager.instance().getDb().save(producto8); MongoConnectionManager.instance().getDb().save(producto9); MongoConnectionManager.instance().getDb().save(producto10); */ //Asociacion Comentario-Producto /* ArrayList<Comentario> comentarios = new ArrayList<Comentario>(); comentarios.add(comentario1); comentarios.add(comentario2); comentarios.add(comentario3); producto1.setComentarios(comentarios); ArrayList<Comentario> comentarios2 = new ArrayList<Comentario>(); comentarios2.add(comentario4); producto2.setComentarios(comentarios2); ArrayList<Comentario> comentarios3 = new ArrayList<Comentario>(); comentarios3.add(comentario5); producto3.setComentarios(comentarios3); ArrayList<Comentario> comentarios4 = new ArrayList<Comentario>(); comentarios4.add(comentario6); producto4.setComentarios(comentarios4); ArrayList<Comentario> comentarios5 = new ArrayList<Comentario>(); comentarios5.add(comentario7); producto5.setComentarios(comentarios5); ArrayList<Comentario> comentarios6 = new ArrayList<Comentario>(); comentarios6.add(comentario8); producto6.setComentarios(comentarios6); ArrayList<Comentario> comentarios7 = new ArrayList<Comentario>(); comentarios7.add(comentario9); comentarios7.add(comentario10); producto7.setComentarios(comentarios7); ArrayList<Comentario> comentarios8 = new ArrayList<Comentario>(); comentarios8.add(comentario1); comentarios8.add(comentario2); comentarios8.add(comentario6); comentarios8.add(comentario10); producto8.setComentarios(comentarios8); ArrayList<Comentario> comentarios9 = new ArrayList<Comentario>(); comentarios9.add(comentario7); comentarios9.add(comentario6); producto9.setComentarios(comentarios9); ArrayList<Comentario> comentarios10 = new ArrayList<Comentario>(); comentarios10.add(comentario1); comentarios10.add(comentario2); comentarios10.add(comentario3); comentarios10.add(comentario4); comentarios10.add(comentario5); comentarios10.add(comentario6); comentarios10.add(comentario7); comentarios10.add(comentario8); comentarios10.add(comentario9); comentarios10.add(comentario10); producto10.setComentarios(comentarios10); MongoConnectionManager.instance().getDb().save(producto1); MongoConnectionManager.instance().getDb().save(producto2); MongoConnectionManager.instance().getDb().save(producto3); MongoConnectionManager.instance().getDb().save(producto4); MongoConnectionManager.instance().getDb().save(producto5); MongoConnectionManager.instance().getDb().save(producto6); MongoConnectionManager.instance().getDb().save(producto7); MongoConnectionManager.instance().getDb().save(producto8); MongoConnectionManager.instance().getDb().save(producto9); MongoConnectionManager.instance().getDb().save(producto10);*/ //Pedidos asociados con direccion (1 Linea de pedido por producto en cesta) /* ArrayList<Pedido> pedidosUser = new ArrayList<Pedido>(); Pedido pedido1 = new Pedido(); pedido1.setDireccion(direccion1); pedido1.setEstado(0); pedido1.setPreciototal(40.0f); pedido1.setCreacion(new Date()); pedido1.setCliente(c1); pedido1.setEstado(2); Date ahora = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(ahora); cal.add(Calendar.DAY_OF_YEAR, 1); Date tomorrow = cal.getTime(); pedido1.setEstimado(tomorrow); pedidosUser.add(pedido1); LineaPedido lp = new LineaPedido(); lp.setProducto(producto1); lp.setCantidad(2); pedido1.getCarrito().add(lp); LineaPedido lp2 = new LineaPedido(); lp2.setProducto(producto5); lp2.setCantidad(25); pedido1.getCarrito().add(lp2); LineaPedido lp3 = new LineaPedido(); lp3.setProducto(producto3); lp3.setCantidad(7); pedido1.getCarrito().add(lp3); MongoConnectionManager.instance().getDb().save(pedido1); Pedido pedido2 = new Pedido(); pedido2.setDireccion(direccion2); pedido2.setEstado(0); pedido2.setPreciototal(80.0f); pedido2.setCreacion(new Date()); pedido2.setCliente(c2); pedido2.setEstado(2); cal.add(Calendar.DAY_OF_YEAR, 1); Date tomorrow2 = cal.getTime(); pedido2.setEstimado(tomorrow2); pedidosUser.add(pedido2); LineaPedido c2lp1 = new LineaPedido(); c2lp1.setProducto(producto10); c2lp1.setCantidad(8); pedido2.getCarrito().add(c2lp1); LineaPedido c2lp2 = new LineaPedido(); c2lp2.setProducto(producto7); c2lp2.setCantidad(6); pedido2.getCarrito().add(c2lp2); LineaPedido c2lp3 = new LineaPedido(); c2lp3.setProducto(producto2); c2lp3.setCantidad(1); pedido2.getCarrito().add(c2lp3); MongoConnectionManager.instance().getDb().save(pedido2); Pedido pedido3 = new Pedido(); pedido3.setDireccion(direccion3); pedido3.setEstado(0); pedido3.setPreciototal(17.0f); pedido3.setCreacion(new Date()); pedido3.setCliente(c1); pedido3.setEstado(1); pedidosUser.add(pedido3); LineaPedido c3lp1 = new LineaPedido(); c3lp1.setProducto(producto3); c3lp1.setCantidad(1); pedido3.getCarrito().add(c3lp1); LineaPedido c3lp2 = new LineaPedido(); c3lp2.setProducto(producto4); c3lp2.setCantidad(1); pedido3.getCarrito().add(c3lp2); MongoConnectionManager.instance().getDb().save(pedido3); Pedido pedido4 = new Pedido(); pedido4.setDireccion(direccion4); pedido4.setEstado(0); pedido4.setPreciototal(30.0f); pedido4.setCreacion(new Date()); pedido4.setCliente(c1); pedidosUser.add(pedido4); LineaPedido c4lp1 = new LineaPedido(); c4lp1.setProducto(producto1); c4lp1.setCantidad(2); pedido4.getCarrito().add(c4lp1); MongoConnectionManager.instance().getDb().save(pedido4); Pedido pedido5 = new Pedido(); pedido5.setDireccion(direccion5); pedido5.setEstado(0); pedido5.setPreciototal(200.0f); pedido5.setCreacion(new Date()); pedido5.setCliente(c1); LineaPedido c5lp1 = new LineaPedido(); c5lp1.setProducto(producto1); c5lp1.setCantidad(20); pedido5.getCarrito().add(c5lp1); LineaPedido c5lp2 = new LineaPedido(); c5lp2.setProducto(producto2); c5lp2.setCantidad(25); pedido5.getCarrito().add(c5lp2); LineaPedido c5lp3 = new LineaPedido(); c5lp3.setProducto(producto3); c5lp3.setCantidad(70); pedido5.getCarrito().add(c5lp3); LineaPedido c5lp4 = new LineaPedido(); c5lp4.setProducto(producto4); c5lp4.setCantidad(47); pedido5.getCarrito().add(c5lp4); LineaPedido c5lp5 = new LineaPedido(); c5lp5.setProducto(producto5); c5lp5.setCantidad(1); pedido5.getCarrito().add(c5lp5); MongoConnectionManager.instance().getDb().save(pedido5); Pedido pedido6 = new Pedido(); pedido6.setDireccion(direccion6); pedido6.setEstado(0); pedido6.setPreciototal(6.0f); pedido6.setCreacion(new Date()); pedido6.setCliente(c1); pedidosUser.add(pedido6); LineaPedido c6lp1 = new LineaPedido(); c6lp1.setProducto(producto10); c6lp1.setCantidad(1); pedido6.getCarrito().add(c6lp1); MongoConnectionManager.instance().getDb().save(pedido6); c1.setPedidos(pedidosUser); MongoConnectionManager.instance().getDb().save(c1);*/ return "SUCCESS"; } }