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;
/**