diff --git a/Diagrama.png b/Diagrama.png new file mode 100644 index 0000000..0aa6072 Binary files /dev/null and b/Diagrama.png differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..a7ad32d --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +# TRABAJO SPRING CORE - Cristobal Bernal + +He realizado el trabajo personajes del lol, aquí muestro el diagrama de clases empleado: + +![Image](Diagrama.png) + +Aqui muestro el fichero csv que uilizado: + +``` +id,name,rol,dificultad,genero +1,Ahri,Asesina-Mago,Media,Mujer +2,Atrox,Luchador-Asesino,Media,Hombre +3,Brand,Mago-Apoyo,Media,Hombre +4,Ezreal,Tirador-Asesino,Media,Hombre +5,Alistar,Apoyo-Tanque,Media,Hombre +6,Amumu,Tanques-Apoyo,Baja,Hombre +7,Akali,Asesina-Luchador,Media,Mujer +8,Fiora,Asesina-Tanque,Baja,Mujer +9,Veigar,Mago-Apoyo,Media,Hombre +10,Kaisa,Tirador-Asesina,Media,Mujer +11,Karma,Apoyo-Mago,Baja,Mujer +12,Ksante,Tanques-Luchador,Dificil,Hombre +13,Diana,Asesina-Luchador,Media,Mujer +14,Ekko,Asesino-Apoyo,Dificil,Hombre +15,Elise,Asesina-Mago,Dificil,Mujer +``` +Al iniciar el programa, si no hay parámetros definidos te debería mostrar una alerta de que no se han indicado, y mostrará el contenido del fichero de ayuda, para saber que parámetros puedes utilizar: + +``` +No se ha pasado ningin parametro +Sintaxis: java -jar videogameadvisor.jar [OPCIONES] + + -lg + Lista los diferentes roles de los personajes. + No se pueden utilizar mas parametros. + + -ag genero1,genero2,genero... + Lista aquellos personajes que pertenecen a al menos uno de los roles + que se indican. El listado de roles no puede incluir espacios. + + -tg genero1,genero2,genero... + Lista aquellos roles que pertenecen a todos y cada uno de los + roles que se indican. El listado de roles no puede incluir espacios. + + -t titulo + Lista aquellos roles cuyo titulo contiene la cadena proporcionada. + Se ignorar el uso de mayasculas/minisculas en la comparacion. + + -h + Muestra este mensaje de ayuda. + +EJEMPLOS DE USO + +java -jar videogameadvisor.jar -ag Mago,Apoyo +Muestra los personahes con el rol de Mago y Apoyo. + +java -jar videogameadvisor.jar -t Kai +Muestra los personajes cuyo empiezan con Kai. + +LICENCIAS + +Los datos utilizados sobre videojuegos utilizados en este ejemplo son +reales y creados por mi mismo. Ten en cuenta +que solo puede ser usada con fines personales y no comerciales. +``` + + diff --git a/src/main/java/com/cristobalbernal/loladvisor/LolAdvisorRunApp.java b/src/main/java/com/cristobalbernal/loladvisor/LolAdvisorRunApp.java index 1a94dab..45fd4ff 100644 --- a/src/main/java/com/cristobalbernal/loladvisor/LolAdvisorRunApp.java +++ b/src/main/java/com/cristobalbernal/loladvisor/LolAdvisorRunApp.java @@ -49,7 +49,6 @@ public class LolAdvisorRunApp { for(int i = 0; i < args.length; i += 2) { argumentos.add(new String[] {args[i], args[i + 1]}); } - boolean error = false; for(String[] argumento : argumentos) { @@ -73,10 +72,10 @@ public class LolAdvisorRunApp { Collection result = lolQueryService.exec(); System.out.printf("%s\t%-50s\t%s\t%s\n","ID","Nombre", "Rol", "Géneros"); if (result != null) { - result.forEach(vg -> System.out.printf("%s\t%-50s\t%s\t%s\n", - vg.getId(), vg.getNombre(), - String.join(", ", vg.getRol()), - vg.getGenero())); + result.forEach(lol -> System.out.printf("%s\t%-50s\t%s\t%s\n", + lol.getId(), lol.getNombre(), + String.join(", ", lol.getRol()), + lol.getGenero())); } else { System.out.println("No hay personajes que cumplan esos criterios. Lo sentimos"); } diff --git a/src/main/java/com/cristobalbernal/loladvisor/dao/LolDaoImplMemory.java b/src/main/java/com/cristobalbernal/loladvisor/dao/LolDaoImplMemory.java index ccef6c0..ef612c9 100644 --- a/src/main/java/com/cristobalbernal/loladvisor/dao/LolDaoImplMemory.java +++ b/src/main/java/com/cristobalbernal/loladvisor/dao/LolDaoImplMemory.java @@ -25,7 +25,7 @@ public class LolDaoImplMemory implements LolDao { } public Lol findById(long id) { - Optional result = lol.stream().filter(vg -> vg.getId() == id).findFirst(); + Optional result = lol.stream().filter(lol -> lol.getId() == id).findFirst(); return result.orElse(null); } diff --git a/src/main/java/com/cristobalbernal/loladvisor/service/LolQueryServiceImpl.java b/src/main/java/com/cristobalbernal/loladvisor/service/LolQueryServiceImpl.java index 523e269..cb73f5c 100644 --- a/src/main/java/com/cristobalbernal/loladvisor/service/LolQueryServiceImpl.java +++ b/src/main/java/com/cristobalbernal/loladvisor/service/LolQueryServiceImpl.java @@ -35,21 +35,21 @@ public class LolQueryServiceImpl implements LolQueryService { @Override public LolQueryService anyName(String... name) { - Predicate pAnyGenre = (vg -> Arrays.stream(name).anyMatch(vg.getNombre()::contains)); + Predicate pAnyGenre = (lol -> Arrays.stream(name).anyMatch(lol.getNombre()::contains)); predicate = (predicate == null) ? pAnyGenre : predicate.and(pAnyGenre); return this; } @Override public LolQueryService allName(String... name) { - Predicate pAllGenre = (vg -> Arrays.stream(name).allMatch(vg.getNombre()::contains)); + Predicate pAllGenre = (lol -> Arrays.stream(name).allMatch(lol.getNombre()::contains)); predicate = (predicate == null) ? pAllGenre : predicate.and(pAllGenre); return this; } @Override public LolQueryService titleContains(String title) { - Predicate pTitleContains = (vg -> vg.getNombre().toLowerCase().contains(title.toLowerCase())); + Predicate pTitleContains = (lol -> lol.getNombre().toLowerCase().contains(title.toLowerCase())); predicate = (predicate == null) ? pTitleContains : predicate.and(pTitleContains); return this; } diff --git a/src/main/java/com/cristobalbernal/loladvisor/service/LolService.java b/src/main/java/com/cristobalbernal/loladvisor/service/LolService.java index 108308f..40377e9 100644 --- a/src/main/java/com/cristobalbernal/loladvisor/service/LolService.java +++ b/src/main/java/com/cristobalbernal/loladvisor/service/LolService.java @@ -22,7 +22,7 @@ public class LolService { result = lolDao.findAll() .stream() - .map(vg -> vg.getRol()) + .map(lol -> lol.getRol()) .flatMap(list -> list.stream()) .distinct() .sorted()