Browse Source

5Am

master
Yaros 1 year ago
commit
4ebe321793
39 changed files with 847 additions and 0 deletions
  1. +60
    -0
      almacen/.classpath
  2. +23
    -0
      almacen/.project
  3. +2
    -0
      almacen/.settings/org.eclipse.jdt.apt.core.prefs
  4. +12
    -0
      almacen/.settings/org.eclipse.jdt.core.prefs
  5. +4
    -0
      almacen/.settings/org.eclipse.m2e.core.prefs
  6. +16
    -0
      almacen/pom.xml
  7. +17
    -0
      almacen/src/main/java/com/yaros/almacen/AlmacenApp.java
  8. +35
    -0
      almacen/src/main/java/com/yaros/almacen/AlmacenHelp.java
  9. +92
    -0
      almacen/src/main/java/com/yaros/almacen/AlmacenRunApp.java
  10. +28
    -0
      almacen/src/main/java/com/yaros/almacen/config/AppConfig.java
  11. +14
    -0
      almacen/src/main/java/com/yaros/almacen/dao/ProductDao.java
  12. +71
    -0
      almacen/src/main/java/com/yaros/almacen/dao/ProductDaoImplMemory.java
  13. +40
    -0
      almacen/src/main/java/com/yaros/almacen/dao/UtilProductFileReader.java
  14. +123
    -0
      almacen/src/main/java/com/yaros/almacen/model/Product.java
  15. +66
    -0
      almacen/src/main/java/com/yaros/almacen/service/ProductQuearyServiceImpl.java
  16. +15
    -0
      almacen/src/main/java/com/yaros/almacen/service/ProductQueryService.java
  17. +59
    -0
      almacen/src/main/java/com/yaros/almacen/service/ProductService.java
  18. +28
    -0
      almacen/src/main/java/com/yaros/help
  19. +3
    -0
      almacen/src/main/resources/almacen.properties
  20. +28
    -0
      almacen/src/main/resources/ayuda.txt
  21. +12
    -0
      almacen/src/main/resources/products.csv
  22. +5
    -0
      almacen/target/classes/META-INF/MANIFEST.MF
  23. +7
    -0
      almacen/target/classes/META-INF/maven/com.yaros/almacen/pom.properties
  24. +16
    -0
      almacen/target/classes/META-INF/maven/com.yaros/almacen/pom.xml
  25. +3
    -0
      almacen/target/classes/almacen.properties
  26. +28
    -0
      almacen/target/classes/ayuda.txt
  27. BIN
      almacen/target/classes/com/yaros/almacen/AlmacenApp.class
  28. BIN
      almacen/target/classes/com/yaros/almacen/AlmacenHelp.class
  29. BIN
      almacen/target/classes/com/yaros/almacen/AlmacenRunApp.class
  30. BIN
      almacen/target/classes/com/yaros/almacen/config/AppConfig.class
  31. BIN
      almacen/target/classes/com/yaros/almacen/dao/ProductDao.class
  32. BIN
      almacen/target/classes/com/yaros/almacen/dao/ProductDaoImplMemory.class
  33. BIN
      almacen/target/classes/com/yaros/almacen/dao/UtilProductFileReader.class
  34. BIN
      almacen/target/classes/com/yaros/almacen/model/Product.class
  35. BIN
      almacen/target/classes/com/yaros/almacen/service/ProductQuearyServiceImpl.class
  36. BIN
      almacen/target/classes/com/yaros/almacen/service/ProductQueryService.class
  37. BIN
      almacen/target/classes/com/yaros/almacen/service/ProductService.class
  38. +28
    -0
      almacen/target/classes/com/yaros/help
  39. +12
    -0
      almacen/target/classes/products.csv

+ 60
- 0
almacen/.classpath View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="target/generated-sources/annotations">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="ignore_optional_problems" value="true"/>
<attribute name="m2e-apt" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="ignore_optional_problems" value="true"/>
<attribute name="m2e-apt" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Users/usuario/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar" sourcepath="C:/Users/yaros/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5-sources.jar">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="maven.groupId" value="jakarta.annotation"/>
<attribute name="maven.artifactId" value="jakarta.annotation-api"/>
<attribute name="maven.version" value="1.3.5"/>
<attribute name="maven.scope" value="compile"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

+ 23
- 0
almacen/.project View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>almacen</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

+ 2
- 0
almacen/.settings/org.eclipse.jdt.apt.core.prefs View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.jdt.apt.aptEnabled=false

+ 12
- 0
almacen/.settings/org.eclipse.jdt.core.prefs View File

@ -0,0 +1,12 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=1.8

+ 4
- 0
almacen/.settings/org.eclipse.m2e.core.prefs View File

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

+ 16
- 0
almacen/pom.xml View File

@ -0,0 +1,16 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yaros</groupId>
<artifactId>almacen</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>GestorAlmacen</name>
<description>Ua aplicacion que gestiona un almacen</description>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.24</version>
</dependency>
</dependencies>
</project>

+ 17
- 0
almacen/src/main/java/com/yaros/almacen/AlmacenApp.java View File

@ -0,0 +1,17 @@
package com.yaros.almacen;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.yaros.almacen.config.AppConfig;
public class AlmacenApp {
public static void main(String[] args) {
ApplicationContext appContext = new AnnotationConfigApplicationContext(AppConfig.class);
AlmacenRunApp runApp = appContext.getBean(AlmacenRunApp.class);
runApp.run(args);
((AnnotationConfigApplicationContext) appContext).close();
}
}

+ 35
- 0
almacen/src/main/java/com/yaros/almacen/AlmacenHelp.java View File

@ -0,0 +1,35 @@
package com.yaros.almacen;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
import org.springframework.stereotype.Component;
import org.springframework.util.ResourceUtils;
@Component
public class AlmacenHelp {
private String help;
@PostConstruct
public void init() {
try {
// @formatter:off
help = Files.lines(Paths.get(ResourceUtils.getFile("classpath:ayuda.txt").toURI()))
.collect(Collectors.joining("\n"));
// @formatter:on
} catch (IOException e) {
System.out.println("Error cargando el texto de ayuda");
System.exit(-1);
}
}
public String getHelp() {
return help;
}
}

+ 92
- 0
almacen/src/main/java/com/yaros/almacen/AlmacenRunApp.java View File

@ -0,0 +1,92 @@
package com.yaros.almacen;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.yaros.almacen.model.Product;
import com.yaros.almacen.service.ProductQueryService;
import com.yaros.almacen.service.ProductService;
@Component
public class AlmacenRunApp {
@Autowired
private ProductService productService;
@Autowired
private ProductQueryService productQueryService;
@Autowired
private AlmacenHelp help;
public void run(String[] args) {
if(args.length < 1) {
System.out.println("Error de Sintaxis");
System.out.println(help.getHelp());
} else if(args.length == 1){
switch(args[0].toLowerCase()) {
case "-la":
System.out.printf("%s\t%-10s\t%-10s\t%s\t%s\t%s\t%s\t%s\n", "ID", "Name", "Manufacturer", "Shelf", "Weight", "Size", "Num", "Notes");
productService.findAll().forEach(f -> System.out.printf("%s\t%-10s\t%-10s\t%s\t%s\t%s\t%s\t%s\n",
f.getId(), f.getName(), f.getManufacturer(), f.getShelf(), f.getWeight(), f.getSize(), f.getNum(),
f.getNotes().stream().collect(Collectors.joining(", "))));
break;
case "-lm":
productService.findAllManufacturers().forEach(System.out::println);
break;
case "-ln":
productService.findAllNotes().forEach(System.out::println);
break;
default:
System.out.println("Error de sintaxis");
System.out.println(help.getHelp());
}
} else if (args.length % 2 != 0) {
System.out.println("Error de sintaxis");
System.out.println(help.getHelp());
} else if (args.length > 8) {
System.out.println("Error de sintaxis");
System.out.println(help.getHelp());
} else {
List<String[]> argumentos = new ArrayList<>();
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) {
switch(argumento[0].toLowerCase()) {
/*case "-gi":
filmQueryService. (argumento[1].split(","));
break;*/
case "-gm":
productQueryService.anyManufacturer(argumento[1].split(","));
break;
case "-gn":
productQueryService.anyNote(argumento[1]);
break;
case "-t":
productQueryService.nameContains(argumento[1]);
break;
default: error = true;
System.out.println("Error de sintaxis");
System.out.println(help.getHelp());
}
}
if(!error) {
Collection<Product> result = productQueryService.exec();
System.out.printf("%s\t%-10s\t%-10s\t%s\t%s\t%s\t%s\t%s\n", "ID", "Name", "Manufacturer", "Shelf", "Weight", "Size", "Num", "Notes");
if(result != null) {
result.forEach(f -> System.out.printf("%s\t%-10s\t%-10s\t%s\t%s\t%s\t%s\t%s\n",
f.getId(), f.getName(), f.getManufacturer(), f.getShelf(), f.getWeight(), f.getSize(), f.getNum(),
f.getNotes().stream().collect(Collectors.joining(", "))));
} else {
System.out.println("No hay peliculas que cumplan esos critetios. Lo sentimos");
}
}
}
}
}

+ 28
- 0
almacen/src/main/java/com/yaros/almacen/config/AppConfig.java View File

@ -0,0 +1,28 @@
package com.yaros.almacen.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
@Configuration
@ComponentScan(basePackages="com.yaros.almacen")
@PropertySource("classpath:/almacen.properties")
public class AppConfig {
@Value("${file.path}")
private String file;
@Value("${file.csv.separator}")
private String separator;
@Value("${file.csv.list.separator}")
private String listSeparator;
public String getFile() {
return file;
}
public String getSeparator() {
return separator;
}
public String getListSeparator() {
return listSeparator;
}
}

+ 14
- 0
almacen/src/main/java/com/yaros/almacen/dao/ProductDao.java View File

@ -0,0 +1,14 @@
package com.yaros.almacen.dao;
import java.util.Collection;
import com.yaros.almacen.model.Product;
public interface ProductDao {
public Product findById(long id);
public Collection<Product> findAll();
public void insert(Product product);
public void edit(Product product);
public void delete(long id);
}

+ 71
- 0
almacen/src/main/java/com/yaros/almacen/dao/ProductDaoImplMemory.java View File

@ -0,0 +1,71 @@
package com.yaros.almacen.dao;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.yaros.almacen.config.AppConfig;
import com.yaros.almacen.model.Product;
@Repository
public class ProductDaoImplMemory implements ProductDao {
public List<Product> peliculas = new ArrayList<>();
@Autowired
private AppConfig appConfig;
@PostConstruct
public void init() {
peliculas = UtilProductFileReader.readFile(appConfig.getFile(), appConfig.getSeparator(), appConfig.getListSeparator());
}
public Product findById(long id) {
// TODO Auto-generated method stub
// @formatter:off
Optional<Product> result = peliculas.stream().filter(f -> f.getId() == id).findFirst();
// @formatter:on
return result.orElse(null);
}
public Collection<Product> findAll() {
// TODO Auto-generated method stub
return peliculas;
}
public void insert(Product product) {
// TODO Auto-generated method stub
peliculas.add(product);
}
public void edit(Product product) {
// TODO Auto-generated method stub
int index = getIndexOf(product.getId());
if(index != -1)
peliculas.set(index, product);
}
public void delete(long id) {
// TODO Auto-generated method stub
int index = getIndexOf(id);
if(index != -1)
peliculas.remove(index);
}
private int getIndexOf(long id) {
boolean encontrado = false;
int index = 0;
while(!encontrado && index < peliculas.size()) {
if(peliculas.get(index).getId() == id)
encontrado = true;
else
index++;
}
return (encontrado) ? index : -1;
}
}

+ 40
- 0
almacen/src/main/java/com/yaros/almacen/dao/UtilProductFileReader.java View File

@ -0,0 +1,40 @@
package com.yaros.almacen.dao;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.util.ResourceUtils;
import com.yaros.almacen.model.Product;
public class UtilProductFileReader {
public static List<Product> readFile(final String path, final String separator, final String listSeparator){
System.out.println(path);
System.out.println(separator);
System.out.println(listSeparator);
List<Product> result = new ArrayList<>();
System.out.println(result);
// @formatter:off
try {
result = Files.lines(Paths.get(ResourceUtils.getFile(path).toURI()))
.skip(1)
.map(line -> {
String[] values = line.split(separator);
return new Product(Long.parseLong(values[0]), values[1], values[2], values[3], values[4], values[5], Integer.parseInt(values[6]),
Arrays.asList(values[7].split(listSeparator)));
}).collect(Collectors.toList());
} catch (IOException e) {
e.printStackTrace();
/*System.err.println("Error de lectura del fichero de datos: imdb_data");
System.exit(-1);*/
}
// @formatter:on
return result;
}
}

+ 123
- 0
almacen/src/main/java/com/yaros/almacen/model/Product.java View File

@ -0,0 +1,123 @@
package com.yaros.almacen.model;
import java.util.List;
import java.util.Objects;
public class Product {
private long id;
private String name;
private String manufacturer;
private String shelf;
private String weight;
private String size;
private int num;
private List<String> notes;
public Product() {
}
public Product(long id, String name, String manufacturer, String shelf, String weight, String size, int num,
List<String> notes) {
super();
this.id = id;
this.name = name;
this.manufacturer = manufacturer;
this.shelf = shelf;
this.weight = weight;
this.size = size;
this.num = num;
this.notes = notes;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getManufacturer() {
return manufacturer;
}
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
public String getShelf() {
return shelf;
}
public void setShelf(String shelf) {
this.shelf = shelf;
}
public String getWeight() {
return weight;
}
public void setWeight(String weight) {
this.weight = weight;
}
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public List<String> getNotes() {
return notes;
}
public void setNotes(List<String> notes) {
this.notes = notes;
}
@Override
public int hashCode() {
return Objects.hash(id, manufacturer, name, notes, num, shelf, size, weight);
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Product other = (Product) obj;
return id == other.id && Objects.equals(manufacturer, other.manufacturer) && Objects.equals(name, other.name)
&& Objects.equals(notes, other.notes) && num == other.num && Objects.equals(shelf, other.shelf)
&& Objects.equals(size, other.size) && Objects.equals(weight, other.weight);
}
@Override
public String toString() {
return "Producto [id=" + id + ", name=" + name + ", manufacturer=" + manufacturer + ", shelf=" + shelf
+ ", weight=" + weight + ", size=" + size + ", num=" + num + ", notes=" + notes + "]";
}
}

+ 66
- 0
almacen/src/main/java/com/yaros/almacen/service/ProductQuearyServiceImpl.java View File

@ -0,0 +1,66 @@
package com.yaros.almacen.service;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.Collection;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yaros.almacen.dao.ProductDao;
import com.yaros.almacen.model.Product;
@Service
public class ProductQuearyServiceImpl implements ProductQueryService {
@Autowired
private ProductDao dao;
private Predicate<Product> predicate;
//DE DONDE COÑO SALE EL POSTCONSTRUCT
@PostConstruct
public void init() {
predicate = null;
}
@Override
public Collection<Product> exec() {
// @formatter:off
return dao.findAll().stream().filter(predicate).collect(Collectors.toList());
// @formatter:on
}
/*@Override
public ProductQueryService anyId(String... id) {
Predicate<Product> pAnyGenere = (product -> Arrays.stream(id).anyMatch(product.getId()::contains));
predicate = (predicate == null) ? pAnyGenere : predicate.and(pAnyGenere);
return this;
}*/
@Override
public ProductQueryService anyManufacturer(String... manufacturers) {
Predicate<Product> pAnyGenere = (product -> Arrays.stream(manufacturers).anyMatch(product.getManufacturer()::contains));
predicate = (predicate == null) ? pAnyGenere : predicate.and(pAnyGenere);
return this;
}
@Override
public ProductQueryService nameContains(String name) {
Predicate<Product> pTitleContains = (product -> product.getName().toLowerCase().contains(name.toLowerCase()));
predicate = (predicate == null) ? pTitleContains : predicate.and(pTitleContains);
return this;
}
@Override
public ProductQueryService anyNote(String... notes) {
Predicate<Product> pAllGeneres = (product -> Arrays.stream(notes).allMatch(product.getNotes()::contains));
predicate = (predicate == null) ? pAllGeneres : predicate.and(pAllGeneres);
return this;
}
}

+ 15
- 0
almacen/src/main/java/com/yaros/almacen/service/ProductQueryService.java View File

@ -0,0 +1,15 @@
package com.yaros.almacen.service;
import java.util.Collection;
import com.yaros.almacen.model.Product;
public interface ProductQueryService {
public Collection<Product> exec();
public ProductQueryService anyManufacturer(String... manufacturers);
public ProductQueryService anyNote(String... notes);
public ProductQueryService nameContains(String note);
//public ProductQueryService anyId(String... id);
}

+ 59
- 0
almacen/src/main/java/com/yaros/almacen/service/ProductService.java View File

@ -0,0 +1,59 @@
package com.yaros.almacen.service;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yaros.almacen.dao.ProductDao;
import com.yaros.almacen.model.Product;
@Service
public class ProductService {
@Autowired
ProductDao productDao;
@Autowired
ProductQueryService queryService;
public Collection <String> findAllNotes(){
List<String> result = null;
// @formatter:off
result = productDao.findAll().stream().map(f -> f.getNotes())
.flatMap(lista -> lista.stream())
.distinct().sorted().collect(Collectors.toList());
// @formatter:on
return result;
}
public Collection <String> findAllManufacturers(){
List<String> result = null;
// @formatter:off
result = productDao.findAll().stream().map(f -> f.getManufacturer())
.distinct().sorted().collect(Collectors.toList());
// @formatter:on
return result;
}
public Collection<Product> findAll(){
return productDao.findAll();
}
public Collection<Product> findByAnyNote(String... notes){
return queryService.anyNote(notes).exec();
}
public Collection<Product> findByAnyManufacturer(String... manufacturer){
return queryService.anyManufacturer(manufacturer).exec();
}
public Collection<Product> findByTitleContains(String name){
return queryService.nameContains(name).exec();
}
}

+ 28
- 0
almacen/src/main/java/com/yaros/help View File

@ -0,0 +1,28 @@
Sintaxis: java -jar almacen.jar [OPCIONES]
-la
Lista todos los productos.
No se pueden utilizar parametros
-lm
Lista todos los fabricantes
No se pueden utilizar parametros
-ln
Lista toads las notas
No se pueden utilizar parametros
-gi id
Busca al producto por id
id = id del producto
-gm manufacturer
Busca al producto por fabricante
fabricante = fabricante del producto
-gn nota
Busca al producto por notas
notas = notas del producto

+ 3
- 0
almacen/src/main/resources/almacen.properties View File

@ -0,0 +1,3 @@
file.path=classpath:products.csv
file.csv.separator=;
file.csv.list.separator=,

+ 28
- 0
almacen/src/main/resources/ayuda.txt View File

@ -0,0 +1,28 @@
Porfavor utiliza los siguentes comandos:
-la
Lista todos los productos.
No se pueden utilizar parametros
-lm
Lista todos los fabricantes
No se pueden utilizar parametros
-ln
Lista toads las notas
No se pueden utilizar parametros
-gi id
Busca al producto por id
id = id del producto
-gm manufacturer
Busca al producto por fabricante
fabricante = fabricante del producto
-gn nota
Busca al producto por notas
notas = notas del producto
-t algo
Busca el producto si contiene el 'algo'
algo = texto que tiene que incluir

+ 12
- 0
almacen/src/main/resources/products.csv View File

@ -0,0 +1,12 @@
id;name;manufaturer;shelf;weight;size;num;notes
1;Dobojorn;Ikea;A2;20;XL;2;furniture
2;Nintendo Swich;Nintendo;B4;0.2;XS;1;entertainment,gaming
3;SuperChair;Secret Lab;B3;2;L;3;furniture,gaming
4;Ender 3 V2;Creality;C1;6;M;4;printer
5;Ender 3 S1;Creality;C8;8;M;4;printer
6;Mario Kart 8;Nintendo;B1;0.1;XXS;22;entertainment,gaming,videogames
7;Milkentron;Ikea;A2;2;L;1;furniture
8;Kobra;Anycubic;A5;8;M;5;printer,entry-level
9;Airfriyer;Xaomi;B2;4;M;1;appliance,cooking
10;Mars 2;Elogoo;B5;10;XL;2;printer,resin
11;OLED TV;Samsung;A8;20;XXL;1;entertainment,expensive

+ 5
- 0
almacen/target/classes/META-INF/MANIFEST.MF View File

@ -0,0 +1,5 @@
Manifest-Version: 1.0
Built-By: usuario
Build-Jdk: 17.0.4.1
Created-By: Maven Integration for Eclipse

+ 7
- 0
almacen/target/classes/META-INF/maven/com.yaros/almacen/pom.properties View File

@ -0,0 +1,7 @@
#Generated by Maven Integration for Eclipse
#Sun Nov 27 02:29:17 CET 2022
m2e.projectLocation=C\:\\Users\\usuario\\Documents\\workspace-spring-tool-suite-4-4.16.1.RELEASE\\almacen
m2e.projectName=almacen
groupId=com.yaros
artifactId=almacen
version=0.0.1-SNAPSHOT

+ 16
- 0
almacen/target/classes/META-INF/maven/com.yaros/almacen/pom.xml View File

@ -0,0 +1,16 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yaros</groupId>
<artifactId>almacen</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>GestorAlmacen</name>
<description>Ua aplicacion que gestiona un almacen</description>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.24</version>
</dependency>
</dependencies>
</project>

+ 3
- 0
almacen/target/classes/almacen.properties View File

@ -0,0 +1,3 @@
file.path=classpath:products.csv
file.csv.separator=;
file.csv.list.separator=,

+ 28
- 0
almacen/target/classes/ayuda.txt View File

@ -0,0 +1,28 @@
Porfavor utiliza los siguentes comandos:
-la
Lista todos los productos.
No se pueden utilizar parametros
-lm
Lista todos los fabricantes
No se pueden utilizar parametros
-ln
Lista toads las notas
No se pueden utilizar parametros
-gi id
Busca al producto por id
id = id del producto
-gm manufacturer
Busca al producto por fabricante
fabricante = fabricante del producto
-gn nota
Busca al producto por notas
notas = notas del producto
-t algo
Busca el producto si contiene el 'algo'
algo = texto que tiene que incluir

BIN
almacen/target/classes/com/yaros/almacen/AlmacenApp.class View File


BIN
almacen/target/classes/com/yaros/almacen/AlmacenHelp.class View File


BIN
almacen/target/classes/com/yaros/almacen/AlmacenRunApp.class View File


BIN
almacen/target/classes/com/yaros/almacen/config/AppConfig.class View File


BIN
almacen/target/classes/com/yaros/almacen/dao/ProductDao.class View File


BIN
almacen/target/classes/com/yaros/almacen/dao/ProductDaoImplMemory.class View File


BIN
almacen/target/classes/com/yaros/almacen/dao/UtilProductFileReader.class View File


BIN
almacen/target/classes/com/yaros/almacen/model/Product.class View File


BIN
almacen/target/classes/com/yaros/almacen/service/ProductQuearyServiceImpl.class View File


BIN
almacen/target/classes/com/yaros/almacen/service/ProductQueryService.class View File


BIN
almacen/target/classes/com/yaros/almacen/service/ProductService.class View File


+ 28
- 0
almacen/target/classes/com/yaros/help View File

@ -0,0 +1,28 @@
Sintaxis: java -jar almacen.jar [OPCIONES]
-la
Lista todos los productos.
No se pueden utilizar parametros
-lm
Lista todos los fabricantes
No se pueden utilizar parametros
-ln
Lista toads las notas
No se pueden utilizar parametros
-gi id
Busca al producto por id
id = id del producto
-gm manufacturer
Busca al producto por fabricante
fabricante = fabricante del producto
-gn nota
Busca al producto por notas
notas = notas del producto

+ 12
- 0
almacen/target/classes/products.csv View File

@ -0,0 +1,12 @@
id;name;manufaturer;shelf;weight;size;num;notes
1;Dobojorn;Ikea;A2;20;XL;2;furniture
2;Nintendo Swich;Nintendo;B4;0.2;XS;1;entertainment,gaming
3;SuperChair;Secret Lab;B3;2;L;3;furniture,gaming
4;Ender 3 V2;Creality;C1;6;M;4;printer
5;Ender 3 S1;Creality;C8;8;M;4;printer
6;Mario Kart 8;Nintendo;B1;0.1;XXS;22;entertainment,gaming,videogames
7;Milkentron;Ikea;A2;2;L;1;furniture
8;Kobra;Anycubic;A5;8;M;5;printer,entry-level
9;Airfriyer;Xaomi;B2;4;M;1;appliance,cooking
10;Mars 2;Elogoo;B5;10;XL;2;printer,resin
11;OLED TV;Samsung;A8;20;XXL;1;entertainment,expensive

Loading…
Cancel
Save