diff --git a/.gitignore b/.gitignore
index 85a48593..c596aaee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,4 @@ infer-out
.springBeans
local.dev.yml
.DS_Store
+.vscode/settings.json
diff --git a/bin/startservers b/bin/startservers
index 54fffecf..8046dd0a 100755
--- a/bin/startservers
+++ b/bin/startservers
@@ -1,6 +1,15 @@
-cd ../tax; mvn clean spring-boot:run &
-cd ../bank; mvn clean spring-boot:run &
-cd ../hotel; mvn clean spring-boot:run &
-cd ../activity; mvn clean spring-boot:run &
-cd ../car; mvn clean spring-boot:run &
-cd ../broker; mvn clean spring-boot:run &
+export MAVEN_OPTS="-Xmx128m"
+
+cd ../tax; mvn clean compile
+cd ../bank; mvn clean compile
+cd ../hotel; mvn clean compile
+cd ../activity; mvn clean compile
+cd ../car; mvn clean compile
+cd ../broker; mvn clean compile
+
+cd ../tax; mvn spring-boot:run &
+cd ../bank; mvn spring-boot:run &
+cd ../hotel; mvn spring-boot:run &
+cd ../activity; mvn spring-boot:run &
+cd ../car; mvn spring-boot:run &
+cd ../broker; mvn spring-boot:run &
\ No newline at end of file
diff --git a/broker/src/main/resources/templates/adventures.html b/broker/src/main/resources/templates/adventures.html
index 2234e80e..fc4e84ef 100644
--- a/broker/src/main/resources/templates/adventures.html
+++ b/broker/src/main/resources/templates/adventures.html
@@ -72,7 +72,7 @@
Adventures
Room Cancellation |
Activity Confirmation |
Activity Cancellation |
-
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/activity.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/activity.txt
new file mode 100644
index 00000000..24869a81
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/activity.txt
@@ -0,0 +1 @@
+AP1234,Mont Vermont,18,70,20
\ No newline at end of file
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/adventure.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/adventure.txt
new file mode 100644
index 00000000..cd0714c7
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/adventure.txt
@@ -0,0 +1 @@
+B100,111111115,2017-05-01,2017-05-01,30,BK124,0.1,false
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/adventureId.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/adventureId.txt
new file mode 100644
index 00000000..fc7051ff
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/adventureId.txt
@@ -0,0 +1 @@
+B100,111111115,B1001
\ No newline at end of file
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/bank.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/bank.txt
new file mode 100644
index 00000000..1ab5f264
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/bank.txt
@@ -0,0 +1 @@
+BK12,Money Plus
\ No newline at end of file
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/broker.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/broker.txt
new file mode 100644
index 00000000..c562ce60
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/broker.txt
@@ -0,0 +1 @@
+B100,Joy of Travelling,111111113,111111114,BK124
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/brokerClient.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/brokerClient.txt
new file mode 100644
index 00000000..04ba8ef9
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/brokerClient.txt
@@ -0,0 +1 @@
+B100,BK125,111111115,DC12345,18
\ No newline at end of file
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/client.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/client.txt
new file mode 100644
index 00000000..590b4e41
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/client.txt
@@ -0,0 +1,3 @@
+BK12,Broker
+BK12,Client
+BK12,Activity Provider
\ No newline at end of file
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/clientId.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/clientId.txt
new file mode 100644
index 00000000..6d96c09e
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/clientId.txt
@@ -0,0 +1,3 @@
+BK12,1
+BK12,2
+BK12,3
\ No newline at end of file
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/deposit.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/deposit.txt
new file mode 100644
index 00000000..4a4e4d8e
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/deposit.txt
@@ -0,0 +1,3 @@
+BK12,1,BK124,100000
+BK12,2,BK125,999
+BK12,3,BK126,100000
\ No newline at end of file
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/itemtype.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/itemtype.txt
new file mode 100644
index 00000000..d2a32a60
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/itemtype.txt
@@ -0,0 +1,2 @@
+SPORT,10
+ADVENTURE,10
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/offer.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/offer.txt
new file mode 100644
index 00000000..ee4f3ca2
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/offer.txt
@@ -0,0 +1 @@
+AP1234,AP12341,2017-05-01,2017-05-01,1000
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/provider.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/provider.txt
new file mode 100644
index 00000000..d2aa1df3
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/provider.txt
@@ -0,0 +1 @@
+AP1234,Bush Walking,111111111,BK126
\ No newline at end of file
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/taxpayer.txt b/jmeter/tests/integration/unsuccess-sequence-fail-activity/taxpayer.txt
new file mode 100644
index 00000000..c6cb581d
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/taxpayer.txt
@@ -0,0 +1,4 @@
+Client,Street,111111115,BUYER
+BBroker,Street,111111114,BUYER
+SBroker,Street,111111113,SELLER
+Activity,Street,111111111,SELLER
\ No newline at end of file
diff --git a/jmeter/tests/integration/unsuccess-sequence-fail-activity/test.jmx b/jmeter/tests/integration/unsuccess-sequence-fail-activity/test.jmx
new file mode 100644
index 00000000..dc46fa7b
--- /dev/null
+++ b/jmeter/tests/integration/unsuccess-sequence-fail-activity/test.jmx
@@ -0,0 +1,1410 @@
+
+
+
+
+
+ false
+ true
+
+
+
+
+
+
+
+
+
+ testHome
+ ${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}
+ =
+
+
+ activityServer
+ localhost
+ =
+
+
+ activityPort
+ 8081
+ =
+
+
+ bankServer
+ localhost
+ =
+
+
+ bankPort
+ 8082
+ =
+
+
+ brokerServer
+ localhost
+ =
+
+
+ brokerPort
+ 8083
+ =
+
+
+ taxServer
+ localhost
+ =
+
+
+ taxPort
+ 8086
+ =
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ 1493918534000
+ 1493918534000
+ false
+
+
+
+
+
+ ${testHome}/provider.txt
+
+ providerCode,providerName,providerNif,providerIban
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ false
+ ${providerCode}
+ =
+ true
+ code
+
+
+ false
+ ${providerName}
+ =
+ true
+ name
+
+
+ false
+ ${providerNif}
+ =
+ true
+ nif
+
+
+ false
+ ${providerIban}
+ =
+ true
+ iban
+
+
+
+ ${activityServer}
+ ${activityPort}
+
+
+ /providers
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+ ${testHome}/activity.txt
+
+ providerCode,name,minAge,maxAge,capacity
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ false
+ ${name}
+ =
+ true
+ name
+
+
+ false
+ ${minAge}
+ =
+ true
+ minAge
+
+
+ false
+ ${maxAge}
+ =
+ true
+ maxAge
+
+
+ false
+ ${capacity}
+ =
+ true
+ capacity
+
+
+
+ ${activityServer}
+ ${activityPort}
+
+
+ /providers/${providerCode}/activities
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+ ${testHome}/offer.txt
+
+ providerCode,activityCode,begin,end,amount
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ false
+ ${begin}
+ =
+ true
+ begin
+
+
+ false
+ ${end}
+ =
+ true
+ end
+
+
+ false
+ ${amount}
+ =
+ true
+ amount
+
+
+
+ ${activityServer}
+ ${activityPort}
+
+
+ /providers/${providerCode}/activities/${activityCode}/offers
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ 1493912249000
+ 1493912249000
+ false
+
+
+
+
+
+ ${testHome}/bank.txt
+
+ bankCode,bankName
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ false
+ ${bankCode}
+ =
+ true
+ code
+
+
+ false
+ ${bankName}
+ =
+ true
+ name
+
+
+
+ ${bankServer}
+ ${bankPort}
+
+
+ /banks
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+ true
+ 3
+
+
+
+ ${testHome}/client.txt
+
+ bankCode,clientName
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ false
+ ${clientName}
+ =
+ true
+ name
+
+
+
+ ${bankServer}
+ ${bankPort}
+
+
+ /banks/${bankCode}/clients
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ true
+ 3
+
+
+
+ ${testHome}/clientId.txt
+
+ bankCode,clientId
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ false
+ ${clientName}
+ =
+ true
+ name
+
+
+
+ ${bankServer}
+ ${bankPort}
+
+
+ /banks/${bankCode}/clients/${clientId}/accounts
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ true
+ 3
+
+
+
+ ${testHome}/deposit.txt
+
+ bankCode,clientId,clientIban,amount
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ false
+ ${amount}
+ =
+ true
+ amount
+
+
+
+ ${bankServer}
+ ${bankPort}
+
+
+ /banks/${bankCode}/clients/${clientId}/accounts/${clientIban}/deposit
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ 1493912313000
+ 1493912313000
+ false
+
+
+
+
+
+ true
+ 2
+
+
+
+ ${testHome}/itemtype.txt
+
+ name,tax
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ false
+ ${name}
+ =
+ true
+ name
+
+
+ false
+ ${tax}
+ =
+ true
+ tax
+
+
+
+ ${taxServer}
+ ${taxPort}
+
+
+ /tax/items
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ true
+ 4
+
+
+
+ ${testHome}/taxpayer.txt
+
+ name,address,nif,type
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ false
+ ${name}
+ =
+ true
+ name
+
+
+ false
+ ${iaddress}
+ =
+ true
+ address
+
+
+ false
+ ${nif}
+ =
+ true
+ nif
+
+
+ false
+ ${type}
+ =
+ true
+ type
+
+
+
+ ${taxServer}
+ ${taxPort}
+
+
+ /tax/payers
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ 1493912313000
+ 1493912313000
+ false
+
+
+
+
+
+ ${testHome}/broker.txt
+
+ brokerCode,brokerName,nifAsSeller,nifAsBuyer,brokerIban
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ false
+ ${brokerCode}
+ =
+ true
+ code
+
+
+ false
+ ${brokerName}
+ =
+ true
+ name
+
+
+ false
+ ${nifAsSeller}
+ =
+ true
+ nifAsSeller
+
+
+ false
+ ${nifAsBuyer}
+ =
+ true
+ nifAsBuyer
+
+
+ false
+ ${brokerIban}
+ =
+ true
+ iban
+
+
+
+ ${brokerServer}
+ ${brokerPort}
+
+
+ /brokers
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+ ${testHome}/brokerClient.txt
+
+ brokerCode,clientIban,nif,drivingLicense,age
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ false
+ ${brokerCode}
+ =
+ true
+ brokerCode
+
+
+ false
+ ${clientIban}
+ =
+ true
+ iban
+
+
+ false
+ ${nif}
+ =
+ true
+ nif
+
+
+ false
+ ${drivingLicense}
+ =
+ true
+ drivingLicense
+
+
+ false
+ ${age}
+ =
+ true
+ age
+
+
+
+ ${brokerServer}
+ ${brokerPort}
+
+
+ /brokers/${brokerCode}/clients
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+ ${testHome}/adventure.txt
+
+ brokerCode,clientNif,begin,end,age,iban,margin,vehicle
+ ,
+ false
+ true
+ false
+ shareMode.group
+ false
+
+
+
+
+
+
+ false
+ ${begin}
+ =
+ true
+ begin
+
+
+ false
+ ${end}
+ =
+ true
+ end
+
+
+ false
+ ${age}
+ =
+ true
+ age
+
+
+ false
+ ${iban}
+ =
+ true
+ iban
+
+
+ false
+ ${margin}
+ =
+ true
+ margin
+
+
+ false
+ ${vehicle}
+ =
+ true
+ vehicle
+
+
+ false
+ ${brokerCode}
+ =
+ true
+ code
+
+
+ false
+ ${clientNif}
+ =
+ true
+ clientNif
+
+
+
+ ${brokerServer}
+ ${brokerPort}
+
+
+ /brokers/${brokerCode}/clients/${clientNif}/adventures
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ 1493912313000
+ 1493912313000
+ false
+
+
+
+
+
+ ${testHome}/adventureId.txt
+
+ brokerCode,clientNif,id
+ ,
+ false
+ true
+ false
+ shareMode.all
+ false
+
+
+
+
+
+
+ ${brokerServer}
+ ${brokerPort}
+
+
+ /brokers/${brokerCode}/clients/${clientNif}/adventures/${id}/process
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ PROCESS_PAYMENT
+
+
+ Assertion.response_data
+ false
+ 34
+
+
+
+
+
+
+
+ ${brokerServer}
+ ${brokerPort}
+
+
+ /brokers/${brokerCode}/clients/${clientNif}/adventures/${id}/process
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ UNDO
+
+
+ Assertion.response_data
+ false
+ 34
+
+
+
+
+
+
+
+ ${brokerServer}
+ ${brokerPort}
+
+
+ /brokers/${brokerCode}/clients/${clientNif}/adventures/${id}/process
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ CANCELLED
+
+
+ Assertion.response_data
+ false
+ 34
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ 1485537266000
+ 1485537266000
+ false
+
+
+
+
+
+
+
+
+ ${bankServer}
+ ${bankPort}
+
+
+ /banks/BK12/clients/1/accounts
+ GET
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ Broker
+ BK124
+ 100000
+
+
+ Assertion.response_data
+ false
+ 2
+
+
+
+
+
+
+
+ ${bankServer}
+ ${bankPort}
+
+
+ /banks/BK12/clients/2/accounts
+ GET
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ Client
+ BK125
+ 999
+
+
+ Assertion.response_data
+ false
+ 2
+
+
+
+
+
+
+
+ ${bankServer}
+ ${bankPort}
+
+
+ /banks/BK12/clients/3/accounts
+ GET
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ Activity Provider
+ BK126
+ 100000
+
+
+ Assertion.response_data
+ false
+ 2
+
+
+
+
+
+
+
+ ${taxServer}
+ ${taxPort}
+
+
+ /tax/payers/111111111/invoices
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ SPORT
+
+
+ Assertion.response_data
+ false
+ 6
+
+
+
+
+
+
+
+ ${taxServer}
+ ${taxPort}
+
+
+ /tax/payers/111111113/invoices
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ ADVENTURE
+
+
+ Assertion.response_data
+ false
+ 6
+
+
+
+
+
+
+
+ ${taxServer}
+ ${taxPort}
+
+
+ /tax/payers/111111114/invoices
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ SPORT
+
+
+ Assertion.response_data
+ false
+ 6
+
+
+
+
+
+
+
+ ${taxServer}
+ ${taxPort}
+
+
+ /tax/payers/111111115/invoices
+ POST
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ ADVENTURE
+
+
+ Assertion.response_data
+ false
+ 6
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ 1485340336000
+ 1485340336000
+ false
+
+
+
+
+
+
+
+
+ ${activityServer}
+ ${activityPort}
+
+
+ /providers
+ DELETE
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+
+ ${bankServer}
+ ${bankPort}
+
+
+ /banks
+ DELETE
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+
+ ${brokerServer}
+ ${brokerPort}
+
+
+ /brokers
+ DELETE
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+
+ ${taxServer}
+ ${taxPort}
+
+
+ /tax
+ DELETE
+ true
+ false
+ true
+ false
+
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+
|