diff --git a/.gitignore b/.gitignore index b70c4804c..fb5253750 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ *~ target *.log +*.log.zip *.idea *.iml *.ipr diff --git a/.travis.yml b/.travis.yml index 1e4c9cd09..0a9d02ade 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ branches: - develop - master after_success: - - mvn clean test jacoco:report cobertura:cobertura coveralls:report + - mvn clean test jacoco:report coveralls:report - "./.travis/before-deploy.sh" - "./.travis/deploy.sh" env: diff --git a/.travis/before-deploy.sh b/.travis/before-deploy.sh index 3f33f9810..808088055 100755 --- a/.travis/before-deploy.sh +++ b/.travis/before-deploy.sh @@ -6,4 +6,4 @@ if [ "$TRAVIS_BRANCH" == 'develop' ] || [ "$TRAVIS_BRANCH" == 'master' ]; then -in .travis/codesigning.asc.enc -out .travis/codesigning.asc -d gpg --fast-import .travis/codesigning.asc fi -fi +fi \ No newline at end of file diff --git a/.travis/deploy.sh b/.travis/deploy.sh index 56e5ff72e..9ea5773f9 100755 --- a/.travis/deploy.sh +++ b/.travis/deploy.sh @@ -4,4 +4,4 @@ if [ "$TRAVIS_BRANCH" == 'develop' ] || [ "$TRAVIS_BRANCH" == 'master' ]; then if [ "$TRAVIS_PULL_REQUEST" == 'false' ]; then mvn deploy -DskipTests=true -P sign --settings .travis/settings.xml fi -fi +fi \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-analytics-attribution.xml b/ATTRIBUTIONS/wasabi-analytics-attribution.xml index 6f8868b07..a9aaf2d5f 100644 --- a/ATTRIBUTIONS/wasabi-analytics-attribution.xml +++ b/ATTRIBUTIONS/wasabi-analytics-attribution.xml @@ -1158,7 +1158,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/analytics/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1229,23 +1229,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -2138,7 +2121,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -2153,7 +2136,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -2168,7 +2151,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -2183,7 +2166,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -2198,7 +2181,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -2213,7 +2196,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -2228,7 +2211,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -2243,7 +2226,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -2258,7 +2241,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -2273,7 +2256,7 @@ wasabi-experiment com.intuit.wasabi wasabi-experiment - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment jar @@ -2288,7 +2271,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -2303,7 +2286,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -2318,7 +2301,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -2333,7 +2316,7 @@ wasabi-repository com.intuit.wasabi wasabi-repository - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-repository jar @@ -2348,7 +2331,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -2363,7 +2346,7 @@ wasabi-util com.intuit.wasabi wasabi-util - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-util jar @@ -2430,4 +2413,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-analytics-objects-attribution.xml b/ATTRIBUTIONS/wasabi-analytics-objects-attribution.xml index 80ce8e5d0..7115f1001 100644 --- a/ATTRIBUTIONS/wasabi-analytics-objects-attribution.xml +++ b/ATTRIBUTIONS/wasabi-analytics-objects-attribution.xml @@ -851,7 +851,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/analytics-objects/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -922,23 +922,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -1517,7 +1500,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -1532,7 +1515,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -1547,7 +1530,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -1562,7 +1545,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -1574,4 +1557,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-api-attribution.xml b/ATTRIBUTIONS/wasabi-api-attribution.xml index 338cb279c..72b5cbf9d 100644 --- a/ATTRIBUTIONS/wasabi-api-attribution.xml +++ b/ATTRIBUTIONS/wasabi-api-attribution.xml @@ -1282,7 +1282,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/api/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1404,23 +1404,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.7.2/jackson-module-jaxb-annotations-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -2633,7 +2616,7 @@ wasabi-analytics com.intuit.wasabi wasabi-analytics - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics jar @@ -2648,7 +2631,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -2663,7 +2646,7 @@ wasabi-assignment com.intuit.wasabi wasabi-assignment - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment jar @@ -2678,7 +2661,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -2693,7 +2676,7 @@ wasabi-auditlog com.intuit.wasabi wasabi-auditlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog jar @@ -2708,7 +2691,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -2723,7 +2706,7 @@ wasabi-authentication com.intuit.wasabi wasabi-authentication - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication jar @@ -2738,7 +2721,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -2753,7 +2736,7 @@ wasabi-authorization com.intuit.wasabi wasabi-authorization - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization jar @@ -2768,7 +2751,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -2783,7 +2766,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -2798,7 +2781,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -2813,7 +2796,7 @@ wasabi-email com.intuit.wasabi wasabi-email - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-email jar @@ -2828,7 +2811,7 @@ wasabi-event com.intuit.wasabi wasabi-event - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-event jar @@ -2843,7 +2826,7 @@ wasabi-event-objects com.intuit.wasabi wasabi-event-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-event-objects jar @@ -2858,7 +2841,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -2873,7 +2856,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -2888,7 +2871,7 @@ wasabi-experiment com.intuit.wasabi wasabi-experiment - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment jar @@ -2903,7 +2886,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -2918,7 +2901,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -2933,7 +2916,7 @@ wasabi-feedback com.intuit.wasabi wasabi-feedback - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback jar @@ -2948,7 +2931,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -2963,7 +2946,7 @@ wasabi-repository com.intuit.wasabi wasabi-repository - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-repository jar @@ -2978,7 +2961,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -2993,7 +2976,7 @@ wasabi-util com.intuit.wasabi wasabi-util - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-util jar @@ -3060,4 +3043,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-assignment-attribution.xml b/ATTRIBUTIONS/wasabi-assignment-attribution.xml index 65b4e904d..f405e7cb8 100644 --- a/ATTRIBUTIONS/wasabi-assignment-attribution.xml +++ b/ATTRIBUTIONS/wasabi-assignment-attribution.xml @@ -1141,7 +1141,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/assignment/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1212,23 +1212,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -2138,7 +2121,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -2153,7 +2136,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -2168,7 +2151,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -2183,7 +2166,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -2198,7 +2181,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -2213,7 +2196,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -2228,7 +2211,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -2243,7 +2226,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -2258,7 +2241,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -2273,7 +2256,7 @@ wasabi-experiment com.intuit.wasabi wasabi-experiment - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment jar @@ -2288,7 +2271,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -2303,7 +2286,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -2318,7 +2301,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -2333,7 +2316,7 @@ wasabi-repository com.intuit.wasabi wasabi-repository - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-repository jar @@ -2348,7 +2331,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -2415,4 +2398,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-assignment-objects-attribution.xml b/ATTRIBUTIONS/wasabi-assignment-objects-attribution.xml index 48adaf5ca..464f9e0a3 100644 --- a/ATTRIBUTIONS/wasabi-assignment-objects-attribution.xml +++ b/ATTRIBUTIONS/wasabi-assignment-objects-attribution.xml @@ -807,7 +807,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/assignment-objects/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -878,23 +878,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -1473,7 +1456,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -1488,7 +1471,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -1500,4 +1483,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-attribution.xml b/ATTRIBUTIONS/wasabi-attribution.xml index a03677cca..a8ddbf5da 100644 --- a/ATTRIBUTIONS/wasabi-attribution.xml +++ b/ATTRIBUTIONS/wasabi-attribution.xml @@ -271,23 +271,6 @@ https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Javassist org.javassist diff --git a/ATTRIBUTIONS/wasabi-auditlog-attribution.xml b/ATTRIBUTIONS/wasabi-auditlog-attribution.xml index 6371c3f12..b2bf9e0bb 100644 --- a/ATTRIBUTIONS/wasabi-auditlog-attribution.xml +++ b/ATTRIBUTIONS/wasabi-auditlog-attribution.xml @@ -1141,7 +1141,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/auditlog/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1212,23 +1212,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -2138,7 +2121,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -2153,7 +2136,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -2168,7 +2151,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -2183,7 +2166,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -2198,7 +2181,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -2213,7 +2196,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -2228,7 +2211,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -2243,7 +2226,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -2258,7 +2241,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -2273,7 +2256,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -2288,7 +2271,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -2303,7 +2286,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -2318,7 +2301,7 @@ wasabi-repository com.intuit.wasabi wasabi-repository - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-repository jar @@ -2333,7 +2316,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -2400,4 +2383,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-auditlog-objects-attribution.xml b/ATTRIBUTIONS/wasabi-auditlog-objects-attribution.xml index 87e57721c..4ed421e34 100644 --- a/ATTRIBUTIONS/wasabi-auditlog-objects-attribution.xml +++ b/ATTRIBUTIONS/wasabi-auditlog-objects-attribution.xml @@ -807,7 +807,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/auditlog-objects/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -878,23 +878,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -1473,7 +1456,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -1488,7 +1471,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -1503,7 +1486,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -1518,7 +1501,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -1533,7 +1516,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -1548,7 +1531,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -1560,4 +1543,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-authentication-attribution.xml b/ATTRIBUTIONS/wasabi-authentication-attribution.xml index 22a4bd41b..97e9a95fc 100644 --- a/ATTRIBUTIONS/wasabi-authentication-attribution.xml +++ b/ATTRIBUTIONS/wasabi-authentication-attribution.xml @@ -1135,7 +1135,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/authentication/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1206,23 +1206,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -2132,7 +2115,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -2147,7 +2130,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -2162,7 +2145,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -2177,7 +2160,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -2192,7 +2175,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -2207,7 +2190,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -2222,7 +2205,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -2237,7 +2220,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -2252,7 +2235,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -2267,7 +2250,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -2282,7 +2265,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -2297,7 +2280,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -2312,7 +2295,7 @@ wasabi-repository com.intuit.wasabi wasabi-repository - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-repository jar @@ -2327,7 +2310,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -2394,4 +2377,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-authentication-objects-attribution.xml b/ATTRIBUTIONS/wasabi-authentication-objects-attribution.xml index 9626ae847..713325214 100644 --- a/ATTRIBUTIONS/wasabi-authentication-objects-attribution.xml +++ b/ATTRIBUTIONS/wasabi-authentication-objects-attribution.xml @@ -12,7 +12,9 @@ Public Domain - + + https://repo.maven.apache.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar + Apache Ant Core @@ -27,7 +29,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.9.4/ant-1.9.4.jar + Apache Ant Launcher @@ -42,7 +46,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant-launcher/1.9.4/ant-launcher-1.9.4.jar + Apache Commons Lang @@ -57,7 +63,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar + ASM Core @@ -72,7 +80,9 @@ http://asm.objectweb.org/license.html - + + https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar + AssertJ fluent assertions @@ -87,7 +97,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/assertj/assertj-core/3.4.0/assertj-core-3.4.0.jar + Bean Validation API @@ -102,7 +114,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar + catch-exception @@ -117,7 +131,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/eu/codearte/catch-exception/catch-exception/1.4.4/catch-exception-1.4.4.jar + cglib @@ -132,7 +148,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib/3.2.0/cglib-3.2.0.jar + Code Generation Library @@ -147,7 +165,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib-nodep/2.2.2/cglib-nodep-2.2.2.jar + EasyMock @@ -162,7 +182,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/easymock/easymock/3.4/easymock-3.4.jar + Google Guice - Core Library @@ -177,7 +199,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/guice/4.0/guice-4.0.jar + Google Guice - Extensions - MultiBindings @@ -192,7 +216,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/extensions/guice-multibindings/4.0/guice-multibindings-4.0.jar + Guava: Google Core Libraries for Java @@ -207,7 +233,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/guava/guava/16.0.1/guava-16.0.1.jar + Hamcrest Core @@ -222,7 +250,9 @@ http://www.opensource.org/licenses/bsd-license.php - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar + Hamcrest library @@ -237,7 +267,9 @@ http://www.opensource.org/licenses/bsd-license.php - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar + Jackson-annotations @@ -252,7 +284,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.7.0/jackson-annotations-2.7.0.jar + Jackson-core @@ -267,7 +301,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.7.2/jackson-core-2.7.2.jar + jackson-databind @@ -282,22 +318,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - - - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - + + https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar + Javassist @@ -320,7 +343,9 @@ http://www.apache.org/licenses/ - + + https://repo.maven.apache.org/maven2/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA.jar + javax.inject @@ -335,7 +360,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar + JUnit @@ -350,7 +377,9 @@ http://www.eclipse.org/legal/epl-v10.html - + + https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar + Logback Classic Module @@ -369,7 +398,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar + Logback Core Module @@ -388,7 +419,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3.jar + Mockito @@ -403,7 +436,9 @@ http://github.com/mockito/mockito/blob/master/LICENSE - + + https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar + Objenesis @@ -418,7 +453,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.1/objenesis-2.1.jar + powermock-api-easymock @@ -433,7 +470,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-easymock/1.6.4/powermock-api-easymock-1.6.4.jar + powermock-api-mockito @@ -448,7 +487,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-mockito/1.6.4/powermock-api-mockito-1.6.4.jar + powermock-api-support @@ -463,7 +504,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-support/1.6.4/powermock-api-support-1.6.4.jar + powermock-core @@ -478,7 +521,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-core/1.6.4/powermock-core-1.6.4.jar + powermock-module-junit4 @@ -493,7 +538,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4/1.6.4/powermock-module-junit4-1.6.4.jar + powermock-module-junit4-common @@ -508,7 +555,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4-common/1.6.4/powermock-module-junit4-common-1.6.4.jar + powermock-reflect @@ -523,7 +572,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-reflect/1.6.4/powermock-reflect-1.6.4.jar + SLF4J API Module @@ -538,7 +589,9 @@ http://www.opensource.org/licenses/mit-license.php - + + https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar + swagger-annotations @@ -553,7 +606,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-annotations/1.5.4/swagger-annotations-1.5.4.jar + swagger-core @@ -568,7 +623,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-core/1.5.4/swagger-core-1.5.4.jar + swagger-models @@ -583,7 +640,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-models/1.5.4/swagger-models-1.5.4.jar + - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-authorization-attribution.xml b/ATTRIBUTIONS/wasabi-authorization-attribution.xml index 828772b84..f386e738f 100644 --- a/ATTRIBUTIONS/wasabi-authorization-attribution.xml +++ b/ATTRIBUTIONS/wasabi-authorization-attribution.xml @@ -1141,7 +1141,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/authorization/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1212,23 +1212,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -2138,7 +2121,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -2153,7 +2136,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -2168,7 +2151,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -2183,7 +2166,7 @@ wasabi-authentication com.intuit.wasabi wasabi-authentication - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication jar @@ -2198,7 +2181,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -2213,7 +2196,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -2228,7 +2211,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -2243,7 +2226,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -2258,7 +2241,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -2273,7 +2256,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -2288,7 +2271,7 @@ wasabi-experiment com.intuit.wasabi wasabi-experiment - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment jar @@ -2303,7 +2286,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -2318,7 +2301,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -2333,7 +2316,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -2348,7 +2331,7 @@ wasabi-repository com.intuit.wasabi wasabi-repository - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-repository jar @@ -2363,7 +2346,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -2430,4 +2413,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-authorization-objects-attribution.xml b/ATTRIBUTIONS/wasabi-authorization-objects-attribution.xml index 98a02b4e6..fec275d2a 100644 --- a/ATTRIBUTIONS/wasabi-authorization-objects-attribution.xml +++ b/ATTRIBUTIONS/wasabi-authorization-objects-attribution.xml @@ -518,7 +518,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/authorization-objects/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -572,23 +572,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -1118,7 +1101,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -1133,7 +1116,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -1145,4 +1128,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-cassandra-attribution.xml b/ATTRIBUTIONS/wasabi-cassandra-attribution.xml index 3bd9e1db3..1beb68a72 100644 --- a/ATTRIBUTIONS/wasabi-cassandra-attribution.xml +++ b/ATTRIBUTIONS/wasabi-cassandra-attribution.xml @@ -8,7 +8,9 @@ http://www.antlr.org jar - + + https://repo.maven.apache.org/maven2/org/antlr/antlr-runtime/3.2/antlr-runtime-3.2.jar + ANTLR Grammar Tool @@ -18,7 +20,9 @@ http://antlr.org jar - + + https://repo.maven.apache.org/maven2/org/antlr/antlr/3.2/antlr-3.2.jar + AntLR Parser Generator @@ -33,7 +37,9 @@ http://www.antlr.org/license.html - + + https://repo.maven.apache.org/maven2/antlr/antlr/2.7.7/antlr-2.7.7.jar + ANTLR StringTemplate @@ -48,7 +54,9 @@ http://antlr.org/license.html - + + https://repo.maven.apache.org/maven2/org/antlr/stringtemplate/3.2/stringtemplate-3.2.jar + AOP alliance @@ -62,7 +70,9 @@ Public Domain - + + https://repo.maven.apache.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar + Apache Ant Core @@ -77,7 +87,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.9.4/ant-1.9.4.jar + Apache Ant Launcher @@ -92,7 +104,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant-launcher/1.9.4/ant-launcher-1.9.4.jar + Apache Cassandra @@ -107,7 +121,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/cassandra/cassandra-thrift/1.2.11/cassandra-thrift-1.2.11.jar + Apache Cassandra @@ -122,7 +138,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/cassandra/cassandra-all/1.2.11/cassandra-all-1.2.11.jar + Apache Commons Lang @@ -137,7 +155,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1.jar + Apache ServiceMix :: Bundles :: commons-csv @@ -152,7 +172,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.commons-csv/1.0-r706900_3/org.apache.servicemix.bundles.commons-csv-1.0-r706900_3.jar + Apache Thrift @@ -167,7 +189,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt" - + + https://repo.maven.apache.org/maven2/org/apache/thrift/libthrift/0.7.0/libthrift-0.7.0.jar + archaius-core @@ -182,7 +206,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/archaius/archaius-core/0.5.12/archaius-core-0.5.12.jar + ASM Core @@ -197,7 +223,9 @@ http://asm.objectweb.org/license.html - + + https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar + AssertJ fluent assertions @@ -212,7 +240,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/assertj/assertj-core/3.4.0/assertj-core-3.4.0.jar + astyanax @@ -227,7 +257,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax/2.0.1/astyanax-2.0.1.jar + astyanax-cassandra @@ -242,7 +274,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-cassandra/2.0.1/astyanax-cassandra-2.0.1.jar + astyanax-contrib @@ -257,7 +291,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-contrib/2.0.1/astyanax-contrib-2.0.1.jar + astyanax-core @@ -272,7 +308,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-core/2.0.1/astyanax-core-2.0.1.jar + astyanax-cql @@ -287,7 +325,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-cql/2.0.1/astyanax-cql-2.0.1.jar + astyanax-entity-mapper @@ -302,7 +342,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-entity-mapper/2.0.1/astyanax-entity-mapper-2.0.1.jar + astyanax-examples @@ -317,7 +359,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-examples/2.0.1/astyanax-examples-2.0.1.jar + astyanax-queue @@ -332,7 +376,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-queue/2.0.1/astyanax-queue-2.0.1.jar + astyanax-recipes @@ -347,7 +393,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-recipes/2.0.1/astyanax-recipes-2.0.1.jar + astyanax-test @@ -362,7 +410,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-test/2.0.1/astyanax-test-2.0.1.jar + astyanax-thrift @@ -377,7 +427,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-thrift/2.0.1/astyanax-thrift-2.0.1.jar + avro @@ -386,7 +438,9 @@ 1.4.0-cassandra-1 jar - + + https://repo.maven.apache.org/maven2/org/apache/cassandra/deps/avro/1.4.0-cassandra-1/avro-1.4.0-cassandra-1.jar + Bean Validation API @@ -401,7 +455,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar + catch-exception @@ -416,7 +472,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/eu/codearte/catch-exception/catch-exception/1.4.4/catch-exception-1.4.4.jar + cglib @@ -431,7 +489,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib/3.2.0/cglib-3.2.0.jar + CLI @@ -446,7 +506,9 @@ /LICENSE.txt - + + https://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.1/commons-cli-1.1.jar + Code Generation Library @@ -461,7 +523,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib-nodep/2.2.2/cglib-nodep-2.2.2.jar + Commons Codec @@ -476,7 +540,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.5/commons-codec-1.5.jar + Commons Configuration @@ -491,7 +557,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/commons-configuration/commons-configuration/1.8/commons-configuration-1.8.jar + Commons Lang @@ -506,7 +574,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar + Commons Logging @@ -521,7 +591,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar + ConcurrentLinkedHashMap @@ -536,7 +608,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/googlecode/concurrentlinkedhashmap/concurrentlinkedhashmap-lru/1.3/concurrentlinkedhashmap-lru-1.3.jar + DataStax Java Driver for Apache Cassandra - Core @@ -551,7 +625,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/datastax/cassandra/cassandra-driver-core/2.0.3/cassandra-driver-core-2.0.3.jar + EasyMock @@ -566,7 +642,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/easymock/easymock/3.4/easymock-3.4.jar + Enterprise JavaBeans (EJB) 3.0 @@ -581,7 +659,9 @@ http://www.sun.com/cddl/cddl.html - + + https://repo.maven.apache.org/maven2/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar + eureka-client @@ -596,7 +676,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/eureka/eureka-client/1.1.110/eureka-client-1.1.110.jar + FindBugs-Annotations @@ -611,7 +693,9 @@ http://www.gnu.org/licenses/lgpl.html - + + https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/2.0.0/annotations-2.0.0.jar + Google Guice - Core Library @@ -626,7 +710,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/guice/4.0/guice-4.0.jar + Google Guice - Extensions - MultiBindings @@ -641,7 +727,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/extensions/guice-multibindings/4.0/guice-multibindings-4.0.jar + Guava: Google Core Libraries for Java @@ -656,7 +744,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/guava/guava/14.0.1/guava-14.0.1.jar + Hamcrest Core @@ -671,7 +761,9 @@ http://www.opensource.org/licenses/bsd-license.php - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar + Hamcrest library @@ -686,7 +778,9 @@ http://www.opensource.org/licenses/bsd-license.php - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar + Highly Scalable Java @@ -701,22 +795,9 @@ http://creativecommons.org/licenses/publicdomain - - - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - + + https://repo.maven.apache.org/maven2/com/github/stephenc/high-scale-lib/high-scale-lib/1.1.2/high-scale-lib-1.1.2.jar + Java Agent for Memory Measurements @@ -731,7 +812,9 @@ http://www.apache.org/licenses/LICENSE-2.0 - + + https://repo.maven.apache.org/maven2/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar + Javassist @@ -754,7 +837,9 @@ http://www.apache.org/licenses/ - + + https://repo.maven.apache.org/maven2/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA.jar + javax.inject @@ -769,7 +854,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar + jbcrypt @@ -783,7 +870,9 @@ ISC/BSD License - + + https://repo.maven.apache.org/maven2/org/mindrot/jbcrypt/0.3m/jbcrypt-0.3m.jar + Jetty Server @@ -802,7 +891,9 @@ http://www.eclipse.org/org/documents/epl-v10.php - + + https://repo.maven.apache.org/maven2/org/mortbay/jetty/jetty/6.1.22/jetty-6.1.22.jar + Jetty Utilities @@ -821,7 +912,9 @@ http://www.eclipse.org/org/documents/epl-v10.php - + + https://repo.maven.apache.org/maven2/org/mortbay/jetty/jetty-util/6.1.22/jetty-util-6.1.22.jar + JLine @@ -836,7 +929,9 @@ LICENSE.txt - + + https://repo.maven.apache.org/maven2/jline/jline/1.0/jline-1.0.jar + Joda time @@ -851,7 +946,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/joda-time/joda-time/1.6.2/joda-time-1.6.2.jar + JSON.simple @@ -866,7 +963,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.jar + JUnit @@ -881,7 +980,9 @@ http://www.eclipse.org/legal/epl-v10.html - + + https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar + Logback Classic Module @@ -900,7 +1001,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar + Logback Core Module @@ -919,7 +1022,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3.jar + LZ4 and xxHash @@ -934,7 +1039,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/net/jpountz/lz4/lz4/1.1.0/lz4-1.1.0.jar + Metrics Core @@ -949,7 +1056,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/com/codahale/metrics/metrics-core/3.0.2/metrics-core-3.0.2.jar + Metrics Core Library @@ -964,7 +1073,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/com/yammer/metrics/metrics-core/2.2.0/metrics-core-2.2.0.jar + Metrics Health Checks @@ -979,7 +1090,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/dropwizard/metrics/metrics-healthchecks/3.1.2/metrics-healthchecks-3.1.2.jar + Mockito @@ -994,7 +1107,9 @@ http://github.com/mockito/mockito/blob/master/LICENSE - + + https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar + MXP1: Xml Pull Parser 3rd Edition (XPP3) @@ -1013,7 +1128,9 @@ http://creativecommons.org/licenses/publicdomain - + + https://repo.maven.apache.org/maven2/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar + Ning-compress-LZF @@ -1028,7 +1145,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/com/ning/compress-lzf/0.8.4/compress-lzf-0.8.4.jar + Objenesis @@ -1043,7 +1162,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.1/objenesis-2.1.jar + powermock-api-easymock @@ -1058,7 +1179,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-easymock/1.6.4/powermock-api-easymock-1.6.4.jar + powermock-api-mockito @@ -1073,7 +1196,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-mockito/1.6.4/powermock-api-mockito-1.6.4.jar + powermock-api-support @@ -1088,7 +1213,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-support/1.6.4/powermock-api-support-1.6.4.jar + powermock-core @@ -1103,7 +1230,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-core/1.6.4/powermock-core-1.6.4.jar + powermock-module-junit4 @@ -1118,7 +1247,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4/1.6.4/powermock-module-junit4-1.6.4.jar + powermock-module-junit4-common @@ -1133,7 +1264,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4-common/1.6.4/powermock-module-junit4-common-1.6.4.jar + powermock-reflect @@ -1148,7 +1281,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-reflect/1.6.4/powermock-reflect-1.6.4.jar + servo-core @@ -1163,7 +1298,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/servo/servo-core/0.4.36/servo-core-0.4.36.jar + SLF4J API Module @@ -1178,7 +1315,9 @@ http://www.opensource.org/licenses/mit-license.php - + + https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar + SnakeYAML @@ -1193,7 +1332,9 @@ LICENSE.txt - + + https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar + SnapTree RI @@ -1208,7 +1349,9 @@ https://raw.github.com/nbronson/snaptree/b198f84b0c927f6b5cdef080552fc26aa004d3ee/doc/LICENSE - + + https://repo.maven.apache.org/maven2/edu/stanford/ppl/snaptree/0.1/snaptree-0.1.jar + swagger-annotations @@ -1223,7 +1366,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-annotations/1.5.4/swagger-annotations-1.5.4.jar + swagger-core @@ -1238,7 +1383,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-core/1.5.4/swagger-core-1.5.4.jar + swagger-models @@ -1253,7 +1400,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-models/1.5.4/swagger-models-1.5.4.jar + The Netty Project @@ -1268,7 +1417,9 @@ http://www.apache.org/licenses/LICENSE-2.0 - + + https://repo.maven.apache.org/maven2/io/netty/netty/3.6.6.Final/netty-3.6.6.Final.jar + UUID @@ -1283,7 +1434,9 @@ http://www.opensource.org/licenses/mit-license.php - + + https://repo.maven.apache.org/maven2/com/eaio/uuid/uuid/3.2/uuid-3.2.jar + XML Pull Parsing API @@ -1298,7 +1451,9 @@ http://www.xmlpull.org/v1/download/unpacked/LICENSE.txt - + + https://repo.maven.apache.org/maven2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar + XStream Core @@ -1313,7 +1468,9 @@ http://xstream.codehaus.com/license.html - + + https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.4.2/xstream-1.4.2.jar + - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-database-attribution.xml b/ATTRIBUTIONS/wasabi-database-attribution.xml index 462e4d48b..6108ec669 100644 --- a/ATTRIBUTIONS/wasabi-database-attribution.xml +++ b/ATTRIBUTIONS/wasabi-database-attribution.xml @@ -824,7 +824,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/database/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -895,23 +895,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -1541,7 +1524,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -1556,7 +1539,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -1571,7 +1554,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -1586,7 +1569,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -1598,4 +1581,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-email-attribution.xml b/ATTRIBUTIONS/wasabi-email-attribution.xml index f522aced0..f1402c4a7 100644 --- a/ATTRIBUTIONS/wasabi-email-attribution.xml +++ b/ATTRIBUTIONS/wasabi-email-attribution.xml @@ -1214,7 +1214,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/email/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1285,23 +1285,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -2228,7 +2211,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -2243,7 +2226,7 @@ wasabi-assignment com.intuit.wasabi wasabi-assignment - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment jar @@ -2258,7 +2241,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -2273,7 +2256,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -2288,7 +2271,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -2303,7 +2286,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -2318,7 +2301,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -2333,7 +2316,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -2348,7 +2331,7 @@ wasabi-event com.intuit.wasabi wasabi-event - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-event jar @@ -2363,7 +2346,7 @@ wasabi-event-objects com.intuit.wasabi wasabi-event-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-event-objects jar @@ -2378,7 +2361,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -2393,7 +2376,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -2408,7 +2391,7 @@ wasabi-experiment com.intuit.wasabi wasabi-experiment - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment jar @@ -2423,7 +2406,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -2438,7 +2421,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -2453,7 +2436,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -2468,7 +2451,7 @@ wasabi-repository com.intuit.wasabi wasabi-repository - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-repository jar @@ -2483,7 +2466,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -2550,4 +2533,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-event-attribution.xml b/ATTRIBUTIONS/wasabi-event-attribution.xml index 9b973b5f0..3e6ab35fe 100644 --- a/ATTRIBUTIONS/wasabi-event-attribution.xml +++ b/ATTRIBUTIONS/wasabi-event-attribution.xml @@ -1158,7 +1158,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/event/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1229,23 +1229,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -2138,7 +2121,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -2153,7 +2136,7 @@ wasabi-assignment com.intuit.wasabi wasabi-assignment - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment jar @@ -2168,7 +2151,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -2183,7 +2166,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -2198,7 +2181,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -2213,7 +2196,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -2228,7 +2211,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -2243,7 +2226,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -2258,7 +2241,7 @@ wasabi-event-objects com.intuit.wasabi wasabi-event-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-event-objects jar @@ -2273,7 +2256,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -2288,7 +2271,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -2303,7 +2286,7 @@ wasabi-experiment com.intuit.wasabi wasabi-experiment - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment jar @@ -2318,7 +2301,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -2333,7 +2316,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -2348,7 +2331,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -2363,7 +2346,7 @@ wasabi-repository com.intuit.wasabi wasabi-repository - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-repository jar @@ -2378,7 +2361,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -2445,4 +2428,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-event-objects-attribution.xml b/ATTRIBUTIONS/wasabi-event-objects-attribution.xml index 1feed3ff8..5db40d6e5 100644 --- a/ATTRIBUTIONS/wasabi-event-objects-attribution.xml +++ b/ATTRIBUTIONS/wasabi-event-objects-attribution.xml @@ -851,7 +851,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/event-objects/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -922,23 +922,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -1517,7 +1500,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -1532,7 +1515,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -1547,7 +1530,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -1562,7 +1545,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -1577,7 +1560,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -1589,4 +1572,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-eventlog-attribution.xml b/ATTRIBUTIONS/wasabi-eventlog-attribution.xml index 679e20dd0..b84f3ad93 100644 --- a/ATTRIBUTIONS/wasabi-eventlog-attribution.xml +++ b/ATTRIBUTIONS/wasabi-eventlog-attribution.xml @@ -807,7 +807,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/eventlog/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -878,23 +878,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -1473,7 +1456,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -1488,7 +1471,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -1503,7 +1486,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -1518,7 +1501,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -1533,7 +1516,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -1545,4 +1528,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-exceptions-attribution.xml b/ATTRIBUTIONS/wasabi-exceptions-attribution.xml index f35ded97e..968aaa011 100644 --- a/ATTRIBUTIONS/wasabi-exceptions-attribution.xml +++ b/ATTRIBUTIONS/wasabi-exceptions-attribution.xml @@ -807,7 +807,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/exceptions/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -878,23 +878,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -1473,7 +1456,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -1488,7 +1471,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -1503,7 +1486,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -1515,4 +1498,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-experiment-attribution.xml b/ATTRIBUTIONS/wasabi-experiment-attribution.xml index 126a04ca1..3d7a53fa2 100644 --- a/ATTRIBUTIONS/wasabi-experiment-attribution.xml +++ b/ATTRIBUTIONS/wasabi-experiment-attribution.xml @@ -1158,7 +1158,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/experiment/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1229,23 +1229,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -2138,7 +2121,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -2153,7 +2136,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -2168,7 +2151,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -2183,7 +2166,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -2198,7 +2181,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -2213,7 +2196,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -2228,7 +2211,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -2243,7 +2226,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -2258,7 +2241,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -2273,7 +2256,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -2288,7 +2271,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -2303,7 +2286,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -2318,7 +2301,7 @@ wasabi-repository com.intuit.wasabi wasabi-repository - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-repository jar @@ -2333,7 +2316,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -2400,4 +2383,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-experiment-objects-attribution.xml b/ATTRIBUTIONS/wasabi-experiment-objects-attribution.xml index 71affde9c..e7001116d 100644 --- a/ATTRIBUTIONS/wasabi-experiment-objects-attribution.xml +++ b/ATTRIBUTIONS/wasabi-experiment-objects-attribution.xml @@ -8,7 +8,9 @@ http://www.antlr.org jar - + + https://repo.maven.apache.org/maven2/org/antlr/antlr-runtime/3.2/antlr-runtime-3.2.jar + ANTLR Grammar Tool @@ -18,7 +20,9 @@ http://antlr.org jar - + + https://repo.maven.apache.org/maven2/org/antlr/antlr/3.2/antlr-3.2.jar + AntLR Parser Generator @@ -33,7 +37,9 @@ http://www.antlr.org/license.html - + + https://repo.maven.apache.org/maven2/antlr/antlr/2.7.7/antlr-2.7.7.jar + ANTLR StringTemplate @@ -48,7 +54,9 @@ http://antlr.org/license.html - + + https://repo.maven.apache.org/maven2/org/antlr/stringtemplate/3.2/stringtemplate-3.2.jar + AOP alliance @@ -62,7 +70,9 @@ Public Domain - + + https://repo.maven.apache.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar + Apache Ant Core @@ -77,7 +87,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.9.4/ant-1.9.4.jar + Apache Ant Launcher @@ -92,7 +104,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant-launcher/1.9.4/ant-launcher-1.9.4.jar + Apache Cassandra @@ -107,7 +121,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/cassandra/cassandra-all/1.2.11/cassandra-all-1.2.11.jar + Apache Cassandra @@ -122,7 +138,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/cassandra/cassandra-thrift/1.2.11/cassandra-thrift-1.2.11.jar + Apache Commons Lang @@ -137,7 +155,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar + Apache Log4j @@ -152,7 +172,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/log4j/log4j/1.2.17/log4j-1.2.17.jar + Apache ServiceMix :: Bundles :: commons-csv @@ -167,7 +189,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.commons-csv/1.0-r706900_3/org.apache.servicemix.bundles.commons-csv-1.0-r706900_3.jar + Apache Thrift @@ -182,7 +206,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt" - + + https://repo.maven.apache.org/maven2/org/apache/thrift/libthrift/0.7.0/libthrift-0.7.0.jar + ASM Core @@ -197,7 +223,9 @@ http://asm.objectweb.org/license.html - + + https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar + AssertJ fluent assertions @@ -212,7 +240,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/assertj/assertj-core/3.4.0/assertj-core-3.4.0.jar + astyanax-cassandra @@ -227,7 +257,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-cassandra/2.0.1/astyanax-cassandra-2.0.1.jar + astyanax-core @@ -242,7 +274,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/astyanax/astyanax-core/2.0.1/astyanax-core-2.0.1.jar + avro @@ -251,7 +285,9 @@ 1.4.0-cassandra-1 jar - + + https://repo.maven.apache.org/maven2/org/apache/cassandra/deps/avro/1.4.0-cassandra-1/avro-1.4.0-cassandra-1.jar + Bean Validation API @@ -266,7 +302,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar + catch-exception @@ -281,7 +319,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/eu/codearte/catch-exception/catch-exception/1.4.4/catch-exception-1.4.4.jar + cglib @@ -296,7 +336,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib/3.2.0/cglib-3.2.0.jar + CLI @@ -311,7 +353,9 @@ /LICENSE.txt - + + https://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.1/commons-cli-1.1.jar + Code Generation Library @@ -326,7 +370,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib-nodep/2.2.2/cglib-nodep-2.2.2.jar + Commons Codec @@ -341,7 +387,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.5/commons-codec-1.5.jar + ConcurrentLinkedHashMap @@ -356,7 +404,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/googlecode/concurrentlinkedhashmap/concurrentlinkedhashmap-lru/1.3/concurrentlinkedhashmap-lru-1.3.jar + EasyMock @@ -371,7 +421,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/easymock/easymock/3.4/easymock-3.4.jar + Google Guice - Core Library @@ -386,7 +438,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/guice/4.0/guice-4.0.jar + Google Guice - Extensions - MultiBindings @@ -401,7 +455,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/extensions/guice-multibindings/4.0/guice-multibindings-4.0.jar + Guava: Google Core Libraries for Java @@ -416,7 +472,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/guava/guava/14.0.1/guava-14.0.1.jar + Hamcrest Core @@ -431,7 +489,9 @@ http://www.opensource.org/licenses/bsd-license.php - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar + Hamcrest library @@ -446,7 +506,9 @@ http://www.opensource.org/licenses/bsd-license.php - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar + Highly Scalable Java @@ -461,7 +523,9 @@ http://creativecommons.org/licenses/publicdomain - + + https://repo.maven.apache.org/maven2/com/github/stephenc/high-scale-lib/high-scale-lib/1.1.2/high-scale-lib-1.1.2.jar + Hyrule @@ -471,7 +535,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/experiment-objects/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -487,7 +551,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.7.2/jackson-annotations-2.7.2.jar + Jackson-core @@ -502,7 +568,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.7.2/jackson-core-2.7.2.jar + jackson-databind @@ -517,22 +585,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - - - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - + + https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar + Java Agent for Memory Measurements @@ -547,7 +602,9 @@ http://www.apache.org/licenses/LICENSE-2.0 - + + https://repo.maven.apache.org/maven2/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar + Javassist @@ -570,7 +627,9 @@ http://www.apache.org/licenses/ - + + https://repo.maven.apache.org/maven2/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA.jar + javax.inject @@ -585,7 +644,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar + jbcrypt @@ -599,7 +660,9 @@ ISC/BSD License - + + https://repo.maven.apache.org/maven2/org/mindrot/jbcrypt/0.3m/jbcrypt-0.3m.jar + JLine @@ -614,7 +677,9 @@ LICENSE.txt - + + https://repo.maven.apache.org/maven2/jline/jline/1.0/jline-1.0.jar + Joda time @@ -629,7 +694,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/joda-time/joda-time/1.6.2/joda-time-1.6.2.jar + JSON.simple @@ -644,7 +711,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.jar + JUnit @@ -659,7 +728,9 @@ http://www.eclipse.org/legal/epl-v10.html - + + https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar + Logback Classic Module @@ -678,7 +749,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar + Logback Core Module @@ -697,7 +770,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3.jar + LZ4 and xxHash @@ -712,7 +787,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/net/jpountz/lz4/lz4/1.1.0/lz4-1.1.0.jar + Metrics Core Library @@ -727,7 +804,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/com/yammer/metrics/metrics-core/2.2.0/metrics-core-2.2.0.jar + Mockito @@ -742,7 +821,9 @@ http://github.com/mockito/mockito/blob/master/LICENSE - + + https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar + Ning-compress-LZF @@ -757,7 +838,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/com/ning/compress-lzf/0.8.4/compress-lzf-0.8.4.jar + Objenesis @@ -772,7 +855,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.1/objenesis-2.1.jar + powermock-api-easymock @@ -787,7 +872,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-easymock/1.6.4/powermock-api-easymock-1.6.4.jar + powermock-api-mockito @@ -802,7 +889,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-mockito/1.6.4/powermock-api-mockito-1.6.4.jar + powermock-api-support @@ -817,7 +906,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-support/1.6.4/powermock-api-support-1.6.4.jar + powermock-core @@ -832,7 +923,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-core/1.6.4/powermock-core-1.6.4.jar + powermock-module-junit4 @@ -847,7 +940,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4/1.6.4/powermock-module-junit4-1.6.4.jar + powermock-module-junit4-common @@ -862,7 +957,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4-common/1.6.4/powermock-module-junit4-common-1.6.4.jar + powermock-reflect @@ -877,7 +974,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-reflect/1.6.4/powermock-reflect-1.6.4.jar + SLF4J API Module @@ -892,7 +991,9 @@ http://www.opensource.org/licenses/mit-license.php - + + https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar + SnakeYAML @@ -907,7 +1008,9 @@ LICENSE.txt - + + https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar + SnapTree RI @@ -922,7 +1025,9 @@ https://raw.github.com/nbronson/snaptree/b198f84b0c927f6b5cdef080552fc26aa004d3ee/doc/LICENSE - + + https://repo.maven.apache.org/maven2/edu/stanford/ppl/snaptree/0.1/snaptree-0.1.jar + swagger-annotations @@ -937,7 +1042,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-annotations/1.5.4/swagger-annotations-1.5.4.jar + swagger-core @@ -952,7 +1059,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-core/1.5.4/swagger-core-1.5.4.jar + swagger-models @@ -967,7 +1076,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-models/1.5.4/swagger-models-1.5.4.jar + The Netty Project @@ -982,7 +1093,9 @@ http://www.apache.org/licenses/LICENSE-2.0 - + + https://repo.maven.apache.org/maven2/io/netty/netty/3.6.6.Final/netty-3.6.6.Final.jar + UUID @@ -997,7 +1110,9 @@ http://www.opensource.org/licenses/mit-license.php - + + https://repo.maven.apache.org/maven2/com/eaio/uuid/uuid/3.2/uuid-3.2.jar + - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-export-attribution.xml b/ATTRIBUTIONS/wasabi-export-attribution.xml index 9976ba7a2..10455d0e5 100644 --- a/ATTRIBUTIONS/wasabi-export-attribution.xml +++ b/ATTRIBUTIONS/wasabi-export-attribution.xml @@ -12,7 +12,9 @@ Public Domain - + + https://repo.maven.apache.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar + Apache Ant Core @@ -27,7 +29,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.9.4/ant-1.9.4.jar + Apache Ant Launcher @@ -42,7 +46,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant-launcher/1.9.4/ant-launcher-1.9.4.jar + Apache Commons Codec @@ -57,7 +63,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.9/commons-codec-1.9.jar + Apache Commons Lang @@ -72,7 +80,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.3/commons-lang3-3.3.jar + Apache Commons Logging @@ -87,7 +97,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar + Apache HttpClient @@ -102,7 +114,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.5.1/httpclient-4.5.1.jar + Apache HttpCore @@ -117,7 +131,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.4.3/httpcore-4.4.3.jar + Apache XBean :: Classpath Resource Finder @@ -132,7 +148,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/xbean/xbean-finder/3.11.1/xbean-finder-3.11.1.jar + Apache XBean OSGI Bundle Utilities @@ -147,7 +165,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/xbean/xbean-bundleutils/3.11.1/xbean-bundleutils-3.11.1.jar + archaius-core @@ -162,7 +182,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/archaius/archaius-core/0.5.12/archaius-core-0.5.12.jar + ASM All @@ -177,7 +199,9 @@ http://asm.objectweb.org/license.html - + + https://repo.maven.apache.org/maven2/asm/asm-all/3.2/asm-all-3.2.jar + ASM Core @@ -192,7 +216,9 @@ http://asm.objectweb.org/license.html - + + https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar + AssertJ fluent assertions @@ -207,7 +233,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/assertj/assertj-core/3.4.0/assertj-core-3.4.0.jar + autumn-utils @@ -222,7 +250,9 @@ http://www.apache.org/licenses/LICENSE-2.0 - + + https://repo.maven.apache.org/maven2/com/intuit/autumn/autumn-utils/1.0.20160626031951/autumn-utils-1.0.20160626031951.jar + Bean Validation API @@ -237,7 +267,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar + catch-exception @@ -252,7 +284,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/eu/codearte/catch-exception/catch-exception/1.4.4/catch-exception-1.4.4.jar + cglib @@ -267,7 +301,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib/3.2.0/cglib-3.2.0.jar + Code Generation Library @@ -282,7 +318,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib-nodep/2.2.2/cglib-nodep-2.2.2.jar + Commons Configuration @@ -297,7 +335,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/commons-configuration/commons-configuration/1.8/commons-configuration-1.8.jar + Commons IO @@ -312,7 +352,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/commons-io/commons-io/2.4/commons-io-2.4.jar + Commons Lang @@ -327,7 +369,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar + Data Mapper for Jackson @@ -342,7 +386,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-mapper-asl/1.9.11/jackson-mapper-asl-1.9.11.jar + EasyMock @@ -357,7 +403,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/easymock/easymock/3.4/easymock-3.4.jar + FindBugs-Annotations @@ -372,7 +420,9 @@ http://www.gnu.org/licenses/lgpl.html - + + https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/2.0.0/annotations-2.0.0.jar + Google Guice - Core Library @@ -387,7 +437,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/guice/4.0/guice-4.0.jar + Google Guice - Extensions - AssistedInject @@ -402,7 +454,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/extensions/guice-assistedinject/3.0/guice-assistedinject-3.0.jar + Google Guice - Extensions - Grapher @@ -417,7 +471,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/extensions/guice-grapher/3.0/guice-grapher-3.0.jar + Google Guice - Extensions - MultiBindings @@ -432,7 +488,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/extensions/guice-multibindings/4.0/guice-multibindings-4.0.jar + governator @@ -447,7 +505,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/netflix/governator/governator/1.3.3/governator-1.3.3.jar + Guava: Google Core Libraries for Java @@ -462,7 +522,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/guava/guava/16.0.1/guava-16.0.1.jar + Hamcrest Core @@ -477,7 +539,9 @@ http://www.opensource.org/licenses/bsd-license.php - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar + Hamcrest library @@ -492,7 +556,9 @@ http://www.opensource.org/licenses/bsd-license.php - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar + Hibernate Validator @@ -507,7 +573,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/hibernate/hibernate-validator/4.1.0.Final/hibernate-validator-4.1.0.Final.jar + Jackson @@ -522,22 +590,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - - - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - + + https://repo.maven.apache.org/maven2/org/codehaus/jackson/jackson-core-asl/1.9.11/jackson-core-asl-1.9.11.jar + Javassist @@ -560,7 +615,9 @@ http://www.apache.org/licenses/ - + + https://repo.maven.apache.org/maven2/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA.jar + javax.inject @@ -575,7 +632,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar + jsr166y @@ -584,7 +643,9 @@ 1.7.0 jar - + + https://repo.maven.apache.org/maven2/org/codehaus/jsr166-mirror/jsr166y/1.7.0/jsr166y-1.7.0.jar + JUnit @@ -599,7 +660,9 @@ http://www.eclipse.org/legal/epl-v10.html - + + https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar + Logback Classic Module @@ -618,7 +681,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar + Logback Core Module @@ -637,7 +702,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3.jar + Mockito @@ -652,7 +719,9 @@ http://github.com/mockito/mockito/blob/master/LICENSE - + + https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar + Objenesis @@ -667,7 +736,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.1/objenesis-2.1.jar + powermock-api-easymock @@ -682,7 +753,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-easymock/1.6.4/powermock-api-easymock-1.6.4.jar + powermock-api-mockito @@ -697,7 +770,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-mockito/1.6.4/powermock-api-mockito-1.6.4.jar + powermock-api-support @@ -712,7 +787,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-support/1.6.4/powermock-api-support-1.6.4.jar + powermock-core @@ -727,7 +804,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-core/1.6.4/powermock-core-1.6.4.jar + powermock-module-junit4 @@ -742,7 +821,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4/1.6.4/powermock-module-junit4-1.6.4.jar + powermock-module-junit4-common @@ -757,7 +838,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4-common/1.6.4/powermock-module-junit4-common-1.6.4.jar + powermock-reflect @@ -772,7 +855,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-reflect/1.6.4/powermock-reflect-1.6.4.jar + SLF4J API Module @@ -787,7 +872,9 @@ http://www.opensource.org/licenses/mit-license.php - + + https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar + swagger-annotations @@ -802,7 +889,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-annotations/1.5.4/swagger-annotations-1.5.4.jar + swagger-core @@ -817,7 +906,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-core/1.5.4/swagger-core-1.5.4.jar + swagger-models @@ -832,7 +923,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-models/1.5.4/swagger-models-1.5.4.jar + - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-feedback-attribution.xml b/ATTRIBUTIONS/wasabi-feedback-attribution.xml index b3f563ed2..816662860 100644 --- a/ATTRIBUTIONS/wasabi-feedback-attribution.xml +++ b/ATTRIBUTIONS/wasabi-feedback-attribution.xml @@ -1135,7 +1135,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/feedback/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1206,23 +1206,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -2174,7 +2157,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -2189,7 +2172,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -2204,7 +2187,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -2219,7 +2202,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -2234,7 +2217,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -2249,7 +2232,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -2264,7 +2247,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -2279,7 +2262,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -2294,7 +2277,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -2309,7 +2292,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -2324,7 +2307,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -2339,7 +2322,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -2354,7 +2337,7 @@ wasabi-repository com.intuit.wasabi wasabi-repository - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-repository jar @@ -2369,7 +2352,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -2436,4 +2419,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-feedback-objects-attribution.xml b/ATTRIBUTIONS/wasabi-feedback-objects-attribution.xml index 65ecf1427..677ccdbb3 100644 --- a/ATTRIBUTIONS/wasabi-feedback-objects-attribution.xml +++ b/ATTRIBUTIONS/wasabi-feedback-objects-attribution.xml @@ -322,23 +322,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Javassist org.javassist @@ -665,7 +648,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -677,4 +660,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-functional-test-attribution.xml b/ATTRIBUTIONS/wasabi-functional-test-attribution.xml index 5b2ffc428..a938e91cf 100644 --- a/ATTRIBUTIONS/wasabi-functional-test-attribution.xml +++ b/ATTRIBUTIONS/wasabi-functional-test-attribution.xml @@ -515,23 +515,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.2.3/jackson-databind-2.2.3.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - JavaBeans Activation Framework (JAF) javax.activation diff --git a/ATTRIBUTIONS/wasabi-main-attribution.xml b/ATTRIBUTIONS/wasabi-main-attribution.xml index eae508265..485f30f51 100644 --- a/ATTRIBUTIONS/wasabi-main-attribution.xml +++ b/ATTRIBUTIONS/wasabi-main-attribution.xml @@ -1429,7 +1429,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/main/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1585,23 +1585,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.7.2/jackson-module-jaxb-annotations-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -3050,7 +3033,7 @@ wasabi-analytics com.intuit.wasabi wasabi-analytics - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics jar @@ -3065,7 +3048,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -3080,7 +3063,7 @@ wasabi-api com.intuit.wasabi wasabi-api - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-api jar @@ -3095,7 +3078,7 @@ wasabi-assignment com.intuit.wasabi wasabi-assignment - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment jar @@ -3110,7 +3093,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -3125,7 +3108,7 @@ wasabi-auditlog com.intuit.wasabi wasabi-auditlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog jar @@ -3140,7 +3123,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -3155,7 +3138,7 @@ wasabi-authentication com.intuit.wasabi wasabi-authentication - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication jar @@ -3170,7 +3153,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -3185,7 +3168,7 @@ wasabi-authorization com.intuit.wasabi wasabi-authorization - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization jar @@ -3200,7 +3183,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -3215,7 +3198,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -3230,7 +3213,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -3245,7 +3228,7 @@ wasabi-email com.intuit.wasabi wasabi-email - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-email jar @@ -3260,7 +3243,7 @@ wasabi-event com.intuit.wasabi wasabi-event - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-event jar @@ -3275,7 +3258,7 @@ wasabi-event-objects com.intuit.wasabi wasabi-event-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-event-objects jar @@ -3290,7 +3273,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -3305,7 +3288,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -3320,7 +3303,7 @@ wasabi-experiment com.intuit.wasabi wasabi-experiment - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment jar @@ -3335,7 +3318,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -3350,7 +3333,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -3365,7 +3348,7 @@ wasabi-feedback com.intuit.wasabi wasabi-feedback - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback jar @@ -3380,7 +3363,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -3395,7 +3378,7 @@ wasabi-repository com.intuit.wasabi wasabi-repository - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-repository jar @@ -3410,7 +3393,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -3425,7 +3408,7 @@ wasabi-util com.intuit.wasabi wasabi-util - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-util jar @@ -3509,4 +3492,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-repository-attribution.xml b/ATTRIBUTIONS/wasabi-repository-attribution.xml index 570e13edd..200843db9 100644 --- a/ATTRIBUTIONS/wasabi-repository-attribution.xml +++ b/ATTRIBUTIONS/wasabi-repository-attribution.xml @@ -1141,7 +1141,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/repository/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -1212,23 +1212,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -2180,7 +2163,7 @@ wasabi-analytics-objects com.intuit.wasabi wasabi-analytics-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-analytics-objects jar @@ -2195,7 +2178,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -2210,7 +2193,7 @@ wasabi-auditlog-objects com.intuit.wasabi wasabi-auditlog-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-auditlog-objects jar @@ -2225,7 +2208,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -2240,7 +2223,7 @@ wasabi-authorization-objects com.intuit.wasabi wasabi-authorization-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authorization-objects jar @@ -2255,7 +2238,7 @@ wasabi-cassandra com.intuit.wasabi wasabi-cassandra - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-cassandra jar @@ -2270,7 +2253,7 @@ wasabi-database com.intuit.wasabi wasabi-database - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-database jar @@ -2285,7 +2268,7 @@ wasabi-eventlog com.intuit.wasabi wasabi-eventlog - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-eventlog jar @@ -2300,7 +2283,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -2315,7 +2298,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -2330,7 +2313,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -2345,7 +2328,7 @@ wasabi-feedback-objects com.intuit.wasabi wasabi-feedback-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-feedback-objects jar @@ -2360,7 +2343,7 @@ wasabi-user-directory com.intuit.wasabi wasabi-user-directory - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-user-directory jar @@ -2427,4 +2410,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-swagger-ui-attribution.xml b/ATTRIBUTIONS/wasabi-swagger-ui-attribution.xml index 0a921594b..a8ddbf5da 100644 --- a/ATTRIBUTIONS/wasabi-swagger-ui-attribution.xml +++ b/ATTRIBUTIONS/wasabi-swagger-ui-attribution.xml @@ -12,7 +12,9 @@ Public Domain - + + https://repo.maven.apache.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar + Apache Ant Core @@ -27,7 +29,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.9.4/ant-1.9.4.jar + Apache Ant Launcher @@ -42,7 +46,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant-launcher/1.9.4/ant-launcher-1.9.4.jar + Apache Commons Lang @@ -57,7 +63,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1.jar + ASM Core @@ -72,7 +80,9 @@ http://asm.objectweb.org/license.html - + + https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar + AssertJ fluent assertions @@ -87,7 +97,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/assertj/assertj-core/3.4.0/assertj-core-3.4.0.jar + Bean Validation API @@ -102,7 +114,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar + catch-exception @@ -117,7 +131,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/eu/codearte/catch-exception/catch-exception/1.4.4/catch-exception-1.4.4.jar + cglib @@ -132,7 +148,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib/3.2.0/cglib-3.2.0.jar + Code Generation Library @@ -147,7 +165,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib-nodep/2.2.2/cglib-nodep-2.2.2.jar + EasyMock @@ -162,7 +182,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/easymock/easymock/3.4/easymock-3.4.jar + Google Guice - Core Library @@ -177,7 +199,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/guice/4.0/guice-4.0.jar + Google Guice - Extensions - MultiBindings @@ -192,7 +216,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/extensions/guice-multibindings/4.0/guice-multibindings-4.0.jar + Guava: Google Core Libraries for Java @@ -207,7 +233,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/guava/guava/16.0.1/guava-16.0.1.jar + Hamcrest Core @@ -222,7 +250,9 @@ http://www.opensource.org/licenses/bsd-license.php - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar + Hamcrest library @@ -237,22 +267,9 @@ http://www.opensource.org/licenses/bsd-license.php - - - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar + Javassist @@ -275,7 +292,9 @@ http://www.apache.org/licenses/ - + + https://repo.maven.apache.org/maven2/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA.jar + javax.inject @@ -290,7 +309,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar + JUnit @@ -305,7 +326,9 @@ http://www.eclipse.org/legal/epl-v10.html - + + https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar + Logback Classic Module @@ -324,7 +347,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar + Logback Core Module @@ -343,7 +368,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3.jar + Mockito @@ -358,7 +385,9 @@ http://github.com/mockito/mockito/blob/master/LICENSE - + + https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar + Objenesis @@ -373,7 +402,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.1/objenesis-2.1.jar + powermock-api-easymock @@ -388,7 +419,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-easymock/1.6.4/powermock-api-easymock-1.6.4.jar + powermock-api-mockito @@ -403,7 +436,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-mockito/1.6.4/powermock-api-mockito-1.6.4.jar + powermock-api-support @@ -418,7 +453,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-support/1.6.4/powermock-api-support-1.6.4.jar + powermock-core @@ -433,7 +470,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-core/1.6.4/powermock-core-1.6.4.jar + powermock-module-junit4 @@ -448,7 +487,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4/1.6.4/powermock-module-junit4-1.6.4.jar + powermock-module-junit4-common @@ -463,7 +504,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4-common/1.6.4/powermock-module-junit4-common-1.6.4.jar + powermock-reflect @@ -478,7 +521,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-reflect/1.6.4/powermock-reflect-1.6.4.jar + SLF4J API Module @@ -493,7 +538,9 @@ http://www.opensource.org/licenses/mit-license.php - + + https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar + swagger-annotations @@ -508,7 +555,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-annotations/1.5.4/swagger-annotations-1.5.4.jar + swagger-core @@ -523,7 +572,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-core/1.5.4/swagger-core-1.5.4.jar + swagger-models @@ -538,7 +589,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-models/1.5.4/swagger-models-1.5.4.jar + - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-user-directory-attribution.xml b/ATTRIBUTIONS/wasabi-user-directory-attribution.xml index 35562d0b3..ecb24c2eb 100644 --- a/ATTRIBUTIONS/wasabi-user-directory-attribution.xml +++ b/ATTRIBUTIONS/wasabi-user-directory-attribution.xml @@ -818,7 +818,7 @@ jar - TBD + file:/Users/iizrailevsky/Git/wasabi/modules/user-directory/../../repository/Hyrule/Hyrule/0.0.1/Hyrule-0.0.1.jar @@ -889,23 +889,6 @@ https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.7.2/jackson-databind-2.7.2.jar - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - - https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644.pom - - Java Agent for Memory Measurements com.github.stephenc @@ -1675,7 +1658,7 @@ wasabi-assignment-objects com.intuit.wasabi wasabi-assignment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-assignment-objects jar @@ -1690,7 +1673,7 @@ wasabi-authentication-objects com.intuit.wasabi wasabi-authentication-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-authentication-objects jar @@ -1705,7 +1688,7 @@ wasabi-exceptions com.intuit.wasabi wasabi-exceptions - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-exceptions jar @@ -1720,7 +1703,7 @@ wasabi-experiment-objects com.intuit.wasabi wasabi-experiment-objects - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-experiment-objects jar @@ -1735,7 +1718,7 @@ wasabi-export com.intuit.wasabi wasabi-export - 1.0.20160801220857-SNAPSHOT + 1.0.20161014052805-SNAPSHOT https://github.com/intuit/wasabi/modules/wasabi-export jar @@ -1768,4 +1751,4 @@ - + \ No newline at end of file diff --git a/ATTRIBUTIONS/wasabi-util-attribution.xml b/ATTRIBUTIONS/wasabi-util-attribution.xml index 233dea1b1..748207645 100644 --- a/ATTRIBUTIONS/wasabi-util-attribution.xml +++ b/ATTRIBUTIONS/wasabi-util-attribution.xml @@ -12,7 +12,9 @@ Public Domain - + + https://repo.maven.apache.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar + Apache Ant Core @@ -27,7 +29,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.9.4/ant-1.9.4.jar + Apache Ant Launcher @@ -42,7 +46,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/ant/ant-launcher/1.9.4/ant-launcher-1.9.4.jar + Apache Commons Lang @@ -57,7 +63,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar + ASM Core @@ -72,7 +80,9 @@ http://asm.objectweb.org/license.html - + + https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar + AssertJ fluent assertions @@ -87,7 +97,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/assertj/assertj-core/3.4.0/assertj-core-3.4.0.jar + Bean Validation API @@ -102,7 +114,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar + catch-exception @@ -117,7 +131,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/eu/codearte/catch-exception/catch-exception/1.4.4/catch-exception-1.4.4.jar + cglib @@ -132,7 +148,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib/3.2.0/cglib-3.2.0.jar + Code Generation Library @@ -147,7 +165,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/cglib/cglib-nodep/2.2.2/cglib-nodep-2.2.2.jar + EasyMock @@ -162,7 +182,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/easymock/easymock/3.4/easymock-3.4.jar + Google Guice - Core Library @@ -177,7 +199,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/guice/4.0/guice-4.0.jar + Google Guice - Extensions - MultiBindings @@ -192,7 +216,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/inject/extensions/guice-multibindings/4.0/guice-multibindings-4.0.jar + Guava: Google Core Libraries for Java @@ -207,7 +233,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/com/google/guava/guava/16.0.1/guava-16.0.1.jar + Hamcrest Core @@ -222,7 +250,9 @@ http://www.opensource.org/licenses/bsd-license.php - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar + Hamcrest library @@ -237,22 +267,9 @@ http://www.opensource.org/licenses/bsd-license.php - - - - JaCoCo :: Agent - org.jacoco - org.jacoco.agent - 0.7.2.201409121644 - http://org.jacoco.agent - pom - - - Eclipse Public License v1.0 - http://www.eclipse.org/legal/epl-v10.html - - - + + https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar + Javassist @@ -275,7 +292,9 @@ http://www.apache.org/licenses/ - + + https://repo.maven.apache.org/maven2/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA.jar + javax.inject @@ -290,7 +309,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar + JUnit @@ -305,7 +326,9 @@ http://www.eclipse.org/legal/epl-v10.html - + + https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar + Logback Classic Module @@ -324,7 +347,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar + Logback Core Module @@ -343,7 +368,9 @@ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html - + + https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3.jar + Mockito @@ -358,7 +385,9 @@ http://github.com/mockito/mockito/blob/master/LICENSE - + + https://repo.maven.apache.org/maven2/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar + Objenesis @@ -373,7 +402,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.1/objenesis-2.1.jar + powermock-api-easymock @@ -388,7 +419,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-easymock/1.6.4/powermock-api-easymock-1.6.4.jar + powermock-api-mockito @@ -403,7 +436,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-mockito/1.6.4/powermock-api-mockito-1.6.4.jar + powermock-api-support @@ -418,7 +453,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-api-support/1.6.4/powermock-api-support-1.6.4.jar + powermock-core @@ -433,7 +470,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-core/1.6.4/powermock-core-1.6.4.jar + powermock-module-junit4 @@ -448,7 +487,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4/1.6.4/powermock-module-junit4-1.6.4.jar + powermock-module-junit4-common @@ -463,7 +504,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-module-junit4-common/1.6.4/powermock-module-junit4-common-1.6.4.jar + powermock-reflect @@ -478,7 +521,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt - + + https://repo.maven.apache.org/maven2/org/powermock/powermock-reflect/1.6.4/powermock-reflect-1.6.4.jar + SLF4J API Module @@ -493,7 +538,9 @@ http://www.opensource.org/licenses/mit-license.php - + + https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar + swagger-annotations @@ -508,7 +555,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-annotations/1.5.4/swagger-annotations-1.5.4.jar + swagger-core @@ -523,7 +572,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-core/1.5.4/swagger-core-1.5.4.jar + swagger-models @@ -538,7 +589,9 @@ http://www.apache.org/licenses/LICENSE-2.0.html - + + https://repo.maven.apache.org/maven2/io/swagger/swagger-models/1.5.4/swagger-models-1.5.4.jar + - + \ No newline at end of file diff --git a/bin/build.sh b/bin/build.sh index b7febee39..dcef36a79 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -37,7 +37,7 @@ EOF } fromPom() { - mvn -f $1/pom.xml -P$2 help:evaluate -Dexpression=$3 -B \ + mvn ${WASABI_MAVEN} -f $1/pom.xml -P$2 help:evaluate -Dexpression=$3 -B \ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=error | \ sed -n -e '/^\[.*\]/ !{ p; }' } @@ -78,10 +78,10 @@ module=main if [[ "${build}" = true || "${test}" = true || "${build_jar}" = true ]]; then [ "${build}" = true ] && package=package [ ! -e ./modules/main/target/wasabi-main-*-SNAPSHOT-${profile}-all.jar ] && package=package - [ "${test}" = true ] && tests=test + [ "${test}" = true ] && tests="org.jacoco:jacoco-maven-plugin:prepare-agent findbugs:check test" - mvn -P${profile} ${mvn_settings} clean ${tests:--Dmaven.test.skip=true} ${package} javadoc:aggregate || \ - usage "invalid: mvn ${tests} -P${profile} ${mvn_settings} clean ${package}" 1 + mvn ${WASABI_MAVEN} -P${profile} clean ${tests:--Dmaven.test.skip=true} ${package} javadoc:aggregate || \ + usage "invalid: mvn ${WASABI_MAVEN} -P${profile} clean ${tests:--Dmaven.test.skip=true} ${package} javadoc:aggregate" 1 fi artifact=$(fromPom ./modules/${module} ${profile} project.artifactId) @@ -118,7 +118,7 @@ cp ${home}/${id}-all.jar ${home}/${id}/lib chmod 755 ${home}/${id}/bin/run chmod 755 ${home}/${id}/entrypoint.sh sed -i '' -e "s/chpst -u [^:]*:[^ ]* //" ${home}/${id}/bin/run 2>/dev/null -[ ! -e ./modules/ui/dist/scripts/wasabi.js ] && build_js=true +[ ! -e ./modules/ui/target/dist/scripts/wasabi.js ] && build_js=true if [[ "${build}" = true || "${build_js}" = true ]]; then if [ "${WASABI_OS}" == "${WASABI_OSX}" ]; then diff --git a/bin/container.sh b/bin/container.sh index d724f3c9d..c4b71e1af 100755 --- a/bin/container.sh +++ b/bin/container.sh @@ -50,7 +50,7 @@ EOF } fromPom() { - mvn -f $1/pom.xml -P $2 help:evaluate -Dexpression=$3 | sed -n -e '/^\[.*\]/ !{ p; }' + mvn ${WASABI_MAVEN} -f $1/pom.xml -P $2 help:evaluate -Dexpression=$3 | sed -n -e '/^\[.*\]/ !{ p; }' } beerMe() { @@ -70,7 +70,7 @@ beerMe() { start_docker() { docker ps >/dev/null 2>&1 - [[ $? != 0 && "${WASABI_OS}" == "${wasabi_os_default}" ]] && open /Applications/Docker.app + [[ $? != 0 && "${WASABI_OS}" == "${WASABI_OSX}" ]] && open /Applications/Docker.app while :; do docker ps >/dev/null 2>&1 @@ -80,7 +80,7 @@ start_docker() { } stop_docker() { - if [ "${WASABI_OS}" == "${wasabi_os_default}" ]; then + if [ "${WASABI_OS}" == "${WASABI_OSX}" ]; then osascript -e 'quit app "Docker"' fi } diff --git a/bin/fpm.sh b/bin/fpm.sh index 62e6fc91a..73428381c 100755 --- a/bin/fpm.sh +++ b/bin/fpm.sh @@ -21,7 +21,7 @@ usage () { } fromPom() { - mvn -f modules/$1/pom.xml help:evaluate -Dexpression=$2 | sed -n -e '/^\[.*\]/ !{ p; }' + mvn ${WASABI_MAVEN} -f modules/$1/pom.xml help:evaluate -Dexpression=$2 | sed -n -e '/^\[.*\]/ !{ p; }' } exitOnError() { diff --git a/bin/jenkins.sh b/bin/jenkins.sh new file mode 100755 index 000000000..8e85f420d --- /dev/null +++ b/bin/jenkins.sh @@ -0,0 +1,188 @@ +#!/usr/bin/env bash +############################################################################### +# Copyright 2016 Intuit +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +# configurables: +# +# profile : project name +# build : build kill switch; default:false +# profile : maven profile; default:test +# modules : project modules to build; default:main ui +# execute_integration_tests : execute integration test kill switch; default:true +# deploy_host : integration test host; default:deploy.host +# deploy_host_url : integration test deploy user; default:deploy.user +# sonar_host_url : sonar host; default:+-Dsonar.host.url=SONAR_HOST_URL +# sonar_auth_token : sonar authorization token; default:-Dsonar.login=SONAR_AUTH_TOKEN +# nexus_archive : nexus archive kill switch; default:false +# nexus_repositories : nexus repositories +# nexus_repository_id : nexus milestone repository id +# nexus_snapshot_repository_id : nexus snapshot repository id +# nexus_deploy : nexus deploy user; default:usr:pwd +# file_repository : file repository; default:file.host:/data/dropbox +# file_repository_user : file repository user; default:usr +# internal_project : internal project name +# internal_project_repository : internal project repository +# internal_project_branch : internal project repository branch +# internal_project_user : internal project user + +project=wasabi +build=${PROJECT_BUILD:-false} +profile=${PROJECT_PROFILE:-test} +modules=${PROJECT_MODULES:-main ui} +execute_integration_tests=${PROJECT_INTEGRATION_TEST:-true} +deploy_host=${PROJECT_DEPLOY_HOST:-deploy.host} +deploy_host_user=${PROJECT_DEPLOY_USER:-usr} +sonar_host_url=${SONAR_HOST_URL:+-Dsonar.host.url=$SONAR_HOST_URL} +sonar_auth_token=${SONAR_AUTH_TOKEN:+-Dsonar.login=$SONAR_AUTH_TOKEN} +nexus_archive=${NEXUS_ARCHIVE:-false} +nexus_repositories=${NEXUS_REPOSITORIES} +nexus_repository_id=${NEXUS_REPOSITORY_ID} +nexus_snapshot_repository_id=${NEXUS_SNAPSHOT_REPOSITORY_ID} +nexus_deploy=${NEXUS_DEPLOY:-usr:pwd} +deploy_resource=${deploy_host_user}@${deploy_host} +file_repository=${FILE_REPOSITORY:-file.host:/data/dropbox} +file_repository_user=${FILE_REPOSITORY_USER:-usr} +internal_project=${PROJECT_INTERNAL_PROJECT} +internal_project_repository=${PROJECT_INTERNAL_REPOSITORY} +internal_project_branch=${PROJECT_INTERNAL_BRANCH} +internal_project_user=${PROJECT_INTERNAL_USER:-usr:pwd} +project_env="WASABI_OS=native WASABI_MAVEN=\"--settings ./settings.xml\"" + +exitOnError() { + echo "error cause: $1" + java -jar jenkins-cli.jar set-build-result unstable + exit 1 +} + +# fetch jenkins cli client + +wget ${JENKINS_URL}jnlpJars/jenkins-cli.jar || \ + exitOnError "unable to retrieve jenkins-cli.jar: wget ${JENKINS_URL}jnlpjars/jenkins-cli.jar" + +# exit build if not enabled + +[[ "${build}" == "false" ]] && exitOnError "project build: ${build}" + +# fetch internal project + +echo "cloning: ${internal_project_repository} / ${internal_project_branch}" +git clone -b ${internal_project_branch} https://${internal_project_user}@${internal_project_repository} || \ + exitOnError "unable to clone project: git clone -b ${internal_project_branch} https://${internal_project_user}@${internal_project_repository}" + +# construct viable/complete settings.xml +# note: need to add distributionManagement/repository to [ws]/pom.xml to map to settings.xml in order to mvn-deploy internally +# note: add internal repository to settings.xml; see: https://maven.apache.org/guides/mini/guide-multiple-repositories.html + +cat ~/.m2/settings.xml | sed "s||$(cat ${internal_project}/profile.xml | tr -d '\n')|" | sed "s|\[PWD\]|$(pwd)|" > settings.xml + +# extract meta-data + +service=$(mvn --settings ./settings.xml -f ./modules/main/pom.xml -P ${profile} help:evaluate -Dexpression=application.name | sed -n -e '/^\[.*\]/ !{ p; }') +group=$(mvn --settings ./settings.xml -f ./modules/main/pom.xml -P ${profile} help:evaluate -Dexpression=project.groupId | sed -n -e '/^\[.*\]/ !{ p; }') +version=$(mvn --settings ./settings.xml -f ./modules/main/pom.xml -P ${profile} help:evaluate -Dexpression=project.version | sed -n -e '/^\[.*\]/ !{ p; }') + +# build + +echo "packaging: ${project} / ${profile}" +(eval ${project_env} ./bin/${project}.sh --profile=${profile} --verify=true package) || \ + exitOnError "unable to build project : (${project_env} ./bin/${project}.sh --profile=${profile} --verify=true package)" + +for module in ${modules}; do + if [[ ! -z "${module// }" ]]; then + # derive module rpm + + echo "prepare deploy: $(find ./target -name ${project}-${module}-${profile}-*.noarch.rpm -type f)" + rpm=`basename $(find ./target -name ${project}-${module}-${profile}-*.noarch.rpm -type f)` || \ + exitOnError "failed to find ./target/${project}-${module}-${profile}-*.noarch.rpm" + status=0 + + if [[ "${execute_integration_tests}" == "true" ]]; then + echo "deploying: ${rpm}" + + # deploy module rpm, note: remote side daemon process will install + + # note: if we rm the file, it needs to be chmod' such that user:deploy can read/scp the new file +# (ssh ${deploy_resource} "rm /tmp/${project}/jacoco-it.exec") + (scp ./target/${rpm} ${deploy_host_user}@${deploy_host}:; ssh ${deploy_host_user}@${deploy_host} "mv ${rpm} inbox") || \ + exitOnError "failed to deploy application: (scp ./target/${rpm} ${deploy_host_user}@${deploy_host}:; ssh ${deploy_host_user}@${deploy_host} \"mv ${rpm} inbox\")" + + sleep 120 + + if [ "${module}" == "main" ]; then + # test module + + echo "testing: ${rpm} http://${deploy_host}:8080" + (eval ${project_env} ./bin/${project}.sh --profile=${profile} --endpoint=${deploy_host}:8080 test) + status=$? + + # stop application to flush the jacoco file to disk and fetch it + + (ssh ${deploy_resource} "/home/jenkins/bin/init-d ${service} stop") || \ + exitOnError "unable to stop project: (ssh ${deploy_resource} \"/home/jenkins/bin/init-d ${service} stop\")" + (scp ${deploy_resource}:/tmp/${project}/jacoco-it.exec ./modules/main/target/jacoco-it.exec) || \ + exitOnError "unable to retrieve test report: (scp ${deploy_resource}:/tmp/${project}/jacoco-it.exec ./target/jacoco-it.exec)" + fi + fi + + # publish sonar report + + echo "publishing sonar report" + (mvn --settings ./settings.xml ${sonar_host_url} ${sonar_auth_token} -P ${profile} package sonar:sonar) || \ + exitOnError "unable to report to sonar: (mvn --settings ./settings.xml [sonar_host_url] [sonar_auth_token] -P ${profile} package sonar:sonar)" + + [ "${status}" -ne "0" ] && exitOnError "integration tests failed: (cd ${project}; eval ${project_env} ./bin/${project}.sh --profile=${profile} --endpoint=${deploy_host}:8080 test)" + + if [[ "${nexus_archive}" == "true" ]]; then + # publish artifacts to nexus + + echo "publishing nexus artifacts" + (mvn --settings ./settings.xml -Dmaven.test.skip=true -P ${profile} deploy) || \ + exitOnError "unable to report to sonar: (mvn --settings ./settings.xml -Dmaven.test.skip=true -P ${profile} deploy)" + fi + + # determine MILESTONE or SNAPSHOT repository + + if [[ "${version/-SNAPSHOT}" == "${version}" ]]; then + artifact_repository_id=${nexus_repository_id} + elif [[ "${version}" == *SNAPSHOT ]]; then + artifact_repository_id=${nexus_snapshot_repository_id} + fi + + if [ "${version/-SNAPSHOT}" == "${version}" ]; then + # archive MILESTONE rpms + + artifact=$(mvn --settings ./settings.xml -f ./modules/main/pom.xml -P ${profile} help:evaluate -Dexpression=project.artifactId | sed -n -e '/^\[.*\]/ !{ p; }') + path=${nexus_repositories}/${artifact_repository_id}/`echo ${group} | sed "s/\./\//g"`/${artifact}/${version} + rpm_path=${path}/${rpm} + + echo "archiving: ${rpm} ${rpm_path}" + curl -v -u ${nexus_deploy} --upload-file ./target/${rpm} ${rpm_path} || \ + exitOnError "archive rpm failed: curl -v -u [nexus_deploy] --upload-file ./target/${rpm} ${rpm_path}" + + if [ "${module}" == "ui" ]; then + # archive MILESTONE ui.zip + artifact=ui + path=${nexus_repositories}/${artifact_repository_id}/`echo ${group} | sed "s/\./\//g"`/${artifact}/${version} + zip=${project}-${artifact}-${profile}-${version}.zip + zip_path=${path}/${zip} + + echo "archiving: ${zip} ${zip_path}" + curl -v -u ${nexus_deploy} --upload-file ./modules/ui/target/dist.zip ${zip_path} || \ + exitOnError "archive failed: curl -v -u [nexus_deploy] --upload-file ./modules/ui/dist.zip ${zip_path}" + fi + fi + fi +done \ No newline at end of file diff --git a/bin/release.sh b/bin/release.sh index b26e7e56e..52392e10e 100755 --- a/bin/release.sh +++ b/bin/release.sh @@ -28,6 +28,7 @@ options: commands: start : start release finish : finish release + feature : feature branch release EOF @@ -35,7 +36,7 @@ EOF } fromPom() { - mvn -f $1/pom.xml help:evaluate -Dexpression=$2 | sed -n -e '/^\[.*\]/ !{ p; }' + mvn ${WASABI_MAVEN} -f $1/pom.xml help:evaluate -Dexpression=$2 | sed -n -e '/^\[.*\]/ !{ p; }' } start() { @@ -55,6 +56,14 @@ finish() { git flow release finish -m "milestone: $version" -p -D $version } +feature() { + from_version=$(fromPom . project.version) + to_version=$(fromPom . application.version).`date -u "+%Y%m%d%H%M%S"`-SNAPSHOT + + find . -name pom.xml -type f -not -path "*target*" \ + -exec sed -i '' -e "s#${from_version}#${to_version}#g" {} \; 2>/dev/null +} + optspec=":h-:" while getopts "${optspec}" opt; do @@ -79,7 +88,8 @@ for command in ${@:$OPTIND}; do case "${command}" in "start") start;; "finish") finish;; + "feature") feature;; "") usage "unknown command: ${command}" 1;; *) usage "unknown command: ${command}" 1;; esac -done \ No newline at end of file +done diff --git a/bin/wasabi.sh b/bin/wasabi.sh index 04821f383..97838abff 100755 --- a/bin/wasabi.sh +++ b/bin/wasabi.sh @@ -18,6 +18,7 @@ formulas=("bash" "cask" "git" "git-flow-avh" "maven" "wget" "ruby" "node") taps=("caskroom/cask") casks=("java" "docker") +profile_default=development endpoint_default=localhost:8080 verify_default=false sleep_default=30 @@ -36,6 +37,7 @@ ${green} usage: `basename ${0}` [options] [commands] options: + -p | --profile [ profile ] : profile; default ${profile_default} -e | --endpoint [ host:port ] : api endpoint; default: ${endpoint_default} -v | --verify [ true | false ] : verify installation configuration; default: ${verify_default} -s | --sleep [ sleep-time ] : sleep/wait time in seconds; default: ${sleep_default} @@ -61,7 +63,7 @@ EOF } fromPom() { - mvn -f $1/pom.xml -P $2 help:evaluate -Dexpression=$3 | sed -n -e '/^\[.*\]/ !{ p; }' + mvn ${WASABI_MAVEN} -f $1/pom.xml -P $2 help:evaluate -Dexpression=$3 | sed -n -e '/^\[.*\]/ !{ p; }' } beerMe() { @@ -182,7 +184,7 @@ build() { } clean() { - mvn clean + mvn ${WASABI_MAVEN} clean (cd modules/ui; grunt clean) } @@ -214,16 +216,13 @@ resource() { api) [[ ! -f ./modules/swagger-ui/target/swaggerui/index.html || \ ! -f ./modules/api/target/generated/swagger-ui/swagger.json ]] && build ./bin/wasabi.sh status >/dev/null 2>&1 || ./bin/wasabi.sh start:docker -# jip=localhost ./bin/wasabi.sh remove:wasabi >/dev/null 2>&1 - profile=development module=main home=./modules/${module}/target artifact=$(fromPom ./modules/${module} ${profile} project.artifactId) version=$(fromPom . ${profile} project.version) id=${artifact}-${version}-${profile} content=${home}/${id}/content/ui/dist -# sed -i '' "s/localhost/${jip}/g" ${content}/swagger/swaggerjson/swagger.json # FIXME: this can fail after 'package' given the profile = build sed -i '' "s/this.model.validatorUrl.*$/this.model.validatorUrl = null;/g" ${content}/swagger/swagger-ui.js ./bin/wasabi.sh start @@ -247,7 +246,8 @@ status() { } package() { - profile=build + # FIXME: ?how to package profile=development? + [ "${profile}" == "${profile_default}" ] && profile=build build true ${verify} ${profile} @@ -265,6 +265,7 @@ package() { ./bin/fpm.sh -n ${name} -v ${version} -p ${profile} +# FIXME: don't rebuild, cp dist/* target/* (cd modules/ui; \ mkdir -p target; \ for f in app bower.json Gruntfile.js constants.json karma.conf.js karma-e2e.conf.js package.json test .bowerrc; do \ @@ -272,15 +273,9 @@ package() { done; \ sed -i '' -e "s|http://localhost:8080|${server}|g" target/constants.json 2>/dev/null; \ sed -i '' -e "s|VERSIONLOC|${version}|g" target/app/index.html 2>/dev/null; \ - if [[ "${WASABI_OS}" == "${WASABI_OSX}" || "${WASABI_OS}" == "${WASABI_LINUX}" ]]; then \ -# (cd target; npm install; bower install; grunt clean); \ - (cd target; npm install; bower install --no-optional; grunt clean); \ - fi \ -# fixme: shouldn't have to force or ignore tests \ -# (cd target; grunt build --target=develop --no-color; \ - (cd target; grunt build --force --target=develop --no-color; \ -# grunt test); \ - ); \ + (cd target; npm install; bower install --no-optional; grunt clean); \ + (cd target; grunt build --target=develop --no-color) \ +# ; grunt test); \ cp -r build target; \ for pkg in deb rpm; do \ sed -i '' -e "s|\${application.home}|${home}|g" target/build/${pkg}/before-install.sh 2>/dev/null; \ @@ -321,12 +316,14 @@ exec_commands() { (IFS=','; for command in ${commands}; do ${prefix} ${command}; done) } -optspec=":b:e:f:p:v:s:h-:" +optspec=":p:e:v:s:h-:" while getopts "${optspec}" opt; do case "${opt}" in -) case "${OPTARG}" in + profile) profile="${!OPTIND}"; OPTIND=$(( ${OPTIND} + 1 ));; + profile=*) profile="${OPTARG#*=}";; endpoint) endpoint="${!OPTIND}"; OPTIND=$(( ${OPTIND} + 1 ));; endpoint=*) endpoint="${OPTARG#*=}";; verify) verify="${!OPTIND}"; OPTIND=$(( ${OPTIND} + 1 ));; @@ -336,6 +333,7 @@ while getopts "${optspec}" opt; do help) usage;; *) [ "${OPTERR}" = 1 ] && [ "${optspec:0:1}" != ":" ] && echo "unknown option --${OPTARG}";; esac;; + p) profile=${OPTARG};; e) endpoint=${OPTARG};; v) verify=${OPTARG};; s) sleep=${OPTARG};; @@ -347,6 +345,7 @@ done [ $# -eq 0 ] && usage "unspecified command" 1 +profile=${profile:=${profile_default}} endpoint=${endpoint:=${endpoint_default}} verify=${verify:=${verify_default}} sleep=${sleep:=${sleep_default}} @@ -356,7 +355,7 @@ sleep=${sleep:=${sleep_default}} for command in ${@:$OPTIND}; do case "${command}" in bootstrap) bootstrap;; - build) build true;; + build) build true ${verify} ${profile};; clean) clean;; start) exec_commands start "cassandra,mysql,wasabi";; start:*) exec_commands start ${command};; diff --git a/contrib/client-demo/bin/setup.sh b/contrib/client-demo/bin/setup.sh index a3d4f731e..a23c5e277 100755 --- a/contrib/client-demo/bin/setup.sh +++ b/contrib/client-demo/bin/setup.sh @@ -40,7 +40,7 @@ EOF create() { #CREATE EXPERIMENT AND SAVE UUID TO BE PASSED INTO FUTURE CALLS uuid=`curl -s -u admin:admin -H'Content-Type: application/json' \ - -d '{"applicationName": "Demo_App", "samplingPercent": 1.0, "label": "BuyButton", "startTime": "2016-06-10T00:00:00-0000", "endTime": "2018-12-25T00:00:00-0000"}' $endpoint/api/v1/experiments | \ + -d '{"applicationName": "Demo_App", "samplingPercent": 1.0, "label": "BuyButton", "description": "BuyButton experiment", "startTime": "2016-06-10T00:00:00-0000", "endTime": "2018-12-25T00:00:00-0000"}' $endpoint/api/v1/experiments | \ python -mjson.tool | \ @@ -110,4 +110,4 @@ for command in ${@:$OPTIND}; do "") usage "unknown command: ${command}" 1;; *) usage "unknown command: ${command}" 1;; esac -done \ No newline at end of file +done diff --git a/modules/analytics-objects/pom.xml b/modules/analytics-objects/pom.xml index 4f56342ac..7bcd94858 100644 --- a/modules/analytics-objects/pom.xml +++ b/modules/analytics-objects/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/analytics/pom.xml b/modules/analytics/pom.xml index 5411fbf7c..bf8dfdb19 100644 --- a/modules/analytics/pom.xml +++ b/modules/analytics/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/BucketComparisonGeneratorTest.java b/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/BucketComparisonGeneratorTest.java index 65c7a0af7..e8f297a72 100644 --- a/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/BucketComparisonGeneratorTest.java +++ b/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/BucketComparisonGeneratorTest.java @@ -68,9 +68,6 @@ public class BucketComparisonGeneratorTest { private Bucket.Label bucket2Label = Bucket.Label.valueOf("two"); private Bucket.Label bucket3Label = Bucket.Label.valueOf("three"); -// public BucketComparisonGeneratorTest(AnalysisTools analysisTools) { -// this.analysisTools = analysisTools; -// } @Before public void before() { diff --git a/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/ExperimentCalculatorTest.java b/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/ExperimentCalculatorTest.java index 6dc869d64..451dfbd9b 100644 --- a/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/ExperimentCalculatorTest.java +++ b/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/ExperimentCalculatorTest.java @@ -45,11 +45,6 @@ public class ExperimentCalculatorTest { private Bucket.Label bucket2Label = Bucket.Label.valueOf("two"); private AnalysisTools analysisTools = new AnalysisToolsImpl(); -// public ExperimentCalculatorTest(AnalysisTools analysisTools) { -// this.analysisTools = analysisTools; -// } - - @Before public void before() { buckets = new HashMap<>(); diff --git a/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/ProgressGeneratorTest.java b/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/ProgressGeneratorTest.java index b1a39593e..a9753286d 100644 --- a/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/ProgressGeneratorTest.java +++ b/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/ProgressGeneratorTest.java @@ -64,10 +64,6 @@ public class ProgressGeneratorTest { private Bucket.Label bucket3Label = Bucket.Label.valueOf("three"); private Bucket.Label bucket4Label = Bucket.Label.valueOf("four"); -// public ProgressGeneratorTest(AnalysisTools analysisTools) { -// this.analysisTools = analysisTools; -// } - @Before public void before() { ActionCounts click1 = new ActionCounts.Builder().withActionName(clickName).withEventCount(7) diff --git a/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/RateGeneratorTest.java b/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/RateGeneratorTest.java index 27b048d68..6e4e846b5 100644 --- a/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/RateGeneratorTest.java +++ b/modules/analytics/src/test/java/com/intuit/wasabi/analytics/impl/RateGeneratorTest.java @@ -62,10 +62,6 @@ public class RateGeneratorTest { private Bucket.Label bucket2Label = Bucket.Label.valueOf("two"); private Bucket.Label bucket3Label = Bucket.Label.valueOf("three"); -// public RateGeneratorTest(AnalysisTools analysisTools) { -// this.analysisTools = analysisTools; -// } - @Before public void before() { ActionCounts click1 = new ActionCounts.Builder().withActionName(clickName).withEventCount(7) diff --git a/modules/api/pom.xml b/modules/api/pom.xml index 33b59d82c..7b91972e7 100644 --- a/modules/api/pom.xml +++ b/modules/api/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/api/src/main/java/com/intuit/wasabi/api/ApplicationsResource.java b/modules/api/src/main/java/com/intuit/wasabi/api/ApplicationsResource.java index c2927f6c8..7dd0dc9af 100644 --- a/modules/api/src/main/java/com/intuit/wasabi/api/ApplicationsResource.java +++ b/modules/api/src/main/java/com/intuit/wasabi/api/ApplicationsResource.java @@ -25,17 +25,29 @@ import com.intuit.wasabi.experiment.Experiments; import com.intuit.wasabi.experiment.Pages; import com.intuit.wasabi.experiment.Priorities; -import com.intuit.wasabi.experimentobjects.*; +import com.intuit.wasabi.experimentobjects.Application; +import com.intuit.wasabi.experimentobjects.Experiment; +import com.intuit.wasabi.experimentobjects.ExperimentIDList; +import com.intuit.wasabi.experimentobjects.ExperimentList; +import com.intuit.wasabi.experimentobjects.Page; +import com.intuit.wasabi.experimentobjects.PageExperiment; +import com.intuit.wasabi.experimentobjects.PrioritizedExperimentList; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import javax.ws.rs.*; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; import javax.ws.rs.core.Response; import java.util.List; import java.util.Map; -import static com.intuit.wasabi.api.APISwaggerResource.*; +import static com.intuit.wasabi.api.APISwaggerResource.DEFAULT_MODEXP; +import static com.intuit.wasabi.api.APISwaggerResource.EXAMPLE_AUTHORIZATION_HEADER; import static com.intuit.wasabi.authorizationobjects.Permission.READ; import static com.intuit.wasabi.authorizationobjects.Permission.UPDATE; import static javax.ws.rs.core.HttpHeaders.AUTHORIZATION; @@ -57,19 +69,17 @@ public class ApplicationsResource { private Authorization authorization; private Pages pages; private Priorities priorities; - private PaginationHelper experimentPaginationHelper; @Inject ApplicationsResource(final AuthorizedExperimentGetter authorizedExperimentGetter, final Experiments experiments, final Authorization authorization, final Priorities priorities, final Pages pages, - final HttpHeader httpHeader, final PaginationHelper experimentPaginationHelper) { + final HttpHeader httpHeader) { this.authorizedExperimentGetter = authorizedExperimentGetter; this.pages = pages; this.experiments = experiments; this.authorization = authorization; this.priorities = priorities; this.httpHeader = httpHeader; - this.experimentPaginationHelper = experimentPaginationHelper; } /** @@ -96,11 +106,11 @@ public Response getApplications(@HeaderParam(AUTHORIZATION) /** * Returns metadata for the specified experiment. - * + *

* Does not return metadata for a deleted experiment. * - * @param applicationName the application name - * @param experimentLabel the experiment label + * @param applicationName the application name + * @param experimentLabel the experiment label * @param authorizationHeader the authorization headers * @return Response object */ @@ -129,20 +139,12 @@ public Response getExperiment(@PathParam("applicationName") /** * Returns metadata for all experiments within an application. - * + *

* Does not return metadata for a deleted or terminated experiment. * - * This endpoint is paginated. - * - * @param applicationName the application name + * @param applicationName the application name * @param authorizationHeader the authentication headers - * @param page the page which should be returned, defaults to 1 - * @param perPage the number of log entries per page, defaults to 10. -1 to get all values. - * @param sort the sorting rules - * @param filter the filter rules - * @param timezoneOffset the time zone offset from UTC - * @return a response containing a map with a list with {@code 0} to {@code perPage} experiments, - * if that many are on the page, and a count of how many experiments match the filter criteria. + * @return a response containing a list with experiments */ @GET @Path("/{applicationName}/experiments") @@ -156,45 +158,16 @@ public Response getExperiments(@PathParam("applicationName") @HeaderParam(AUTHORIZATION) @ApiParam(value = EXAMPLE_AUTHORIZATION_HEADER, required = true) - final String authorizationHeader, - - @QueryParam("page") - @DefaultValue(DEFAULT_PAGE) - @ApiParam(name = "page", defaultValue = DEFAULT_PAGE, value = DOC_PAGE) - final int page, - - @QueryParam("per_page") - @DefaultValue(DEFAULT_PER_PAGE) - @ApiParam(name = "per_page", defaultValue = DEFAULT_PER_PAGE, value = DOC_PER_PAGE) - final int perPage, - - @QueryParam("filter") - @DefaultValue("") - @ApiParam(name = "filter", defaultValue = DEFAULT_FILTER, value = DOC_FILTER) - final String filter, - - @QueryParam("sort") - @DefaultValue("") - @ApiParam(name = "sort", defaultValue = DEFAULT_SORT, value = DOC_SORT) - final String sort, - - @QueryParam("timezone") - @DefaultValue(DEFAULT_TIMEZONE) - @ApiParam(name = "timezone", defaultValue = DEFAULT_TIMEZONE, value = DOC_TIMEZONE) - final String timezoneOffset) { - List experimentList = authorizedExperimentGetter.getAuthorizedExperimentsByName(authorizationHeader, - applicationName); - - Map response = experimentPaginationHelper.paginate("experiments", experimentList, filter, timezoneOffset, sort, page, perPage); - - return httpHeader.headers().entity(response).build(); + final String authorizationHeader + ) { + return httpHeader.headers().entity(authorizedExperimentGetter.getAuthorizedExperimentsByName(authorizationHeader, applicationName)).build(); } /** * Creates a rank ordered priority list * - * @param applicationName the application name - * @param experimentIDList the list of experiment ids + * @param applicationName the application name + * @param experimentIDList the list of experiment ids * @param authorizationHeader the authorization headers * @return Response object */ @@ -224,7 +197,7 @@ public Response createPriorities(@PathParam("applicationName") * Returns the full, ordered priority list for an application * along with experiment meta-data and associated priority * - * @param applicationName the application name + * @param applicationName the application name * @param authorizationHeader the authorization headers * @return Response object */ @@ -233,7 +206,7 @@ public Response createPriorities(@PathParam("applicationName") @Produces(APPLICATION_JSON) @ApiOperation(value = "Get the priority list for an application", notes = "The returned priority list is rank ordered.") - // response = ??, //todo: update with proper object + // response = ??, //todo: update with proper object @Timed public Response getPriorities(@PathParam("applicationName") @ApiParam(value = "Application Name") @@ -252,8 +225,8 @@ public Response getPriorities(@PathParam("applicationName") /** * Returns the set of pages associated with the application. * - * @param applicationName the application name - * @param authorizationHeader the authorization headers + * @param applicationName the application name + * @param authorizationHeader the authorization headers * @return Response object */ @GET @@ -279,9 +252,9 @@ public Response getPagesForApplication(@PathParam("applicationName") /** * Get the experiment information(id and allowNewAssignment) for the associated experiments for a page * - * @param applicationName the application name - * @param pageName the page name - * @param authorizationHeader the authorization headers + * @param applicationName the application name + * @param pageName the page name + * @param authorizationHeader the authorization headers * @return Response object */ @GET @@ -312,8 +285,8 @@ public Response getExperiments(@PathParam("applicationName") /** * Returns the set of pages with their associated experiments for an application. * - * @param applicationName the application name - * @param authorizationHeader the authorization headers + * @param applicationName the application name + * @param authorizationHeader the authorization headers * @return Response object */ @GET @@ -322,12 +295,12 @@ public Response getExperiments(@PathParam("applicationName") @ApiOperation(value = "Get the set of pages associated with an application.") @Timed public Response getPageAndExperimentsForApplication(@PathParam("applicationName") - @ApiParam(value = "Application Name") - final Application.Name applicationName, + @ApiParam(value = "Application Name") + final Application.Name applicationName, - @HeaderParam(AUTHORIZATION) - @ApiParam(value = EXAMPLE_AUTHORIZATION_HEADER, required = true) - final String authorizationHeader) { + @HeaderParam(AUTHORIZATION) + @ApiParam(value = EXAMPLE_AUTHORIZATION_HEADER, required = true) + final String authorizationHeader) { authorization.checkUserPermissions(authorization.getUser(authorizationHeader), applicationName, READ); Map> pageExperimentListMap = pages.getPageAndExperimentList(applicationName); diff --git a/modules/api/src/main/resources/api.properties b/modules/api/src/main/resources/api.properties index 1ef0167f2..37de9afc5 100644 --- a/modules/api/src/main/resources/api.properties +++ b/modules/api/src/main/resources/api.properties @@ -13,6 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### -application.id:${application.name}-${timestamp} +application.id:${application.name}-${scmBranch}-${buildNumber}-${timestamp} default.time.zone:${default.time.zone} -default.time.format:${default.time.format} \ No newline at end of file +default.time.format:${default.time.format} diff --git a/modules/api/src/test/java/com/intuit/wasabi/api/ApplicationsResourceTest.java b/modules/api/src/test/java/com/intuit/wasabi/api/ApplicationsResourceTest.java index c4b3d9509..f1202883e 100644 --- a/modules/api/src/test/java/com/intuit/wasabi/api/ApplicationsResourceTest.java +++ b/modules/api/src/test/java/com/intuit/wasabi/api/ApplicationsResourceTest.java @@ -15,17 +15,18 @@ *******************************************************************************/ package com.intuit.wasabi.api; -import com.intuit.wasabi.api.pagination.PaginationHelper; -import com.intuit.wasabi.api.pagination.comparators.impl.ExperimentComparator; -import com.intuit.wasabi.api.pagination.filters.impl.ExperimentFilter; import com.intuit.wasabi.authenticationobjects.UserInfo; import com.intuit.wasabi.authorization.Authorization; import com.intuit.wasabi.exceptions.AuthenticationException; import com.intuit.wasabi.experiment.Experiments; import com.intuit.wasabi.experiment.Pages; import com.intuit.wasabi.experiment.Priorities; -import com.intuit.wasabi.experimentobjects.*; -import io.codearte.catchexception.shade.mockito.Mockito; +import com.intuit.wasabi.experimentobjects.Application; +import com.intuit.wasabi.experimentobjects.Experiment; +import com.intuit.wasabi.experimentobjects.ExperimentIDList; +import com.intuit.wasabi.experimentobjects.Page; +import com.intuit.wasabi.experimentobjects.PageExperiment; +import com.intuit.wasabi.experimentobjects.PrioritizedExperimentList; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -37,7 +38,6 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.ResponseBuilder; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -49,7 +49,11 @@ import static org.hamcrest.collection.IsMapContaining.hasEntry; import static org.hamcrest.core.Is.is; import static org.mockito.Matchers.anyCollection; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.anyObject; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class ApplicationsResourceTest { @@ -98,14 +102,10 @@ public class ApplicationsResourceTest { private ArgumentCaptor>> pageExperimentsCaptor; private ApplicationsResource applicationsResource; - private PaginationHelper experimentPaginationHelper = new PaginationHelper<>( - new ExperimentFilter(), - new ExperimentComparator()); - @Before public void setup() { applicationsResource = new ApplicationsResource(authorizedExperimentGetter, experiments, authorization, priorities, - pages, httpHeader, experimentPaginationHelper); + pages, httpHeader); } @Test @@ -174,7 +174,7 @@ public void getExperiments() throws Exception { doReturn(responseBuilder).when(responseBuilder).entity(anyCollection()); doReturn(response).when(responseBuilder).build(); - applicationsResource.getExperiments(applicationName, "foo", 0, -1, "", "", ""); + applicationsResource.getExperiments(applicationName, "foo"); verify(authorizedExperimentGetter).getAuthorizedExperimentsByName("foo", applicationName); verify(httpHeader).headers(); diff --git a/modules/assignment-objects/pom.xml b/modules/assignment-objects/pom.xml index f573e589c..344ae25b9 100644 --- a/modules/assignment-objects/pom.xml +++ b/modules/assignment-objects/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/assignment/pom.xml b/modules/assignment/pom.xml index ab0fc6ad1..dae3877b3 100644 --- a/modules/assignment/pom.xml +++ b/modules/assignment/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/assignment/src/main/java/com/intuit/wasabi/assignment/Assignments.java b/modules/assignment/src/main/java/com/intuit/wasabi/assignment/Assignments.java index d768c92c5..6223a121d 100644 --- a/modules/assignment/src/main/java/com/intuit/wasabi/assignment/Assignments.java +++ b/modules/assignment/src/main/java/com/intuit/wasabi/assignment/Assignments.java @@ -83,32 +83,6 @@ Assignment getAssignment(User.ID userID, Application.Name appLabel, Experiment.Label experimentLabel, Context context, boolean createAssignment, boolean ignoreSamplingPercent, SegmentationProfile segmentationProfile, HttpHeaders headers); - /** - * Return an existing assignment for a user, or potentially create a new - * assignment if the user is assignable to this experiment. Includes a Page.Name to identify the page through which - * the assignment was delivered. - * - * @param userID the {@link com.intuit.wasabi.assignmentobjects.User.ID} of the person we want the assignment for - * @param applicationName the {@link com.intuit.wasabi.experimentobjects.Application.Name} the app we want the assignment for - * @param label the {@link com.intuit.wasabi.experimentobjects.Experiment.Label} the experiment - * @param context the {@link Context} of the assignment call - * @param createAssignment true when a new Assignment should be created - * @param ignoreSamplingPercent true if we want to have an assignment independent of the sampling rate - * @param segmentationProfile the {@link SegmentationProfile} to be used for the assignment - * @param headers the {@link HttpHeaders} that can be used by the segmentation - * @param pageName the {@link com.intuit.wasabi.experimentobjects.Page.Name} the page name for the assignment - * @param experiment the {@link Experiment} we want the assignment for - * @param bucketList list of Buckets of this Experiment - * @param userAssignments the already existing assignments - * @param exclusives the experiments that are excluded from the assignment - * @return a brand new or old {@link Assignment} - */ - Assignment getAssignment(User.ID userID, Application.Name applicationName, Experiment.Label label, Context context, - boolean createAssignment, boolean ignoreSamplingPercent, SegmentationProfile segmentationProfile, - HttpHeaders headers, Page.Name pageName, Experiment experiment, BucketList bucketList, - Table userAssignments, - Map> exclusives); - /** * Insert/update a user assignment for this experiment. * diff --git a/modules/assignment/src/main/java/com/intuit/wasabi/assignment/impl/AssignmentsImpl.java b/modules/assignment/src/main/java/com/intuit/wasabi/assignment/impl/AssignmentsImpl.java index fd4c6081e..0d82ff4d9 100644 --- a/modules/assignment/src/main/java/com/intuit/wasabi/assignment/impl/AssignmentsImpl.java +++ b/modules/assignment/src/main/java/com/intuit/wasabi/assignment/impl/AssignmentsImpl.java @@ -220,7 +220,7 @@ public Assignment getSingleAssignment(User.ID userID, Application.Name applicati } Assignment assignment = assignmentsRepository.getAssignment(experimentID, userID, context); - if (assignment == null) { + if (assignment == null || assignment.isBucketEmpty()) { if (createAssignment) { if (experiment.getState() == Experiment.State.PAUSED) { return nullAssignment(userID, applicationName, experimentID, @@ -321,8 +321,7 @@ private Map> getExclusivesList(Experiment.ID * assignment if the user is assignable to this experiment. Includes a Page.Name to identify the page through which * the assignment was delivered. */ - @Override - public Assignment getAssignment(User.ID userID, Application.Name applicationName, Experiment.Label experimentLabel, + protected Assignment getAssignment(User.ID userID, Application.Name applicationName, Experiment.Label experimentLabel, Context context, boolean createAssignment, boolean ignoreSamplingPercent, SegmentationProfile segmentationProfile, HttpHeaders headers, Page.Name pageName, Experiment experiment, BucketList bucketList, @@ -357,8 +356,9 @@ public Assignment getAssignment(User.ID userID, Application.Name applicationName Assignment.Status.EXPERIMENT_EXPIRED); } + // FIXME - Code duplication with getSingleAssignment Assignment assignment = getAssignment(experimentID, userID, context, userAssignments, bucketList); - if (assignment == null) { + if (assignment == null || assignment.isBucketEmpty()) { if (createAssignment) { if (experiment.getState() == Experiment.State.PAUSED) { return nullAssignment(userID, applicationName, experimentID, Assignment.Status.EXPERIMENT_PAUSED); diff --git a/modules/auditlog-objects/pom.xml b/modules/auditlog-objects/pom.xml index 1ec1d942f..9a7e96d9d 100644 --- a/modules/auditlog-objects/pom.xml +++ b/modules/auditlog-objects/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/auditlog/pom.xml b/modules/auditlog/pom.xml index a19c55039..fe56edbe7 100644 --- a/modules/auditlog/pom.xml +++ b/modules/auditlog/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/auditlog/src/main/java/com/intuit/wasabi/auditlog/impl/AuditLogEntryEnvelope.java b/modules/auditlog/src/main/java/com/intuit/wasabi/auditlog/impl/AuditLogEntryEnvelope.java index f38beb6d6..ceddb0e80 100644 --- a/modules/auditlog/src/main/java/com/intuit/wasabi/auditlog/impl/AuditLogEntryEnvelope.java +++ b/modules/auditlog/src/main/java/com/intuit/wasabi/auditlog/impl/AuditLogEntryEnvelope.java @@ -17,6 +17,9 @@ import com.intuit.wasabi.auditlogobjects.AuditLogEntry; import com.intuit.wasabi.repository.AuditLogRepository; +import org.slf4j.Logger; + +import static org.slf4j.LoggerFactory.getLogger; /** * The AuditLogEntryEnvelope wraps AuditLogEntry to be sent to cassandra. @@ -28,6 +31,7 @@ */ private final AuditLogEntry entry; private final AuditLogRepository repository; + private Logger LOGGER = getLogger(AuditLogEntryEnvelope.class); /** * Wraps {@code entry} into this envelope. @@ -45,6 +49,10 @@ public AuditLogEntryEnvelope(final AuditLogEntry entry, final AuditLogRepository */ @Override public void run() { + LOGGER.debug("storing auditLogEntry: {}", entry); + repository.storeEntry(entry); + + LOGGER.debug("stored auditLogEntry: {}", entry); } -} +} \ No newline at end of file diff --git a/modules/auditlog/src/main/java/com/intuit/wasabi/auditlog/impl/AuditLogListenerImpl.java b/modules/auditlog/src/main/java/com/intuit/wasabi/auditlog/impl/AuditLogListenerImpl.java index 8500c9b2c..4aa29d5f6 100644 --- a/modules/auditlog/src/main/java/com/intuit/wasabi/auditlog/impl/AuditLogListenerImpl.java +++ b/modules/auditlog/src/main/java/com/intuit/wasabi/auditlog/impl/AuditLogListenerImpl.java @@ -23,11 +23,17 @@ import com.intuit.wasabi.eventlog.EventLogListener; import com.intuit.wasabi.eventlog.events.EventLogEvent; import com.intuit.wasabi.repository.AuditLogRepository; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import static com.intuit.wasabi.auditlogobjects.AuditLogEntryFactory.createFromEvent; +import static java.util.concurrent.TimeUnit.MILLISECONDS; +import static org.slf4j.LoggerFactory.getLogger; + /** * The AuditLogListener subscribes to events which should be logged for the user interface. */ @@ -36,6 +42,7 @@ public class AuditLogListenerImpl implements EventLogListener { /** Executes the {@link AuditLogEntryEnvelope}s. */ private final ThreadPoolExecutor threadPoolExecutor; private final AuditLogRepository repository; + private Logger LOGGER = getLogger(AuditLogListenerImpl.class); /** * Initializes the audit log. @@ -53,7 +60,8 @@ public AuditLogListenerImpl(final EventLog eventLog, this.repository = repository; eventLog.register(this); - threadPoolExecutor = new ThreadPoolExecutor(threadPoolSizeCore, threadPoolSizeMax, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue()); + threadPoolExecutor = new ThreadPoolExecutor(threadPoolSizeCore, threadPoolSizeMax, 0L, MILLISECONDS, + new LinkedBlockingQueue()); } /** @@ -63,16 +71,12 @@ public AuditLogListenerImpl(final EventLog eventLog, */ @Override public void postEvent(EventLogEvent event) { - threadPoolExecutor.submit(createAuditLogEntryEnvelope(event)); - } + AuditLogEntryEnvelope auditLogEntryEnvelope = new AuditLogEntryEnvelope(createFromEvent(event), repository); - /** - * Creates an {@link AuditLogEntryEnvelope} for the specified event. - * @param event the event - * @return an {@link AuditLogEntry} wrapped into an envelope - */ - private AuditLogEntryEnvelope createAuditLogEntryEnvelope(EventLogEvent event) { - return new AuditLogEntryEnvelope(AuditLogEntryFactory.createFromEvent(event), repository); - } + LOGGER.debug("posting auditLogEntryEnvelope: {}", auditLogEntryEnvelope); + + threadPoolExecutor.submit(auditLogEntryEnvelope); -} + LOGGER.debug("posted auditLogEntryEnvelope: {}", auditLogEntryEnvelope); + } +} \ No newline at end of file diff --git a/modules/authentication-objects/pom.xml b/modules/authentication-objects/pom.xml index 1c664e724..0d14d6a0b 100644 --- a/modules/authentication-objects/pom.xml +++ b/modules/authentication-objects/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/authentication/pom.xml b/modules/authentication/pom.xml index 8d438dbb1..bf1c8e567 100644 --- a/modules/authentication/pom.xml +++ b/modules/authentication/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/authorization-objects/pom.xml b/modules/authorization-objects/pom.xml index 26db8c9bf..c3ab80e62 100644 --- a/modules/authorization-objects/pom.xml +++ b/modules/authorization-objects/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/authorization/pom.xml b/modules/authorization/pom.xml index d8ab75274..1bf5e92ac 100644 --- a/modules/authorization/pom.xml +++ b/modules/authorization/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/cassandra/pom.xml b/modules/cassandra/pom.xml index fb149744a..504b10764 100644 --- a/modules/cassandra/pom.xml +++ b/modules/cassandra/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/database/pom.xml b/modules/database/pom.xml index 6ec23644c..4719e32e2 100644 --- a/modules/database/pom.xml +++ b/modules/database/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/database/src/main/resources/database.properties b/modules/database/src/main/resources/database.properties index d89259662..c0ffeb52d 100644 --- a/modules/database/src/main/resources/database.properties +++ b/modules/database/src/main/resources/database.properties @@ -13,10 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### -database.url.host=${mysql.host} -database.url.port=${mysql.port} -database.url.dbname=${mysql.dbName} -database.url.args=${mysql.Args} +database.url.host:${mysql.host} +database.url.port:${mysql.port} +database.url.dbname:${mysql.dbName} +database.url.args:${mysql.Args} database.user:readwrite database.password:readwrite database.pool.partitions:1 diff --git a/modules/email/pom.xml b/modules/email/pom.xml index b0a1910f7..3c62276d4 100644 --- a/modules/email/pom.xml +++ b/modules/email/pom.xml @@ -21,7 +21,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/email/src/test/java/com/intuit/wasabi/email/EmailModuleTest.java b/modules/email/src/test/java/com/intuit/wasabi/email/EmailModuleTest.java index 95218a3c0..84af7bada 100644 --- a/modules/email/src/test/java/com/intuit/wasabi/email/EmailModuleTest.java +++ b/modules/email/src/test/java/com/intuit/wasabi/email/EmailModuleTest.java @@ -20,9 +20,7 @@ import com.google.inject.Injector; import org.junit.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; public class EmailModuleTest { diff --git a/modules/event-objects/pom.xml b/modules/event-objects/pom.xml index 4efb8e3b6..5459713d2 100644 --- a/modules/event-objects/pom.xml +++ b/modules/event-objects/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/event/pom.xml b/modules/event/pom.xml index bc09fa78f..ca62dd2ff 100644 --- a/modules/event/pom.xml +++ b/modules/event/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/eventlog/pom.xml b/modules/eventlog/pom.xml index 7d5fcebc1..056504a00 100644 --- a/modules/eventlog/pom.xml +++ b/modules/eventlog/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/EventLogListener.java b/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/EventLogListener.java index e86fb249d..f631c746b 100644 --- a/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/EventLogListener.java +++ b/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/EventLogListener.java @@ -31,4 +31,4 @@ public interface EventLogListener { * @param event the event which occurred. */ void postEvent(EventLogEvent event); -} +} \ No newline at end of file diff --git a/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/impl/EventLogEventEnvelope.java b/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/impl/EventLogEventEnvelope.java index 70e89e864..74163d91e 100644 --- a/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/impl/EventLogEventEnvelope.java +++ b/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/impl/EventLogEventEnvelope.java @@ -17,6 +17,10 @@ import com.intuit.wasabi.eventlog.EventLogListener; import com.intuit.wasabi.eventlog.events.EventLogEvent; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.slf4j.LoggerFactory.getLogger; /** * Wraps a {@link Runnable} around an {@link EventLogEvent} and an {@link EventLogListener} (the recipient) who is @@ -26,9 +30,9 @@ /** The recipient of the event. */ private final EventLogListener recipient; - /** The event. */ private final EventLogEvent event; + private Logger LOGGER = getLogger(EventLogEventEnvelope.class); /** * Creates an envelope containing an event for the recipient. @@ -49,7 +53,10 @@ public EventLogEventEnvelope(final EventLogEvent event, final EventLogListener r */ @Override public void run() { + LOGGER.debug("posting event: {}", event); + recipient.postEvent(event); - } -} + LOGGER.debug("posted event: {}", event); + } +} \ No newline at end of file diff --git a/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/impl/EventLogImpl.java b/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/impl/EventLogImpl.java index 4e1fa8cea..5cb9e5556 100644 --- a/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/impl/EventLogImpl.java +++ b/modules/eventlog/src/main/java/com/intuit/wasabi/eventlog/impl/EventLogImpl.java @@ -22,10 +22,21 @@ import com.intuit.wasabi.eventlog.events.EventLogEvent; import org.slf4j.Logger; -import java.util.*; -import java.util.concurrent.*; +import java.util.ArrayList; +import java.util.Deque; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentLinkedDeque; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; import static java.lang.Class.forName; +import static java.lang.Thread.currentThread; +import static java.lang.Thread.sleep; +import static java.util.Collections.emptyList; +import static java.util.Collections.singletonList; +import static java.util.concurrent.TimeUnit.MILLISECONDS; import static org.slf4j.LoggerFactory.getLogger; @@ -36,10 +47,6 @@ public class EventLogImpl implements EventLog { private static final Logger LOGGER = getLogger(EventLogImpl.class); - /** - * Executes the {@link EventLogEventEnvelope}s. - */ - private final ThreadPoolExecutor eventPostThreadPoolExecutor; /** * The listener subscriptions. */ @@ -48,6 +55,10 @@ public class EventLogImpl implements EventLog { * the event Deque */ /*test*/ final Deque eventDeque; + /** + * Executes the {@link EventLogEventEnvelope}s. + */ + private final ThreadPoolExecutor eventPostThreadPoolExecutor; /** * Creates the event pool executor. Should be called by Guice. @@ -61,7 +72,8 @@ public EventLogImpl(@Named("eventlog.threadpoolsize.core") int threadPoolSizeCor listeners = new ConcurrentHashMap<>(); eventDeque = new ConcurrentLinkedDeque<>(); - eventPostThreadPoolExecutor = new ThreadPoolExecutor(threadPoolSizeCore, threadPoolSizeMax, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue()); + eventPostThreadPoolExecutor = new ThreadPoolExecutor(threadPoolSizeCore, threadPoolSizeMax, 0L, MILLISECONDS, + new LinkedBlockingQueue()); } /** @@ -69,7 +81,7 @@ public EventLogImpl(@Named("eventlog.threadpoolsize.core") int threadPoolSizeCor */ @Override public void register(EventLogListener listener) { - this.register(listener, Collections.emptyList()); + register(listener, emptyList()); } /** @@ -77,10 +89,7 @@ public void register(EventLogListener listener) { */ @Override public void register(EventLogListener listener, List> events) { - if (events.isEmpty()) { - events = Collections.singletonList(EventLogEvent.class); - } - listeners.put(listener, events); + listeners.put(listener, events.isEmpty() ? singletonList(EventLogEvent.class) : events); } /** @@ -91,20 +100,23 @@ public void register(EventLogListener listener, List> eventList = new ArrayList<>(events.length); + for (String event : events) { Class eventLogClass; try { eventLogClass = (Class) forName(event); } catch (ClassNotFoundException e) { - LOGGER.debug("Event class " + event + " not found, trying " + packagePrefix + event + " !", e); + LOGGER.debug("Event class: {} not found, trying: {} ", event, packagePrefix + event, e); + eventLogClass = (Class) forName(packagePrefix + event); } + eventList.add(eventLogClass); } - this.register(listener, eventList); + + register(listener, eventList); } /** @@ -113,9 +125,11 @@ public void register(EventLogListener listener, String... events) @Override public void postEvent(EventLogEvent event) { if (event == null) { - LOGGER.warn("null-Event skipped."); + LOGGER.warn("skipping null EventLogEvent"); + return; } + eventDeque.offerLast(event); } @@ -128,9 +142,9 @@ public void postEvent(EventLogEvent event) { */ private boolean isSubscribed(EventLogListener listener, EventLogEvent event) { List> subscriptions = listeners.get(listener); - // class and super classes Class eventClass = event.getClass(); + while (!eventClass.equals(Object.class)) { if (subscriptions.contains(eventClass)) { return true; @@ -142,6 +156,7 @@ private boolean isSubscribed(EventLogListener listener, EventLogEvent event) { return true; } } + eventClass = eventClass.getSuperclass(); } @@ -154,12 +169,12 @@ private boolean isSubscribed(EventLogListener listener, EventLogEvent event) { @Override public void run() { try { - while (!Thread.currentThread().isInterrupted() && Thread.currentThread().isAlive()) { + while (!currentThread().isInterrupted() && currentThread().isAlive()) { if (!eventDeque.isEmpty()) { prepareEnvelope(eventDeque.pollFirst()); } else { try { - Thread.sleep(500); + sleep(500); } catch (InterruptedException e) { LOGGER.warn("Interrupted while sleeping.", e); } @@ -167,6 +182,7 @@ public void run() { } } finally { LOGGER.info("Shutting down event system, posting remaining events -- new events will not be processed."); + if (!eventDeque.isEmpty()) { eventDeque.forEach(this::prepareEnvelope); eventDeque.clear(); @@ -180,13 +196,27 @@ public void run() { * @param event the vent to prepare */ /*test*/ void prepareEnvelope(final EventLogEvent event) { - if (event == null) { - return; - } - for (EventLogListener eventLogListener : listeners.keySet()) { - if (isSubscribed(eventLogListener, event)) { - eventPostThreadPoolExecutor.submit(new EventLogEventEnvelope(event, eventLogListener)); + LOGGER.debug("preparing event: {}", event); + + if (event != null) { + LOGGER.debug("preparing event is not null"); + + for (EventLogListener eventLogListener : listeners.keySet()) { + boolean isEventSubscribed = isSubscribed(eventLogListener, event); + + LOGGER.debug("preparing event {}, is subscribed: {}, with eventLogListener: {}", isEventSubscribed, + event, eventLogListener); + + if (isEventSubscribed) { + LOGGER.debug("preparing subscribed event {}, with eventLogListener", event, eventLogListener); + + eventPostThreadPoolExecutor.submit(new EventLogEventEnvelope(event, eventLogListener)); + + LOGGER.debug("prepared subscribed event {}, with eventLogListener", event, eventLogListener); + } } } + + LOGGER.debug("prepared event: {}", event); } -} +} \ No newline at end of file diff --git a/modules/eventlog/src/test/java/com/intuit/wasabi/eventlog/impl/EventLogImplTest.java b/modules/eventlog/src/test/java/com/intuit/wasabi/eventlog/impl/EventLogImplTest.java index a22fefd9c..5c43cfb54 100644 --- a/modules/eventlog/src/test/java/com/intuit/wasabi/eventlog/impl/EventLogImplTest.java +++ b/modules/eventlog/src/test/java/com/intuit/wasabi/eventlog/impl/EventLogImplTest.java @@ -19,6 +19,7 @@ import com.intuit.wasabi.eventlog.events.EventLogEvent; import com.intuit.wasabi.eventlog.events.SimpleEvent; import org.junit.Assert; +import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; @@ -90,7 +91,9 @@ public void testRegisterStringFail() throws Exception { } @Test + @Ignore public void testPostEvent() throws Exception { + // FIXME: this test still relies on threads, we need to polish it EventLogListener eventLogListener = Mockito.mock(EventLogListener.class); EventLogImpl eventLog = new EventLogImpl(2, 4); eventLog.register(eventLogListener, Collections.singletonList(SimpleEvent.class)); @@ -133,9 +136,10 @@ public void testPostEventNull() throws Exception { Assert.assertFalse("Deque contains null.", eventLog.eventDeque.contains(null)); } + @Ignore @Test public void testRunFinally() throws Exception { - // FIXME: this test still relies on threads, we might need to polish it + // FIXME: this test still relies on threads, we need to polish it EventLogImpl eventLog = new EventLogImpl(1, 1); EventLogEvent eventLogEvent = Mockito.mock(EventLogEvent.class); diff --git a/modules/exceptions/pom.xml b/modules/exceptions/pom.xml index 923e740d5..1e7825c7e 100644 --- a/modules/exceptions/pom.xml +++ b/modules/exceptions/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/experiment-objects/pom.xml b/modules/experiment-objects/pom.xml index b736fd8cc..0b25bcf33 100644 --- a/modules/experiment-objects/pom.xml +++ b/modules/experiment-objects/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Bucket.java b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Bucket.java index 89eb382bf..65c56f23f 100644 --- a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Bucket.java +++ b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Bucket.java @@ -28,7 +28,9 @@ import com.google.common.base.Preconditions; import com.intuit.wasabi.experimentobjects.exceptions.InvalidIdentifierException; import com.netflix.astyanax.model.ColumnList; + import io.swagger.annotations.ApiModelProperty; + import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -36,13 +38,12 @@ import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.EnumMap; import java.util.List; import java.util.Map; import java.util.Objects; -import static java.util.Arrays.asList; - /** * An experiment bucket */ @@ -186,9 +187,9 @@ public boolean isStateTransitionValid(State desiredState) { } public enum State { - OPEN, CLOSED, EMPTY; + //TODO: this is a work in progress public enum BucketStateTransition { OPEN(State.OPEN, State.CLOSED, State.EMPTY), @@ -206,11 +207,11 @@ public enum BucketStateTransition { } } } - //TODO: remove state from enum + //TODO: remove state from enum - this is a work in progress private final transient List allowedStateTransitions; BucketStateTransition(State... allowedTransitions) { - this.allowedStateTransitions = asList(allowedTransitions); + this.allowedStateTransitions = Arrays.asList(allowedTransitions); } private List getAllowedStateTransitions() { @@ -308,7 +309,6 @@ public static class Label { private String label; private Label(String label) { - super(); this.label = Preconditions.checkNotNull(label); if (label.trim().isEmpty()) { diff --git a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Context.java b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Context.java index 7f7cf6306..9811071ba 100644 --- a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Context.java +++ b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Context.java @@ -31,7 +31,6 @@ public class Context { private String ctx = "PROD"; //default value for context private Context(String ctx) { - super(); this.ctx=Preconditions.checkNotNull(ctx); if (ctx.trim().isEmpty()) { diff --git a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Experiment.java b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Experiment.java index d68fb9d0d..937240a1f 100644 --- a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Experiment.java +++ b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Experiment.java @@ -737,7 +737,6 @@ public static class Label { private String label; private Label(String label) { - super(); this.label = Preconditions.checkNotNull(label); if (!label.matches("^[_\\-$A-Za-z][_\\-$A-Za-z0-9]*")) { throw new InvalidIdentifierException("Experiment label \"" + diff --git a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/ExperimentPage.java b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/ExperimentPage.java index 32623bca1..b8865b3a3 100644 --- a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/ExperimentPage.java +++ b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/ExperimentPage.java @@ -16,6 +16,7 @@ package com.intuit.wasabi.experimentobjects; import io.swagger.annotations.ApiModelProperty; + import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -83,12 +84,7 @@ public String toString() { } @Override - public ExperimentPage clone() { - try { + public ExperimentPage clone() throws CloneNotSupportedException { return (ExperimentPage) super.clone(); - } catch (CloneNotSupportedException e) { - // Should never happen - throw new RuntimeException(e); - } } } diff --git a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/NewExperiment.java b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/NewExperiment.java index 9f8e727b8..9ccf2e517 100644 --- a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/NewExperiment.java +++ b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/NewExperiment.java @@ -28,7 +28,7 @@ * Specification of a new experiment */ @ApiModel(description = "Subset of Experiment used to create a new experiment.") -public final class NewExperiment implements ExperimentBase { +public class NewExperiment implements ExperimentBase { // Note, if adding a member variable, be sure to update the builder's // copy contructor diff --git a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Page.java b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Page.java index 6861be151..152402f45 100644 --- a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Page.java +++ b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/Page.java @@ -99,7 +99,6 @@ public static class Name { private final String inner_name; private Name(String name) { - super(); this.inner_name = Preconditions.checkNotNull(name); if (name.trim().isEmpty()) { diff --git a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/PageExperiment.java b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/PageExperiment.java index ff1ac5463..292a8f9bf 100644 --- a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/PageExperiment.java +++ b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/PageExperiment.java @@ -17,6 +17,7 @@ import io.swagger.annotations.ApiModelProperty; + import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; @@ -39,7 +40,6 @@ public static class Builder{ private PageExperiment instance; public Builder(Experiment.ID experimentID, Experiment.Label label, boolean allowNewAssignment){ - super(); instance = new PageExperiment(); instance.id = experimentID; instance.label = label; @@ -96,13 +96,8 @@ public String toString() { } @Override - public PageExperiment clone() { - try { + public PageExperiment clone() throws CloneNotSupportedException { return (PageExperiment) super.clone(); - } catch (CloneNotSupportedException e) { - // Should never happen - throw new RuntimeException(e); - } } } diff --git a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/PrioritizedExperiment.java b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/PrioritizedExperiment.java index 19d38c66b..7d1ebd2dc 100644 --- a/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/PrioritizedExperiment.java +++ b/modules/experiment-objects/src/main/java/com/intuit/wasabi/experimentobjects/PrioritizedExperiment.java @@ -17,7 +17,9 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.google.common.base.Preconditions; + import io.swagger.annotations.ApiModelProperty; + import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -290,13 +292,8 @@ public String toString() { } @Override - public PrioritizedExperiment clone() { - try { + public PrioritizedExperiment clone() throws CloneNotSupportedException { return (PrioritizedExperiment) super.clone(); - } catch (CloneNotSupportedException e) { - // Should never happen - throw new RuntimeException(e); - } } /** diff --git a/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/BucketListTest.java b/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/BucketListTest.java index 7eb013d5a..7f2784007 100644 --- a/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/BucketListTest.java +++ b/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/BucketListTest.java @@ -1,3 +1,18 @@ +/******************************************************************************* + * Copyright 2016 Intuit + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ package com.intuit.wasabi.experimentobjects; import static org.junit.Assert.*; diff --git a/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/PageExperimentTest.java b/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/PageExperimentTest.java index 763b23809..a0e805d38 100644 --- a/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/PageExperimentTest.java +++ b/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/PageExperimentTest.java @@ -80,7 +80,7 @@ public void testEquals(){ } @Test - public void testClone(){ + public void testClone() throws Exception{ PageExperiment pClone = pe.clone(); assertEquals(pClone, pe); } diff --git a/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/PrioritizedExperimentTest.java b/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/PrioritizedExperimentTest.java index 60a1b0bc3..cd95ca4d7 100644 --- a/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/PrioritizedExperimentTest.java +++ b/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/PrioritizedExperimentTest.java @@ -108,7 +108,7 @@ public void testBuilderMethods(){ } @Test - public void testClone(){ + public void testClone() throws Exception{ assertEquals(prioExp,prioExp.clone()); } diff --git a/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/exceptions/InvalidExperimentStateTransitionExceptionTest.java b/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/exceptions/InvalidExperimentStateTransitionExceptionTest.java index 0c6a91b0d..c084fe609 100644 --- a/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/exceptions/InvalidExperimentStateTransitionExceptionTest.java +++ b/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/exceptions/InvalidExperimentStateTransitionExceptionTest.java @@ -1,3 +1,18 @@ +/******************************************************************************* + * Copyright 2016 Intuit + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ package com.intuit.wasabi.experimentobjects.exceptions; import org.hamcrest.core.Is; diff --git a/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/exceptions/InvalidIdentifierExceptionTest.java b/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/exceptions/InvalidIdentifierExceptionTest.java index a193911a7..9ce4da3ba 100644 --- a/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/exceptions/InvalidIdentifierExceptionTest.java +++ b/modules/experiment-objects/src/test/java/com/intuit/wasabi/experimentobjects/exceptions/InvalidIdentifierExceptionTest.java @@ -1,3 +1,18 @@ +/******************************************************************************* + * Copyright 2016 Intuit + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ package com.intuit.wasabi.experimentobjects.exceptions; import org.hamcrest.core.Is; diff --git a/modules/experiment/pom.xml b/modules/experiment/pom.xml index 2be12ca7c..6054372f9 100644 --- a/modules/experiment/pom.xml +++ b/modules/experiment/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/experiment/src/main/java/com/intuit/wasabi/experiment/impl/ExperimentsImpl.java b/modules/experiment/src/main/java/com/intuit/wasabi/experiment/impl/ExperimentsImpl.java index f592b4380..89e424953 100644 --- a/modules/experiment/src/main/java/com/intuit/wasabi/experiment/impl/ExperimentsImpl.java +++ b/modules/experiment/src/main/java/com/intuit/wasabi/experiment/impl/ExperimentsImpl.java @@ -357,7 +357,7 @@ public boolean buildUpdatedExperiment(Experiment experiment, Experiment updates, if (updates.getHypothesisIsCorrect() != null && !updates.getHypothesisIsCorrect().equals(experiment.getHypothesisIsCorrect())) { builder.withHypothesisIsCorrect(updates.getHypothesisIsCorrect()); requiresUpdate = true; - changeData = new ExperimentAuditInfo("hypothesisiscorrect", experiment.getHypothesisIsCorrect(), updates.getHypothesisIsCorrect()); + changeData = new ExperimentAuditInfo("hypothesis_is_correct", experiment.getHypothesisIsCorrect(), updates.getHypothesisIsCorrect()); changeList.add(changeData); } if (updates.getResults() != null && !updates.getResults().equals(experiment.getResults())) { diff --git a/modules/export/pom.xml b/modules/export/pom.xml index f54ddfdfa..34b984a50 100644 --- a/modules/export/pom.xml +++ b/modules/export/pom.xml @@ -23,7 +23,7 @@ wasabi com.intuit.wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/feedback-objects/pom.xml b/modules/feedback-objects/pom.xml index a8a58c7b4..b221d9037 100644 --- a/modules/feedback-objects/pom.xml +++ b/modules/feedback-objects/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/feedback/pom.xml b/modules/feedback/pom.xml index 008cc7871..d060e735f 100644 --- a/modules/feedback/pom.xml +++ b/modules/feedback/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/functional-test/pom.xml b/modules/functional-test/pom.xml index ea6580108..f7573363c 100755 --- a/modules/functional-test/pom.xml +++ b/modules/functional-test/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/functional-test/src/main/java/com/intuit/wasabi/tests/library/TestBase.java b/modules/functional-test/src/main/java/com/intuit/wasabi/tests/library/TestBase.java index 671774e54..abd3b1724 100644 --- a/modules/functional-test/src/main/java/com/intuit/wasabi/tests/library/TestBase.java +++ b/modules/functional-test/src/main/java/com/intuit/wasabi/tests/library/TestBase.java @@ -17,25 +17,62 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.intuit.wasabi.tests.library.util.*; +import com.intuit.wasabi.tests.library.util.Constants; +import com.intuit.wasabi.tests.library.util.RetryAnalyzer; +import com.intuit.wasabi.tests.library.util.RetryListener; +import com.intuit.wasabi.tests.library.util.RetryTest; +import com.intuit.wasabi.tests.library.util.TestUtils; import com.intuit.wasabi.tests.library.util.serialstrategies.DefaultNameExclusionStrategy; import com.intuit.wasabi.tests.library.util.serialstrategies.SerializationStrategy; -import com.intuit.wasabi.tests.model.*; -import com.intuit.wasabi.tests.model.analytics.*; -import com.intuit.wasabi.tests.model.factory.*; +import com.intuit.wasabi.tests.model.APIUser; +import com.intuit.wasabi.tests.model.AccessToken; +import com.intuit.wasabi.tests.model.Application; +import com.intuit.wasabi.tests.model.Assignment; +import com.intuit.wasabi.tests.model.Bucket; +import com.intuit.wasabi.tests.model.Event; +import com.intuit.wasabi.tests.model.Experiment; +import com.intuit.wasabi.tests.model.Page; +import com.intuit.wasabi.tests.model.User; +import com.intuit.wasabi.tests.model.UserFeedback; +import com.intuit.wasabi.tests.model.analytics.AnalyticsParameters; +import com.intuit.wasabi.tests.model.analytics.ExperimentCounts; +import com.intuit.wasabi.tests.model.analytics.ExperimentCumulativeCounts; +import com.intuit.wasabi.tests.model.analytics.ExperimentCumulativeStatistics; +import com.intuit.wasabi.tests.model.analytics.ExperimentStatistics; +import com.intuit.wasabi.tests.model.factory.APIUserFactory; +import com.intuit.wasabi.tests.model.factory.AccessTokenFactory; +import com.intuit.wasabi.tests.model.factory.AssignmentFactory; +import com.intuit.wasabi.tests.model.factory.BucketFactory; +import com.intuit.wasabi.tests.model.factory.EventFactory; +import com.intuit.wasabi.tests.model.factory.ExperimentFactory; +import com.intuit.wasabi.tests.model.factory.PageFactory; +import com.intuit.wasabi.tests.model.factory.UserFeedbackFactory; import com.jayway.restassured.http.ContentType; import com.jayway.restassured.path.json.exception.JsonPathException; import com.jayway.restassured.response.Response; import org.apache.http.HttpStatus; import org.slf4j.Logger; import org.testng.Assert; -import org.testng.annotations.*; +import org.testng.annotations.AfterClass; +import org.testng.annotations.AfterTest; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Listeners; import org.testng.annotations.Optional; +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; import static org.slf4j.LoggerFactory.getLogger; @@ -44,7 +81,7 @@ /** * A TestBase for new test sets. */ -@Listeners({ RetryListener.class }) +@Listeners({RetryListener.class}) public class TestBase extends ServiceTestBase { private static final Logger LOGGER = getLogger(TestBase.class); @@ -73,7 +110,7 @@ private void init() { * Will be called before any tests of a class are invoked. * Creates an APIServerConnector and tries to ping the service. * - * @param configFile the configuration file + * @param configFile the configuration file * @throws IOException if the configfile can not be read. */ @BeforeClass @@ -97,11 +134,11 @@ protected void beforeClassTestWrapper(@Optional(Constants.DEFAULT_CONFIG_FILE) S private void loadProperties(String configFile) throws IOException { try { Properties properties = new Properties(); - properties.load( new BufferedReader( - new InputStreamReader( - this.getClass().getClassLoader().getResourceAsStream(configFile) + properties.load(new BufferedReader( + new InputStreamReader( + this.getClass().getClassLoader().getResourceAsStream(configFile) + ) ) - ) ); appProperties = properties; LOGGER.debug("Properties loaded: " + appProperties.toString()); @@ -119,9 +156,9 @@ private void loadProperties(String configFile) throws IOException { // setPropertyFromSystemProperty ("user.name","user-name"); // setPropertyFromSystemProperty ("user.password","password"); - setPropertyFromSystemProperty ("user-name","user-name"); - setPropertyFromSystemProperty ("password","password"); - setPropertyFromSystemProperty ("user-lastname","user-lastname"); + setPropertyFromSystemProperty("user-name", "user-name"); + setPropertyFromSystemProperty("password", "password"); + setPropertyFromSystemProperty("user-lastname", "user-lastname"); setPropertyFromSystemProperty("validTokenPattern", "validTokenPattern"); setPropertyFromSystemProperty("user-email", "user-email"); @@ -140,7 +177,6 @@ protected void afterClassTestWrapper() { /** * Creates an APIServerConnector. - * */ private void createAPIServerConnector() { LOGGER.info("Creating APIServerConnector"); @@ -164,7 +200,7 @@ private void createAPIServerConnector() { * {@code sysPropKey}. * If the system property is null or the empty string no action is done. * - * @param sysPropKey the system property key + * @param sysPropKey the system property key * @param internalPropKey the appProperty key */ protected void setPropertyFromSystemProperty(String sysPropKey, String internalPropKey) { @@ -176,7 +212,6 @@ protected void setPropertyFromSystemProperty(String sysPropKey, String internalP } - /////////////////// // ping Endpoint // /////////////////// @@ -184,7 +219,7 @@ protected void setPropertyFromSystemProperty(String sysPropKey, String internalP /** * Pings the API server and asserts that all components in the received message * are healthy, thus the system running. - * + *

* This will be run as a test to be able to use this as a dependency. */ @Test(sequential = true, retryAnalyzer = RetryAnalyzer.class, groups = {"ping"}) @@ -207,7 +242,7 @@ public void assertPingAPIServer(int expectedStatus) { * Pings the API server and asserts that all components in the received message * are healthy, thus the system running. * - * @param expectedStatus the expected HTTP status code + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use */ public void assertPingAPIServer(int expectedStatus, APIServerConnector apiServerConnector) { @@ -253,7 +288,7 @@ public Response getPing(int expectedStatus) { * Sends a GET request to ping the Server. * The response must contain HTTP {@code expectedStatus}. * - * @param expectedStatus the expected HTTP status code + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -265,7 +300,6 @@ public Response getPing(int expectedStatus, APIServerConnector apiServerConnecto } - ////////////////////////// // experiments Endpoint // ////////////////////////// @@ -273,7 +307,7 @@ public Response getPing(int expectedStatus, APIServerConnector apiServerConnecto /** * Sends a POST request to create an experiment. * The response must contain {@link HttpStatus#SC_CREATED}. - * + *

* Sets createNewApplication to {@code true}. * * @param experiment the experiment to POST @@ -286,10 +320,10 @@ public Experiment postExperiment(Experiment experiment) { /** * Sends a POST request to create an experiment. * The response must contain {@link HttpStatus#SC_CREATED}. - * + *

* Sets createNewApplication to {@code true}. * - * @param experiment the experiment to POST + * @param experiment the experiment to POST * @param createNewApplication allow to create a new application * @return the new experiment */ @@ -300,10 +334,10 @@ public Experiment postExperiment(Experiment experiment, boolean createNewApplica /** * Sends a POST request to create an experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* Sets createNewApplication to {@code true}. * - * @param experiment the experiment to POST + * @param experiment the experiment to POST * @param expectedStatus the expected HTTP status code * @return the new experiment */ @@ -315,9 +349,9 @@ public Experiment postExperiment(Experiment experiment, int expectedStatus) { * Sends a POST request to create an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment to POST + * @param experiment the experiment to POST * @param createNewApplication allow to create a new application - * @param expectedStatus the expected HTTP status code + * @param expectedStatus the expected HTTP status code * @return the new experiment */ public Experiment postExperiment(Experiment experiment, boolean createNewApplication, int expectedStatus) { @@ -327,11 +361,11 @@ public Experiment postExperiment(Experiment experiment, boolean createNewApplica /** * Sends a POST request to create an experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* Sets createNewApplication to {@code true}. * - * @param experiment the experiment to POST - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment to POST + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the new experiment */ @@ -343,14 +377,14 @@ public Experiment postExperiment(Experiment experiment, int expectedStatus, APIS * Sends a POST request to create an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment to POST + * @param experiment the experiment to POST * @param createNewApplication allow to create a new application - * @param expectedStatus the expected HTTP status code - * @param apiServerConnector the server connector to use + * @param expectedStatus the expected HTTP status code + * @param apiServerConnector the server connector to use * @return the new experiment */ public Experiment postExperiment(Experiment experiment, boolean createNewApplication, int expectedStatus, APIServerConnector apiServerConnector) { - response = apiServerConnector.doPost("experiments?createNewApplication=" + createNewApplication, experiment==null?null:experiment.toJSONString()); + response = apiServerConnector.doPost("experiments?createNewApplication=" + createNewApplication, experiment == null ? null : experiment.toJSONString()); // FIXME: jwtodd assertReturnCode(response, response.getStatusCode() == 500 ? 500 : expectedStatus); return ExperimentFactory.createFromJSONString(response.jsonPath().prettify()); @@ -359,9 +393,9 @@ public Experiment postExperiment(Experiment experiment, boolean createNewApplica /** * Sends a PUT request to update the experiment. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* Excludes the experiment creation and modification times. - * + *

* If this call was used to delete an experiment (by changing the state to DELETED) it will return a new, empty * experiment. * @@ -375,13 +409,13 @@ public Experiment putExperiment(Experiment experiment) { /** * Sends a PUT request to update the experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* Excludes the experiment creation and modification times. - * + *

* If this call was used to delete an experiment (by changing the state to DELETED) it will return a new, empty * experiment. * - * @param experiment the experiment to PUT + * @param experiment the experiment to PUT * @param expectedStatus the expected HTTP status code * @return the new changed experiment */ @@ -392,14 +426,14 @@ public Experiment putExperiment(Experiment experiment, int expectedStatus) { /** * Sends a PUT request to update the experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* Always excludes the experiment creation and modification times. - * + *

* If this call was used to delete an experiment (by changing the state to DELETED) it will return a new, empty * experiment. * - * @param experiment the experiment to PUT - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment to PUT + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the new changed experiment */ @@ -428,12 +462,20 @@ public Experiment putExperiment(Experiment experiment, int expectedStatus, APISe response = apiServerConnector.doPut("experiments/" + experiment.id, experiment.toJSONString()); switch (caseModification) { - case "WHITELIST_REMOVED": experiment.getSerializationStrategy().add("modificationTime"); break; - case "BLACKLIST_ADDED": experiment.getSerializationStrategy().remove("modificationTime"); break; + case "WHITELIST_REMOVED": + experiment.getSerializationStrategy().add("modificationTime"); + break; + case "BLACKLIST_ADDED": + experiment.getSerializationStrategy().remove("modificationTime"); + break; } switch (caseCreation) { - case "WHITELIST_REMOVED": experiment.getSerializationStrategy().add("creationTime"); break; - case "BLACKLIST_ADDED": experiment.getSerializationStrategy().remove("creationTIme"); break; + case "WHITELIST_REMOVED": + experiment.getSerializationStrategy().add("creationTime"); + break; + case "BLACKLIST_ADDED": + experiment.getSerializationStrategy().remove("creationTIme"); + break; } assertReturnCode(response, expectedStatus); if (expectedStatus == HttpStatus.SC_NO_CONTENT) { @@ -467,7 +509,7 @@ public List getExperiments(int expectedStatus) { * Sends a GET request to get all experiments. * The response must contain HTTP {@code expectedStatus}. * - * @param expectedStatus the expected HTTP status code + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list of experiments */ @@ -486,7 +528,7 @@ public List getExperiments(int expectedStatus, APIServerConnector ap /** * Sends a GET request to get an experiment with the supplied ID. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* Asserts that the experiment has an ID. * * @param experiment an experiment with an ID @@ -499,10 +541,10 @@ public Experiment getExperiment(Experiment experiment) { /** * Sends a GET request to get an experiment with the supplied ID. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* Asserts that the experiment has an ID. * - * @param experiment an experiment with an ID + * @param experiment an experiment with an ID * @param expectedStatus the expected HTTP status code * @return a new experiment instance constructed from the response */ @@ -513,11 +555,11 @@ public Experiment getExperiment(Experiment experiment, int expectedStatus) { /** * Sends a GET request to get an experiment with the supplied ID. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* Asserts that the experiment has an ID. * - * @param experiment an experiment with an ID - * @param expectedStatus the expected HTTP status code + * @param experiment an experiment with an ID + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a new experiment instance constructed from the response */ @@ -531,7 +573,7 @@ public Experiment getExperiment(Experiment experiment, int expectedStatus, APISe /** * Sends a DELETE request for the experiment with the experiment's ID. * The response must contain {@link HttpStatus#SC_NO_CONTENT}. - * + *

* Asserts that the experiment has an ID. * * @param experiment an experiment with an ID @@ -542,16 +584,16 @@ public Response deleteExperiment(Experiment experiment) { } public void deleteExperiments(List experiments) { - for (Experiment exp : experiments) { - deleteExperiment(exp); - } + for (Experiment exp : experiments) { + deleteExperiment(exp); + } } /** * Sends a DELETE request for the experiment with the experiment's ID. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment an experiment with an ID + * @param experiment an experiment with an ID * @param expectedStatus the expected HTTP status code * @return the response */ @@ -563,8 +605,8 @@ public Response deleteExperiment(Experiment experiment, int expectedStatus) { * Sends a DELETE request for the experiment with the experiment's ID. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment an experiment with an ID - * @param expectedStatus the expected HTTP status code + * @param experiment an experiment with an ID + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -576,7 +618,6 @@ public Response deleteExperiment(Experiment experiment, int expectedStatus, APIS } - /////////////////////////////////////// // experiments//buckets endpoint // /////////////////////////////////////// @@ -596,7 +637,7 @@ public Bucket postBucket(Bucket bucket) { * Sends a POST request to create a bucket. * The response must contain HTTP {@code expectedStatus}. * - * @param bucket the new bucket + * @param bucket the new bucket * @param expectedStatus the expected HTTP status code * @return the retrieved bucket */ @@ -608,8 +649,8 @@ public Bucket postBucket(Bucket bucket, int expectedStatus) { * Sends a POST request to create a bucket. * The response must contain HTTP {@code expectedStatus}. * - * @param bucket the new bucket - * @param expectedStatus the expected HTTP status code + * @param bucket the new bucket + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the retrieved bucket */ @@ -636,7 +677,7 @@ public List postBuckets(List buckets) { * Sends multiple POST requests to create multiple buckets. * The responses must contain HTTP {@code expectedStatus}. * - * @param buckets a list of new buckets + * @param buckets a list of new buckets * @param expectedStatus the expected HTTP status code * @return a list of retrieved buckets */ @@ -648,15 +689,15 @@ public List postBuckets(List buckets, int expectedStatus) { * Sends multiple POST requests to create multiple buckets. * The responses must contain HTTP {@code expectedStatus}. * - * @param buckets a list of new buckets - * @param expectedStatus the expected HTTP status code + * @param buckets a list of new buckets + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list of retrieved buckets */ public List postBuckets(List buckets, int expectedStatus, APIServerConnector apiServerConnector) { List newBuckets = new ArrayList<>(buckets.size()); for (Bucket bucket : buckets) { - newBuckets.add(postBucket(bucket, expectedStatus, apiServerConnector)); + newBuckets.add(postBucket(bucket, expectedStatus, apiServerConnector)); } return newBuckets; } @@ -676,7 +717,7 @@ public Bucket putBucket(Bucket bucket) { * Sends a PUT request to update a bucket. * The response must contain HTTP {@code expectedStatus}. * - * @param bucket the bucket to update + * @param bucket the bucket to update * @param expectedStatus the expected HTTP status code * @return the retrieved bucket */ @@ -688,8 +729,8 @@ public Bucket putBucket(Bucket bucket, int expectedStatus) { * Sends a PUT request to update a bucket. * The response must contain HTTP {@code expectedStatus}. * - * @param bucket the bucket to update - * @param expectedStatus the expected HTTP status code + * @param bucket the bucket to update + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the retrieved bucket */ @@ -717,7 +758,7 @@ public List putBuckets(List buckets) { * Sends a PUT request to update a list of buckets. * The responses must contain HTTP {@code expectedStatus}. * - * @param buckets the buckets to update + * @param buckets the buckets to update * @param expectedStatus the expected HTTP status code * @return the retrieved buckets */ @@ -729,8 +770,8 @@ public List putBuckets(List buckets, int expectedStatus) { * Sends a PUT request to update a list of buckets. * The responses must contain HTTP {@code expectedStatus}. * - * @param buckets the buckets to update - * @param expectedStatus the expected HTTP status code + * @param buckets the buckets to update + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the retrieved buckets */ @@ -745,7 +786,7 @@ public List putBuckets(List buckets, int expectedStatus, APIServ /** * Sends a PUT request to update the state of a bucket. * The responses must contain {@link HttpStatus#SC_OK}. - * + *

* Uses the bucket's state. * * @param bucket the buckets to update @@ -760,7 +801,7 @@ public Bucket putBucketState(Bucket bucket) { * The responses must contain {@link HttpStatus#SC_OK}. * * @param bucket the buckets to update - * @param state the new state + * @param state the new state * @return the bucket returned by the response */ public Bucket putBucketState(Bucket bucket, String state) { @@ -771,8 +812,8 @@ public Bucket putBucketState(Bucket bucket, String state) { * Sends a PUT request to update the state of a bucket. * The responses must contain HTTP {@code expectedStatus}. * - * @param bucket the buckets to update - * @param state the new state + * @param bucket the buckets to update + * @param state the new state * @param expectedStatus the expected HTTP status code * @return the bucket returned by the response */ @@ -784,9 +825,9 @@ public Bucket putBucketState(Bucket bucket, String state, int expectedStatus) { * Sends a PUT request to update the state of a bucket. * The responses must contain HTTP {@code expectedStatus}. * - * @param bucket the buckets to update - * @param state the new state - * @param expectedStatus the expected HTTP status code + * @param bucket the buckets to update + * @param state the new state + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the bucket returned by the response */ @@ -815,7 +856,7 @@ public List putBucketsStates(List buckets) { * Sends a PUT request to update the states of a list of buckets. * The responses must contain HTTP {@code expectedStatus}. * - * @param buckets the buckets to update + * @param buckets the buckets to update * @param expectedStatus the expected HTTP status code * @return a list retrieved buckets */ @@ -827,8 +868,8 @@ public List putBucketsStates(List buckets, int expectedStatus) { * Sends a PUT request to update the states of a list of buckets. * The responses must contain HTTP {@code expectedStatus}. * - * @param buckets the buckets to update - * @param expectedStatus the expected HTTP status code + * @param buckets the buckets to update + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list retrieved buckets */ @@ -846,7 +887,7 @@ public List putBucketsStates(List buckets, int expectedStatus, A * All states are set to the same supplied value. * * @param buckets the buckets to update - * @param state the states to be set, one for all buckets + * @param state the states to be set, one for all buckets * @return a list retrieved buckets */ public List putBucketsState(List buckets, String state) { @@ -858,9 +899,9 @@ public List putBucketsState(List buckets, String state) { * The responses must contain HTTP {@code expectedStatus}. * All states are set to the same supplied value. * - * @param buckets the buckets to update - * @param state the states to be set, one for all buckets - * @param expectedStatus the expected http status code + * @param buckets the buckets to update + * @param state the states to be set, one for all buckets + * @param expectedStatus the expected http status code * @return a list retrieved buckets */ public List putBucketsState(List buckets, String state, int expectedStatus) { @@ -873,7 +914,7 @@ public List putBucketsState(List buckets, String state, int expe * Sends a PUT request to update the states of a list of buckets. * The responses must contain {@link HttpStatus#SC_OK}. * - * @param buckets the buckets to update + * @param buckets the buckets to update * @param bucketStates the states to be set, one for each bucket * @return a list retrieved buckets */ @@ -886,8 +927,8 @@ public List putBucketsStates(List buckets, List bucketSt * The responses must contain HTTP {@code expectedStatus}. * All states are set to the same value. * - * @param buckets the buckets to update - * @param bucketStates the states to be set, one for each bucket + * @param buckets the buckets to update + * @param bucketStates the states to be set, one for each bucket * @param expectedStatus the expected HTTP status code * @return a list retrieved buckets */ @@ -900,9 +941,9 @@ public List putBucketsStates(List buckets, List bucketSt * The responses must contain HTTP {@code expectedStatus}. * All states are set to the same value. * - * @param buckets the buckets to update - * @param bucketStates the states to be set, one for each bucket - * @param expectedStatus the expected HTTP status code + * @param buckets the buckets to update + * @param bucketStates the states to be set, one for each bucket + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list retrieved buckets */ @@ -931,7 +972,7 @@ public Response deleteBucket(Bucket bucket) { * Sends a DELETE request for a bucket. * The response must contain HTTP {@code expectedStatus}. * - * @param bucket the bucket to delete + * @param bucket the bucket to delete * @param expectedStatus the expected HTTP status code * @return the response */ @@ -943,8 +984,8 @@ public Response deleteBucket(Bucket bucket, int expectedStatus) { * Sends a DELETE request for a bucket. * The response must contain HTTP {@code expectedStatus}. * - * @param bucket the bucket to delete - * @param expectedStatus the expected HTTP status code + * @param bucket the bucket to delete + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -972,7 +1013,7 @@ public Response deleteBuckets(List buckets) { * Sends DELETE requests for a list of buckets. * The responses must contain HTTP {@code expectedStatus}. * - * @param buckets the buckets to delete + * @param buckets the buckets to delete * @param expectedStatus the expected HTTP status code * @return the response */ @@ -984,8 +1025,8 @@ public Response deleteBuckets(List buckets, int expectedStatus) { * Sends DELETE requests for a list of buckets. * The responses must contain HTTP {@code expectedStatus}. * - * @param buckets the buckets to delete - * @param expectedStatus the expected HTTP status code + * @param buckets the buckets to delete + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -1011,7 +1052,7 @@ public List getBuckets(Experiment experiment) { * Sends a GET request to retrieve the buckets of the specified experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment providing the id + * @param experiment the experiment providing the id * @param expectedStatus the expected HTTP status code * @return the response */ @@ -1023,8 +1064,8 @@ public List getBuckets(Experiment experiment, int expectedStatus) { * Sends a GET request to retrieve the buckets of the specified experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment providing the id - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment providing the id + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -1056,7 +1097,7 @@ public Bucket getBucket(Bucket bucket) { * Sends a GET request to retrieve the specified bucket. * The response must contain HTTP {@code expectedStatus}. * - * @param bucket the bucket providing a label and an experiment id + * @param bucket the bucket providing a label and an experiment id * @param expectedStatus the expected HTTP status code * @return the bucket */ @@ -1068,8 +1109,8 @@ public Bucket getBucket(Bucket bucket, int expectedStatus) { * Sends a GET request to retrieve the specified bucket. * The response must contain HTTP {@code expectedStatus}. * - * @param bucket the bucket providing a label and an experiment id - * @param expectedStatus the expected HTTP status code + * @param bucket the bucket providing a label and an experiment id + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the bucket */ @@ -1097,7 +1138,7 @@ public List getBuckets(List buckets) { * Sends GET requests to retrieve the specified buckets. * The responses must contain HTTP {@code expectedStatus}. * - * @param buckets the reference bucket list + * @param buckets the reference bucket list * @param expectedStatus the expected HTTP status code * @return the new bucket list */ @@ -1109,8 +1150,8 @@ public List getBuckets(List buckets, int expectedStatus) { * Sends GET requests to retrieve the specified buckets. * The responses must contain HTTP {@code expectedStatus}. * - * @param buckets the reference bucket list - * @param expectedStatus the expected HTTP status code + * @param buckets the reference bucket list + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the new bucket list */ @@ -1123,7 +1164,6 @@ public List getBuckets(List buckets, int expectedStatus, APIServ } - ////////////////////////////////////// // experiments//events Endpoint // ////////////////////////////////////// @@ -1147,7 +1187,7 @@ public List getEvents(Experiment experiment) { * Note that the GET request is limited to the most recent 75 events. * For more events, see {@link #postEvents(Experiment, int)} which is more flexible. * - * @param experiment the reference experiment + * @param experiment the reference experiment * @param expectedStatus the expected HTTP status code * @return the event list */ @@ -1161,8 +1201,8 @@ public List getEvents(Experiment experiment, int expectedStatus) { * Note that the GET request is limited to the most recent 75 events. * For more events, see {@link #postEvents(Experiment, int, APIServerConnector)} which is more flexible. * - * @param experiment the reference experiment - * @param expectedStatus the expected HTTP status code + * @param experiment the reference experiment + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the event list */ @@ -1198,7 +1238,7 @@ public List postEvents(Experiment experiment) { * Sends a POST request to retrieve the events of the specified experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the reference experiment + * @param experiment the reference experiment * @param expectedStatus the expected HTTP status code * @return the event list */ @@ -1211,8 +1251,8 @@ public List postEvents(Experiment experiment, int expectedStatus) { * Sends a POST request to retrieve the events of the specified experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the reference experiment - * @param expectedStatus the expected HTTP status code + * @param experiment the reference experiment + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the event list */ @@ -1223,17 +1263,17 @@ public List postEvents(Experiment experiment, int expectedStatus, APIServ /** * Sends a POST request to retrieve the events of the specified experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* The parameter keys should be some of * {@code fromTime, toTime, confidenceLevel, effectSize, actions, singleShot, metric, mode} and * {@code context}. For more information see * {@link #postEvents(Experiment, String, String, double, double, ArrayList, boolean, String, String, String, int, APIServerConnector)}. - * + *

* Invalid keys are removed from the parameters map. * - * @param experiment the reference experiment - * @param parameters the parameters for the request body - * @param expectedStatus the expected HTTP status code + * @param experiment the reference experiment + * @param parameters the parameters for the request body + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the event list */ @@ -1244,16 +1284,16 @@ public List postEvents(Experiment experiment, Map paramet /** * Sends a POST request to retrieve the events of the specified experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* The parameter keys should be some of * {@code fromTime, toTime, confidenceLevel, effectSize, actions, singleShot, metric, mode} and * {@code context}. For more information see * {@link #postEvents(Experiment, String, String, double, double, ArrayList, boolean, String, String, String, int, APIServerConnector)}. * - * @param experiment the reference experiment - * @param parameters the parameters for the request body, can be null - * @param keepInvalidKeys if true, invalid keys are also transmitted; ignored if parameters == null - * @param expectedStatus the expected HTTP status code + * @param experiment the reference experiment + * @param parameters the parameters for the request body, can be null + * @param keepInvalidKeys if true, invalid keys are also transmitted; ignored if parameters == null + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the event list */ @@ -1275,7 +1315,7 @@ public List postEvents(Experiment experiment, Map paramet keyMapping.put("singleShot", "BOOLEAN"); for (String key : parameters.keySet()) { - switch (keyMapping.get(key) == null? "INVALID" : keyMapping.get(key)) { + switch (keyMapping.get(key) == null ? "INVALID" : keyMapping.get(key)) { case "DOUBLE": if (!(parameters.get(key) instanceof Double) || (parameters.get(key)).equals(Double.NaN)) { parameters.remove(key); @@ -1331,45 +1371,45 @@ public List postEvents(Experiment experiment, Map paramet /** * Sends a POST request to retrieve the events of the specified experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* The parameters {@code fromTime, toTime, confidenceLevel, effectSize, actions, singleShot, metric, mode} and * {@code context} are optional. If they are {@code null} (Strings) or {@link Double#NaN} (doubles), * they will be ignored (note that {@code singleShot} is {@code boolean}, it will be ignored if false). - * + *

* Legal values are: - * + *

*

- *
{@code fromTime}
- *
{@code null} or String, see {@link TestUtils#getTimeString(Calendar)}
- *
{@code toTime}
- *
{@code null} or String, see {@link TestUtils#getTimeString(Calendar)}
- *
{@code confidenceLevel}
- *
{@code 0 < confidenceLevel < 1}
- *
{@code effectSize}
- *
{@code -1 ≤ effectSize ≤ 1}
- *
{@code actions}
- *
{@code null} or an empty list or Action identifiers, will be ignored on {@code null} and empty
- *
{@code singleShot}
- *
{@code true/false}, ignored on {@code false}
- *
{@code metric}
- *
{@code NORMAL_APPROX} or {@code NORMAL_APPROX_SYM}
- *
{@code mode}
- *
{@code PRODUCTION} or {@code TEST}, should not be used according to swagger
- *
{@code context}
- *
any value, ignored on {@code null}
+ *
{@code fromTime}
+ *
{@code null} or String, see {@link TestUtils#getTimeString(Calendar)}
+ *
{@code toTime}
+ *
{@code null} or String, see {@link TestUtils#getTimeString(Calendar)}
+ *
{@code confidenceLevel}
+ *
{@code 0 < confidenceLevel < 1}
+ *
{@code effectSize}
+ *
{@code -1 ≤ effectSize ≤ 1}
+ *
{@code actions}
+ *
{@code null} or an empty list or Action identifiers, will be ignored on {@code null} and empty
+ *
{@code singleShot}
+ *
{@code true/false}, ignored on {@code false}
+ *
{@code metric}
+ *
{@code NORMAL_APPROX} or {@code NORMAL_APPROX_SYM}
+ *
{@code mode}
+ *
{@code PRODUCTION} or {@code TEST}, should not be used according to swagger
+ *
{@code context}
+ *
any value, ignored on {@code null}
*
* - * @param experiment the reference experiment - * @param fromTime the start time - * @param toTime the end time - * @param confidenceLevel the confidence level - * @param effectSize the effect size - * @param actions the actions to be fetched - * @param singleShot single shot value - * @param metric the metric to be used - * @param mode the mode - * @param context the context - * @param expectedStatus the expected HTTP status code + * @param experiment the reference experiment + * @param fromTime the start time + * @param toTime the end time + * @param confidenceLevel the confidence level + * @param effectSize the effect size + * @param actions the actions to be fetched + * @param singleShot single shot value + * @param metric the metric to be used + * @param mode the mode + * @param context the context + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the event list */ @@ -1388,7 +1428,6 @@ public List postEvents(Experiment experiment, String fromTime, String toT } - ////////////////////////////////////////// // experiments//exclusions Endpoint // ////////////////////////////////////////// @@ -1397,7 +1436,7 @@ public List postEvents(Experiment experiment, String fromTime, String toT * Sends a POST request to mutually exclude experiments from each other. * The response must contain {@link HttpStatus#SC_CREATED}. * - * @param experiment the reference experiment + * @param experiment the reference experiment * @param excludedExperiments the list of mutual exclusive elements * @return the response */ @@ -1409,9 +1448,9 @@ public Response postExclusions(Experiment experiment, List excludedE * Sends a POST request to mutually exclude experiments from each other. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the reference experiment + * @param experiment the reference experiment * @param excludedExperiments the list of mutual exclusive elements - * @param expectedStatus the expected HTTP status code + * @param expectedStatus the expected HTTP status code * @return the response */ public Response postExclusions(Experiment experiment, List excludedExperiments, int expectedStatus) { @@ -1421,16 +1460,16 @@ public Response postExclusions(Experiment experiment, List excludedE /** * Sends a POST request to mutually exclude experiments from the reference experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* Lets assume you would pass experiment 1 as the experiment and 2 and 3 as excluded experiments. * Then 1 and 2 would be mutually exclusive as well as 1 and 3, however 2 and 3 would not. - * + *

* To making all experiments mutual exclusive with each other please use {@link #postExclusions(List)}. * - * @param experiment the reference experiment + * @param experiment the reference experiment * @param excludedExperiments the list of mutual exclusive elements - * @param expectedStatus the expected HTTP status code - * @param apiServerConnector the server connector to use + * @param expectedStatus the expected HTTP status code + * @param apiServerConnector the server connector to use * @return the response */ public Response postExclusions(Experiment experiment, List excludedExperiments, int expectedStatus, APIServerConnector apiServerConnector) { @@ -1448,7 +1487,7 @@ public Response postExclusions(Experiment experiment, List excludedE /** * Sends a POST request to mutually exclude experiments from each other. * The response must contain {@link HttpStatus#SC_CREATED}. - * + *

* Note that only the last response is returned, but all are checked. * * @param excludedExperiments the list of mutual exclusive elements @@ -1461,11 +1500,11 @@ public Response postExclusions(List excludedExperiments) { /** * Sends a POST request to mutually exclude experiments from each other. * The response must contain {@link HttpStatus#SC_CREATED}. - * + *

* Note that only the last response is returned, but all are checked. * * @param excludedExperiments the list of mutual exclusive elements - * @param expectedStatus the expected HTTP status code + * @param expectedStatus the expected HTTP status code * @return the response */ public Response postExclusions(List excludedExperiments, int expectedStatus) { @@ -1475,12 +1514,12 @@ public Response postExclusions(List excludedExperiments, int expecte /** * Sends a POST request to mutually exclude experiments from each other. * The response must contain {@link HttpStatus#SC_CREATED}. - * + *

* Note that only the last response is returned, but all are checked. * * @param excludedExperiments the list of mutual exclusive elements - * @param expectedStatus the expected HTTP status code - * @param apiServerConnector the server connector to use + * @param expectedStatus the expected HTTP status code + * @param apiServerConnector the server connector to use * @return the response */ public Response postExclusions(List excludedExperiments, int expectedStatus, APIServerConnector apiServerConnector) { @@ -1507,7 +1546,7 @@ public List getExclusions(Experiment experiment) { * The response must contain {@link HttpStatus#SC_OK}. * * @param experiment the reference experiment - * @param showAll sets the showAll parameter, default: true + * @param showAll sets the showAll parameter, default: true * @return a list of experiments mutually exclusive to the supplied one */ public List getExclusions(Experiment experiment, boolean showAll) { @@ -1519,8 +1558,8 @@ public List getExclusions(Experiment experiment, boolean showAll) { * The response must contain {@link HttpStatus#SC_OK}. * * @param experiment the reference experiment - * @param showAll sets the showAll parameter, default: true - * @param exclusive sets the excluse parameter, default: true + * @param showAll sets the showAll parameter, default: true + * @param exclusive sets the excluse parameter, default: true * @return a list of experiments mutually exclusive to the supplied one */ public List getExclusions(Experiment experiment, boolean showAll, boolean exclusive) { @@ -1531,9 +1570,9 @@ public List getExclusions(Experiment experiment, boolean showAll, bo * Sends a GET request to retrieve experiments mutually excluded from the supplied experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the reference experiment - * @param showAll sets the showAll parameter, default: true - * @param exclusive sets the excluse parameter, default: true + * @param experiment the reference experiment + * @param showAll sets the showAll parameter, default: true + * @param exclusive sets the excluse parameter, default: true * @param expectedStatus the expected HTTP status code * @return a list of experiments mutually exclusive to the supplied one */ @@ -1545,10 +1584,10 @@ public List getExclusions(Experiment experiment, boolean showAll, bo * Sends a GET request to retrieve experiments mutually excluded from the supplied experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the reference experiment - * @param showAll sets the showAll parameter, default: true - * @param exclusive sets the excluse parameter, default: true - * @param expectedStatus the expected HTTP status code + * @param experiment the reference experiment + * @param showAll sets the showAll parameter, default: true + * @param exclusive sets the excluse parameter, default: true + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list of experiments mutually exclusive to the supplied one */ @@ -1578,7 +1617,7 @@ public List getExclusions(Experiment experiment, boolean showAll, bo * Sends a DELETE request to remove the mutual exclusion of two experiments. * The response must contain {@link HttpStatus#SC_NO_CONTENT}. * - * @param experiment one experiment + * @param experiment one experiment * @param experimentOther another experiment * @return the response */ @@ -1590,9 +1629,9 @@ public Response deleteExclusion(Experiment experiment, Experiment experimentOthe * Sends a DELETE request to remove the mutual exclusion of two experiments. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment one experiment + * @param experiment one experiment * @param experimentOther another experiment - * @param expectedStatus the expected HTTP status code + * @param expectedStatus the expected HTTP status code * @return the response */ public Response deleteExclusion(Experiment experiment, Experiment experimentOther, int expectedStatus) { @@ -1603,9 +1642,9 @@ public Response deleteExclusion(Experiment experiment, Experiment experimentOthe * Sends a DELETE request to remove the mutual exclusion of two experiments. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment one experiment - * @param experimentOther another experiment - * @param expectedStatus the expected HTTP status code + * @param experiment one experiment + * @param experimentOther another experiment + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -1617,7 +1656,6 @@ public Response deleteExclusion(Experiment experiment, Experiment experimentOthe } - //////////////////////////////////////// // experiments//priority Endpoint // //////////////////////////////////////// @@ -1627,7 +1665,7 @@ public Response deleteExclusion(Experiment experiment, Experiment experimentOthe * The response must contain {@link HttpStatus#SC_CREATED}. * * @param experiment the experiment - * @param priority the experiment priority + * @param priority the experiment priority * @return the response */ public Response postExperimentPriority(Experiment experiment, int priority) { @@ -1638,8 +1676,8 @@ public Response postExperimentPriority(Experiment experiment, int priority) { * Sends a POST request to set the experiment's priority. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param priority the experiment priority + * @param experiment the experiment + * @param priority the experiment priority * @param expectedStatus the expected HTTP status code * @return the response */ @@ -1651,9 +1689,9 @@ public Response postExperimentPriority(Experiment experiment, int priority, int * Sends a POST request to set the experiment's priority. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param priority the experiment priority - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param priority the experiment priority + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -1665,7 +1703,6 @@ public Response postExperimentPriority(Experiment experiment, int priority, int } - /////////////////////////////////////////// // experiments//assignments Endpoint // /////////////////////////////////////////// @@ -1685,7 +1722,7 @@ public List getAssignments(Experiment experiment) { * Sends a GET request to retrieve the experiment's assignments. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment + * @param experiment the experiment * @param expectedStatus the expected HTTP status code * @return a list of assignments */ @@ -1698,7 +1735,7 @@ public List getAssignments(Experiment experiment, int expectedStatus * The response must contain {@link HttpStatus#SC_OK}. * * @param experiment the experiment - * @param context the experiment context (can be null) + * @param context the experiment context (can be null) * @return a list of assignments */ public List getAssignments(Experiment experiment, String context) { @@ -1709,8 +1746,8 @@ public List getAssignments(Experiment experiment, String context) { * Sends a GET request to retrieve the experiment's assignments. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param context the experiment context (can be null) + * @param experiment the experiment + * @param context the experiment context (can be null) * @param expectedStatus the expected HTTP status code * @return a list of assignments */ @@ -1722,9 +1759,9 @@ public List getAssignments(Experiment experiment, String context, in * Sends a GET request to retrieve the experiment's assignments. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param context the experiment context (can be null) - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param context the experiment context (can be null) + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list of assignments */ @@ -1736,7 +1773,7 @@ public List getAssignments(Experiment experiment, String context, in response = apiServerConnector.doGet(uri, context); assertReturnCode(response, expectedStatus); String jsonArray = TestUtils.csvToJsonArray(response.body().asString(), Constants.TAB); - String[] elements = jsonArray.substring(2, jsonArray.length()-2).split("\\},\\{"); + String[] elements = jsonArray.substring(2, jsonArray.length() - 2).split("\\},\\{"); List assignments = new ArrayList<>(); for (String json : elements) { assignments.add(simpleGson.fromJson("{" + json + "}", Assignment.class)); @@ -1745,7 +1782,6 @@ public List getAssignments(Experiment experiment, String context, in } - ///////////////////////////////////// // experiments//pages Endpoint // ///////////////////////////////////// @@ -1764,7 +1800,7 @@ public List getPages(Experiment experiment) { * Sends a GET request to retrieve the pages the experiment is assigned to. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment + * @param experiment the experiment * @param expectedStatus the expected HTTP status code * @return a list of pages */ @@ -1776,8 +1812,8 @@ public List getPages(Experiment experiment, int expectedStatus) { * Sends a GET request to retrieve the pages the experiment is assigned to. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list of pages */ @@ -1799,7 +1835,7 @@ public List getPages(Experiment experiment, int expectedStatus, APIServerC * The response must contain {@link HttpStatus#SC_NO_CONTENT}. * * @param experiment the experiment - * @param page the page + * @param page the page * @return the response */ public Response postPages(Experiment experiment, Page page) { @@ -1810,8 +1846,8 @@ public Response postPages(Experiment experiment, Page page) { * Sends a POST request to add an experiment to a page. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param page the page + * @param experiment the experiment + * @param page the page * @param expectedStatus the expected HTTP status code * @return the response */ @@ -1823,9 +1859,9 @@ public Response postPages(Experiment experiment, Page page, int expectedStatus) * Sends a POST request to add an experiment to a page. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param page the page - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param page the page + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -1838,7 +1874,7 @@ public Response postPages(Experiment experiment, Page page, int expectedStatus, * The response must contain {@link HttpStatus#SC_NO_CONTENT}. * * @param experiment the experiment - * @param pages the pages + * @param pages the pages * @return the response */ public Response postPages(Experiment experiment, List pages) { @@ -1849,8 +1885,8 @@ public Response postPages(Experiment experiment, List pages) { * Sends a POST request to add an experiment to several pages. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param pages the pages + * @param experiment the experiment + * @param pages the pages * @param expectedStatus the expected HTTP status code * @return the response */ @@ -1862,9 +1898,9 @@ public Response postPages(Experiment experiment, List pages, int expectedS * Sends a POST request to add an experiment to several pages. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param pages the pages - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param pages the pages + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -1880,7 +1916,7 @@ public Response postPages(Experiment experiment, List pages, int expectedS * The response must contain {@link HttpStatus#SC_NO_CONTENT}. * * @param experiment the experiment - * @param page the page + * @param page the page * @return the response */ public Response deletePages(Experiment experiment, Page page) { @@ -1891,8 +1927,8 @@ public Response deletePages(Experiment experiment, Page page) { * Sends a DELETE request to delete an experiment from a page. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param page the page + * @param experiment the experiment + * @param page the page * @param expectedStatus the expected HTTP status code * @return the response */ @@ -1904,9 +1940,9 @@ public Response deletePages(Experiment experiment, Page page, int expectedStatus * Sends a DELETE request to delete an experiment from a page. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param page the page - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param page the page + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -1918,7 +1954,6 @@ public Response deletePages(Experiment experiment, Page page, int expectedStatus } - ////////////////////////////////////////////////////////////////// // experiments/applications//pages/ endpoint // ////////////////////////////////////////////////////////////////// @@ -1928,7 +1963,7 @@ public Response deletePages(Experiment experiment, Page page, int expectedStatus * The response must contain HTTP {@link HttpStatus#SC_OK}. * * @param application the application - * @param page the page + * @param page the page * @return a list of pages */ public List getPages(Application application, Page page) { @@ -1939,8 +1974,8 @@ public List getPages(Application application, Page page) { * Sends a GET request to retrieve pages assigned to the experiments of this application. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param page the page + * @param application the application + * @param page the page * @param expectedStatus the expected HTTP status code * @return a list of pages */ @@ -1952,9 +1987,9 @@ public List getPages(Application application, Page page, int expectedStatu * Sends a GET request to retrieve pages assigned to the experiments of this application. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param page the page - * @param expectedStatus the expected HTTP status code + * @param application the application + * @param page the page + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list of pages */ @@ -1972,7 +2007,6 @@ public List getPages(Application application, Page page, int expectedStatu } - ////////////////////////// // assignments Endpoint // ////////////////////////// @@ -1982,7 +2016,7 @@ public List getPages(Application application, Page page, int expectedStatu * The response must contain {@link HttpStatus#SC_OK}. * * @param experiment the experiment - * @param user the user + * @param user the user * @return an assignment */ public Assignment getAssignment(Experiment experiment, User user) { @@ -1994,8 +2028,8 @@ public Assignment getAssignment(Experiment experiment, User user) { * The response must contain {@link HttpStatus#SC_OK}. * * @param experiment the experiment - * @param user the user - * @param context the context + * @param user the user + * @param context the context * @return an assignment */ public Assignment getAssignment(Experiment experiment, User user, String context) { @@ -2006,9 +2040,9 @@ public Assignment getAssignment(Experiment experiment, User user, String context * Sends a GET request to get the assignment of the user for the experiment. * The response must contain {@link HttpStatus#SC_OK}. * - * @param experiment the experiment - * @param user the user - * @param context the context + * @param experiment the experiment + * @param user the user + * @param context the context * @param createAssignment gets the new assignment allowance status * @return an assignment */ @@ -2020,10 +2054,10 @@ public Assignment getAssignment(Experiment experiment, User user, String context * Sends a GET request to get the assignment of the user for the experiment. * The response must contain {@link HttpStatus#SC_OK}. * - * @param experiment the experiment - * @param user the user - * @param context the context - * @param createAssignment gets the new assignment allowance status + * @param experiment the experiment + * @param user the user + * @param context the context + * @param createAssignment gets the new assignment allowance status * @param ignoreSamplingPercent indicates whether sampling percentages shall be ignored * @return an assignment */ @@ -2035,12 +2069,12 @@ public Assignment getAssignment(Experiment experiment, User user, String context * Sends a GET request to get the assignment of the user for the experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param user the user - * @param context the context - * @param createAssignment gets the new assignment allowance status + * @param experiment the experiment + * @param user the user + * @param context the context + * @param createAssignment gets the new assignment allowance status * @param ignoreSamplingPercent indicates whether sampling percentages shall be ignored - * @param expectedStatus the expected HTTP status code + * @param expectedStatus the expected HTTP status code * @return an assignment */ public Assignment getAssignment(Experiment experiment, User user, String context, boolean createAssignment, boolean ignoreSamplingPercent, int expectedStatus) { @@ -2051,13 +2085,13 @@ public Assignment getAssignment(Experiment experiment, User user, String context * Sends a GET request to get the assignment of the user for the experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param user the user - * @param context the context - * @param createAssignment gets the new assignment allowance status + * @param experiment the experiment + * @param user the user + * @param context the context + * @param createAssignment gets the new assignment allowance status * @param ignoreSamplingPercent indicates whether sampling percentages shall be ignored - * @param expectedStatus the expected HTTP status code - * @param apiServerConnector the server connector to use + * @param expectedStatus the expected HTTP status code + * @param apiServerConnector the server connector to use * @return an assignment */ public Assignment getAssignment(Experiment experiment, User user, String context, boolean createAssignment, boolean ignoreSamplingPercent, int expectedStatus, APIServerConnector apiServerConnector) { @@ -2086,7 +2120,7 @@ public Assignment getAssignment(Experiment experiment, User user, String context * The response must contain {@link HttpStatus#SC_OK}. * * @param experiment the experiment - * @param user the user + * @param user the user * @return an assignment */ public Assignment postAssignment(Experiment experiment, User user) { @@ -2098,8 +2132,8 @@ public Assignment postAssignment(Experiment experiment, User user) { * The response must contain {@link HttpStatus#SC_OK}. * * @param experiment the experiment - * @param user the user - * @param context the context + * @param user the user + * @param context the context * @return an assignment */ public Assignment postAssignment(Experiment experiment, User user, String context) { @@ -2110,9 +2144,9 @@ public Assignment postAssignment(Experiment experiment, User user, String contex * Sends a POST request to get the assignment of the user for the experiment. * The response must contain {@link HttpStatus#SC_OK}. * - * @param experiment the experiment - * @param user the user - * @param context the context + * @param experiment the experiment + * @param user the user + * @param context the context * @param createAssignment gets the new assignment allowance status, default: true * @return an assignment */ @@ -2124,10 +2158,10 @@ public Assignment postAssignment(Experiment experiment, User user, String contex * Sends a POST request to get the assignment of the user for the experiment. * The response must contain {@link HttpStatus#SC_OK}. * - * @param experiment the experiment - * @param user the user - * @param context the context - * @param createAssignment gets the new assignment allowance status, default: true + * @param experiment the experiment + * @param user the user + * @param context the context + * @param createAssignment gets the new assignment allowance status, default: true * @param ignoreSamplingPercent indicates whether sampling percentages shall be ignored, default: false * @return an assignment */ @@ -2139,12 +2173,12 @@ public Assignment postAssignment(Experiment experiment, User user, String contex * Sends a POST request to get the assignment of the user for the experiment. * The response must contain {@link HttpStatus#SC_OK}. * - * @param experiment the experiment - * @param user the user - * @param context the context - * @param createAssignment gets the new assignment allowance status, default: true + * @param experiment the experiment + * @param user the user + * @param context the context + * @param createAssignment gets the new assignment allowance status, default: true * @param ignoreSamplingPercent indicates whether sampling percentages shall be ignored, default: false - * @param profile a key-value map for the user profile + * @param profile a key-value map for the user profile * @return an assignment */ public Assignment postAssignment(Experiment experiment, User user, String context, boolean createAssignment, boolean ignoreSamplingPercent, Map profile) { @@ -2155,13 +2189,13 @@ public Assignment postAssignment(Experiment experiment, User user, String contex * Sends a POST request to get the assignment of the user for the experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param user the user - * @param context the context - * @param createAssignment gets the new assignment allowance status, default: true + * @param experiment the experiment + * @param user the user + * @param context the context + * @param createAssignment gets the new assignment allowance status, default: true * @param ignoreSamplingPercent indicates whether sampling percentages shall be ignored, default: false - * @param profile a key-value map for the user profile - * @param expectedStatus the expected HTTP status code + * @param profile a key-value map for the user profile + * @param expectedStatus the expected HTTP status code * @return an assignment */ public Assignment postAssignment(Experiment experiment, User user, String context, boolean createAssignment, boolean ignoreSamplingPercent, Map profile, int expectedStatus) { @@ -2172,14 +2206,14 @@ public Assignment postAssignment(Experiment experiment, User user, String contex * Sends a POST request to get the assignment of the user for the experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param user the user - * @param context the context - * @param createAssignment gets the new assignment allowance status, default: true + * @param experiment the experiment + * @param user the user + * @param context the context + * @param createAssignment gets the new assignment allowance status, default: true * @param ignoreSamplingPercent indicates whether sampling percentages shall be ignored, default: false - * @param profile a key-value map for the user profile - * @param expectedStatus the expected HTTP status code - * @param apiServerConnector the server connector to use + * @param profile a key-value map for the user profile + * @param expectedStatus the expected HTTP status code + * @param apiServerConnector the server connector to use * @return an assignment */ public Assignment postAssignment(Experiment experiment, User user, String context, boolean createAssignment, boolean ignoreSamplingPercent, Map profile, int expectedStatus, APIServerConnector apiServerConnector) { @@ -2205,22 +2239,21 @@ public Assignment postAssignment(Experiment experiment, User user, String contex } - /** * Sends a PUT request to update an assignment of the user for the experiment. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* Ignores {@link Assignment#payload}, {@link Assignment#context} (see below for notes), {@link Assignment#cache}, * {@link Assignment#experimentLabel}, and {@link Assignment#status}. If the current * {@link Assignment#serializationStrategy} excludes {@link Assignment#assignment} and/or * {@link Assignment#overwrite} the respective field is excluded as well. - * + *

* Note on {@link Assignment#context}: To implicitly include the context as a parameter, set the boolean flag of * this method to true. * - * @param experiment the experiment - * @param assignment the assignment to be changed - * @param user the user + * @param experiment the experiment + * @param assignment the assignment to be changed + * @param user the user * @param useAssignmentContext determines whether the assignments context shall be used as a parameter for the * request * @return a new assignment reflecting the update @@ -2232,21 +2265,21 @@ public Assignment putAssignment(Experiment experiment, Assignment assignment, Us /** * Sends a PUT request to update an assignment of the user for the experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* Ignores {@link Assignment#payload}, {@link Assignment#context} (see below for notes), {@link Assignment#cache}, * {@link Assignment#experimentLabel}, and {@link Assignment#status}. If the current * {@link Assignment#serializationStrategy} excludes {@link Assignment#assignment} and/or * {@link Assignment#overwrite} the respective field is excluded as well. - * + *

* Note on {@link Assignment#context}: To implicitly include the context as a parameter, set the boolean flag of * this method to true. * - * @param experiment the experiment - * @param assignment the assignment to be changed - * @param user the user + * @param experiment the experiment + * @param assignment the assignment to be changed + * @param user the user * @param useAssignmentContext determines whether the assignments context shall be used as a parameter for the * request - * @param expectedStatus the expected HTTP status code + * @param expectedStatus the expected HTTP status code * @return a new assignment reflecting the update */ public Assignment putAssignment(Experiment experiment, Assignment assignment, User user, boolean useAssignmentContext, int expectedStatus) { @@ -2256,22 +2289,22 @@ public Assignment putAssignment(Experiment experiment, Assignment assignment, Us /** * Sends a PUT request to update an assignment of the user for the experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* Ignores {@link Assignment#payload}, {@link Assignment#context} (see below for notes), {@link Assignment#cache}, * {@link Assignment#experimentLabel}, and {@link Assignment#status}. If the current * {@link Assignment#serializationStrategy} excludes {@link Assignment#assignment} and/or * {@link Assignment#overwrite} the respective field is excluded as well. - * + *

* Note on {@link Assignment#context}: To implicitly include the context as a parameter, set the boolean flag of * this method to true. * - * @param experiment the experiment - * @param assignment the assignment to be changed - * @param user the user + * @param experiment the experiment + * @param assignment the assignment to be changed + * @param user the user * @param useAssignmentContext determines whether the assignments context shall be used as a parameter for the * request - * @param expectedStatus the expected HTTP status code - * @param apiServerConnector the server connector to use + * @param expectedStatus the expected HTTP status code + * @param apiServerConnector the server connector to use * @return a new assignment reflecting the update */ public Assignment putAssignment(Experiment experiment, Assignment assignment, User user, boolean useAssignmentContext, int expectedStatus, APIServerConnector apiServerConnector) { @@ -2281,41 +2314,42 @@ public Assignment putAssignment(Experiment experiment, Assignment assignment, Us /** * Sends a PUT request to update an assignment of the user for the experiment. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* Ignores {@link Assignment#payload}, {@link Assignment#context} (see below for notes), {@link Assignment#cache}, * {@link Assignment#experimentLabel}, and {@link Assignment#status}. If the current * {@link Assignment#serializationStrategy} excludes {@link Assignment#assignment} and/or * {@link Assignment#overwrite} the respective field is excluded as well. - * + *

* Note on {@link Assignment#context}: To implicitly include the context as a parameter, use * {@link #putAssignment(Experiment, Assignment, User, boolean, int, APIServerConnector)} or any of its derivatives * with the fourth parameter set to {@code true}. Alternatively supply the context yourself. * * @param experiment the experiment * @param assignment the assignment to be changed - * @param user the user + * @param user the user * @return a new assignment reflecting the update */ public Assignment putAssignment(Experiment experiment, Assignment assignment, User user) { return putAssignment(experiment, assignment, user, null); } + /** * Sends a PUT request to update an assignment of the user for the experiment. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* Ignores {@link Assignment#payload}, {@link Assignment#context} (see below for notes), {@link Assignment#cache}, * {@link Assignment#experimentLabel}, and {@link Assignment#status}. If the current * {@link Assignment#serializationStrategy} excludes {@link Assignment#assignment} and/or * {@link Assignment#overwrite} the respective field is excluded as well. - * + *

* Note on {@link Assignment#context}: To implicitly include the context as a parameter, use * {@link #putAssignment(Experiment, Assignment, User, boolean, int, APIServerConnector)} or any of its derivatives * with the fourth parameter set to {@code true}. Alternatively supply the context yourself. * * @param experiment the experiment * @param assignment the assignment to be changed - * @param user the user - * @param context the context + * @param user the user + * @param context the context * @return a new assignment reflecting the update */ public Assignment putAssignment(Experiment experiment, Assignment assignment, User user, String context) { @@ -2325,20 +2359,20 @@ public Assignment putAssignment(Experiment experiment, Assignment assignment, Us /** * Sends a PUT request to update an assignment of the user for the experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* Ignores {@link Assignment#payload}, {@link Assignment#context} (see below for notes), {@link Assignment#cache}, * {@link Assignment#experimentLabel}, and {@link Assignment#status}. If the current * {@link Assignment#serializationStrategy} excludes {@link Assignment#assignment} and/or * {@link Assignment#overwrite} the respective field is excluded as well. - * + *

* Note on {@link Assignment#context}: To implicitly include the context as a parameter, use * {@link #putAssignment(Experiment, Assignment, User, boolean, int, APIServerConnector)} or any of its derivatives * with the fourth parameter set to {@code true}. Alternatively supply the context yourself. * - * @param experiment the experiment - * @param assignment the assignment to be changed - * @param user the user - * @param context the context + * @param experiment the experiment + * @param assignment the assignment to be changed + * @param user the user + * @param context the context * @param expectedStatus the expected HTTP status code * @return a new assignment reflecting the update */ @@ -2349,21 +2383,21 @@ public Assignment putAssignment(Experiment experiment, Assignment assignment, Us /** * Sends a PUT request to update an assignment of the user for the experiment. * The response must contain HTTP {@code expectedStatus}. - * + *

* Ignores {@link Assignment#payload}, {@link Assignment#context} (see below for notes), {@link Assignment#cache}, * {@link Assignment#experimentLabel}, and {@link Assignment#status}. If the current * {@link Assignment#serializationStrategy} excludes {@link Assignment#assignment} and/or * {@link Assignment#overwrite} the respective field is excluded as well. - * + *

* Note on {@link Assignment#context}: To implicitly include the context as a parameter, use * {@link #putAssignment(Experiment, Assignment, User, boolean, int, APIServerConnector)} or any of its derivatives * with the fourth parameter set to {@code true}. Alternatively supply the context yourself. * - * @param experiment the experiment - * @param assignment the assignment to be changed - * @param user the user - * @param context the context - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param assignment the assignment to be changed + * @param user the user + * @param context the context + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a new assignment reflecting the update */ @@ -2393,7 +2427,7 @@ public Assignment putAssignment(Experiment experiment, Assignment assignment, Us * The response must contain {@link HttpStatus#SC_OK}. * * @param application the application - * @param user the user + * @param user the user * @param experiments the experiments to assign the user to * @return the created assignments, can be 0 */ @@ -2406,9 +2440,9 @@ public List postAssignments(Application application, User user, List * The response must contain {@link HttpStatus#SC_OK}. * * @param application the application - * @param user the user + * @param user the user * @param experiments the experiments to assign the user to - * @param context the context for the assignments + * @param context the context for the assignments * @return the created assignments, can be 0 */ public List postAssignments(Application application, User user, List experiments, String context) { @@ -2420,10 +2454,10 @@ public List postAssignments(Application application, User user, List * The response must contain {@link HttpStatus#SC_OK}. * * @param application the application - * @param user the user + * @param user the user * @param experiments the experiments to assign the user to - * @param context the context for the assignments - * @param create if true the assignments are created + * @param context the context for the assignments + * @param create if true the assignments are created * @return the created assignments, can be 0 */ public List postAssignments(Application application, User user, List experiments, String context, boolean create) { @@ -2434,11 +2468,11 @@ public List postAssignments(Application application, User user, List * Sends a POST request to assign the user to the experiments of the application if {@code create} is true. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param user the user - * @param experiments the experiments to assign the user to - * @param context the context for the assignments - * @param create if true the assignments are created + * @param application the application + * @param user the user + * @param experiments the experiments to assign the user to + * @param context the context for the assignments + * @param create if true the assignments are created * @param expectedStatus the exptected HTTP status code * @return the created assignments, can be 0 */ @@ -2450,12 +2484,12 @@ public List postAssignments(Application application, User user, List * Sends a POST request to assign the user to the experiments of the application if {@code create} is true. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param user the user - * @param experiments the experiments to assign the user to - * @param context the context for the assignments - * @param create if true the assignments are created - * @param expectedStatus the exptected HTTP status code + * @param application the application + * @param user the user + * @param experiments the experiments to assign the user to + * @param context the context for the assignments + * @param create if true the assignments are created + * @param expectedStatus the exptected HTTP status code * @param apiServerConnector the server connector to use * @return the created assignments, can be 0 */ @@ -2484,7 +2518,7 @@ public List postAssignments(Application application, User user, List List assignments = new ArrayList<>(assignmentMappings.size()); for (Map assignmentMapping : assignmentMappings) { assignments.add(AssignmentFactory.createFromJSONString( - simpleGson.toJson(assignmentMapping) + simpleGson.toJson(assignmentMapping) ) ); } @@ -2497,8 +2531,8 @@ public List postAssignments(Application application, User user, List * The response must contain HTTP {@code expectedStatus}. * * @param application the application - * @param user the user - * @param page the page + * @param user the user + * @param page the page * @return the created assignments, can be 0 */ public List getAssignments(Application application, Page page, User user) { @@ -2511,9 +2545,9 @@ public List getAssignments(Application application, Page page, User * The response must contain HTTP {@code expectedStatus}. * * @param application the application - * @param user the user - * @param page the page - * @param context the context for the assignments, default: null + * @param user the user + * @param page the page + * @param context the context for the assignments, default: null * @return the created assignments, can be 0 */ public List getAssignments(Application application, Page page, User user, String context) { @@ -2525,10 +2559,10 @@ public List getAssignments(Application application, Page page, User * is true. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param user the user - * @param page the page - * @param context the context for the assignments, default: null + * @param application the application + * @param user the user + * @param page the page + * @param context the context for the assignments, default: null * @param createAssignment if true the assignments are created, default: true * @return the created assignments, can be 0 */ @@ -2541,11 +2575,11 @@ public List getAssignments(Application application, Page page, User * is true. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param user the user - * @param page the page - * @param context the context for the assignments, default: null - * @param createAssignment if true the assignments are created, default: true + * @param application the application + * @param user the user + * @param page the page + * @param context the context for the assignments, default: null + * @param createAssignment if true the assignments are created, default: true * @param ignoreSamplingPercent ignores the sampling percentage, default: false * @return the created assignments, can be 0 */ @@ -2558,13 +2592,13 @@ public List getAssignments(Application application, Page page, User * is true. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param user the user - * @param page the page - * @param context the context for the assignments, default: null - * @param createAssignment if true the assignments are created, default: true + * @param application the application + * @param user the user + * @param page the page + * @param context the context for the assignments, default: null + * @param createAssignment if true the assignments are created, default: true * @param ignoreSamplingPercent ignores the sampling percentage, default: false - * @param expectedStatus the exptected HTTP status code + * @param expectedStatus the exptected HTTP status code * @return the created assignments, can be 0 */ public List getAssignments(Application application, Page page, User user, String context, boolean createAssignment, boolean ignoreSamplingPercent, int expectedStatus) { @@ -2576,14 +2610,14 @@ public List getAssignments(Application application, Page page, User * is true. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param user the user - * @param page the page - * @param context the context for the assignments, default: null - * @param createAssignment if true the assignments are created, default: true + * @param application the application + * @param user the user + * @param page the page + * @param context the context for the assignments, default: null + * @param createAssignment if true the assignments are created, default: true * @param ignoreSamplingPercent ignores the sampling percentage, default: false - * @param expectedStatus the exptected HTTP status code - * @param apiServerConnector the server connector to use + * @param expectedStatus the exptected HTTP status code + * @param apiServerConnector the server connector to use * @return the created assignments, can be 0 */ public List getAssignments(Application application, Page page, User user, String context, boolean createAssignment, boolean ignoreSamplingPercent, int expectedStatus, APIServerConnector apiServerConnector) { @@ -2607,19 +2641,20 @@ public List getAssignments(Application application, Page page, User List assignments = new ArrayList<>(assignmentMappings.size()); for (Map assignmentMapping : assignmentMappings) { assignments.add(AssignmentFactory.createFromJSONString( - simpleGson.toJson(assignmentMapping) + simpleGson.toJson(assignmentMapping) ) ); } return assignments; } + /** * Sends a POST request to assign a user to experiments of the specified page. * The response must contain {@link HttpStatus#SC_CREATED}. * * @param application the application - * @param user the user - * @param page the page + * @param user the user + * @param page the page * @return the created assignments, can be 0 */ public List postAssignments(Application application, Page page, User user) { @@ -2631,9 +2666,9 @@ public List postAssignments(Application application, Page page, User * given in the {@code segmentationProfile}. * The response must contain {@link HttpStatus#SC_CREATED}. * - * @param application the application - * @param user the user - * @param page the page + * @param application the application + * @param user the user + * @param page the page * @param segmentationProfile the segmantation profile, will be wrapped into the correct JSON object * @return the created assignments, can be 0 */ @@ -2646,11 +2681,11 @@ public List postAssignments(Application application, Page page, User * given in the {@code segmentationProfile}. * The response must contain {@link HttpStatus#SC_CREATED}. * - * @param application the application - * @param user the user - * @param page the page + * @param application the application + * @param user the user + * @param page the page * @param segmentationProfile the segmantation profile, will be wrapped into the correct JSON object - * @param context the context for the assignments, default: null + * @param context the context for the assignments, default: null * @return the created assignments, can be 0 */ public List postAssignments(Application application, Page page, User user, Map segmentationProfile, String context) { @@ -2662,12 +2697,12 @@ public List postAssignments(Application application, Page page, User * given in the {@code segmentationProfile}. * The response must contain {@link HttpStatus#SC_CREATED}. * - * @param application the application - * @param user the user - * @param page the page + * @param application the application + * @param user the user + * @param page the page * @param segmentationProfile the segmantation profile, will be wrapped into the correct JSON object - * @param context the context for the assignments, default: null - * @param createAssignment if true the assignments are created, default: true + * @param context the context for the assignments, default: null + * @param createAssignment if true the assignments are created, default: true * @return the created assignments, can be 0 */ public List postAssignments(Application application, Page page, User user, Map segmentationProfile, String context, boolean createAssignment) { @@ -2679,12 +2714,12 @@ public List postAssignments(Application application, Page page, User * given in the {@code segmentationProfile}. * The response must contain {@link HttpStatus#SC_CREATED}. * - * @param application the application - * @param user the user - * @param page the page - * @param segmentationProfile the segmantation profile, will be wrapped into the correct JSON object - * @param context the context for the assignments, default: null - * @param createAssignment if true the assignments are created, default: true + * @param application the application + * @param user the user + * @param page the page + * @param segmentationProfile the segmantation profile, will be wrapped into the correct JSON object + * @param context the context for the assignments, default: null + * @param createAssignment if true the assignments are created, default: true * @param ignoreSamplingPercent ignores the sampling percentage, default: false * @return the created assignments, can be 0 */ @@ -2697,14 +2732,14 @@ public List postAssignments(Application application, Page page, User * given in the {@code segmentationProfile}. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param user the user - * @param page the page - * @param segmentationProfile the segmantation profile, will be wrapped into the correct JSON object - * @param context the context for the assignments, default: null - * @param createAssignment if true the assignments are created, default: true + * @param application the application + * @param user the user + * @param page the page + * @param segmentationProfile the segmantation profile, will be wrapped into the correct JSON object + * @param context the context for the assignments, default: null + * @param createAssignment if true the assignments are created, default: true * @param ignoreSamplingPercent ignores the sampling percentage, default: false - * @param expectedStatus the exptected HTTP status code + * @param expectedStatus the exptected HTTP status code * @return the created assignments, can be 0 */ public List postAssignments(Application application, Page page, User user, Map segmentationProfile, String context, boolean createAssignment, boolean ignoreSamplingPercent, int expectedStatus) { @@ -2716,15 +2751,15 @@ public List postAssignments(Application application, Page page, User * given in the {@code segmentationProfile}. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param user the user - * @param page the page - * @param segmentationProfile the segmantation profile, will be wrapped into the correct JSON object - * @param context the context for the assignments, default: null - * @param createAssignment if true the assignments are created, default: true + * @param application the application + * @param user the user + * @param page the page + * @param segmentationProfile the segmantation profile, will be wrapped into the correct JSON object + * @param context the context for the assignments, default: null + * @param createAssignment if true the assignments are created, default: true * @param ignoreSamplingPercent ignores the sampling percentage, default: false - * @param expectedStatus the exptected HTTP status code - * @param apiServerConnector the server connector to use + * @param expectedStatus the exptected HTTP status code + * @param apiServerConnector the server connector to use * @return the created assignments, can be 0 */ public List postAssignments(Application application, Page page, User user, Map segmentationProfile, String context, boolean createAssignment, boolean ignoreSamplingPercent, int expectedStatus, APIServerConnector apiServerConnector) { @@ -2755,7 +2790,7 @@ public List postAssignments(Application application, Page page, User List assignments = new ArrayList<>(assignmentMappings.size()); for (Map assignmentMapping : assignmentMappings) { assignments.add(AssignmentFactory.createFromJSONString( - simpleGson.toJson(assignmentMapping) + simpleGson.toJson(assignmentMapping) ) ); } @@ -2763,7 +2798,6 @@ public List postAssignments(Application application, Page page, User } - ///////////////////// // events Endpoint // ///////////////////// @@ -2772,9 +2806,9 @@ public List postAssignments(Application application, Page page, User * Sends a POST request to send a single event for a specific user for an experiment. * The response must contain {@link HttpStatus#SC_NO_CONTENT}. * - * @param event the event list to send + * @param event the event list to send * @param experiment the experiment - * @param user the user + * @param user the user * @return the response */ public Response postEvent(Event event, Experiment experiment, User user) { @@ -2785,9 +2819,9 @@ public Response postEvent(Event event, Experiment experiment, User user) { * Sends a POST request to send a single event for a specific user for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param event the event list to send - * @param experiment the experiment - * @param user the user + * @param event the event list to send + * @param experiment the experiment + * @param user the user * @param expectedStatus the expected HTTP status code * @return the response */ @@ -2799,9 +2833,9 @@ public Response postEvent(Event event, Experiment experiment, User user, int exp * Sends a POST request to send a list of events for a specific user for an experiment. * The response must contain {@link HttpStatus#SC_NO_CONTENT}. * - * @param events the event list to send + * @param events the event list to send * @param experiment the experiment - * @param user the user + * @param user the user * @return the response */ public Response postEvents(List events, Experiment experiment, User user) { @@ -2812,11 +2846,11 @@ public Response postEvents(List events, Experiment experiment, User user) * Sends a POST request to send a list of events for a specific user for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param events the event list to send - * @param experiment the experiment - * @param user the user + * @param events the event list to send + * @param experiment the experiment + * @param user the user * @param expectedStatus the expected HTTP status code - * @return the response + * @return the response */ public Response postEvents(List events, Experiment experiment, User user, int expectedStatus) { return postEvents(events, experiment, user, expectedStatus, apiServerConnector); @@ -2826,10 +2860,10 @@ public Response postEvents(List events, Experiment experiment, User user, * Sends a POST request to send a list of events for a specific user for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param events the event list to send - * @param experiment the experiment - * @param user the user - * @param expectedStatus the expected HTTP status code + * @param events the event list to send + * @param experiment the experiment + * @param user the user + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -2845,7 +2879,6 @@ public Response postEvents(List events, Experiment experiment, User user, } - ////////////////////////////////////// // applications// endpoint // ////////////////////////////////////// @@ -2855,7 +2888,7 @@ public Response postEvents(List events, Experiment experiment, User user, * The response must contain {@link HttpStatus#SC_OK}. * * @param application the application - * @param experiment the experiment to supply the id + * @param experiment the experiment to supply the id * @return an experiment */ public Experiment getApplicationExperiment(Application application, Experiment experiment) { @@ -2866,8 +2899,8 @@ public Experiment getApplicationExperiment(Application application, Experiment e * Sends a GET request to retrieve an experiment for an application. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param experiment the experiment to supply the id + * @param application the application + * @param experiment the experiment to supply the id * @param expectedStatus the expected HTTP status code * @return an experiment */ @@ -2879,9 +2912,9 @@ public Experiment getApplicationExperiment(Application application, Experiment e * Sends a GET request to retrieve an experiment for an application. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application - * @param experiment the experiment to supply the id - * @param expectedStatus the expected HTTP status code + * @param application the application + * @param experiment the experiment to supply the id + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return an experiment */ @@ -2907,7 +2940,7 @@ public List getApplicationExperiments(Application application) { * Sends a GET request to retrieve the experiments for an application. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application for which the experiments are + * @param application the application for which the experiments are * @param expectedStatus the expected HTTP status code * @return a list of experiments */ @@ -2919,8 +2952,8 @@ public List getApplicationExperiments(Application application, int e * Sends a GET request to retrieve the experiments for an application. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application for which the experiments are - * @param expectedStatus the expected HTTP status code + * @param application the application for which the experiments are + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list of experiments */ @@ -2929,7 +2962,7 @@ public List getApplicationExperiments(Application application, int e response = apiServerConnector.doGet(uri); assertReturnCode(response, expectedStatus); @SuppressWarnings("unchecked") - List> jsonStrings = (List>) response.jsonPath().getMap("").get("experiments"); + List> jsonStrings = response.jsonPath().getList(""); List expList = new ArrayList<>(jsonStrings.size()); for (Map jsonMap : jsonStrings) { String jsonString = simpleGson.toJson(jsonMap); @@ -2954,8 +2987,8 @@ public Response putApplicationPriorities(Application application, List getApplicationPriorities(Application application) { * Sends a GET request to receive a list of experiments ordered by their priority. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application for which the experiments are + * @param application the application for which the experiments are * @param expectedStatus the expected HTTP status code * @return a list of experiments, ordered by priority */ @@ -3012,8 +3045,8 @@ public List getApplicationPriorities(Application application, int ex * Sends a GET request to receive a list of experiments ordered by their priority. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application for which the experiments are - * @param expectedStatus the expected HTTP status code + * @param application the application for which the experiments are + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list of experiments, ordered by priority */ @@ -3045,7 +3078,7 @@ public List getApplicationPages(Application application) { * Sends a GET request to receive a list of pages associated with an application. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application for which the experiments are + * @param application the application for which the experiments are * @param expectedStatus the expected HTTP status code * @return a list of pages */ @@ -3057,8 +3090,8 @@ public List getApplicationPages(Application application, int expectedStatu * Sends a GET request to receive a list of pages associated with an application. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application for which the experiments are - * @param expectedStatus the expected HTTP status code + * @param application the application for which the experiments are + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list of pages */ @@ -3081,7 +3114,7 @@ public List getApplicationPages(Application application, int expectedStatu * The response must contain HTTP {@link HttpStatus#SC_OK}. * * @param application the application for which the experiments are - * @param page the experiment page + * @param page the experiment page * @return a list of experiments */ public List getExperimentsByApplicationPage(Application application, Page page) { @@ -3092,8 +3125,8 @@ public List getExperimentsByApplicationPage(Application application, * Sends a GET request to receive a list of experiments for an application and page. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application for which the experiments are - * @param page the experiment page + * @param application the application for which the experiments are + * @param page the experiment page * @param expectedStatus the expected HTTP status code * @return a list of experiments */ @@ -3105,9 +3138,9 @@ public List getExperimentsByApplicationPage(Application application, * Sends a GET request to receive a list of experiments for an application and page. * The response must contain HTTP {@code expectedStatus}. * - * @param application the application for which the experiments are - * @param page the experiment page - * @param expectedStatus the expected HTTP status code + * @param application the application for which the experiments are + * @param page the experiment page + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list of experiments */ @@ -3125,7 +3158,6 @@ public List getExperimentsByApplicationPage(Application application, } - //////////////////////// // analytics endpoint // //////////////////////// @@ -3146,8 +3178,8 @@ public ExperimentCounts postExperimentCounts(Experiment experiment, AnalyticsPar * Sends a POST request to receive counts for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param parameters the parameters for the request body + * @param experiment the experiment + * @param parameters the parameters for the request body * @param expectedStatus the expected HTTP status code * @return the experiment counts */ @@ -3159,9 +3191,9 @@ public ExperimentCounts postExperimentCounts(Experiment experiment, AnalyticsPar * Sends a POST request to receive counts for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param parameters the parameters for the request body - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param parameters the parameters for the request body + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the experiment counts */ @@ -3190,7 +3222,7 @@ public ExperimentCounts getExperimentCounts(Experiment experiment) { * The response must contain {@link HttpStatus#SC_OK}. * * @param experiment the experiment - * @param context the context + * @param context the context * @return the experiment counts */ public ExperimentCounts getExperimentCounts(Experiment experiment, String context) { @@ -3201,8 +3233,8 @@ public ExperimentCounts getExperimentCounts(Experiment experiment, String contex * Sends a GET request to receive counts for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param context the context + * @param experiment the experiment + * @param context the context * @param expectedStatus the expected HTTP status code * @return the experiment counts */ @@ -3214,9 +3246,9 @@ public ExperimentCounts getExperimentCounts(Experiment experiment, String contex * Sends a GET request to receive counts for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param context the context - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param context the context + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the experiment counts */ @@ -3248,8 +3280,8 @@ public ExperimentCumulativeCounts postExperimentCumulativeCounts(Experiment expe * Sends a POST request to receive cumulative experiments counts for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param parameters the parameters for the request body + * @param experiment the experiment + * @param parameters the parameters for the request body * @param expectedStatus the expected HTTP status code * @return the cumulative experiment counts */ @@ -3261,9 +3293,9 @@ public ExperimentCumulativeCounts postExperimentCumulativeCounts(Experiment expe * Sends a POST request to receive cumulative experiments counts for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param parameters the parameters for the request body - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param parameters the parameters for the request body + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the cumulative experiment counts */ @@ -3292,7 +3324,7 @@ public ExperimentCumulativeCounts getExperimentCumulativeCounts(Experiment exper * The response must contain {@link HttpStatus#SC_OK}. * * @param experiment the experiment - * @param context the context + * @param context the context * @return the cumulative experiment counts */ public ExperimentCumulativeCounts getExperimentCumulativeCounts(Experiment experiment, String context) { @@ -3303,8 +3335,8 @@ public ExperimentCumulativeCounts getExperimentCumulativeCounts(Experiment exper * Sends a GET request to receive cumulative experiments counts for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param context the context + * @param experiment the experiment + * @param context the context * @param expectedStatus the expected HTTP status code * @return the cumulative experiment counts */ @@ -3316,9 +3348,9 @@ public ExperimentCumulativeCounts getExperimentCumulativeCounts(Experiment exper * Sends a GET request to receive cumulative experiments counts for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param context the context - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param context the context + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the cumulative experiment counts */ @@ -3350,8 +3382,8 @@ public ExperimentStatistics postStatistics(Experiment experiment, AnalyticsParam * Sends a POST request to receive statistics for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param parameters the parameters for the request body + * @param experiment the experiment + * @param parameters the parameters for the request body * @param expectedStatus the expected HTTP status code * @return the cumulative experiment counts */ @@ -3363,9 +3395,9 @@ public ExperimentStatistics postStatistics(Experiment experiment, AnalyticsParam * Sends a POST request to receive statistics for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param parameters the parameters for the request body - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param parameters the parameters for the request body + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the cumulative experiment counts */ @@ -3394,7 +3426,7 @@ public ExperimentStatistics getStatistics(Experiment experiment) { * The response must contain {@link HttpStatus#SC_OK}. * * @param experiment the experiment - * @param context the context + * @param context the context * @return the cumulative experiment counts */ public ExperimentStatistics getStatistics(Experiment experiment, String context) { @@ -3405,8 +3437,8 @@ public ExperimentStatistics getStatistics(Experiment experiment, String context) * Sends a GET request to receive statistics for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param context the context + * @param experiment the experiment + * @param context the context * @param expectedStatus the expected HTTP status code * @return the cumulative experiment counts */ @@ -3418,9 +3450,9 @@ public ExperimentStatistics getStatistics(Experiment experiment, String context, * Sends a GET request to receive statistics for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param context the context - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param context the context + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the cumulative experiment counts */ @@ -3452,8 +3484,8 @@ public ExperimentCumulativeStatistics postDailyStatistics(Experiment experiment, * Sends a POST request to receive daily statistics for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param parameters the parameters for the request body + * @param experiment the experiment + * @param parameters the parameters for the request body * @param expectedStatus the expected HTTP status code * @return the cumulative experiment counts */ @@ -3465,9 +3497,9 @@ public ExperimentCumulativeStatistics postDailyStatistics(Experiment experiment, * Sends a POST request to receive daily statistics for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param parameters the parameters for the request body - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param parameters the parameters for the request body + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the cumulative experiment counts */ @@ -3496,7 +3528,7 @@ public ExperimentCumulativeStatistics getDailyStatistics(Experiment experiment) * The response must contain {@link HttpStatus#SC_OK}. * * @param experiment the experiment - * @param context the context + * @param context the context * @return the cumulative experiment counts */ public ExperimentCumulativeStatistics getDailyStatistics(Experiment experiment, String context) { @@ -3507,8 +3539,8 @@ public ExperimentCumulativeStatistics getDailyStatistics(Experiment experiment, * Sends a GET request to receive daily statistics for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param context the context + * @param experiment the experiment + * @param context the context * @param expectedStatus the expected HTTP status code * @return the cumulative experiment counts */ @@ -3520,9 +3552,9 @@ public ExperimentCumulativeStatistics getDailyStatistics(Experiment experiment, * Sends a GET request to receive daily statistics for an experiment. * The response must contain HTTP {@code expectedStatus}. * - * @param experiment the experiment - * @param context the context - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param context the context + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the cumulative experiment counts */ @@ -3541,7 +3573,7 @@ public ExperimentCumulativeStatistics getDailyStatistics(Experiment experiment, /** * Sends a GET request to receive assignment statistics. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* Uses the experiment's applicationName and experimentLabel. * * @param experiment the experiment @@ -3554,11 +3586,11 @@ public String getAssignmentSummary(Experiment experiment) { /** * Sends a GET request to receive assignment statistics. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* Uses the experiment's applicationName and experimentLabel. * * @param experiment the experiment - * @param context the context + * @param context the context * @return the cumulative experiment counts */ public String getAssignmentSummary(Experiment experiment, String context) { @@ -3568,11 +3600,11 @@ public String getAssignmentSummary(Experiment experiment, String context) { /** * Sends a GET request to receive assignment statistics. * The response must contain HTTP {@code expectedStatus}. - * + *

* Uses the experiment's applicationName and experimentLabel. * - * @param experiment the experiment - * @param context the context + * @param experiment the experiment + * @param context the context * @param expectedStatus the expected HTTP status code * @return the cumulative experiment counts */ @@ -3584,12 +3616,12 @@ public String getAssignmentSummary(Experiment experiment, String context, int ex * TODO: just returns a JSON String as of now... * Sends a GET request to receive assignment statistics. * The response must contain HTTP {@code expectedStatus}. - * + *

* Uses the experiment's applicationName and experimentLabel. * - * @param experiment the experiment - * @param context the context - * @param expectedStatus the expected HTTP status code + * @param experiment the experiment + * @param context the context + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the cumulative experiment counts */ @@ -3606,7 +3638,6 @@ public String getAssignmentSummary(Experiment experiment, String context, int ex } - ///////////////////// // CUSTOM requests // ///////////////////// @@ -3615,10 +3646,10 @@ public String getAssignmentSummary(Experiment experiment, String context, int ex * Sends a POST request to receive a response. * The response must contain HTTP {@code expectedStatus}. * - * @param uri the endpoint uri (without the base path, for example without /api/v1/), starting without / - * @param uriParameters a map of uri parameters - * @param requestBody the request body, if json needed transform first. - * @param expectedStatus the expected HTTP status code + * @param uri the endpoint uri (without the base path, for example without /api/v1/), starting without / + * @param uriParameters a map of uri parameters + * @param requestBody the request body, if json needed transform first. + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -3640,10 +3671,10 @@ public Response doPost(String uri, Map uriParameters, Object req * Sends a GET request to receive a response. * The response must contain HTTP {@code expectedStatus}. * - * @param uri the endpoint uri (without the base path, for example without /api/v1/), starting without / - * @param uriParameters a map of uri parameters - * @param requestBody the request body, if json needed transform first. - * @param expectedStatus the expected HTTP status code + * @param uri the endpoint uri (without the base path, for example without /api/v1/), starting without / + * @param uriParameters a map of uri parameters + * @param requestBody the request body, if json needed transform first. + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -3665,10 +3696,10 @@ public Response doGet(String uri, Map uriParameters, Object requ * Sends a DELETE request to receive a response. * The response must contain HTTP {@code expectedStatus}. * - * @param uri the endpoint uri (without the base path, for example without /api/v1/), starting without / - * @param uriParameters a map of uri parameters - * @param requestBody the request body, if json needed transform first. - * @param expectedStatus the expected HTTP status code + * @param uri the endpoint uri (without the base path, for example without /api/v1/), starting without / + * @param uriParameters a map of uri parameters + * @param requestBody the request body, if json needed transform first. + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -3690,10 +3721,10 @@ public Response doDelete(String uri, Map uriParameters, Object r * Sends a PUT request to receive a response. * The response must contain HTTP {@code expectedStatus}. * - * @param uri the endpoint uri (without the base path, for example without /api/v1/), starting without / - * @param uriParameters a map of uri parameters - * @param requestBody the request body, if json needed transform first. - * @param expectedStatus the expected HTTP status code + * @param uri the endpoint uri (without the base path, for example without /api/v1/), starting without / + * @param uriParameters a map of uri parameters + * @param requestBody the request body, if json needed transform first. + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return the response */ @@ -3719,13 +3750,13 @@ public Response doPut(String uri, Map uriParameters, Object requ * Sends a POST request to create an user feedback. * The response must contain HTTP {@code expectedStatus}. * - * @param userFeedback the userFeedback to POST - * @param expectedStatus the expected HTTP status code + * @param userFeedback the userFeedback to POST + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return response The response of a request made by REST Assured */ public Response postFeedback(UserFeedback userFeedback, int expectedStatus, APIServerConnector apiServerConnector) { - response = apiServerConnector.doPost("feedback", userFeedback==null?null:userFeedback.toJSONString()); + response = apiServerConnector.doPost("feedback", userFeedback == null ? null : userFeedback.toJSONString()); assertReturnCode(response, expectedStatus); return response; } @@ -3734,7 +3765,7 @@ public Response postFeedback(UserFeedback userFeedback, int expectedStatus, APIS * Sends a GET request to get all feedbacks. * The response must contain HTTP {@code expectedStatus}. * - * @param expectedStatus the expected HTTP status code + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use * @return a list of user feedbacks */ @@ -3753,16 +3784,16 @@ public List getFeedbacks(int expectedStatus, APIServerConnector ap /** * Sends a GET request to get feedbacks by username. - * + *

* The response must contain HTTP {@code expectedStatus}. * - * @param expectedStatus the expected HTTP status code + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the server connector to use - * @param username user name + * @param username user name * @return a list of user feedbacks */ public List getFeedbacksByUsername(int expectedStatus, APIServerConnector apiServerConnector, String username) { - response = apiServerConnector.doGet("feedback/users/"+username); + response = apiServerConnector.doGet("feedback/users/" + username); assertReturnCode(response, expectedStatus); List> jsonStrings = response.jsonPath().getList("feedbackList"); @@ -3785,7 +3816,7 @@ public List getFeedbacksByUsername(int expectedStatus, APIServerCo /** * Sends a POST request to get a login token. * The response must contain HTTP {@link HttpStatus#SC_OK}. - * + *

* Uses the default APIServerConnector's user credentials and * requests a {@code grant_type} of "client_credentials". * It always copies the APIServerConnector before setting any additional fields. @@ -3799,12 +3830,12 @@ public AccessToken postLogin() { /** * Sends a POST request to get a login token. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* If the apiUser is null, it uses the default APIServerConnector's * user credentials and requests a {@code grant_type} of "client_credentials". * Otherwise it uses a copied APIServerConnector and sets the user credentials * according to apiUser. - * + *

* It always copies the APIServerConnector before setting any additional fields. * * @param apiUser the APIUser @@ -3817,18 +3848,18 @@ public AccessToken postLogin(APIUser apiUser) { /** * Sends a POST request to get a login token. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* If the apiUser is null, it uses the default APIServerConnector's * user credentials. * Otherwise it uses a copied APIServerConnector and sets the user credentials * according to apiUser. - * + *

* Requests the specified {@code grant_type}. (Default is * "client_credentials"). If null, no grant_type is requested. - * + *

* It always copies the APIServerConnector before setting any additional fields. * - * @param apiUser the APIUser + * @param apiUser the APIUser * @param grant_type the requested grant_type * @return the token */ @@ -3839,19 +3870,19 @@ public AccessToken postLogin(APIUser apiUser, String grant_type) { /** * Sends a POST request to get a login token. * The response must contain HTTP {@code expectedStatus}. - * + *

* If the apiUser is null, it uses the default APIServerConnector's * user credentials. * Otherwise it uses a copied APIServerConnector and sets the user credentials * according to apiUser. - * + *

* Requests the specified {@code grant_type}. (Default is * "client_credentials"). If null, no grant_type is requested. - * + *

* It always copies the APIServerConnector before setting any additional fields. * - * @param apiUser the APIUser - * @param grant_type the requested grant_type + * @param apiUser the APIUser + * @param grant_type the requested grant_type * @param expectedStatus the expected status code * @return the token */ @@ -3862,20 +3893,20 @@ public AccessToken postLogin(APIUser apiUser, String grant_type, int expectedSta /** * Sends a POST request to get a login token. * The response must contain HTTP {@code expectedStatus}. - * + *

* If the apiUser is null, it uses the provided APIServerConnector's * user credentials. * Otherwise it copies the supplied APIServerConnector and sets the user credentials * according to apiUser. - * + *

* Requests the specified {@code grant_type}. (Default is * "client_credentials"). If null, no grant_type is requested. - * + *

* It always copies the APIServerConnector before setting any additional fields. * - * @param apiUser the APIUser - * @param grant_type the requested grant_type - * @param expectedStatus the expected status code + * @param apiUser the APIUser + * @param grant_type the requested grant_type + * @param expectedStatus the expected status code * @param apiServerConnector the api server connector * @return the token */ @@ -3913,7 +3944,7 @@ public APIUser getUserExists(APIUser apiUser) { * given {@link APIUser#email}. * The response must contain HTTP {@code expectedStatus}. * - * @param apiUser the email provider + * @param apiUser the email provider * @param expectedStatus the expected HTTP status code * @return the complete APIUser */ @@ -3926,8 +3957,8 @@ public APIUser getUserExists(APIUser apiUser, int expectedStatus) { * given {@link APIUser#email}. * The response must contain HTTP {@code expectedStatus}. * - * @param apiUser the email provider - * @param expectedStatus the expected HTTP status code + * @param apiUser the email provider + * @param expectedStatus the expected HTTP status code * @param apiServerConnector the api server connector * @return the complete APIUser */ @@ -3945,7 +3976,7 @@ public APIUser getUserExists(APIUser apiUser, int expectedStatus, APIServerConne /** * Sends a GET request to verify an access token. * The response must contain {@link HttpStatus#SC_OK}. - * + *

* It always copies the APIServerConnector before setting any additional fields. * * @param accessToken the access token to verify @@ -3958,10 +3989,10 @@ public AccessToken getVerifyToken(AccessToken accessToken) { /** * Sends a GET request to verify an access token. * The response must contain HTTP {@code expectedStatus}. - * + *

* It always copies the APIServerConnector before setting any additional fields. * - * @param accessToken the access token to verify + * @param accessToken the access token to verify * @param expectedStatus the expected HTTP status * @return a copy of the token returned from the server */ @@ -3972,11 +4003,11 @@ public AccessToken getVerifyToken(AccessToken accessToken, int expectedStatus) { /** * Sends a GET request to verify an access token. * The response must contain HTTP {@code expectedStatus}. - * + *

* It always copies the APIServerConnector before setting any additional fields. * - * @param accessToken the access token to verify - * @param expectedStatus the expected HTTP status + * @param accessToken the access token to verify + * @param expectedStatus the expected HTTP status * @param apiServerConnector the server connector * @return a copy of the token returned from the server */ @@ -3993,7 +4024,7 @@ public AccessToken getVerifyToken(AccessToken accessToken, int expectedStatus, A /** * Sends a GET request to logout. * The response must contain {@link HttpStatus#SC_NO_CONTENT}. - * + *

* It always copies the APIServerConnector before setting any additional fields. * * @param token the access token to invalidate @@ -4006,10 +4037,10 @@ public Response getLogout(AccessToken token) { /** * Sends a GET request to logout. * The response must contain HTTP {@code expectedStatus}. - * + *

* It always copies the APIServerConnector before setting any additional fields. * - * @param token the access token to invalidate + * @param token the access token to invalidate * @param expectedStatus the expected status code * @return the response */ @@ -4020,11 +4051,11 @@ public Response getLogout(AccessToken token, int expectedStatus) { /** * Sends a GET request to logout. * The response must contain HTTP {@code expectedStatus}. - * + *

* It always copies the APIServerConnector before setting any additional fields. * - * @param token the access token to invalidate - * @param expectedStatus the expected status code + * @param token the access token to invalidate + * @param expectedStatus the expected status code * @param apiServerConnector the api server connector * @return the response */ diff --git a/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/EmptyBucketGetUserAssignmentTest.java b/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/EmptyBucketGetUserAssignmentTest.java new file mode 100644 index 000000000..0765059e2 --- /dev/null +++ b/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/EmptyBucketGetUserAssignmentTest.java @@ -0,0 +1,98 @@ +package com.intuit.wasabi.tests.service; +/******************************************************************************* + * Copyright 2016 Intuit + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *******************************************************************************/ + +import static com.intuit.wasabi.tests.library.util.ModelAssert.assertEqualModelItems; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.testng.Assert; +import org.testng.annotations.Test; + +import com.intuit.wasabi.tests.library.TestBase; +import com.intuit.wasabi.tests.library.util.Constants; +import com.intuit.wasabi.tests.library.util.serialstrategies.DefaultNameExclusionStrategy; +import com.intuit.wasabi.tests.library.util.serialstrategies.DefaultNameInclusionStrategy; +import com.intuit.wasabi.tests.model.Assignment; +import com.intuit.wasabi.tests.model.Bucket; +import com.intuit.wasabi.tests.model.Experiment; +import com.intuit.wasabi.tests.model.User; +import com.intuit.wasabi.tests.model.factory.AssignmentFactory; +import com.intuit.wasabi.tests.model.factory.BucketFactory; +import com.intuit.wasabi.tests.model.factory.ExperimentFactory; +import com.intuit.wasabi.tests.model.factory.UserFactory; + +/** + * A test to check if user can be assigned if the previous assignment bucket is empty + */ +public class EmptyBucketGetUserAssignmentTest extends TestBase { + + private Experiment experiment; + private List buckets = new ArrayList<>(); + private User specialUser2 = UserFactory.createUser("Special2ForBucketTest"); + + /** + * Initializes a default experiment. + */ + public EmptyBucketGetUserAssignmentTest() { + setResponseLogLengthLimit(1000); + + experiment = ExperimentFactory.createExperiment(); + + DefaultNameExclusionStrategy experimentComparisonStrategy = new DefaultNameExclusionStrategy("creationTime", "modificationTime", "ruleJson"); + experiment.setSerializationStrategy(experimentComparisonStrategy); + + } + + @Test(dependsOnGroups = {"ping"}) + public void t_GetUserAssignmentEmptyBucket() { + Experiment exp = postExperiment(experiment); + Assert.assertNotNull(exp.creationTime, "Experiment creation failed (No creationTime)."); + Assert.assertNotNull(exp.modificationTime, "Experiment creation failed (No modificationTime)."); + Assert.assertNotNull(exp.state, "Experiment creation failed (No state)."); + experiment.update(exp); + buckets = BucketFactory.createBuckets(experiment, 3); + postBuckets(buckets); + + experiment.state = Constants.EXPERIMENT_STATE_RUNNING; + Experiment exp2 = putExperiment(experiment); + assertEqualModelItems(exp2, experiment); + experiment.update(exp); + + // special user 2 assigned to bucket 0 + Assignment assignment = AssignmentFactory.createAssignment() + .setAssignment(buckets.get(0).label) + .setExperimentLabel(experiment.label) + .setOverwrite(true); + Assignment putAssignmentFor2 = putAssignment(experiment, assignment, specialUser2); + assertEqualModelItems(putAssignmentFor2, assignment, new DefaultNameInclusionStrategy("assignment")); + + // Empty bucket to which use is assigned + List emptyBucket = new ArrayList<>(); + emptyBucket.add(buckets.get(0)); + putBucketsState(emptyBucket, Constants.BUCKET_STATE_EMPTY); + + // Get assignment after emptying bucket + Assignment getAssignmentAfterEmpty = getAssignment(experiment, specialUser2); + + Assignment assignmentForSpecialAfterReassignment = getAssignment(experiment, specialUser2); + + assertEqualModelItems(assignmentForSpecialAfterReassignment, getAssignmentAfterEmpty, new DefaultNameInclusionStrategy("assignment")); + } +} diff --git a/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/EmptyBucketGetUserAssignmentToEmptyBucketTest.java b/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/EmptyBucketGetUserAssignmentToEmptyBucketTest.java new file mode 100644 index 000000000..53f3c67dd --- /dev/null +++ b/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/EmptyBucketGetUserAssignmentToEmptyBucketTest.java @@ -0,0 +1,85 @@ +package com.intuit.wasabi.tests.service; + +import static com.intuit.wasabi.tests.library.util.ModelAssert.assertEqualModelItems; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.http.HttpStatus; +import org.testng.Assert; +import org.testng.annotations.Test; + +import com.intuit.wasabi.tests.library.TestBase; +import com.intuit.wasabi.tests.library.util.Constants; +import com.intuit.wasabi.tests.library.util.serialstrategies.DefaultNameExclusionStrategy; +import com.intuit.wasabi.tests.library.util.serialstrategies.DefaultNameInclusionStrategy; +import com.intuit.wasabi.tests.model.Assignment; +import com.intuit.wasabi.tests.model.Bucket; +import com.intuit.wasabi.tests.model.Experiment; +import com.intuit.wasabi.tests.model.User; +import com.intuit.wasabi.tests.model.factory.AssignmentFactory; +import com.intuit.wasabi.tests.model.factory.BucketFactory; +import com.intuit.wasabi.tests.model.factory.ExperimentFactory; +import com.intuit.wasabi.tests.model.factory.UserFactory; + +/** + * A test to check if user can be assigned if the previous assignment bucket is empty + */ +public class EmptyBucketGetUserAssignmentToEmptyBucketTest extends TestBase { + + private Experiment experiment; + private List buckets = new ArrayList<>(); + private User specialUser = UserFactory.createUser("SpecialForBucketTest"); + + /** + * Initializes a default experiment. + */ + public EmptyBucketGetUserAssignmentToEmptyBucketTest() { + setResponseLogLengthLimit(1000); + + experiment = ExperimentFactory.createExperiment(); + + DefaultNameExclusionStrategy experimentComparisonStrategy = new DefaultNameExclusionStrategy("creationTime", "modificationTime", "ruleJson"); + experiment.setSerializationStrategy(experimentComparisonStrategy); + + } + + /** + * Test scenario where user is being reassigned from empty bucket to another empty bucket + */ + @Test(dependsOnGroups = {"ping"}) + public void t_AddUserToExperimentWith2BucketsAndEmptyBucketBothAndReassignToAnotherEmptyBucket() { + Experiment exp = postExperiment(experiment); + Assert.assertNotNull(exp.creationTime, "Experiment creation failed."); + Assert.assertNotNull(exp.modificationTime, "Experiment creation failed (No modificationTime)."); + Assert.assertNotNull(exp.state, "Experiment creation failed (No state)."); + experiment.update(exp); + buckets = BucketFactory.createBuckets(experiment, 2); + postBuckets(buckets); + + experiment.state = Constants.EXPERIMENT_STATE_RUNNING; + Experiment exp2 = putExperiment(experiment); + assertEqualModelItems(exp2, experiment); + experiment.update(exp); + + // Assign special user to bucket 0 + Assignment assignment = AssignmentFactory.createAssignment() + .setAssignment(buckets.get(0).label) + .setExperimentLabel(experiment.label) + .setOverwrite(true); + Assignment putAssignment = putAssignment(experiment, assignment, specialUser); + assertEqualModelItems(putAssignment, assignment, new DefaultNameInclusionStrategy("assignment")); + + // Empty both buckets + List emptyBucket = new ArrayList<>(); + emptyBucket.add(buckets.get(0)); + emptyBucket.add(buckets.get(1)); + putBucketsState(emptyBucket, Constants.BUCKET_STATE_EMPTY); + + // There should be no bucket available for user + Assignment getAssignmentAfterAllEmptyBuckets = getAssignment(experiment, specialUser); + Assert.assertEquals(getAssignmentAfterAllEmptyBuckets.status, Constants.NO_OPEN_BUCKETS); + } +} diff --git a/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/PaginationTest.java b/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/PaginationTest.java index ed0eb4f26..063035013 100644 --- a/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/PaginationTest.java +++ b/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/PaginationTest.java @@ -17,6 +17,7 @@ import com.intuit.wasabi.tests.library.TestBase; import com.intuit.wasabi.tests.library.util.ModelAssert; +import com.intuit.wasabi.tests.library.util.RetryTest; import com.intuit.wasabi.tests.library.util.TestUtils; import com.intuit.wasabi.tests.model.Experiment; import com.intuit.wasabi.tests.model.factory.ExperimentFactory; diff --git a/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/SmokeTest.java b/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/SmokeTest.java index 0245b5227..92a5fe205 100644 --- a/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/SmokeTest.java +++ b/modules/functional-test/src/main/java/com/intuit/wasabi/tests/service/SmokeTest.java @@ -22,15 +22,35 @@ import com.intuit.wasabi.tests.library.util.RetryTest; import com.intuit.wasabi.tests.library.util.serialstrategies.DefaultNameExclusionStrategy; import com.intuit.wasabi.tests.library.util.serialstrategies.DefaultNameInclusionStrategy; -import com.intuit.wasabi.tests.model.*; -import com.intuit.wasabi.tests.model.analytics.*; -import com.intuit.wasabi.tests.model.factory.*; +import com.intuit.wasabi.tests.model.Assignment; +import com.intuit.wasabi.tests.model.Bucket; +import com.intuit.wasabi.tests.model.Event; +import com.intuit.wasabi.tests.model.Experiment; +import com.intuit.wasabi.tests.model.Page; +import com.intuit.wasabi.tests.model.User; +import com.intuit.wasabi.tests.model.analytics.BucketStatistics; +import com.intuit.wasabi.tests.model.analytics.Counts; +import com.intuit.wasabi.tests.model.analytics.DailyStatistics; +import com.intuit.wasabi.tests.model.analytics.ExperimentBasicStatistics; +import com.intuit.wasabi.tests.model.analytics.ExperimentCumulativeStatistics; +import com.intuit.wasabi.tests.model.analytics.ExperimentStatistics; +import com.intuit.wasabi.tests.model.factory.ApplicationFactory; +import com.intuit.wasabi.tests.model.factory.AssignmentFactory; +import com.intuit.wasabi.tests.model.factory.BucketFactory; +import com.intuit.wasabi.tests.model.factory.EventFactory; +import com.intuit.wasabi.tests.model.factory.ExperimentFactory; +import com.intuit.wasabi.tests.model.factory.UserFactory; import org.apache.http.HttpStatus; import org.slf4j.Logger; import org.testng.Assert; import org.testng.annotations.Test; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static com.intuit.wasabi.tests.library.util.ModelAssert.assertEqualModelItems; import static com.intuit.wasabi.tests.library.util.ModelAssert.assertEqualModelItemsNoOrder; @@ -163,7 +183,7 @@ public void t_retrieveRunningExperiment() { /** * Assigns users to buckets. */ - @Test(dependsOnMethods = {"t_startExperiment"}) + @Test(dependsOnMethods = {"t_retrieveRunningExperiment"}) @RetryTest(maxTries = 3, warmup = 1500) public void t_assignUsersToBuckets() { for (User user : users) { @@ -236,7 +256,7 @@ public void t_setUserAssignments() { assignments.clear(); for (int i = 0; i < users.size(); ++i) { Assignment assignment = AssignmentFactory.createAssignment() - .setAssignment(buckets.get(i%buckets.size()).label) + .setAssignment(buckets.get(i % buckets.size()).label) .setExperimentLabel(experiment.label) .setOverwrite(true); Assignment putAssignment = putAssignment(experiment, assignment, users.get(i)); @@ -251,21 +271,21 @@ public void t_setUserAssignments() { @Test(dependsOnMethods = {"t_setUserAssignments"}) public void t_submitEvents() { for (int i = 0; i < users.size(); ++i) { - Event[] events = new Event[impressionsFactorPerUser * (i+1)]; + Event[] events = new Event[impressionsFactorPerUser * (i + 1)]; Arrays.fill(events, EventFactory.createEvent()); - postEvents(Arrays.asList(events), experiment, users.get(i),HttpStatus.SC_CREATED); + postEvents(Arrays.asList(events), experiment, users.get(i), HttpStatus.SC_CREATED); // store the number of impressions for easier calculations later - userImpressions.put(users.get(i), impressionsFactorPerUser * (i+1)); + userImpressions.put(users.get(i), impressionsFactorPerUser * (i + 1)); } - postEvent(EventFactory.createAction(), experiment, specialUser,HttpStatus.SC_CREATED); + postEvent(EventFactory.createAction(), experiment, specialUser, HttpStatus.SC_CREATED); postEvent(EventFactory.createAction().setName("Action2"), experiment, users.get(1), HttpStatus.SC_CREATED); } /** * Retrieve all events and count them. */ - @Test(dependsOnMethods = {"t_submitEvents"}, retryAnalyzer = RetryAnalyzer.class ) + @Test(dependsOnMethods = {"t_submitEvents"}, retryAnalyzer = RetryAnalyzer.class) @RetryTest(maxTries = 3, warmup = 2000) public void t_retrieveEvents() { int expectedEventCount = 2; // 2 actions + for all users (userIndex + 1) * 5 IMPRESSIONs @@ -285,7 +305,7 @@ public void t_retrieveEvents() { continue; } if (event.name.equals(action2.name)) { - assertEqualModelItems(event, action2, new DefaultNameExclusionStrategy("timestamp", "payload","userId")); + assertEqualModelItems(event, action2, new DefaultNameExclusionStrategy("timestamp", "payload", "userId")); actionCount++; } } @@ -295,19 +315,19 @@ public void t_retrieveEvents() { /** * Asserts the daily summaries. The same as t_dailySummaryOfDerivedStatistics, but for another endpoint. */ - @Test(dependsOnMethods = {"t_submitEvents"}, retryAnalyzer = RetryAnalyzer.class ) - @RetryTest(maxTries = 3, warmup = 2000) + @Test(dependsOnMethods = {"t_submitEvents"}, retryAnalyzer = RetryAnalyzer.class) + @RetryTest(maxTries = 3, warmup = 2500) public void t_dailySummary() { ExperimentCumulativeStatistics dailies = getDailyStatistics(experiment); List filteredStatistics = new ModelUtil().filterList(dailies.days, - new ModelUtil.Filter() { - @Override - public boolean filter(DailyStatistics daily) { - return daily.perDay.impressionCounts.eventCount > 0; - } - }); + new ModelUtil.Filter() { + @Override + public boolean filter(DailyStatistics daily) { + return daily.perDay.impressionCounts.eventCount > 0; + } + }); Assert.assertEquals(filteredStatistics.size(), 1, "Only one day should have more than 0 impressions."); @@ -366,7 +386,7 @@ public boolean filter(DailyStatistics daily) { /** * Checks if there are sufficient data (which shouldn't be there). */ - @Test(dependsOnMethods = {"t_submitEvents"}, retryAnalyzer = RetryAnalyzer.class ) + @Test(dependsOnMethods = {"t_submitEvents"}, retryAnalyzer = RetryAnalyzer.class) @RetryTest(maxTries = 3, warmup = 2000) public void t_summaryWithDerivedStatistics() { ExperimentStatistics statistics = getStatistics(experiment); @@ -376,7 +396,7 @@ public void t_summaryWithDerivedStatistics() { /** * Asserts the daily summaries. The same as t_dailySummary, but for another endpoint. */ - @Test(dependsOnMethods = {"t_submitEvents"}, retryAnalyzer = RetryAnalyzer.class ) + @Test(dependsOnMethods = {"t_submitEvents"}, retryAnalyzer = RetryAnalyzer.class) @RetryTest(maxTries = 3, warmup = 2000) public void t_dailySummaryOfDerivedStatistics() { ExperimentCumulativeStatistics dailies = getDailyStatistics(experiment); @@ -449,7 +469,7 @@ public boolean filter(DailyStatistics daily) { /** * closes the buckets */ - @Test(dependsOnMethods = { "t_dailySummary", "t_retrieveEvents", "t_summaryWithDerivedStatistics", "t_dailySummaryOfDerivedStatistics" }, retryAnalyzer = RetryAnalyzer.class) + @Test(dependsOnMethods = {"t_dailySummary", "t_retrieveEvents", "t_summaryWithDerivedStatistics", "t_dailySummaryOfDerivedStatistics"}, retryAnalyzer = RetryAnalyzer.class) @RetryTest(warmup = 2000, maxTries = 3) public void t_closeBuckets() { for (Bucket bucket : buckets) { @@ -547,7 +567,7 @@ public void t_getPages() { assertEqualModelItemsNoOrder(retrievedPages, pages); } - @Test(dependsOnMethods = { "t_getPages", "t_retrieveExperimentAssignments", "t_emptyBucket" }) + @Test(dependsOnMethods = {"t_getPages", "t_retrieveExperimentAssignments", "t_emptyBucket"}) public void t_pauseExperiments() { Experiment terminated = putExperiment(experiment.setState(Constants.EXPERIMENT_STATE_PAUSED)); assertEqualModelItems(terminated, experiment); diff --git a/modules/functional-test/src/main/resources/config.properties b/modules/functional-test/src/main/resources/config.properties index 4bbbaa953..8c583e863 100644 --- a/modules/functional-test/src/main/resources/config.properties +++ b/modules/functional-test/src/main/resources/config.properties @@ -67,6 +67,6 @@ password=admin validTokenPattern=^1/V1-[0-9]+-[a-zA-Z0-9]{22}/[0-9]{10}/[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}Z/[a-zA-Z0-9\\._@-]+/[a-f0-9]{40}$ user-email=admin@example.com user-lastname=Admin -database.url=jdbc:mysql://localhost/wasabi +database.url=jdbc:mysql://${mysql.host}/wasabi database.username=readwrite database.password=readwrite diff --git a/modules/functional-test/testng_integrationTests.xml b/modules/functional-test/testng_integrationTests.xml index 1b785d1d4..6e2485601 100644 --- a/modules/functional-test/testng_integrationTests.xml +++ b/modules/functional-test/testng_integrationTests.xml @@ -37,6 +37,8 @@ + + diff --git a/modules/main/pom.xml b/modules/main/pom.xml index 18b8600a9..a2a50891b 100644 --- a/modules/main/pom.xml +++ b/modules/main/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml @@ -82,7 +82,7 @@ test - -javaagent:/usr/local/lib/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${LOG_DIR}/jacoco-it.exec,append=false + -javaagent:/usr/local/lib/org.jacoco.agent-0.7.2.201409121644-runtime.jar=destfile=${LOG_DIR}/jacoco-it.exec,append=false true diff --git a/modules/main/src/main/resources/logback.xml b/modules/main/src/main/resources/logback.xml index 7b03fdbc4..9818c3055 100644 --- a/modules/main/src/main/resources/logback.xml +++ b/modules/main/src/main/resources/logback.xml @@ -102,13 +102,6 @@ --> - - diff --git a/modules/repository/pom.xml b/modules/repository/pom.xml index ef1114ed5..e248a8b4a 100644 --- a/modules/repository/pom.xml +++ b/modules/repository/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraAuditLogRepository.java b/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraAuditLogRepository.java index 6077d022b..f012536ad 100644 --- a/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraAuditLogRepository.java +++ b/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraAuditLogRepository.java @@ -39,11 +39,9 @@ import org.slf4j.Logger; import java.io.IOException; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; +import java.util.*; +import static java.util.Optional.ofNullable; import static org.slf4j.LoggerFactory.getLogger; /** @@ -56,7 +54,8 @@ public class CassandraAuditLogRepository implements AuditLogRepository { private final ExperimentsKeyspace keyspace; @Inject - public CassandraAuditLogRepository(@ExperimentDriver CassandraDriver driver, ExperimentsKeyspace keyspace) throws IOException, ConnectionException { + public CassandraAuditLogRepository(@ExperimentDriver CassandraDriver driver, ExperimentsKeyspace keyspace) + throws IOException, ConnectionException { this.driver = driver; this.keyspace = keyspace; } @@ -69,8 +68,8 @@ public CassandraAuditLogRepository(@ExperimentDriver CassandraDriver driver, Exp @Override public List getCompleteAuditLogEntryList() { String cql = "SELECT * FROM auditlog;"; - Rows rows = cqlSelectAll(cql); - return readAuditLogEntryList(null, rows); + + return readAuditLogEntryList(null, cqlSelectAll(cql)); } /** @@ -82,8 +81,8 @@ public List getCompleteAuditLogEntryList() { @Override public List getCompleteAuditLogEntryList(int limit) { String cql = "SELECT * FROM auditlog LIMIT " + limit + ";"; - Rows rows = cqlSelectAll(cql); - return readAuditLogEntryList(null, rows); + + return readAuditLogEntryList(null, cqlSelectAll(cql)); } /** @@ -95,8 +94,8 @@ public List getCompleteAuditLogEntryList(int limit) { @Override public List getAuditLogEntryList(Application.Name applicationName) { String cql = "SELECT * FROM auditlog WHERE application_name = ?;"; - Rows rows = cqlWithApplication(cql, applicationName); - return readAuditLogEntryList(applicationName, rows); + + return readAuditLogEntryList(applicationName, cqlWithApplication(cql, applicationName)); } /** @@ -109,8 +108,8 @@ public List getAuditLogEntryList(Application.Name applicationName @Override public List getAuditLogEntryList(Application.Name applicationName, int limit) { String cql = "SELECT * FROM auditlog WHERE application_name = ? LIMIT " + limit + ";"; - Rows rows = cqlWithApplication(cql, applicationName); - return readAuditLogEntryList(applicationName, rows); + + return readAuditLogEntryList(applicationName, cqlWithApplication(cql, applicationName)); } /** @@ -121,8 +120,8 @@ public List getAuditLogEntryList(Application.Name applicationName @Override public List getGlobalAuditLogEntryList() { String cql = "SELECT * FROM auditlog WHERE application_name = ?;"; - Rows rows = cqlWithApplication(cql, AuditLogRepository.GLOBAL_ENTRY_APPLICATION); - return readAuditLogEntryList(AuditLogRepository.GLOBAL_ENTRY_APPLICATION, rows); + + return readAuditLogEntryList(GLOBAL_ENTRY_APPLICATION, cqlWithApplication(cql, GLOBAL_ENTRY_APPLICATION)); } /** @@ -134,8 +133,8 @@ public List getGlobalAuditLogEntryList() { @Override public List getGlobalAuditLogEntryList(int limit) { String cql = "SELECT * FROM auditlog WHERE application_name = ? LIMIT " + limit + ";"; - Rows rows = cqlWithApplication(cql, AuditLogRepository.GLOBAL_ENTRY_APPLICATION); - return readAuditLogEntryList(AuditLogRepository.GLOBAL_ENTRY_APPLICATION, rows); + + return readAuditLogEntryList(GLOBAL_ENTRY_APPLICATION, cqlWithApplication(cql, GLOBAL_ENTRY_APPLICATION)); } /** @@ -145,28 +144,37 @@ public List getGlobalAuditLogEntryList(int limit) { * @param entry the entry to store * @return true on success * @throws RepositoryException if the required entry values {@link AuditLogEntry#getAction()}, - * {@link AuditLogEntry#getUser()}, {@link AuditLogEntry#getTime()} or the entry itself are null. + * {@link AuditLogEntry#getUser()}, {@link AuditLogEntry#getTime()} or the entry itself are null. */ @Override public boolean storeEntry(AuditLogEntry entry) { + LOGGER.debug("storing auditLogEntry: {}", entry); + if (entry == null || entry.getAction() == null || entry.getUser() == null || entry.getTime() == null) { - throw new RepositoryException("Can not insert AuditLogEntry " + entry + " into database, required values are null."); + LOGGER.debug("unable to store null auditLogEntry: {}", entry); + + throw new RepositoryException("Can not insert AuditLogEntry: {}" + entry + + " into database, required values are null."); } + String cql = "INSERT INTO auditlog ( event_id, application_name, time, action, " + "user_firstname, user_lastname, user_email, user_username, user_userid, " + "experiment_id, experiment_label, bucket_label, " + "changed_property, property_before, property_after )" + " VALUES ( uuid(), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? );"; - - PreparedCqlQuery cqlQuery = driver.getKeyspace().prepareQuery(keyspace.auditlogCF()).withCql(cql).asPreparedStatement() - .withByteBufferValue(entry.getApplicationName() == null ? AuditLogRepository.GLOBAL_ENTRY_APPLICATION : entry.getApplicationName(), ApplicationNameSerializer.get()) + PreparedCqlQuery cqlQuery = driver.getKeyspace() + .prepareQuery(keyspace.auditlogCF()) + .withCql(cql).asPreparedStatement() + .withByteBufferValue(entry.getApplicationName() == null ? + GLOBAL_ENTRY_APPLICATION : entry.getApplicationName(), + ApplicationNameSerializer.get()) .withByteBufferValue(entry.getTime().getTime(), DateSerializer.get()) .withStringValue(entry.getAction().toString()) - .withStringValue(entry.getUser().getFirstName() != null ? entry.getUser().getFirstName() : "") - .withStringValue(entry.getUser().getLastName() != null ? entry.getUser().getLastName() : "") - .withStringValue(entry.getUser().getEmail() != null ? entry.getUser().getEmail() : "") + .withStringValue(ofNullable(entry.getUser().getFirstName()).orElse("")) + .withStringValue(ofNullable(entry.getUser().getLastName()).orElse("")) + .withStringValue(ofNullable(entry.getUser().getEmail()).orElse("")) .withByteBufferValue(entry.getUser().getUsername(), UsernameSerializer.get()) - .withStringValue(entry.getUser().getUserId() != null ? entry.getUser().getUserId() : ""); + .withStringValue(ofNullable(entry.getUser().getUserId()).orElse("")); if (entry.getExperimentId() != null) { cqlQuery.withByteBufferValue(entry.getExperimentId(), ExperimentIDSerializer.get()); @@ -186,27 +194,35 @@ public boolean storeEntry(AuditLogEntry entry) { cqlQuery.withStringValue(""); } - cqlQuery.withStringValue(entry.getChangedProperty() != null ? entry.getChangedProperty() : "") - .withStringValue(entry.getBefore() != null ? entry.getBefore() : "") - .withStringValue(entry.getAfter() != null ? entry.getAfter() : ""); + cqlQuery.withStringValue(ofNullable(entry.getChangedProperty()).orElse("")) + .withStringValue(ofNullable(entry.getBefore()).orElse("")) + .withStringValue(ofNullable(entry.getAfter()).orElse("")); + + boolean status = false; try { + LOGGER.debug("storing auditLogEntry: {}, with cqlQuery: {}", entry, cqlQuery); + cqlQuery.execute(); - } catch (ConnectionException e) { - LOGGER.error("Could not write AuditLogEntry " + entry + " to database. Record is lost!", e); - return false; + status = true; + + LOGGER.debug("stored auditLogEntry: {}, with cqlQuery: {}", entry, cqlQuery); + } catch (ConnectionException ce) { + LOGGER.error("Could not write AuditLogEntry: {}, to the database cause: {}. Record is lost!", entry, + ce.getMessage(), ce); } - return true; - } + LOGGER.debug("stored auditLogEntry: {}, status: {}", entry, status); + + return status; + } /** * Allows cql select or update queries which have only an ApplicationName as a prepared value. * - * @param cql the query + * @param cql the query * @param applicationName the application to put in * @return the resulting rows. - * * @throws RepositoryException if an {@link ConnectionException} occurs. */ /*test*/ Rows cqlWithApplication(String cql, Application.Name applicationName) { @@ -232,7 +248,6 @@ public boolean storeEntry(AuditLogEntry entry) { * * @param cql the query * @return the resulting rows. - * * @throws RepositoryException if an {@link ConnectionException} occurs. */ /*test*/ Rows cqlSelectAll(String cql) { @@ -256,7 +271,7 @@ public boolean storeEntry(AuditLogEntry entry) { * If the rowKey is null, the key will be read from the query. * * @param rowKey the key used to query cassandra - * @param rows the rows object + * @param rows the rows object * @return a list of AuditLogEntries */ /*test*/ List readAuditLogEntryList(Application.Name rowKey, Rows rows) { @@ -274,7 +289,7 @@ public boolean storeEntry(AuditLogEntry entry) { * Reads an AuditLogEntry from a ColumnList. * * @param applicationName the application name / row key - * @param columnList the columnList + * @param columnList the columnList * @return the auditLogEntry */ /*test*/ AuditLogEntry readAuditLogEntry(Application.Name applicationName, ColumnList columnList) { @@ -283,7 +298,7 @@ public boolean storeEntry(AuditLogEntry entry) { } try { /// application name - Application.Name appName = AuditLogRepository.GLOBAL_ENTRY_APPLICATION.equals(applicationName) ? null : applicationName; + Application.Name appName = GLOBAL_ENTRY_APPLICATION.equals(applicationName) ? null : applicationName; // deserialize time Calendar time = null; @@ -302,7 +317,7 @@ public boolean storeEntry(AuditLogEntry entry) { UserInfo user = null; if (!StringUtils.isBlank(username) || !StringUtils.isBlank(userid)) { user = (username != null ? UserInfo.from(UserInfo.Username.valueOf(username)) - : UserInfo.from(UserInfo.Username.valueOf(userid))) + : UserInfo.from(UserInfo.Username.valueOf(userid))) .withFirstName(StringUtils.isBlank(firstname) ? null : firstname) .withLastName(StringUtils.isBlank(lastname) ? null : lastname) .withUserId(StringUtils.isBlank(userid) ? null : userid) diff --git a/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraExperiment.java b/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraExperiment.java index 69c8e3f8a..219442f30 100644 --- a/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraExperiment.java +++ b/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraExperiment.java @@ -46,7 +46,7 @@ public CassandraExperiment(ColumnList columns) { super.setDescription( columns.getStringValue("description", null)); super.setHypothesisIsCorrect( - columns.getStringValue("hypothesisiscorrect", null)); + columns.getStringValue("hypothesis_is_correct", null)); super.setResults( columns.getStringValue("results", null)); super.setRule( diff --git a/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraExperimentRepository.java b/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraExperimentRepository.java index 72c9709c9..604a85f78 100644 --- a/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraExperimentRepository.java +++ b/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/cassandra/CassandraExperimentRepository.java @@ -236,7 +236,7 @@ public Experiment.ID createExperiment(NewExperiment newExperiment) // clobbered. In practice, this should never happen, but... // TODO: Implement a transactional recipe final String CQL = "insert into experiment " + - "(id, description, hypothesisiscorrect, results, rule, sample_percent, start_time, end_time, " + + "(id, description, hypothesis_is_correct, results, rule, sample_percent, start_time, end_time, " + " state, label, app_name, created, modified, is_personalized, model_name, model_version," + " is_rapid_experiment, user_cap, creatorid) " + "values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; @@ -465,7 +465,7 @@ public Experiment updateExperiment(Experiment experiment) validator.validateExperiment(experiment); final String CQL = "update experiment " + - "set description = ?, hypothesisiscorrect = ?, results = ?, rule = ?, sample_percent = ?, " + + "set description = ?, hypothesis_is_correct = ?, results = ?, rule = ?, sample_percent = ?, " + "start_time = ?, end_time = ?, " + "state=?, label=?, app_name=?, modified=? , is_personalized=?, model_name=?, model_version=?," + " is_rapid_experiment=?, user_cap=?" + diff --git a/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/database/DatabaseAnalytics.java b/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/database/DatabaseAnalytics.java index fb6fd6cf3..a2d2df50a 100644 --- a/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/database/DatabaseAnalytics.java +++ b/modules/repository/src/main/java/com/intuit/wasabi/repository/impl/database/DatabaseAnalytics.java @@ -29,10 +29,13 @@ import com.intuit.wasabi.experimentobjects.Experiment; import com.intuit.wasabi.repository.AnalyticsRepository; import com.intuit.wasabi.repository.RepositoryException; +import org.slf4j.Logger; import java.sql.Timestamp; import java.util.*; +import static org.slf4j.LoggerFactory.getLogger; + /** * Database analytics impl of analytics repo * @@ -40,7 +43,7 @@ */ public class DatabaseAnalytics implements AnalyticsRepository { - private TransactionFactory transactionFactory; + private static Logger LOGGER = getLogger(DatabaseAnalytics.class); private Transaction transaction; /** @@ -50,19 +53,28 @@ public class DatabaseAnalytics implements AnalyticsRepository { * @param flyway Flyway */ @Inject - public DatabaseAnalytics(TransactionFactory transactionFactory, Flyway flyway, - final @Named("mysql.mutagen.root.resource.path") String mutagenRootResourcePath) { + public DatabaseAnalytics(final TransactionFactory transactionFactory, final Flyway flyway, + final @Named("mysql.mutagen.root.resource.path") String mutagenRootResourcePath) { super(); - this.transactionFactory = transactionFactory; - this.transaction = transactionFactory.newTransaction(); - initialize(flyway, mutagenRootResourcePath); + LOGGER.debug("instantiating {}", DatabaseAnalytics.class.getCanonicalName()); + + transaction = transactionFactory.newTransaction(); + + initialize(transactionFactory, flyway, mutagenRootResourcePath); + + LOGGER.debug("instantiated {}", DatabaseAnalytics.class.getCanonicalName()); } - void initialize(Flyway flyway, String mutagenRootResourcePath) { + void initialize(final TransactionFactory transactionFactory, final Flyway flyway, + final String mutagenRootResourcePath) { + LOGGER.debug("initializing database with {}", mutagenRootResourcePath); + flyway.setLocations(mutagenRootResourcePath); flyway.setDataSource(transactionFactory.getDataSource()); flyway.migrate(); + + LOGGER.debug("initialized database with {}", mutagenRootResourcePath); } /* @@ -110,19 +122,19 @@ public List getActionsRows(Experiment.ID experimentID, Parameters parameter if (from_ts != null) { params.add(from_ts); - sqlParams.append( " and timestamp >= ?" ); + sqlParams.append(" and timestamp >= ?"); } if (to_ts != null) { params.add(to_ts); - sqlParams.append( " and timestamp <= ?"); + sqlParams.append(" and timestamp <= ?"); } addActionsToSql(parameters, sqlParams, params); Object[] bucketSqlData = new Object[params.size()]; params.toArray(bucketSqlData); - + String sqlActions = "select action, " + sqlBase + " from event_action" + sqlParams.toString() + " group by bucket_label, action"; List actionsRows = transaction.select(sqlActions, bucketSqlData); @@ -189,15 +201,15 @@ void addActionsToSql(Parameters parameters, StringBuilder sqlParams, List params List actions = parameters.getActions(); if (actions != null) { int num_actions = actions.size(); - if( num_actions >= 1){ - sqlParams.append( " and action in (?"); + if (num_actions >= 1) { + sqlParams.append(" and action in (?"); params.add(actions.get(0)); } for (int num = 1; num < num_actions; num++) { - sqlParams.append( ",?" ); + sqlParams.append(",?"); params.add(actions.get(num)); } - if( num_actions >= 1) { + if (num_actions >= 1) { sqlParams.append(") "); } } @@ -336,5 +348,4 @@ public boolean checkMostRecentRollup(Experiment experiment, Parameters parameter throw new RepositoryException("error reading counts from MySQL rollups", e); } } - -} +} \ No newline at end of file diff --git a/modules/repository/src/main/resources/com/intuit/wasabi/repository/impl/cassandra/experiments/mutation/V028.sql b/modules/repository/src/main/resources/com/intuit/wasabi/repository/impl/cassandra/experiments/mutation/V028.sql index 03e299ca9..ec3af32e8 100644 --- a/modules/repository/src/main/resources/com/intuit/wasabi/repository/impl/cassandra/experiments/mutation/V028.sql +++ b/modules/repository/src/main/resources/com/intuit/wasabi/repository/impl/cassandra/experiments/mutation/V028.sql @@ -1,4 +1,4 @@ -- Altering experiment table to include hypothesis check and results fields -alter TABLE experiment ADD hypothesisIsCorrect varchar; +alter TABLE experiment ADD hypothesis_is_correct varchar; alter TABLE experiment ADD results varchar; \ No newline at end of file diff --git a/modules/repository/src/test/java/com/intuit/wasabi/repository/impl/database/DatabaseAnalyticsTest.java b/modules/repository/src/test/java/com/intuit/wasabi/repository/impl/database/DatabaseAnalyticsTest.java index dc8cc52be..9bd61bf3d 100644 --- a/modules/repository/src/test/java/com/intuit/wasabi/repository/impl/database/DatabaseAnalyticsTest.java +++ b/modules/repository/src/test/java/com/intuit/wasabi/repository/impl/database/DatabaseAnalyticsTest.java @@ -26,6 +26,7 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Matchers; +import org.mockito.Mock; import org.mockito.Mockito; import javax.sql.DataSource; @@ -41,23 +42,30 @@ * Created on 3/7/16. */ public class DatabaseAnalyticsTest { - TransactionFactory transactionFactory = Mockito.mock(TransactionFactory.class); - Transaction transaction = Mockito.mock(Transaction.class); - DataSource dataSource = Mockito.mock(DataSource.class); - Flyway flyway = Mockito.mock(Flyway.class); + + @Mock + TransactionFactory transactionFactory = mock(TransactionFactory.class); + @Mock + Transaction transaction = mock(Transaction.class); + @Mock + DataSource dataSource = mock(DataSource.class); + @Mock + Flyway flyway = mock(Flyway.class); DatabaseAnalytics databaseAnalytics; @Before public void setup() throws SQLException { when(transactionFactory.newTransaction()).thenReturn(transaction); when(transactionFactory.getDataSource()).thenReturn(dataSource); - databaseAnalytics = spy(new DatabaseAnalytics(transactionFactory, flyway, "com/intuit/wasabi/repository/impl/mysql/migration")); + + databaseAnalytics = spy(new DatabaseAnalytics(transactionFactory, flyway, + "com/intuit/wasabi/repository/impl/mysql/migration")); } @Test public void initilizeTest(){ - Flyway mockedFlyway = Mockito.mock(Flyway.class); - databaseAnalytics.initialize(mockedFlyway, "com/intuit/wasabi/repository/impl/mysql/migration"); + databaseAnalytics.initialize(transactionFactory, flyway, "com/intuit/wasabi/repository/impl/mysql/migration"); + verify(transactionFactory, atLeastOnce()).getDataSource(); verify(flyway, atLeastOnce()).setLocations("com/intuit/wasabi/repository/impl/mysql/migration"); verify(flyway, atLeastOnce()).setDataSource(dataSource); @@ -70,15 +78,19 @@ public void getRollupRowsTest(){ String rollupDate = "TEST"; Parameters parameters = mock(Parameters.class, RETURNS_DEEP_STUBS); List expected = mock(List.class); + when(parameters.getContext().getContext()).thenReturn("TEST"); when(transaction.select(anyString(), eq(experimentId), eq(true), eq(rollupDate), anyString())) .thenReturn(expected); + List result = databaseAnalytics.getRollupRows(experimentId, rollupDate, parameters); + assertThat(result, is(expected)); //Exception is thrown in this case doThrow(new RuntimeException()) .when(transaction) .select(anyString(), eq(experimentId), eq(true), eq(rollupDate), anyString()); + databaseAnalytics.getRollupRows(experimentId, rollupDate, parameters); fail(); } @@ -87,20 +99,31 @@ public void getRollupRowsTest(){ public void getActionsRowsTest(){ Experiment.ID experimentId = Experiment.ID.newInstance(); Parameters parameters = mock(Parameters.class, RETURNS_DEEP_STUBS); + when(parameters.getContext().getContext()).thenReturn("TEST"); + Date from = mock(Date.class), to = mock(Date.class); + when(parameters.getFromTime()).thenReturn(from); when(parameters.getToTime()).thenReturn(to); + List actions = new ArrayList(); + actions.add("TEST_ACTION"); + when(parameters.getActions()).thenReturn(actions); + List expected = mock(List.class); + when(transaction.select(anyString(), Matchers.anyVararg())).thenReturn(expected); + List result = databaseAnalytics.getActionsRows(experimentId, parameters); + assertThat(result, is(expected)); + //exception while select - doThrow(new RuntimeException()). when(transaction) - .select(anyString(), Matchers.anyVararg()); + doThrow(new RuntimeException()). when(transaction).select(anyString(), Matchers.anyVararg()); + databaseAnalytics.getActionsRows(experimentId, parameters); fail(); } @@ -109,20 +132,31 @@ public void getActionsRowsTest(){ public void getJointActionsTest(){ Experiment.ID experimentId = Experiment.ID.newInstance(); Parameters parameters = mock(Parameters.class, RETURNS_DEEP_STUBS); + when(parameters.getContext().getContext()).thenReturn("TEST"); + Date from = mock(Date.class), to = mock(Date.class); + when(parameters.getFromTime()).thenReturn(from); when(parameters.getToTime()).thenReturn(to); + List actions = new ArrayList(); + actions.add("TEST_ACTION"); + when(parameters.getActions()).thenReturn(actions); + List expected = mock(List.class); + when(transaction.select(anyString(), Matchers.anyVararg())).thenReturn(expected); + List result = databaseAnalytics.getJointActions(experimentId, parameters); + assertThat(result, is(expected)); + //exception while select - doThrow(new RuntimeException()). when(transaction) - .select(anyString(), Matchers.anyVararg()); + doThrow(new RuntimeException()). when(transaction).select(anyString(), Matchers.anyVararg()); + databaseAnalytics.getJointActions(experimentId, parameters); fail(); } @@ -132,17 +166,25 @@ public void getJointActionsTest(){ public void getImpressionRowsTest(){ Experiment.ID experimentId = Experiment.ID.newInstance(); Parameters parameters = mock(Parameters.class, RETURNS_DEEP_STUBS); + when(parameters.getContext().getContext()).thenReturn("TEST"); + Date from = mock(Date.class), to = mock(Date.class); + when(parameters.getFromTime()).thenReturn(from); when(parameters.getToTime()).thenReturn(to); + List expected = mock(List.class); + when(transaction.select(anyString(), Matchers.anyVararg())).thenReturn(expected); + List result = databaseAnalytics.getImpressionRows(experimentId, parameters); + assertThat(result, is(expected)); + //exception while select - doThrow(new RuntimeException()). when(transaction) - .select(anyString(), Matchers.anyVararg()); + doThrow(new RuntimeException()). when(transaction).select(anyString(), Matchers.anyVararg()); + databaseAnalytics.getImpressionRows(experimentId, parameters); fail(); } @@ -152,16 +194,21 @@ public void getEmptyBucketsTest(){ Experiment.ID experimentId = Experiment.ID.newInstance(); List input = new ArrayList(); Map map = new HashMap(); + map.put("label", "TEST_LABEL"); input.add(map); + when(transaction.select(anyString(), Matchers.anyVararg())).thenReturn(input); + Map result = databaseAnalytics.getEmptyBuckets(experimentId); + assertThat(result.size(), is(1)); assertThat(result.get(Bucket.Label.valueOf("TEST_LABEL")).getLabel().toString(), is("TEST_LABEL")); assertThat(result.get(Bucket.Label.valueOf("TEST_LABEL")).getActionCounts().size(), is(0)); + //exception while select - doThrow(new RuntimeException()). when(transaction) - .select(anyString(), Matchers.anyVararg()); + doThrow(new RuntimeException()). when(transaction).select(anyString(), Matchers.anyVararg()); + databaseAnalytics.getEmptyBuckets(experimentId); fail(); } @@ -171,13 +218,17 @@ public void getCountsFromRollupsTest(){ List expected = mock(List.class); Experiment.ID experimentId = Experiment.ID.newInstance(); Parameters parameters = mock(Parameters.class, RETURNS_DEEP_STUBS); + when(parameters.getContext().getContext()).thenReturn("TEST"); when(transaction.select(anyString(), Matchers.anyVararg())).thenReturn(expected); + List result = databaseAnalytics.getCountsFromRollups(experimentId, parameters); + assertThat(result, is(expected)); + //exception while select - doThrow(new RuntimeException()). when(transaction) - .select(anyString(), Matchers.anyVararg()); + doThrow(new RuntimeException()). when(transaction).select(anyString(), Matchers.anyVararg()); + databaseAnalytics.getCountsFromRollups(experimentId, parameters); fail(); } @@ -186,61 +237,84 @@ public void getCountsFromRollupsTest(){ public void checkMostRecentRollupTest(){ Experiment.ID experimentId = Experiment.ID.newInstance(); Experiment experiment = mock(Experiment.class); + when(experiment.getID()).thenReturn(experimentId); + List queryResult = mock(List.class); Parameters parameters = mock(Parameters.class, RETURNS_DEEP_STUBS); + when(parameters.getContext().getContext()).thenReturn("TEST"); + Date to = mock(Date.class); + when(to.getTime()).thenReturn(9999L); when(transaction.select(anyString(), eq(experimentId), eq("TEST"))).thenReturn(queryResult); when(queryResult.isEmpty()).thenReturn(true); + boolean result = databaseAnalytics.checkMostRecentRollup(experiment, parameters, to); + assertThat(result, is(true)); when(queryResult.isEmpty()).thenReturn(false); + Map map = mock(Map.class); Date maxDay = mock(Date.class); + when(queryResult.get(0)).thenReturn(map); when(map.get("day")).thenReturn(maxDay); when(maxDay.getTime()).thenReturn(100000L); + result = databaseAnalytics.checkMostRecentRollup(experiment, parameters, to); + assertThat(result, is(true)); when(maxDay.getTime()).thenReturn(1000L); + result = databaseAnalytics.checkMostRecentRollup(experiment, parameters, to); + assertThat(result, is(false)); - doThrow(new RuntimeException()).when(transaction) - .select(anyString(), eq(experimentId), eq("TEST")); + doThrow(new RuntimeException()).when(transaction).select(anyString(), eq(experimentId), eq("TEST")); + databaseAnalytics.checkMostRecentRollup(experiment, parameters, to); fail(); - } @Test public void testAddActionsToSql(){ Parameters parameters = mock(Parameters.class); + when(parameters.getActions()).thenReturn(null); + StringBuilder stringBuilder = new StringBuilder(); List param = new ArrayList<>(); + databaseAnalytics.addActionsToSql(parameters, stringBuilder, param); + assertThat(stringBuilder.toString(), is("")); assertThat(param.size(), is(0)); + List actions = new ArrayList<>(); + actions.add("a1"); + when(parameters.getActions()).thenReturn(actions); + databaseAnalytics.addActionsToSql(parameters, stringBuilder, param); + assertThat(actions.size(), is(1)); assertThat(param.size(), is(1)); assertThat(stringBuilder.toString(), is(" and action in (?) ")); + stringBuilder.setLength(0); //reset the builder param.clear(); + actions.add("a2"); + databaseAnalytics.addActionsToSql(parameters, stringBuilder, param); + assertThat(actions.size(), is(2)); assertThat(param.size(), is(2)); assertThat(stringBuilder.toString(), is(" and action in (?,?) ")); } - - -} +} \ No newline at end of file diff --git a/modules/swagger-ui/pom.xml b/modules/swagger-ui/pom.xml index a9bd751b2..e2d3a1471 100644 --- a/modules/swagger-ui/pom.xml +++ b/modules/swagger-ui/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml @@ -28,6 +28,10 @@ jar ${project.artifactId} + + true + + diff --git a/modules/ui/app/scripts/services/FeedbackFactory.js b/modules/ui/app/scripts/services/FeedbackFactory.js index 308278a77..2ed68fa69 100644 --- a/modules/ui/app/scripts/services/FeedbackFactory.js +++ b/modules/ui/app/scripts/services/FeedbackFactory.js @@ -10,7 +10,7 @@ angular.module('wasabi.services').factory('FeedbackFactory', ['$resource', 'Conf }, 'getFeedback': { method: 'GET', transformResponse: function (data) { - var parsedData = $.parseJSON(data).feedbackList; + var parsedData = $.parseJSON(data).feedback; return parsedData; }, diff --git a/modules/ui/app/scripts/services/UtilitiesFactory.js b/modules/ui/app/scripts/services/UtilitiesFactory.js index a8293e107..dda385905 100644 --- a/modules/ui/app/scripts/services/UtilitiesFactory.js +++ b/modules/ui/app/scripts/services/UtilitiesFactory.js @@ -582,18 +582,18 @@ angular.module('wasabi.services').factory('UtilitiesFactory', ['Session', '$stat // We need the buckets to be an array so we can sort it. theBuckets.push(experiment.statistics.buckets[bucketLabel]); - } - - experiment.statistics.sortedBuckets = $filter('orderBy')(theBuckets, function(bucket) { // Find the matching bucket in the experiment bucket list, which has the count from // the application statistics call on it, and put the count in the sorted bucket so // it will be available for the list. for (var i = 0; i < experiment.buckets.length; i++) { - if (experiment.buckets[i].label === bucket.label) { - bucket.count = experiment.buckets[i].count; + if (experiment.buckets[i].label === bucketLabel) { + experiment.statistics.buckets[bucketLabel].count = experiment.buckets[i].count; } } + } + + experiment.statistics.sortedBuckets = $filter('orderBy')(theBuckets, function(bucket) { return that.actionRate(bucket.label, experiment.statistics.buckets); }, true); diff --git a/modules/ui/app/styles/wasabi.scss b/modules/ui/app/styles/wasabi.scss index c857ffb99..1906ea81b 100755 --- a/modules/ui/app/styles/wasabi.scss +++ b/modules/ui/app/styles/wasabi.scss @@ -4317,4 +4317,8 @@ form input.ng-dirty.ng-invalid:not(.ng-focused) { .selectedLink { font-weight: bold; +} + +.notAllowed { + cursor: no-drop !important; } \ No newline at end of file diff --git a/modules/ui/app/views/BucketAssignmentModal.html b/modules/ui/app/views/BucketAssignmentModal.html index 52757ec7f..83e7e1469 100644 --- a/modules/ui/app/views/BucketAssignmentModal.html +++ b/modules/ui/app/views/BucketAssignmentModal.html @@ -18,7 +18,7 @@

Edit Buckets

- + {{bucket.label}} @@ -27,12 +27,12 @@

Edit Buckets

% - + Close CLOSED - - Empty + + Empty EMPTY diff --git a/modules/ui/bin/fpm.sh b/modules/ui/bin/fpm.sh index 71863f5ea..cab2aa05b 100755 --- a/modules/ui/bin/fpm.sh +++ b/modules/ui/bin/fpm.sh @@ -51,22 +51,27 @@ id=${name}-${version}-${profile} home=${home:-/usr/local/$id} log=${log:-/var/log/$id} email=`fromPom main ${profile} application.email` +# FIXME: hack +email=foo@bar.com + +echo "packaging service: $id, home: $home, log: $log, email: $email, pwd: `pwd`" common="-s dir --force --debug --architecture noarch --name ${name}-${profile} --version ${version}\ --iteration ${timestamp} --license APLv2.0 --vendor tbd --category application --provides ${name}-${profile}\ --description ${name}-${version}-${profile} --url https://github.com/intuit/wasabi\ - --maintainer ${email}" #--directories ${home}" + --maintainer ${email}" #--directories ${home}" resources="dist/=${home}/content/ui/dist" #deb="-t deb --deb-no-default-config-files" deb="-t deb" rpm="-t rpm --rpm-os linux" scripts="--before-install build/[PKG]/before-install.sh\ - --after-install build/[PKG]/after-install.sh\ - --before-remove build/[PKG]/before-remove.sh\ - --after-remove build/[PKG]/after-remove.sh" + --after-install build/[PKG]/after-install.sh\ + --before-remove build/[PKG]/before-remove.sh\ + --after-remove build/[PKG]/after-remove.sh" for pkg in "deb" "rpm"; do fpm="${!pkg} $common `echo $scripts | sed -e "s/\[PKG\]/${pkg}/g"` $depends $resources" + echo ">>>FPM: $fpm" if [ "${WASABI_OS}" == "${WASABI_OSX}" ] || [ "${WASABI_OS}" == "${WASABI_LINUX}" ]; then docker run -it -v `pwd`:/build --rm liuedy/centos-fpm fpm ${fpm} || exitOnError "failed to build rpm: $module" else diff --git a/modules/user-directory/pom.xml b/modules/user-directory/pom.xml index 13744b80d..05d6046b5 100644 --- a/modules/user-directory/pom.xml +++ b/modules/user-directory/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/modules/util/pom.xml b/modules/util/pom.xml index 4a53067bc..78ffd2fd9 100644 --- a/modules/util/pom.xml +++ b/modules/util/pom.xml @@ -20,7 +20,7 @@ com.intuit.wasabi wasabi - 1.0.20160902232623-SNAPSHOT + 1.0.20161102190559-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml index 62b7893d0..9d2247d00 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,12 @@ com/intuit/wasabi/repository/impl/cassandra/experiments/mutation com/intuit/wasabi/repository/impl/mysql/migration - + http://decorator.example.com - com.intuit.wasabi.assignment.impl.DefaultAssignmentDecorator - + com.intuit.wasabi.assignment.impl.DefaultAssignmentDecorator com.intuit.wasabi.assignment.impl.AssignmentsImpl localhost:8080 @@ -319,14 +310,6 @@ http://www.w3.org/2001/XMLSchema-instance"> 3.2.0 test - - org.jacoco - org.jacoco.agent - ${jacoco.version} - pom - - test - @@ -350,6 +333,29 @@ http://www.w3.org/2001/XMLSchema-instance"> 1.8 + + org.codehaus.mojo + buildnumber-maven-plugin + 1.4 + + + validate + + create + + + + + false + false + 8 + + + + org.sonarsource.scanner.maven + sonar-maven-plugin + 3.1.1 + @@ -363,6 +369,9 @@ http://www.w3.org/2001/XMLSchema-instance"> true true + + ${scmBranch}-${buildNumber} + @@ -380,12 +389,7 @@ http://www.w3.org/2001/XMLSchema-instance"> org.jacoco jacoco-maven-plugin - ${jacoco.version} - - - com/intuit/wasabi/tests/**/*.class - - + 0.7.7.201606060606 prepare-agent @@ -397,17 +401,11 @@ http://www.w3.org/2001/XMLSchema-instance"> org.codehaus.mojo - cobertura-maven-plugin - 2.7 + findbugs-maven-plugin + 3.0.4 - xml - 256m - true - - - com/intuit/wasabi/tests/**/*.class - - + true + false @@ -433,6 +431,8 @@ http://www.w3.org/2001/XMLSchema-instance"> 2.10.3 false + + -Xdoclint:none