diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..0a8d07f --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,25 @@ +# copiado del generado por github + +name: Java CI with Gradle + +on: + push: + branches: [ Desarrollo ] + pull_request: + branches: [ Desarrollo ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Build with Gradle + run: ./gradlew build diff --git a/.project b/.project index 5ce1659..cb367fd 100644 --- a/.project +++ b/.project @@ -1,23 +1,23 @@ - - - shopManager - Project shopManager created by Buildship. - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.buildship.core.gradleprojectbuilder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.buildship.core.gradleprojectnature - - + + + shopManager + Project shopManager created by Buildship. + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.buildship.core.gradleprojectbuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.buildship.core.gradleprojectnature + + diff --git a/README.txt b/README.txt index 4d52cde..0aa3784 100644 --- a/README.txt +++ b/README.txt @@ -3,4 +3,6 @@ Caracter Librería shopManager para facilitar el desarrollo de aplicaciones de tienda virtual Usa gradle para controlar la construcción y dependencias Usa el sistema de trazado de java -Usa hazelcast para tener datos en memoria compartida del stock y de los pedidos \ No newline at end of file +Usa hazelcast para tener datos en memoria compartida del stock y de los pedidos + +Esta librería podrá ser usadas tanto por aplicaciones cliente como servior en el proceso de venta online. \ No newline at end of file diff --git a/src/main/java/shopmanager/DEVELOPERS.TXT.txt b/src/main/java/shopmanager/DEVELOPERS.TXT.txt new file mode 100644 index 0000000..28d5fc3 --- /dev/null +++ b/src/main/java/shopmanager/DEVELOPERS.TXT.txt @@ -0,0 +1 @@ +Guillermo Roche Arcas \ No newline at end of file diff --git a/src/main/java/shopManager/MyProduct.java b/src/main/java/shopmanager/MyProduct.java similarity index 79% rename from src/main/java/shopManager/MyProduct.java rename to src/main/java/shopmanager/MyProduct.java index 3a7b995..a877ce8 100644 --- a/src/main/java/shopManager/MyProduct.java +++ b/src/main/java/shopmanager/MyProduct.java @@ -1,4 +1,4 @@ -package shopManager; +package shopmanager; import java.io.Serializable; @@ -25,23 +25,25 @@ public class MyProduct implements Product,Serializable{ private String id; private int number; - MyProduct(String id) { + public MyProduct(String id) { this.id=id; number=1; } - MyProduct(String id,int number) { + public MyProduct(String id,int number) { this.id=id; this.number=number; } @Override public void setId(String id) { - trazador.info("Estableciendo id a "+id); + String msg="Estableciendo id a "+id; + trazador.info(msg); this.id=id; } @Override - public String getId() { - trazador.info("Devolviendo id como "+id); + public String getId() { + String msg="Devolviendo el id como "+id; + trazador.info(msg); return this.id; } @Override @@ -65,7 +67,8 @@ public int oneLess(){ } else { trazador.info("El número de unidades del producto no se puede reducir porque es cero"); } - trazador.info(this.toString()); + String msg=toString(); + trazador.info(msg); return number; } diff --git a/src/main/java/shopManager/MyStockManager.java b/src/main/java/shopmanager/MyStockManager.java similarity index 64% rename from src/main/java/shopManager/MyStockManager.java rename to src/main/java/shopmanager/MyStockManager.java index 1e6b2ef..4d56832 100644 --- a/src/main/java/shopManager/MyStockManager.java +++ b/src/main/java/shopmanager/MyStockManager.java @@ -1,4 +1,4 @@ -package shopManager; +package shopmanager; import com.hazelcast.core.*; import com.hazelcast.config.*; @@ -14,8 +14,8 @@ public class MyStockManager implements StockManager{ private static Logger trazador=Logger.getLogger(MyStockManager.class.getName()); - private static StockManager my_instance; - private HazelcastInstance hz_instance; + private static StockManager myInstance; + private HazelcastInstance hzInstance; private Config cfg; //Mapa de productos que será compartido por todos los stockManager que se instancien private IMap mapProducts; @@ -25,67 +25,68 @@ public class MyStockManager implements StockManager{ private MyStockManager(){ cfg = new Config(); - HazelcastInstance hz_instance = Hazelcast.newHazelcastInstance(cfg); + hzInstance = Hazelcast.newHazelcastInstance(cfg); trazador.info("Acabo de crear una instancia hazelcast para el MyStockManager"); - mapProducts = hz_instance.getMap("products"); + mapProducts = hzInstance.getMap("products"); trazador.info("Se ha recuperado referencia al mapa products, si no se había usado se ha creado"); } /** + * @deprecated * @see * java.lang.Object * El compilador me avisa de que uso algo "deprecated" por eso añado la opción de compilación en gradle, para ver más detalle */ @Override + @Deprecated(since="0,0") protected void finalize() throws Throwable{ - trazador.info("Finalizando el MyStockManager, borra la instancia hazelcast y deja a null la instancia singleton"); - hz_instance.shutdown(); - my_instance=null; - hz_instance=null; - + trazador.info("Finalizando el MyStockManager, apaga la instancia hazelcast"); + hzInstance.shutdown(); } public static StockManager getInstance() { - if (my_instance==null){ - my_instance=new MyStockManager(); + if (myInstance==null){ + myInstance=new MyStockManager(); } - return my_instance; + return myInstance; } @Override public void addProduct(Product newProduct) { Product productTmp; - trazador.info("El tamaño del mapa al entrar es " + mapProducts.size()); + String msg="El tamaño del mapa al entrar es " + mapProducts.size(); + trazador.info(msg); if(mapProducts.containsKey(newProduct.getId())){ productTmp=searchProduct(newProduct.getId()); newProduct.setNumber(productTmp.getNumber()+newProduct.getNumber()); } mapProducts.put(newProduct.getId(), newProduct); - trazador.info("El mapa de tamaño " + mapProducts.size()+" incluye "+newProduct); + msg="El mapa de tamaño " + mapProducts.size()+" incluye "+newProduct; + trazador.info(msg); } @Override public Product searchProduct(String id) { Product product=null; + String msg; if(mapProducts.containsKey(id)){ product=mapProducts.get(id); - trazador.info("Hay "+ product); + msg="Hay "+ product; + trazador.info(msg); }else { - trazador.info("El "+product+" no está en el mapa"); + msg="El "+product+" no está en el mapa"; + trazador.info(msg); } return product; } /** + * @throws CloneNotSupportedException * @see * java.lang.Object * El método clone permite crear una instancia a partir de otra, lo que en una clase que siga el patrón singleton no se puede permitir */ @Override - public MyStockManager clone() { - try { - throw new CloneNotSupportedException(); - } catch (CloneNotSupportedException ex) { - System.out.println("No se puede clonar un objeto de la clase MyStockManager, sigue patrón singleton"); - } - return null; + public MyStockManager clone() throws CloneNotSupportedException { + trazador.warning("No se puede clonar un objeto de la clase MyStockManager, sigue patrón singleton"); + throw new CloneNotSupportedException(); } } diff --git a/src/main/java/shopManager/Product.java b/src/main/java/shopmanager/Product.java similarity index 91% rename from src/main/java/shopManager/Product.java rename to src/main/java/shopmanager/Product.java index 74ab7ff..0278cda 100644 --- a/src/main/java/shopManager/Product.java +++ b/src/main/java/shopmanager/Product.java @@ -1,4 +1,4 @@ -package shopManager; +package shopmanager; /** * * @author Isabel Román diff --git a/src/main/java/shopManager/StockManager.java b/src/main/java/shopmanager/StockManager.java similarity index 92% rename from src/main/java/shopManager/StockManager.java rename to src/main/java/shopmanager/StockManager.java index 6a4c539..e7bd435 100644 --- a/src/main/java/shopManager/StockManager.java +++ b/src/main/java/shopmanager/StockManager.java @@ -1,7 +1,4 @@ -/** - * - */ -package shopManager; +package shopmanager; /** * @author Isabel Román diff --git a/src/main/java/shopmanager/package-info.java b/src/main/java/shopmanager/package-info.java new file mode 100644 index 0000000..492ecad --- /dev/null +++ b/src/main/java/shopmanager/package-info.java @@ -0,0 +1,8 @@ +package shopmanager; + +/** + * Este paquete contiene las clases para los productos y el gestión del stock + * + * @author Isabel Román + * @version 0.0 + */ \ No newline at end of file diff --git a/src/test/java/shopManager/MyStockManagerTest.java b/src/test/java/shopManager/MyStockManagerTest.java index 0ef911e..b0380af 100644 --- a/src/test/java/shopManager/MyStockManagerTest.java +++ b/src/test/java/shopManager/MyStockManagerTest.java @@ -8,10 +8,10 @@ import org.junit.Test; -import shopManager.MyProduct; -import shopManager.Product; -import shopManager.StockManager; -import shopManager.MyStockManager; +import shopmanager.MyProduct; +import shopmanager.MyStockManager; +import shopmanager.Product; +import shopmanager.StockManager; /** @@ -24,7 +24,7 @@ public class MyStockManagerTest { String underTestAsString; /** - * Test method for {@link shopManager.MyStockManager#getInstance()}. + * Test method for {@link shopmanager.MyStockManager#getInstance()}. */ @Test public void testGetInstance() { @@ -36,7 +36,7 @@ public void testGetInstance() { } /** - * Test method for {@link shopManager.MyStockManager#addProduct(shopManager.Product)}. + * Test method for {@link shopmanager.MyStockManager#addProduct(shopmanager.Product)}. */ @Test public void testAddProduct() { @@ -48,7 +48,7 @@ public void testAddProduct() { } /** - * Test method for {@link shopManager.MyStockManager#searchProduct(java.lang.String)}. + * Test method for {@link shopmanager.MyStockManager#searchProduct(java.lang.String)}. */ @Test public void testSearchProduct() { diff --git a/src/test/java/shopManager/ProductTest.java b/src/test/java/shopManager/ProductTest.java index 4d5f2d6..57a6ecb 100644 --- a/src/test/java/shopManager/ProductTest.java +++ b/src/test/java/shopManager/ProductTest.java @@ -9,8 +9,8 @@ import org.junit.Test; -import shopManager.MyProduct; -import shopManager.Product; +import shopmanager.MyProduct; +import shopmanager.Product; /**