diff --git a/README.md b/README.md
index 35ed10d5b77f15d49ad7b365e7dc3007eb58c7d4..f90c5a3d342b21b223f815f3c3ed3678244bb18b 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ Ingeniería Informática de la Universidad de Vigo.
La configuración de Maven ha sido preparada para permitir varios tipos de
ejecución.
-### Ejecución de la aplicación con Tomcat y MySQL
+### Ejecución
El proyecto está configurado para poder ejecutar la aplicación sin tener que
realizar ninguna configuración adicional salvo tener disponible un servidor
@@ -26,24 +26,40 @@ comandos (desde la raíz el proyecto):
Una vez configurada la base de datos podemos lanzar la ejecución con el comando:
-`mvn -Prun-tomcat-mysql -DskipTests=true package cargo:run`
+`mvn -Prun package cargo:run`
La aplicación se servirá en la URL local: http://localhost:9080/DAAExample
Para detener la ejecución podemos utilizar `Ctrl+C`.
-### Ejecución de la aplicación con Tomcat y MySQL con redespliegue automático
+### Ejecución con redespliegue automático
Durante el desarrollo es interesante que la apliación se redespliegue de forma
automática cada vez que se hace un cambio. Para ello podemos utilizar el
siguiente comand:
-`mvn -Prun-tomcat-mysql -DskipTests=true package cargo:start fizzed-watcher:run`
+`mvn -Prun package cargo:start fizzed-watcher:run`
La aplicación se servirá en la URL local: http://localhost:9080/DAAExample
Para detener la ejecución podemos utilizar `Ctrl+C`.
+### Ejecución con redespliegue automático independiente para backend y frontend (recomendado)
+
+A diferencia del modo de redespliegue automático anterior, en este caso
+*backend* y *frontend* se ejecutarán de forma independiente. Esto hace que los
+cambios en las clases Java harán que se redespliegue el *backend*, mientras que
+los cambios en Angular harán que se redespliegue el *frontend*.
+
+`mvn -Prun-independent-autoredeploy exec:exec@npm-build exec:exec@npm-start package cargo:start fizzed-watcher:run`
+
+La aplicación se servirá en local:
+
+ * **Backend**: http://localhost:9080/DAAExample
+ * **Frontend**: http://localhost:4200
+
+Para detener la ejecución podemos utilizar `Ctrl+C`.
+
### Construcción con tests de unidad e integración
En esta construcción se ejecutarán todos los tests relacionados con el backend:
diff --git a/pom.xml b/pom.xml
index 09fcb7eb338ba211f32358f30892e804fd8f1162..0d297dac3cbfa2ead6ee56770e21a627737312b2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,6 +24,7 @@
UTF-8
${project.basedir}/servers
false
+ false
true
8.5.27
6300
@@ -201,7 +202,6 @@
-
maven-war-plugin
org.apache.maven.plugins
@@ -247,6 +247,7 @@
exec-npm-ng-build
generate-sources
+ ${skip-npm-build}
${project.basedir}/src/main/angular
npm
@@ -360,6 +361,7 @@
+
@@ -597,11 +599,12 @@
- run-tomcat-mysql
+ run
false
+ true
true
@@ -674,6 +677,119 @@
+
+ run-independent-autoredeploy
+
+ false
+
+
+ true
+ true
+ true
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ ${exec-maven-plugin.version}
+
+ ${project.basedir}/src/main/angular
+ npm
+ exec
+
+
+
+ npm-build
+
+
+ run
+ build
+
+
+
+
+
+ npm-start
+
+ true
+ true
+
+ start
+
+
+
+
+
+
+
+ com.fizzed
+ fizzed-watcher-maven-plugin
+ ${fizzed-watcher-maven-plugin.version}
+
+ true
+
+
+ src/main
+ src/main/angular
+
+
+
+ package
+ cargo:redeploy
+
+
+
+
+
+ org.codehaus.cargo
+ cargo-maven2-plugin
+ ${cargo-maven2-plugin.version}
+
+
+ tomcat8x
+
+ https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/${tomcat.version}/tomcat-${tomcat.version}.zip
+ ${project.servers.directory}/downloads
+ ${project.servers.directory}/extracts
+
+
+
+ mysql
+ mysql-connector-java
+
+
+
+
+
+ ${project.build.directory}/catalina-base
+
+
+ tomcat/server.mysql.xml
+ conf/server.xml
+
+
+
+ 9080
+
+ cargo.datasource.jndi=jdbc/daaexample|
+ cargo.datasource.driver=com.mysql.jdbc.Driver|
+ cargo.datasource.url=jdbc:mysql://localhost/daaexample|
+ cargo.datasource.username=daa|
+ cargo.datasource.password=daa|
+ cargo.datasource.maxActive=8|
+ cargo.datasource.maxIdle=4|
+ cargo.datasource.maxWait=10000
+
+
+
+
+
+
+
+
+
geckodriver-download-unix
diff --git a/src/main/angular/package-lock.json b/src/main/angular/package-lock.json
index 1d3e8aef9d8c32bcab127aea03a0aa67999a2250..1df608a07eb717c0d4853b0e7e5f9988f0f25cfc 100644
--- a/src/main/angular/package-lock.json
+++ b/src/main/angular/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "daa-example",
- "version": "0.2.0-alpha.6",
+ "version": "0.2.0-alpha.7",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/src/main/angular/package.json b/src/main/angular/package.json
index 553c5fb4bb48ba5cc2f1e061028353e309568e66..2b3d585c1105c6852e1bd09823a8a384a6ea4c68 100644
--- a/src/main/angular/package.json
+++ b/src/main/angular/package.json
@@ -1,6 +1,6 @@
{
"name": "daa-example",
- "version": "0.2.0-alpha.6",
+ "version": "0.2.0-alpha.7",
"scripts": {
"ng": "./node_modules/.bin/ng",
"start": "./node_modules/.bin/ng serve",
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index d920eed51bf816bc55de65bd515db92042a44b7b..a32d8cda80ed2600c9eabbc15ea88849b7f4b3ff 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -9,7 +9,7 @@
index.html
-
+
CorsFilter
org.apache.catalina.filters.CorsFilter
@@ -17,6 +17,14 @@
cors.allowed.origins
*
+
+ cors.allowed.headers
+ Authorization
+
+
+ cors.allowed.methods
+ GET, POST, DELETE, PUT
+
CorsFilter
@@ -31,7 +39,6 @@
DELETE
GET
POST
- OPTIONS
ADMIN
@@ -43,11 +50,10 @@
Admin Area
/rest/people/*
+ GET
PUT
DELETE
- GET
POST
- OPTIONS
ADMIN