usergrid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sfeld...@apache.org
Subject [61/68] [abbrv] incubator-usergrid git commit: Merge branch 'master' into two-dot-o
Date Fri, 17 Apr 2015 22:48:06 GMT
Merge branch 'master' into two-dot-o

Conflicts:
	.gitignore
	portal/Gruntfile.js
	portal/config.js
	portal/js/global/ug-service.js
	stack/build-tools/pom.xml
	stack/config/pom.xml
	stack/core/pom.xml
	stack/java-sdk-old/pom.xml
	stack/launcher/pom.xml
	stack/mongo-emulator/pom.xml
	stack/pom.xml
	stack/rest/pom.xml
	stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
	stack/services/pom.xml
	stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
	stack/services/src/main/java/org/apache/usergrid/security/providers/PingIdentityProvider.java
	stack/test-utils/pom.xml
	stack/tools/pom.xml
	stack/websocket/pom.xml


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/7839871d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/7839871d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/7839871d

Branch: refs/heads/two-dot-o-dev
Commit: 7839871d2f87a3d47812d59d38236a7829204c8b
Parents: d20267b 6d962b7
Author: Dave Johnson <dmjohnson@apigee.com>
Authored: Thu Apr 16 14:01:24 2015 -0400
Committer: Dave Johnson <dmjohnson@apigee.com>
Committed: Thu Apr 16 14:01:24 2015 -0400

----------------------------------------------------------------------
 .gitattributes                                  |    17 +
 .gitignore                                      |     4 +
 .usergridversion                                |     1 +
 CHANGELOG                                       |    31 +
 NOTICE                                          |    17 +-
 docs/.gitignore                                 |     2 +
 docs/Makefile                                   |   177 +
 docs/README                                     |    31 +
 docs/_theme/sphinx_rtd_theme/__init__.py        |    17 +
 docs/_theme/sphinx_rtd_theme/breadcrumbs.html   |    19 +
 docs/_theme/sphinx_rtd_theme/footer.html        |    33 +
 docs/_theme/sphinx_rtd_theme/layout.html        |   162 +
 docs/_theme/sphinx_rtd_theme/layout_old.html    |   205 +
 docs/_theme/sphinx_rtd_theme/search.html        |    50 +
 docs/_theme/sphinx_rtd_theme/searchbox.html     |     7 +
 .../sphinx_rtd_theme/static/css/badge_only.css  |     2 +
 .../sphinx_rtd_theme/static/css/theme.css       |     5 +
 .../static/fonts/FontAwesome.otf                |   Bin 0 -> 62856 bytes
 .../static/fonts/fontawesome-webfont.eot        |   Bin 0 -> 38205 bytes
 .../static/fonts/fontawesome-webfont.svg        |   414 +
 .../static/fonts/fontawesome-webfont.ttf        |   Bin 0 -> 80652 bytes
 .../static/fonts/fontawesome-webfont.woff       |   Bin 0 -> 44432 bytes
 docs/_theme/sphinx_rtd_theme/static/js/theme.js |    47 +
 docs/_theme/sphinx_rtd_theme/theme.conf         |     8 +
 docs/_theme/sphinx_rtd_theme/versions.html      |    37 +
 docs/concepts/activity.md                       |  1121 ++
 docs/concepts/applications.md                   |    78 +
 docs/concepts/assets.md                         |    20 +
 docs/concepts/collections.md                    |    21 +
 docs/concepts/events-and-counters.md            |   268 +
 docs/concepts/groups.md                         |    38 +
 docs/concepts/query-language.md                 |   427 +
 docs/concepts/relationships.md                  |   100 +
 docs/concepts/roles-and-permissions.md          |    18 +
 docs/concepts/users-devices.md                  |   108 +
 docs/conf.py                                    |   273 +
 docs/contribute-code.md                         |    24 +
 docs/deploy-local.md                            |   179 +
 docs/getting-up-and-running-locally.md          |    72 +
 docs/index.md                                   |    12 +
 docs/lib/sphinxcontrib_markdown.py              |    58 +
 docs/make.bat                                   |   242 +
 docs/organizations-admins.md                    |    55 +
 docs/presentations-and-videos.md                |     7 +
 docs/presentations-and-videos/presentations.md  |    21 +
 docs/presentations-and-videos/videos.md         |    11 +
 docs/upgrading.md                               |     3 +
 docs/usage.md                                   |    16 +
 portal/Gruntfile.js                             |    20 +-
 portal/README.md                                |    35 +-
 portal/build.sh                                 |     1 +
 portal/config.js                                |     3 +-
 portal/css/main.css                             |    23 +-
 portal/img/sdk-sprites-large.png                |   Bin 14642 -> 15115 bytes
 portal/img/sdk-sprites.png                      |   Bin 5027 -> 4401 bytes
 portal/index-template.html                      |     1 +
 portal/js/global/help-service.js                |     2 +-
 portal/js/global/ug-service.js                  |     5 +-
 portal/package.json                             |     2 +-
 portal/pom.xml                                  |    98 +
 release/README.txt                              |    43 +
 release/changelog.rb                            |   150 +
 release/pom.xml                                 |    65 -
 release/release-candidate.sh                    |   296 +
 release/release.sh                              |   248 +
 release/sign-release.sh                         |    30 -
 release/src/main/assembly/source.xml            |    57 -
 sdks/android/.gitignore                         |    20 +
 sdks/android/NOTICE                             |    12 +
 sdks/android/README.md                          |    33 +
 sdks/android/README.txt                         |     2 -
 sdks/android/assembly.xml                       |    55 +
 sdks/android/build_release_zip.sh               |    10 +
 sdks/android/pom.xml                            |    76 +-
 .../apache/usergrid/android/client/Client.java  |  1036 --
 .../client/callbacks/ApiResponseCallback.java   |    26 -
 .../client/callbacks/ClientAsyncTask.java       |    54 -
 .../client/callbacks/ClientCallback.java        |    25 -
 .../callbacks/DeviceRegistrationCallback.java   |    25 -
 .../callbacks/GroupsRetrievedCallback.java      |    29 -
 .../client/callbacks/QueryResultsCallback.java  |    25 -
 .../android/client/utils/DeviceUuidFactory.java |   170 -
 .../android/client/utils/ObjectUtils.java       |    36 -
 .../usergrid/android/sdk/CounterIncrement.java  |    72 +
 .../sdk/DefaultURLConnectionFactory.java        |    36 +
 .../apache/usergrid/android/sdk/UGClient.java   |  3179 +++++
 .../android/sdk/URLConnectionFactory.java       |    30 +
 .../sdk/callbacks/ApiResponseCallback.java      |    31 +
 .../android/sdk/callbacks/ClientAsyncTask.java  |    66 +
 .../android/sdk/callbacks/ClientCallback.java   |    31 +
 .../sdk/callbacks/GroupsRetrievedCallback.java  |    35 +
 .../sdk/callbacks/QueryResultsCallback.java     |    33 +
 .../usergrid/android/sdk/entities/Activity.java |  1019 ++
 .../android/sdk/entities/Collection.java        |   338 +
 .../usergrid/android/sdk/entities/Device.java   |   122 +
 .../usergrid/android/sdk/entities/Entity.java   |   552 +
 .../usergrid/android/sdk/entities/Group.java    |   151 +
 .../usergrid/android/sdk/entities/Message.java  |   159 +
 .../usergrid/android/sdk/entities/User.java     |   315 +
 .../android/sdk/exception/ClientException.java  |    43 +
 .../android/sdk/response/AggregateCounter.java  |    58 +
 .../sdk/response/AggregateCounterSet.java       |   117 +
 .../android/sdk/response/ApiResponse.java       |   774 ++
 .../sdk/response/ClientCredentialsInfo.java     |    64 +
 .../android/sdk/response/QueueInfo.java         |    47 +
 .../android/sdk/utils/DeviceUuidFactory.java    |   173 +
 .../usergrid/android/sdk/utils/JsonUtils.java   |   185 +
 .../usergrid/android/sdk/utils/MapUtils.java    |    42 +
 .../usergrid/android/sdk/utils/ObjectUtils.java |    39 +
 .../usergrid/android/sdk/utils/UrlUtils.java    |   127 +
 sdks/dotnet/NOTICE                              |    56 +
 .../NSubstitute.1.6.0.0.nupkg                   |   Bin 619760 -> 0 bytes
 .../NSubstitute.1.6.0.0.nuspec                  |    16 -
 .../packages/NSubstitute.1.6.0.0/README.txt     |     0
 .../NSubstitute.1.6.0.0/acknowledgements.txt    |    14 -
 .../lib/NET35/NSubstitute.XML                   |   432 -
 .../lib/NET35/NSubstitute.dll                   |   Bin 1039360 -> 0 bytes
 .../lib/NET40/NSubstitute.XML                   |   432 -
 .../lib/NET40/NSubstitute.dll                   |   Bin 561152 -> 0 bytes
 .../packages/NUnit.2.6.2/NUnit.2.6.2.nupkg      |   Bin 94702 -> 0 bytes
 .../packages/NUnit.2.6.2/NUnit.2.6.2.nuspec     |    16 -
 sdks/dotnet/packages/NUnit.2.6.2/README.txt     |     3 -
 .../NUnit.2.6.2/lib/nunit.framework.dll         |   Bin 147456 -> 0 bytes
 .../NUnit.2.6.2/lib/nunit.framework.xml         | 10915 -----------------
 .../packages/Newtonsoft.Json.4.5.11/LICENSE.txt |    21 +
 .../Newtonsoft.Json.4.5.11.nupkg                |   Bin 1409718 -> 0 bytes
 .../Newtonsoft.Json.4.5.11.nuspec               |    16 -
 .../packages/Newtonsoft.Json.4.5.11/README.txt  |     3 -
 .../lib/net20/Newtonsoft.Json.dll               |   Bin 406016 -> 0 bytes
 .../lib/net20/Newtonsoft.Json.xml               |  8542 -------------
 .../lib/net35/Newtonsoft.Json.dll               |   Bin 366592 -> 0 bytes
 .../lib/net35/Newtonsoft.Json.xml               |  7678 ------------
 .../lib/net40/Newtonsoft.Json.dll               |   Bin 391680 -> 0 bytes
 .../lib/net40/Newtonsoft.Json.xml               |  7921 ------------
 .../Newtonsoft.Json.dll                         |   Bin 315904 -> 0 bytes
 .../Newtonsoft.Json.xml                         |  7107 -----------
 .../lib/sl3-wp/Newtonsoft.Json.dll              |   Bin 334336 -> 0 bytes
 .../lib/sl3-wp/Newtonsoft.Json.xml              |  7228 -----------
 .../lib/sl4-windowsphone71/Newtonsoft.Json.dll  |   Bin 334336 -> 0 bytes
 .../lib/sl4-windowsphone71/Newtonsoft.Json.xml  |  7228 -----------
 .../lib/sl4/Newtonsoft.Json.dll                 |   Bin 337408 -> 0 bytes
 .../lib/sl4/Newtonsoft.Json.xml                 |  7250 -----------
 .../lib/winrt45/Newtonsoft.Json.dll             |   Bin 367616 -> 0 bytes
 .../lib/winrt45/Newtonsoft.Json.xml             |  7446 -----------
 .../dotnet/packages/RestSharp.104.1/LICENSE.txt |   202 +
 .../RestSharp.104.1/RestSharp.104.1.nupkg       |   Bin 605731 -> 0 bytes
 .../RestSharp.104.1/RestSharp.104.1.nuspec      |    16 -
 .../lib/net35-client/RestSharp.dll              |   Bin 146944 -> 0 bytes
 .../lib/net35-client/RestSharp.xml              |  2627 ----
 .../RestSharp.104.1/lib/net35/RestSharp.dll     |   Bin 146944 -> 0 bytes
 .../RestSharp.104.1/lib/net35/RestSharp.xml     |  2627 ----
 .../lib/net4-client/RestSharp.dll               |   Bin 150016 -> 0 bytes
 .../lib/net4-client/RestSharp.xml               |  2696 ----
 .../RestSharp.104.1/lib/net4/RestSharp.dll      |   Bin 150016 -> 0 bytes
 .../RestSharp.104.1/lib/net4/RestSharp.xml      |  2696 ----
 .../lib/sl4-wp71/RestSharp.WindowsPhone.dll     |   Bin 165376 -> 0 bytes
 .../lib/sl4-wp71/RestSharp.WindowsPhone.xml     |  3510 ------
 .../lib/sl4/RestSharp.Silverlight.dll           |   Bin 124928 -> 0 bytes
 .../lib/sl4/RestSharp.Silverlight.xml           |  2445 ----
 sdks/html5-javascript/lib/modules/Client.js     |    29 +-
 sdks/nodejs/lib/usergrid.js                     |    31 +-
 sdks/php/lib/vendor/Apache/Usergrid/Client.php  |    33 +-
 sdks/php5/apache-usergrid/.gitignore            |    12 +
 .../Examples/attrubites/attributes.php          |   122 +
 .../Examples/collections/books.php              |   130 +
 .../Examples/collections/data.php               |    38 +
 .../Examples/collections/users.php              |   120 +
 sdks/php5/apache-usergrid/Examples/examples.md  |    17 +
 sdks/php5/apache-usergrid/Examples/examples.php |   245 +
 .../Examples/management/management.php          |    91 +
 .../apache-usergrid/Examples/messages/data.php  |    17 +
 .../Examples/messages/messages.php              |    62 +
 .../Examples/notifications/data.php             |    17 +
 .../Examples/notifications/notifications.php    |    86 +
 .../Examples/notifications/notifiers.php        |    79 +
 sdks/php5/apache-usergrid/LICENSE               |   202 +
 sdks/php5/apache-usergrid/README.md             |   219 +
 sdks/php5/apache-usergrid/TODO.md               |     2 +
 sdks/php5/apache-usergrid/composer.json         |    40 +
 sdks/php5/apache-usergrid/composer.lock         |  1225 ++
 sdks/php5/apache-usergrid/phpunit.xml           |    29 +
 .../src/Api/Exception/BadRequestException.php   |    34 +
 .../src/Api/Exception/InvalidIdException.php    |    33 +
 .../src/Api/Exception/NotFoundException.php     |    33 +
 .../src/Api/Exception/ServerErrorException.php  |    33 +
 .../src/Api/Exception/UnauthorizedException.php |    34 +
 .../src/Api/Exception/UsergridException.php     |   152 +
 .../apache-usergrid/src/Api/Filters/Boolean.php |    44 +
 .../apache-usergrid/src/Api/Filters/Date.php    |    44 +
 .../apache-usergrid/src/Api/Filters/Number.php  |    48 +
 .../apache-usergrid/src/Api/GuzzleClient.php    |    64 +
 .../src/Api/Models/Application.php              |    35 +
 .../src/Api/Models/BaseCollection.php           |   116 +
 .../src/Api/Models/Collection.php               |    37 +
 .../apache-usergrid/src/Api/Models/Device.php   |    50 +
 .../apache-usergrid/src/Api/Models/Entity.php   |    36 +
 .../apache-usergrid/src/Api/Models/Event.php    |    35 +
 .../apache-usergrid/src/Api/Models/Group.php    |    54 +
 .../src/Api/Models/GuzzleCommandTrait.php       |    59 +
 .../apache-usergrid/src/Api/Models/Notifier.php |    36 +
 .../src/Api/Models/Organization.php             |    38 +
 .../apache-usergrid/src/Api/Models/Receipt.php  |    36 +
 .../apache-usergrid/src/Api/Models/Role.php     |    54 +
 .../apache-usergrid/src/Api/Models/User.php     |    77 +
 .../apache-usergrid/src/Api/QueryAggregator.php |    61 +
 .../src/Api/ResourceIterator.php                |    69 +
 sdks/php5/apache-usergrid/src/Api/Usergrid.php  |   452 +
 .../Oauth2/GrantType/AuthorizationCode.php      |    77 +
 .../Oauth2/GrantType/ClientCredentials.php      |    73 +
 .../Oauth2/GrantType/GrantTypeInterface.php     |    41 +
 .../GrantType/HWIOAuthBundleRefreshToken.php    |    62 +
 .../Oauth2/GrantType/PasswordCredentials.php    |    75 +
 .../Plugin/Oauth2/GrantType/RefreshToken.php    |    74 +
 .../src/Guzzle/Plugin/Oauth2/Oauth2Plugin.php   |   212 +
 .../Laravel/ApacheUsergridServiceProvider.php   |   159 +
 .../src/Laravel/Facades/Usergrid.php            |    42 +
 .../src/Manifests/1.0.0/Application.php         |   979 ++
 .../src/Manifests/1.0.0/Errors.php              |    53 +
 .../src/Manifests/1.0.0/Management.php          |  1076 ++
 .../src/Manifests/1.0.0/Manifest.php            |    25 +
 .../src/Manifests/1.0.0/Notification.php        |   154 +
 .../src/Manifests/1.0.1/Activities.php          |    24 +
 .../src/Manifests/1.0.1/Application.php         |  1108 ++
 .../src/Manifests/1.0.1/Assets.php              |    24 +
 .../src/Manifests/1.0.1/Custom.php              |   381 +
 .../src/Manifests/1.0.1/Devices.php             |   465 +
 .../src/Manifests/1.0.1/Errors.php              |    50 +
 .../src/Manifests/1.0.1/Events.php              |    24 +
 .../src/Manifests/1.0.1/Groups.php              |   486 +
 .../src/Manifests/1.0.1/Management.php          |  1076 ++
 .../src/Manifests/1.0.1/Manifest.php            |    24 +
 .../src/Manifests/1.0.1/Messages.php            |    19 +
 .../src/Manifests/1.0.1/Notifications.php       |   241 +
 .../src/Manifests/1.0.1/Notifiers.php           |   166 +
 .../src/Manifests/1.0.1/Receipts.php            |    24 +
 .../src/Manifests/1.0.1/Roles.php               |   381 +
 .../src/Manifests/1.0.1/Users.php               |   381 +
 .../Manifests/swagger-json/applications.json    |  1262 ++
 .../src/Manifests/swagger-json/management.json  |  1905 +++
 .../src/Manifests/swagger-json/resources.json   |    15 +
 .../src/Native/ConfigRepository.php             |   102 +
 .../src/Native/Facades/Usergrid.php             |   118 +
 .../src/Native/UsergridBootstrapper.php         |   150 +
 sdks/php5/apache-usergrid/src/config/config.php |    53 +
 .../tests/Api/ApplicationTest.php               |    72 +
 .../apache-usergrid/tests/Api/AttributeTest.php |    59 +
 .../Api/Exception/BadRequestExceptionTest.php   |    59 +
 .../Api/Exception/InvalidIdExceptionTest.php    |    58 +
 .../Api/Exception/NotFoundExceptionTest.php     |    57 +
 .../Api/Exception/ServerErrorExceptionTest.php  |    58 +
 .../Api/Exception/UnauthorizedExceptionTest.php |    58 +
 .../tests/Api/Filters/BooleanTest.php           |    45 +
 .../tests/Api/Filters/DateTest.php              |    41 +
 .../tests/Api/ManagementTest.php                |    59 +
 .../tests/Api/QueryAggregatorTest.php           |    40 +
 .../apache-usergrid/tests/Api/UsergridTest.php  |   153 +
 .../tests/Laravel/Facades/UsergridTest.php      |    53 +
 sdks/php5/apache-usergrid/tests/bootstrap.php   |    61 +
 stack/build-tools/pom.xml                       |     5 +-
 stack/config/pom.xml                            |     1 +
 stack/core/pom.xml                              |     1 +
 .../apache/usergrid/batch/job/package-info.java |    17 -
 .../usergrid/batch/repository/package-info.java |    17 -
 .../usergrid/batch/service/package-info.java    |    17 -
 .../org/apache/usergrid/count/package-info.java |    18 -
 .../java/org/apache/usergrid/utils/BCrypt.java  |   627 -
 .../org/apache/usergrid/utils/package-info.java |    17 -
 .../apache/usergrid/batch/job/package-info.java |    17 -
 .../query/OrderByDiscardPagesPagingIT.java      |   164 +
 .../org/apache/usergrid/utils/package-info.java |    17 -
 stack/java-sdk-old/pom.xml                      |   102 +
 stack/launcher/pom.xml                          |     8 +
 .../java/org/apache/usergrid/launcher/App.java  |     7 +-
 .../launcher/ClasspathStaticHttpHandler.java    |   321 -
 .../org/apache/usergrid/launcher/Server.java    |     5 +-
 .../apache/usergrid/launcher/package-info.java  |    17 -
 stack/mongo-emulator/pom.xml                    |     3 +-
 stack/pom.xml                                   |    10 +-
 stack/rest/pom.xml                              |     1 -
 .../rest/applications/ServiceResource.java      |    13 +-
 .../rest/management/users/UsersResource.java    |    14 +-
 .../applications/assets/AssetResourceIT.java    |   106 +
 stack/services/pom.xml                          |     6 +
 .../management/AccountCreationProps.java        |    11 +
 .../usergrid/management/ManagementService.java  |     2 +
 .../cassandra/AccountCreationPropsImpl.java     |     8 +
 .../cassandra/ManagementServiceImpl.java        |    30 +-
 .../security/crypto/command/BcryptCommand.java  |     4 +-
 .../security/providers/AbstractProvider.java    |     6 +
 .../providers/PingIdentityProvider.java         |    17 +-
 stack/tools/pom.xml                             |     1 +
 .../org/apache/usergrid/tools/ExportAdmins.java |   236 +
 .../org/apache/usergrid/tools/ImportAdmins.java |   451 +
 .../apache/usergrid/tools/ResetSuperUser.java   |    18 +-
 stack/websocket/pom.xml                         |     1 +
 295 files changed, 31865 insertions(+), 91667 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/.gitignore
----------------------------------------------------------------------
diff --cc .gitignore
index b516ec8,1ba4021..2119fa0
--- a/.gitignore
+++ b/.gitignore
@@@ -26,13 -27,9 +26,15 @@@ Ico
  /portal/test/coverage/instrument/js/usergrid-coverage.min.js
  /portal/test/coverage/instrument/js/usergrid.min.js
  /stack/corepersistence/priamcluster/aws.properties
 +# Eclipse IDE files
 +.project
 +.classpath
 +.settings/
 +.metadata/
 +#Webstorm artifacts
+ #Webstorm/IntelliJ artifacts
  .idea/
+ *.iml
  stack/corepersistence/collection/nbactions.xml
  stack/corepersistence/graph/nbactions.xml
  stack/corepersistence/model/nbactions.xml
@@@ -79,6 -62,4 +82,7 @@@ portal/js/templates.j
  /portal/seleniumLog.txt
  /stack/core/src/main/java/org/apache/usergrid/persistence/query/tree/QueryFilterLexer.java
  /stack/core/src/main/java/org/apache/usergrid/persistence/query/tree/QueryFilterParser.java
 -/sdks/html5-javascript/node_modules/
 +!/stack/corepersistence/common/src/test/resources/usergrid-UNIT.properties
 +*.iml
 +sdks/dotnet/samples/notifications/packages/*
++/sdks/html5-javascript/node_modules/

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/portal/Gruntfile.js
----------------------------------------------------------------------
diff --cc portal/Gruntfile.js
index b730b93,5c850a5..b3dfb7c
--- a/portal/Gruntfile.js
+++ b/portal/Gruntfile.js
@@@ -367,10 -367,7 +367,8 @@@ module.exports = function(grunt) 
        install: {
          options: {
            cleanup: false,
-           copy: false,
-           bowerOptions: {
-             forceLatest: true
-           }
++
+           copy: false
          }
        }
      },

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/portal/build.sh
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/portal/config.js
----------------------------------------------------------------------
diff --cc portal/config.js
index 36d68ed,1abd684..b84c62e
--- a/portal/config.js
+++ b/portal/config.js
@@@ -24,90 -25,36 +24,89 @@@ Usergrid.showNotifcations = true
  
  // used only if hostname does not match a real server name
  Usergrid.overrideUrl = 'http://localhost:8080/';
- //Usergrid.overrideUrl = 'https://api.usergrid.com/';
  
  Usergrid.options = {
 -  client:{
 -    requiresDeveloperKey:false
 -   // apiKey:'123456'
 +  client: {
 +    requiresDeveloperKey: false
 +      // apiKey:'123456'
    },
 -  showAutoRefresh:true,
 -  autoUpdateTimer:61, //seconds
 -  menuItems:[
 -    {path:'#!/org-overview', active:true,pic:'&#128362;',title:'Org Administration'},
 -    {path:'#!/app-overview/summary',pic:'&#59214;',title:'App Overview'},
 -    {path:'#!/users',pic:'&#128100;',title:'Users'},
 -    {path:'#!/groups',pic:'&#128101;',title:'Groups'},
 -    {path:'#!/roles',pic:'&#59170;',title:'Roles'},
 -    {path:'#!/data',pic:'&#128248;',title:'Data'},
 -    {path:'#!/activities',pic:'&#59194;',title:'Activities'},
 -    {path:'#!/shell',pic:'&#9000;',title:'Shell'}
 +  showAutoRefresh: true,
 +  autoUpdateTimer: 61, //seconds
 +  menuItems: [{
 +      path: '#!/org-overview',
 +      active: true,
 +      pic: '&#128362;',
 +      title: 'Org Administration'
 +    }, {
 +      path: '#!/app-overview/summary',
 +      pic: '&#59214;',
 +      title: 'App Overview'
 +    }, {
 +      path: '#!/users',
 +      pic: '&#128100;',
 +      title: 'Users'
 +    }, {
 +      path: '#!/groups',
 +      pic: '&#128101;',
 +      title: 'Groups'
 +    }, {
 +      path: '#!/roles',
 +      pic: '&#59170;',
 +      title: 'Roles'
 +    }, {
 +      path: '#!/data',
 +      pic: '&#128248;',
 +      title: 'Data'
 +    }, {
 +      path: '#!/activities',
 +      pic: '&#59194;',
 +      title: 'Activities'
 +    }, {
 +      path: '#!/push/getStarted',
 +      pic: '&#59200;',
 +      title: 'Push',
 +      items: [{
 +        path: '#!/push/getStarted',
 +        pic: '&#59176;',
 +        title: 'Get Started'
 +      }, {
 +        path: '#!/push/configuration',
 +        pic: '&#9874;',
 +        title: 'Configure'
 +      }, {
 +        path: '#!/push/history',
 +        pic: '&#9991;',
 +        title: 'History'
 +      }, {
 +        path: '#!/push/sendNotification',
 +        pic: '&#59200;',
 +        title: 'Send'
 +      }]
 +    },
 +
 +
 +    {
 +      path: '#!/shell',
 +      pic: '&#9000;',
 +      title: 'Shell'
 +    }
    ]
  };
  
  Usergrid.regex = {
    appNameRegex: new RegExp("^[0-9a-zA-Z.-]{3,25}$"),
    usernameRegex: new RegExp("^[0-9a-zA-Z@\.\_-]{4,25}$"),
 -  nameRegex: new RegExp("^([0-9a-zA-Z@#$%^&!?;:.,'\"~*-:+_\[\\](){}/\\ |]{3,60})+$"),
 +  nameRegex: new RegExp(
 +    "^([0-9a-zA-Z@#$%^&!?;:.,'\"~*-:+_\[\\](){}/\\ |]{3,60})+$"),
    roleNameRegex: new RegExp("^([0-9a-zA-Z./-]{3,25})+$"),
 -  emailRegex: new RegExp("^(([0-9a-zA-Z]+[_\+.-]?)+@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$"),
 +  emailRegex: new RegExp(
 +    "^(([0-9a-zA-Z]+[_\+.-]?)+@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$"
 +  ),
    passwordRegex: /(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,
-   pathRegex: new RegExp("^/[a-zA-Z0-9\.\*_~-]+(\/[a-zA-Z0-9\.\*_~-]+)*$"),
+   pathRegex: new RegExp("^/[a-zA-Z0-9\.\*_\$\{\}~-]+(\/[a-zA-Z0-9\.\*_\$\{\}~-]+)*$"),
    titleRegex: new RegExp("[a-zA-Z0-9.!-?]+[\/]?"),
 -  urlRegex: new RegExp("^(http?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$"),
 +  urlRegex: new RegExp(
 +    "^(http?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$"),
    zipRegex: new RegExp("^[0-9]{5}(?:-[0-9]{4})?$"),
    countryRegex: new RegExp("^[A-Za-z ]{3,100}$"),
    stateRegex: new RegExp("^[A-Za-z ]{2,100}$"),

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/portal/js/global/ug-service.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/portal/package.json
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/build-tools/pom.xml
----------------------------------------------------------------------
diff --cc stack/build-tools/pom.xml
index fdd152b,07bfc76..e421fe7
--- a/stack/build-tools/pom.xml
+++ b/stack/build-tools/pom.xml
@@@ -22,19 -22,20 +22,20 @@@
    <parent>
      <groupId>org.apache.usergrid</groupId>
      <artifactId>usergrid</artifactId>
 -    <version>1.0.1-SNAPSHOT</version>
 +    <version>2.0.0-SNAPSHOT</version>
+     <relativePath>../</relativePath>
    </parent>
  
    <artifactId>build-tools</artifactId>
    <name>Usergrid Build Tools</name>
    <description>Holds key configuration files for build plugins</description>
  
--  <!-- NOTES: 
++  <!-- NOTES:
          o the parent pom's checkstyle plugin configuration loads this project
            using the classpath to resolve the configLocation and headerLocation
            values
          o do not override the checkstyle plugin configuration in any sub-modules
--        o to adjust checkstyle settings or suppress reporting please us the 
++        o to adjust checkstyle settings or suppress reporting please us the
            files contained under src/main/resources/usergrid
    -->
  </project>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/config/pom.xml
----------------------------------------------------------------------
diff --cc stack/config/pom.xml
index 249b91b,7c7105f..f5b9425
--- a/stack/config/pom.xml
+++ b/stack/config/pom.xml
@@@ -21,7 -21,8 +21,8 @@@
    <parent>
      <groupId>org.apache.usergrid</groupId>
      <artifactId>usergrid</artifactId>
 -    <version>1.0.1-SNAPSHOT</version>
 +    <version>2.0.0-SNAPSHOT</version>
+     <relativePath>../</relativePath>
    </parent>
  
    <artifactId>usergrid-config</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/core/pom.xml
----------------------------------------------------------------------
diff --cc stack/core/pom.xml
index 3a40366,d3e3e4e..d91208d
--- a/stack/core/pom.xml
+++ b/stack/core/pom.xml
@@@ -21,9 -21,16 +21,10 @@@
    <parent>
      <groupId>org.apache.usergrid</groupId>
      <artifactId>usergrid</artifactId>
 -    <version>1.0.1-SNAPSHOT</version>
 +    <version>2.0.0-SNAPSHOT</version>
+     <relativePath>../</relativePath>
    </parent>
  
 -  <properties>
 -    <!-- Up to 30x parallelism can be used -->
 -    <core.it.forkCount>2</core.it.forkCount>
 -    <core.it.suite.concurrency>5</core.it.suite.concurrency>
 -  </properties>
 -
    <artifactId>usergrid-core</artifactId>
    <name>Usergrid Core</name>
    <description>Core services for Usergrid system.</description>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/core/src/test/java/org/apache/usergrid/persistence/query/OrderByDiscardPagesPagingIT.java
----------------------------------------------------------------------
diff --cc stack/core/src/test/java/org/apache/usergrid/persistence/query/OrderByDiscardPagesPagingIT.java
index 0000000,b36927d..2cee402
mode 000000,100644..100644
--- a/stack/core/src/test/java/org/apache/usergrid/persistence/query/OrderByDiscardPagesPagingIT.java
+++ b/stack/core/src/test/java/org/apache/usergrid/persistence/query/OrderByDiscardPagesPagingIT.java
@@@ -1,0 -1,164 +1,164 @@@
+ /*
+  * Licensed to the Apache Software Foundation (ASF) under one or more
+  * contributor license agreements.  See the NOTICE file distributed with
+  * this work for additional information regarding copyright ownership.
+  * The ASF licenses this file to You 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 org.apache.usergrid.persistence.query;
+ 
+ 
+ import java.util.Collections;
+ import java.util.HashMap;
+ import java.util.HashSet;
+ import java.util.List;
+ import java.util.Map;
+ import java.util.Set;
+ import java.util.UUID;
+ 
++import org.apache.usergrid.persistence.index.query.Query;
+ import org.junit.Test;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ import org.apache.usergrid.persistence.Entity;
 -import org.apache.usergrid.persistence.Query;
+ import org.apache.usergrid.persistence.Results;
+ import org.apache.usergrid.persistence.cassandra.QueryProcessor;
+ 
+ import static org.junit.Assert.assertEquals;
+ import static org.junit.Assert.assertTrue;
+ 
+ 
+ /**
+  *
+  */
 -public class OrderByDiscardPagesPagingIT extends AbstractIteratingQueryIT {
++public class OrderByDiscardPagesPagingIT extends IteratingQueryIT {
+ 
+     private static final Logger LOG = LoggerFactory.getLogger( OrderByDiscardPagesPagingIT.class );
+ 
+     private static final String search = "select * where  field1 = true AND field2 = true order by ordinal";
+ 
+     private static final int PAGE_SIZE = 300;
+ 
+ 
+     @Test
+     public void testUnionPagingCollection() throws Exception {
+ 
+ 
+         final CollectionIoHelper collectionIoHelper = new CollectionIoHelper( app );
+ 
+         Set<UUID> created = performSetup( collectionIoHelper );
+ 
+ 
+         testUnionPaging( collectionIoHelper, search, created );
+     }
+ 
+ 
+     @Test
+     public void testUnionPagingConnection() throws Exception {
+ 
+         final ConnectionHelper connectionHelper = new ConnectionHelper( app );
+ 
+         Set<UUID> created = performSetup( connectionHelper );
+ 
+ 
+         testUnionPaging( connectionHelper, search, created );
+     }
+ 
+ 
+     private Set<UUID> performSetup( final IoHelper io ) throws Exception {
+         io.doSetup();
+ 
+         int size = ( int ) ( QueryProcessor.PAGE_SIZE * 2.5 );
+ 
+         long start = System.currentTimeMillis();
+ 
+         LOG.info( "Writing {} entities.", size );
+ 
+         Set<UUID> entites = new HashSet<UUID>( size );
+ 
+         for ( int i = 0; i < size; i++ ) {
+ 
+             Map<String, Object> entity = new HashMap<String, Object>();
+ 
+             entity.put( "ordinal", i );
+ 
+             int segment = i / PAGE_SIZE;
+ 
+             boolean shouldBeReturned = segment % 2 != 0;
+ 
+             if ( shouldBeReturned ) {
+ 
+                 entity.put( "field1", true );
+                 entity.put( "field2", true );
+             }
+             else {
+                 entity.put( "field1", false );
+                 entity.put( "field2", false );
+             }
+ 
+ 
+             Entity saved = io.writeEntity( entity );
+ 
+             LOG.info( "Writing entity with id '{}'", saved.getUuid() );
+ 
+             if ( shouldBeReturned ) {
+                 entites.add( saved.getUuid() );
+             }
+         }
+ 
+         long stop = System.currentTimeMillis();
+ 
+         LOG.info( "Writes took {} ms", stop - start );
+ 
+         return entites ;
+     }
+ 
+ 
+     private void testUnionPaging( final IoHelper io, final String queryString, final Set<UUID> expectedResults )
+             throws Exception {
+ 
+         //our field1Or has a result size < our page size, so it shouldn't blow up when the cursor is getting created
+         //the leaf iterator should insert it's own "no value left" into the cursor
+         Query query = Query.fromQL( queryString );
+         query.setLimit( PAGE_SIZE );
+ 
+         Results results;
+ 
+         long start = System.currentTimeMillis();
+ 
+         do {
+ 
+             // now do simple ordering, should be returned in order
+             results = io.getResults( query );
+ 
+             final List<Entity> entities = results.getEntities();
+ 
+             for ( int i = 0; i < entities.size(); i++ ) {
+                 final UUID uuid = entities.get( i ).getUuid();
+ 
+                 assertTrue( "Value should not be returned twice", expectedResults.contains( uuid ) );
+ 
+                 expectedResults.remove( uuid );
+             }
+ 
+             query.setCursor( results.getCursor() );
+         }
+         while ( results.getCursor() != null );
+ 
+         long stop = System.currentTimeMillis();
+ 
+         LOG.info( "Query took {} ms to return {} entities", stop - start, expectedResults.size() );
+ 
+         assertEquals( "All entities returned", 0, expectedResults.size() );
+     }
+ }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/launcher/pom.xml
----------------------------------------------------------------------
diff --cc stack/launcher/pom.xml
index abf7fb8,b3b3949..d34ced2
--- a/stack/launcher/pom.xml
+++ b/stack/launcher/pom.xml
@@@ -21,7 -21,8 +21,8 @@@
    <parent>
      <groupId>org.apache.usergrid</groupId>
      <artifactId>usergrid</artifactId>
 -    <version>1.0.1-SNAPSHOT</version>
 +    <version>2.0.0-SNAPSHOT</version>
+     <relativePath>../</relativePath>
    </parent>
  
    <artifactId>usergrid-launcher</artifactId>
@@@ -255,11 -263,10 +256,18 @@@
        <groupId>com.apple</groupId>
        <artifactId>AppleJavaExtensions</artifactId>
      </dependency>
+ 
      <dependency>
 +      <groupId>com.fasterxml.jackson.core</groupId>
 +      <artifactId>jackson-databind</artifactId>
 +      <version>2.3.1</version>
 +      <type>jar</type>
 +    </dependency>
++
++    <dependency>
+       <groupId>org.mindrot</groupId>
+       <artifactId>jbcrypt</artifactId>
+     </dependency>
++
    </dependencies>
  </project>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/launcher/src/main/java/org/apache/usergrid/launcher/App.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/mongo-emulator/pom.xml
----------------------------------------------------------------------
diff --cc stack/mongo-emulator/pom.xml
index 0047d52,7f03b61..6d4e9ac
--- a/stack/mongo-emulator/pom.xml
+++ b/stack/mongo-emulator/pom.xml
@@@ -21,7 -21,8 +21,8 @@@
    <parent>
      <groupId>org.apache.usergrid</groupId>
      <artifactId>usergrid</artifactId>
 -    <version>1.0.1-SNAPSHOT</version>
 +    <version>2.0.0-SNAPSHOT</version>
+     <relativePath>../</relativePath>
    </parent>
  
    <artifactId>usergrid-mongo-emulator</artifactId>
@@@ -59,7 -60,20 +60,7 @@@
          </includes>
        </testResource>
      </testResources>
-       
+ 
 -    <plugins>
 -      <plugin>
 -        <groupId>org.apache.maven.plugins</groupId>
 -        <artifactId>maven-surefire-plugin</artifactId>
 -        <configuration>
 -          <systemPropertyVariables>
 -            <storage-config>${basedir}/src/test/conf</storage-config>
 -          </systemPropertyVariables>
 -          <forkMode>always</forkMode>
 -          <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
 -        </configuration>
 -      </plugin>
 -    </plugins>
    </build>
  
    <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/rest/pom.xml
----------------------------------------------------------------------
diff --cc stack/rest/pom.xml
index deb11f8,943e868..fb33ab1
--- a/stack/rest/pom.xml
+++ b/stack/rest/pom.xml
@@@ -17,392 -17,578 +17,391 @@@
  -->
  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 -  <modelVersion>4.0.0</modelVersion>
 -  <parent>
 -    <groupId>org.apache.usergrid</groupId>
 -    <artifactId>usergrid</artifactId>
 -    <version>1.0.1-SNAPSHOT</version>
 -    <relativePath>../</relativePath>
 -  </parent>
 -
 -  <artifactId>usergrid-rest</artifactId>
 -  <packaging>war</packaging>
 -  <name>Usergrid REST</name>
 -  <description>REST web services for Usergrid system.</description>
 -
 -  <!-- Override these properties in an active profile within your settings.xml -->
 -  <properties>
 -    <!-- If you got the resources, max parallelism = 6 forks -->
 -    <rest.it.forkCount>3</rest.it.forkCount>
 -  </properties>
 -
 -  <profiles>
 -    <profile>
 -      <id>unit</id>
 -      <activation>
 -        <property>
 -          <name>unit</name>
 -          <value>true</value>
 -        </property>
 -      </activation>
 -      <build>
 -        <plugins>
 -          <plugin>
 -            <groupId>org.apache.maven.plugins</groupId>
 -            <artifactId>maven-surefire-plugin</artifactId>
 -            <configuration>
 -              <systemPropertyVariables>
 -                <storage-config>${basedir}/src/test/conf</storage-config>
 -                <target.directory>${project.build.directory}</target.directory>
 -              </systemPropertyVariables>
 -              <forkMode>once</forkMode>
 -              <!-- TODO: make this into a small configuration but based on settings.xml -->
 -              <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
 -
 -              <includes>
 -                <include>**/RestTestSuite.java</include>
 -                <include>**/*Test.java</include>
 -              </includes>
 -              <excludes>
 -                <exclude>**/*IT.java</exclude>
 -                <exclude>**/*ITSuite.java</exclude>
 -                <!-- TODO - add these suites too -->
 -                <!-- <exclude>**/*Test.java</exclude> -->
 -                <exclude>**/ConcurrentRest*Suite.java</exclude>
 -              </excludes>
 -            </configuration>
 -          </plugin>
 -        </plugins>
 -      </build>
 -    </profile>
 -
 -    <profile>
 -      <id>default</id>
 -      <activation>
 -        <activeByDefault>true</activeByDefault>
 -      </activation>
 -      <build>
 -        <plugins>
 -          <plugin>
 -            <groupId>org.apache.maven.plugins</groupId>
 -            <artifactId>maven-surefire-plugin</artifactId>
 -            <configuration>
 -              <systemPropertyVariables>
 -                <storage-config>${basedir}/src/test/conf</storage-config>
 -                <target.directory>${project.build.directory}</target.directory>
 -              </systemPropertyVariables>
 -
 -              <parallel>classes</parallel>
 -              <forkCount>${rest.it.forkCount}</forkCount>
 -              <reuseForks>false</reuseForks>
 -              <perCoreThreadCount>false</perCoreThreadCount>
 -              <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}
 -              </argLine>
 -
 -              <includes>
 -                <include>**/RestTestSuite.java</include>
 -                <include>**/RestITSuite.java</include>
 -                <include>**/*IT.java</include>
 -                <include>**/*Test.java</include>
 -              </includes>
 -              <excludes>
 -                <exclude>**/*Concurrent*Suite.java</exclude>
 -                <exclude>**/ActivityResourceIT.java</exclude>
 -                <exclude>**/AdminEmailEncodingIT.java</exclude>
 -                <exclude>**/ApplicationRequestCounterIT.java</exclude>
 -                <exclude>**/AssetResourceIT.java</exclude>
 -                <exclude>**/BasicIT.java</exclude>
 -                <exclude>**/CollectionsResourceIT.java</exclude>
 -                <exclude>**/ContentTypeResourceIT.java</exclude>
 -                <exclude>**/DevicesResourceIT.java</exclude>
 -                <exclude>**/EventsResourceIT.java</exclude>
 -                <exclude>**/GroupResourceIT.java</exclude>
 -                <exclude>**/OrganizationResourceIT.java</exclude>
 -                <exclude>**/OrganizationsResourceIT.java</exclude>
 -                <exclude>**/OwnershipResourceIT.java</exclude>
 -                <exclude>**/PagingResourceIT.java</exclude>
 -                <exclude>**/PermissionsResourceIT.java</exclude>
 -                <exclude>**/UserResourceIT.java</exclude>
 -                <exclude>**/UsersOrganizationsResourceIT.java</exclude>
 -              </excludes>
 -            </configuration>
 -          </plugin>
 -        </plugins>
 -      </build>
 -    </profile>
 -
 -    <profile>
 -      <id>scott</id>
 -      <activation>
 -        <property>
 -          <name>unit-concurrent</name>
 -          <value>true</value>
 -        </property>
 -      </activation>
 -      <build>
 -        <plugins>
 -          <plugin>
 -            <groupId>org.apache.maven.plugins</groupId>
 -            <artifactId>maven-surefire-plugin</artifactId>
 -            <configuration>
 -              <systemPropertyVariables>
 -                <storage-config>${basedir}/src/test/conf</storage-config>
 -                <target.directory>${project.build.directory}</target.directory>
 -              </systemPropertyVariables>
 -
 -              <parallel>classes</parallel>
 -              <forkCount>${rest.it.forkCount}</forkCount>
 -              <reuseForks>false</reuseForks>
 -              <perCoreThreadCount>false</perCoreThreadCount>
 -              <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}
 -              </argLine>
 -
 -              <includes>
 -                <include>**/RestTestSuite.java</include>
 -                <include>**/RestITSuite.java</include>
 -                <include>**/ManagementResourceIT.java</include>
 -                <include>**/ApplicationResourceIT.java</include>
 -              </includes>
 -              <excludes>
 -                <exclude>**/*Test.java</exclude>
 -                <exclude>**/*Concurrent*Suite.java</exclude>
 -              </excludes>
 -            </configuration>
 -          </plugin>
 -        </plugins>
 -      </build>
 -    </profile>
 -
 -    <profile>
 -      <id>unit-concurrent</id>
 -      <activation>
 -        <property>
 -          <name>unit-concurrent</name>
 -          <value>true</value>
 -        </property>
 -      </activation>
 -      <build>
 -        <plugins>
 -          <plugin>
 -            <groupId>org.apache.maven.plugins</groupId>
 -            <artifactId>maven-surefire-plugin</artifactId>
 -            <configuration>
 -              <systemPropertyVariables>
 -                <storage-config>${basedir}/src/test/conf</storage-config>
 -                <target.directory>${project.build.directory}</target.directory>
 -              </systemPropertyVariables>
 -              <forkMode>once</forkMode>
 -              <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
 -
 -              <includes>
 -                <include>**/ConcurrentRestTestSuite.java</include>
 -              </includes>
 -              <excludes>
 -                <exclude>**/*IT.java</exclude>
 -                <exclude>**/*Test.java</exclude>
 -                <exclude>**/RestITSuite.java</exclude>
 -                <exclude>**/RestTestSuite.java</exclude>
 -                <exclude>**/ConcurrentRestITSuite.java</exclude>
 -              </excludes>
 -            </configuration>
 -          </plugin>
 -        </plugins>
 -      </build>
 -    </profile>
 -
 -    <profile>
 -      <id>integ-concurrent</id>
 -      <activation>
 -        <property>
 -          <name>integ-concurrent</name>
 -          <value>true</value>
 -        </property>
 -      </activation>
 -      <build>
 +    <modelVersion>4.0.0</modelVersion>
 +    <parent>
 +        <groupId>org.apache.usergrid</groupId>
 +        <artifactId>usergrid</artifactId>
 +        <version>2.0.0-SNAPSHOT</version>
 +    </parent>
 +
 +    <artifactId>usergrid-rest</artifactId>
 +    <packaging>war</packaging>
 +    <name>Usergrid REST</name>
 +    <description>REST web services for Usergrid system.</description>
 +
 +    <!-- Override these properties in an active profile within your settings.xml -->
 +    <properties>
 +        <usergrid.rest.threads>8</usergrid.rest.threads>
 +        <catalina.host>localhost</catalina.host>
 +        <catalina.jmx.port>8089</catalina.jmx.port>
 +    </properties>
 +
 +    <!-- profile that arquillian uses when it builds/starts tomcat -->
 +    <profiles>
 +
 +        <!--<profile>-->
 +            <!--<id>arquillian-tomcat</id>-->
 +            <!--<activation>-->
 +                <!--<activeByDefault>true</activeByDefault>-->
 +            <!--</activation>-->
 +            <!--<dependencies>-->
 +                <!--<dependency>-->
 +                    <!--<groupId>org.jboss.arquillian.container</groupId>-->
 +                    <!--<artifactId>arquillian-tomcat-remote-7</artifactId>-->
 +                    <!--<version>1.0.0.CR7</version>-->
 +                    <!--<scope>test</scope>-->
 +                <!--</dependency>-->
 +                <!--<dependency>-->
 +                    <!--<groupId>org.eu.ingwar.tools</groupId>-->
 +                    <!--<artifactId>arquillian-suite-extension</artifactId>-->
 +                    <!--<version>1.1.1</version>-->
 +                    <!--<scope>test</scope>-->
 +                <!--</dependency>-->
 +            <!--</dependencies>-->
 +        <!--</profile>-->
 +
 +    </profiles>
 +
 +    <build>
 +        <finalName>ROOT</finalName>
 +
 +        <resources>
 +            <resource>
 +                <directory>src/main/resources</directory>
 +                <filtering>true</filtering>
 +                <includes>
 +                    <include>**/*.xml</include>
 +                    <include>**/*.json</include>
 +                </includes>
 +            </resource>
 +        </resources>
 +
 +        <testResources>
 +            <testResource>
 +                <directory>src/test/resources</directory>
 +                <filtering>true</filtering>
 +                <includes>
 +                    <include>**/*</include>
 +                </includes>
 +            </testResource>
 +        </testResources>
 +
- 
          <plugins>
 -          <plugin>
 -            <groupId>org.apache.maven.plugins</groupId>
 -            <artifactId>maven-surefire-plugin</artifactId>
 -            <configuration>
 -              <systemPropertyVariables>
 -                <storage-config>${basedir}/src/test/conf</storage-config>
 -                <target.directory>${project.build.directory}</target.directory>
 -              </systemPropertyVariables>
 -              <forkMode>once</forkMode>
 -              <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
 -
 -              <includes>
 -                <include>**/ConcurrentRestITSuite.java</include>
 -                <include>**/LongRunningNotInSuiteIT.java</include>
 -                <!-- an example -->
 -              </includes>
 -              <excludes>
 -                <exclude>**/*IT.java</exclude>
 -                <exclude>**/*Test.java</exclude>
 -                <exclude>**/RestITSuite.java</exclude>
 -                <exclude>**/RestTestSuite.java</exclude>
 -              </excludes>
 -            </configuration>
 -          </plugin>
 +
 +            <plugin>
 +                <groupId>org.apache.maven.plugins</groupId>
 +                <artifactId>maven-surefire-plugin</artifactId>
 +                <version>${surefire.plugin.version}</version>
 +                <configuration>
 +                    <!--<skipTests>true</skipTests>-->
 +                    <systemPropertyVariables>
 +                        <storage-config>${basedir}/src/test/conf</storage-config>
 +                        <target.directory>${project.build.directory}</target.directory>
 +                    </systemPropertyVariables>
 +                    <parallel>methods</parallel>
 +                    <forkCount>1</forkCount>
 +                    <threadCount>${usergrid.rest.threads}</threadCount>
 +                    <reuseForks>true</reuseForks>
 +                    <argLine>-Dwebapp.directory=${basedir}/src/main/webapp -Dtest.barrier.timestamp=${maven.build.timestamp} -Dtest.clean.storage=true -Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}
 +                    </argLine>
 +                    <includes>
 +                        <include>**/*IT.java</include>
 +                        <include>**/*Test.java</include>
 +                   </includes>
 +
 +                </configuration>
 +
 +                <dependencies>
 +                    <dependency>
 +                        <groupId>org.apache.maven.surefire</groupId>
 +                        <artifactId>${surefire.plugin.artifactName}</artifactId>
 +                        <version>${surefire.plugin.version}</version>
 +                    </dependency>
 +                </dependencies>
 +            </plugin>
 +
 +
 +            <plugin>
 +                <groupId>org.apache.maven.plugins</groupId>
 +                <artifactId>maven-war-plugin</artifactId>
 +                <version>2.6</version>
 +            </plugin>
 +
 +            <plugin>
 +                <groupId>org.jasig.mojo.jspc</groupId>
 +                <artifactId>jspc-maven-plugin</artifactId>
 +                <version>2.0.0</version>
 +                <configuration>
 +                    <includeInProject>false</includeInProject>
 +                    <webFragmentFile>${project.build.directory}/web-fragment.xml.txt</webFragmentFile>
 +                </configuration>
 +                <executions>
 +                    <execution>
 +                        <id>jspc</id>
 +                        <goals>
 +                            <goal>compile</goal>
 +                        </goals>
 +                    </execution>
 +                </executions>
 +                <dependencies>
 +                    <dependency>
 +                        <groupId>org.jasig.mojo.jspc</groupId>
 +                        <artifactId>jspc-compiler-tomcat6</artifactId>
 +                        <version>2.0.0</version>
 +                    </dependency>
 +                </dependencies>
 +            </plugin>
 +
 +            <plugin>
 +                <groupId>org.apache.maven.plugins</groupId>
 +                <artifactId>maven-jar-plugin</artifactId>
 +                <configuration>
 +                    <finalName>${project.artifactId}-${project.version}</finalName>
 +                </configuration>
 +                <executions>
 +                    <execution>
 +                        <id>make-a-jar</id>
 +                        <phase>package</phase>
 +                        <goals>
 +                            <goal>jar</goal>
 +                        </goals>
 +                        <configuration>
 +                            <classifier>classes</classifier>
 +                        </configuration>
 +                    </execution>
 +                    <execution>
 +                        <id>jsp-jar-execution</id>
 +                        <phase>package</phase>
 +                        <goals>
 +                            <goal>jar</goal>
 +                        </goals>
 +                        <configuration>
 +                            <classifier>compiled-jsp</classifier>
 +                            <classesDirectory>${project.build.directory}/jsp-source</classesDirectory>
 +                        </configuration>
 +                    </execution>
 +                    <execution>
 +                        <goals>
 +                            <goal>test-jar</goal>
 +                        </goals>
 +                    </execution>
 +                </executions>
 +            </plugin>
          </plugins>
 -      </build>
 -    </profile>
 -  </profiles>
 -
 -  <build>
 -    <finalName>ROOT</finalName>
 -
 -    <resources>
 -      <resource>
 -        <directory>src/main/resources</directory>
 -        <filtering>true</filtering>
 -        <includes>
 -          <include>**/*.xml</include>
 -          <include>**/*.json</include>
 -        </includes>
 -      </resource>
 -    </resources>
 -
 -    <testResources>
 -      <testResource>
 -        <directory>src/test/resources</directory>
 -        <filtering>true</filtering>
 -        <includes>
 -          <include>**/*</include>
 -        </includes>
 -      </testResource>
 -    </testResources>
 -
 -    <plugins>
 -      <plugin>
 -        <groupId>org.apache.maven.plugins</groupId>
 -        <artifactId>maven-surefire-plugin</artifactId>
 -        <configuration>
 -          <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
 -        </configuration>
 -      </plugin>
 -
 -      <plugin>
 -        <groupId>org.apache.maven.plugins</groupId>
 -        <artifactId>maven-war-plugin</artifactId>
 -        <version>2.3</version>
 -      </plugin>
 -
 -      <plugin>
 -        <groupId>org.jasig.mojo.jspc</groupId>
 -        <artifactId>jspc-maven-plugin</artifactId>
 -        <version>2.0.0</version>
 -        <configuration>
 -          <includeInProject>false</includeInProject>
 -          <webFragmentFile>${project.build.directory}/web-fragment.xml.txt</webFragmentFile>
 -        </configuration>
 -        <executions>
 -          <execution>
 -            <id>jspc</id>
 -            <goals>
 -              <goal>compile</goal>
 -            </goals>
 -          </execution>
 -        </executions>
 -        <dependencies>
 -          <dependency>
 -            <groupId>org.jasig.mojo.jspc</groupId>
 -            <artifactId>jspc-compiler-tomcat6</artifactId>
 -            <version>2.0.0</version>
 -          </dependency>
 -        </dependencies>
 -      </plugin>
 -
 -      <plugin>
 -        <groupId>org.apache.maven.plugins</groupId>
 -        <artifactId>maven-jar-plugin</artifactId>
 -        <version>2.3.2</version>
 -        <configuration>
 -          <finalName>${project.artifactId}-${project.version}</finalName>
 -        </configuration>
 -        <executions>
 -          <execution>
 -            <id>make-a-jar</id>
 -            <phase>package</phase>
 -            <goals>
 -              <goal>jar</goal>
 -            </goals>
 -            <configuration>
 -              <classifier>classes</classifier>
 -            </configuration>
 -          </execution>
 -          <execution>
 -            <id>jsp-jar-execution</id>
 -            <phase>package</phase>
 -            <goals>
 -              <goal>jar</goal>
 -            </goals>
 -            <configuration>
 -              <classifier>compiled-jsp</classifier>
 -              <classesDirectory>${project.build.directory}/jsp-source</classesDirectory>
 -            </configuration>
 -          </execution>
 -          <execution>
 -            <goals>
 -              <goal>test-jar</goal>
 -            </goals>
 -          </execution>
 -        </executions>
 -      </plugin>
 -
 -      <plugin>
 -        <groupId>org.apache.maven.plugins</groupId>
 -        <artifactId>maven-install-plugin</artifactId>
 -        <version>2.5.1</version>
 -      </plugin>
 -    </plugins>
 -  </build>
 -
 -  <dependencies>
 -
 -    <!-- Usergrid Dependencies -->
 -
 -    <dependency>
 -      <groupId>org.apache.usergrid</groupId>
 -      <artifactId>usergrid-config</artifactId>
 -      <version>${project.version}</version>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.apache.usergrid</groupId>
 -      <artifactId>usergrid-core</artifactId>
 -      <version>${project.version}</version>
 -      <exclusions>
 -        <exclusion>
 -          <artifactId>commons-logging</artifactId>
 -          <groupId>commons-logging</groupId>
 -        </exclusion>
 -      </exclusions>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.apache.usergrid</groupId>
 -      <artifactId>usergrid-mongo-emulator</artifactId>
 -      <version>${project.version}</version>
 -    </dependency>
 -
 -    <!-- Apache Dependencies -->
 -
 -    <dependency>
 -      <groupId>commons-collections</groupId>
 -      <artifactId>commons-collections</artifactId>
 -    </dependency>
 -
 -    <!-- SUN, Javax Package, and Other Com Dependencies -->
 -
 -
 -    <dependency>
 -        <groupId>javax.servlet</groupId>
 -        <artifactId>javax.servlet-api</artifactId>
 -        <scope>provided</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>javax.servlet</groupId>
 -      <artifactId>jstl</artifactId>
 -    </dependency>
 -
 -
 -    <dependency>
 -      <groupId>com.sun.jersey.contribs</groupId>
 -      <artifactId>jersey-multipart</artifactId>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>com.sun.jersey</groupId>
 -      <artifactId>jersey-json</artifactId>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>com.yammer.metrics</groupId>
 -      <artifactId>metrics-spring</artifactId>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>com.sun.jersey</groupId>
 -      <artifactId>jersey-client</artifactId>
 -    </dependency>
 -
 -      <dependency>
 -        <groupId>com.google.code.maven-play-plugin.net.tanesha.recaptcha4j</groupId>
 -        <artifactId>recaptcha4j</artifactId>
 -      </dependency>
 -
 -    <dependency>
 -      <groupId>com.sun.jersey</groupId>
 -      <artifactId>jersey-server</artifactId>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>com.sun.jersey.contribs</groupId>
 -      <artifactId>jersey-spring</artifactId>
 -    </dependency>
 -
 -    <!-- Codehaus, Spring, and Other Org Dependencies -->
 -
 -    <dependency>
 -      <groupId>org.springframework</groupId>
 -      <artifactId>spring-webmvc</artifactId>
 -    </dependency>
 -
 -    <dependency>
 -      <!-- TODO - should not scope be 'test' ? -->
 -      <groupId>org.slf4j</groupId>
 -      <artifactId>jcl-over-slf4j</artifactId>
 -    </dependency>
 -
 -    <dependency>
 -      <!-- TODO - should not scope be 'test' ? -->
 -      <groupId>org.slf4j</groupId>
 -      <artifactId>jul-to-slf4j</artifactId>
 -    </dependency>
 -      <dependency>
 -          <groupId>org.slf4j</groupId>
 -          <artifactId>slf4j-log4j12</artifactId>
 -      </dependency>
 -
 -      <dependency>
 -          <groupId>log4j</groupId>
 -          <artifactId>log4j</artifactId>
 -      </dependency>
 -
 -
 -      <!-- Testing and Logging Dependencies -->
 -
 -    <dependency>
 -      <groupId>org.apache.usergrid</groupId>
 -      <artifactId>usergrid-config</artifactId>
 -      <version>${project.version}</version>
 -      <scope>test</scope>
 -      <classifier>tests</classifier>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.apache.usergrid</groupId>
 -      <artifactId>usergrid-test-utils</artifactId>
 -      <version>${project.version}</version>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.apache.usergrid</groupId>
 -      <artifactId>usergrid-core</artifactId>
 -      <version>${project.version}</version>
 -      <scope>test</scope>
 -      <classifier>tests</classifier>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.springframework</groupId>
 -      <artifactId>spring-test</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>junit</groupId>
 -      <artifactId>junit</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.jvnet.mock-javamail</groupId>
 -      <artifactId>mock-javamail</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.hectorclient</groupId>
 -      <artifactId>hector-test</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.apache.tomcat.embed</groupId>
 -      <artifactId>tomcat-embed-core</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.apache.tomcat.embed</groupId>
 -      <artifactId>tomcat-embed-logging-juli</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.apache.tomcat.embed</groupId>
 -      <artifactId>tomcat-embed-jasper</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.apache.tomcat</groupId>
 -      <artifactId>tomcat-jasper-el</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.apache.tomcat</groupId>
 -      <artifactId>tomcat-jsp-api</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.apache.tomcat</groupId>
 -      <artifactId>juli</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <!--  use the external test client.  Just depend on the maven jetty plugin to launch jetty -->
 -    <dependency>
 -      <groupId>com.sun.jersey.jersey-test-framework</groupId>
 -      <artifactId>jersey-test-framework-external</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>com.sun.jersey.jersey-test-framework</groupId>
 -      <artifactId>jersey-test-framework-core</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.usergrid</groupId>
 -      <artifactId>usergrid-java-client</artifactId>
 -      <scope>test</scope>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.apache.usergrid</groupId>
 -      <artifactId>usergrid-services</artifactId>
 -      <version>${project.version}</version>
 -      <scope>test</scope>
 -      <classifier>tests</classifier>
 -    </dependency>
 -
 -    <dependency>
 -      <groupId>org.mindrot</groupId>
 -      <artifactId>jbcrypt</artifactId>
 -    </dependency>
 -
 -  </dependencies>
 +    </build>
 +
 +    <dependencies>
 +
 +        <!-- Usergrid Dependencies -->
 +
 +        <dependency>
 +            <groupId>org.apache.usergrid</groupId>
 +            <artifactId>usergrid-config</artifactId>
 +            <version>${project.version}</version>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>org.apache.usergrid</groupId>
 +            <artifactId>usergrid-core</artifactId>
 +            <version>${project.version}</version>
 +            <exclusions>
 +                <exclusion>
 +                    <artifactId>commons-logging</artifactId>
 +                    <groupId>commons-logging</groupId>
 +                </exclusion>
 +            </exclusions>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>org.apache.usergrid</groupId>
 +            <artifactId>usergrid-mongo-emulator</artifactId>
 +            <version>${project.version}</version>
 +        </dependency>
 +
 +        <!-- Apache Dependencies -->
 +
 +        <dependency>
 +            <groupId>commons-collections</groupId>
 +            <artifactId>commons-collections</artifactId>
 +        </dependency>
 +
 +        <!-- SUN, Javax Package, and Other Com Dependencies -->
 +
 +        <dependency>
 +            <groupId>javax.servlet</groupId>
 +            <artifactId>javax.servlet-api</artifactId>
 +            <scope>provided</scope>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>javax.servlet</groupId>
 +            <artifactId>jstl</artifactId>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>com.sun.jersey.contribs</groupId>
 +            <artifactId>jersey-multipart</artifactId>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>com.sun.jersey</groupId>
 +            <artifactId>jersey-json</artifactId>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>com.fasterxml.jackson.jaxrs</groupId>
 +            <artifactId>jackson-jaxrs-json-provider</artifactId>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>com.fasterxml.jackson.jaxrs</groupId>
 +            <artifactId>jackson-jaxrs-json-provider</artifactId>
 +        </dependency>
 +
 +
 +        <dependency>
 +            <groupId>com.sun.jersey</groupId>
 +            <artifactId>jersey-client</artifactId>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>com.google.code.maven-play-plugin.net.tanesha.recaptcha4j</groupId>
 +            <artifactId>recaptcha4j</artifactId>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>com.sun.jersey</groupId>
 +            <artifactId>jersey-server</artifactId>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>com.sun.jersey.contribs</groupId>
 +            <artifactId>jersey-spring</artifactId>
 +        </dependency>
 +
 +        <!-- Codehaus, Spring, and Other Org Dependencies -->
 +
 +        <dependency>
 +            <groupId>org.springframework</groupId>
 +            <artifactId>spring-webmvc</artifactId>
 +        </dependency>
 +
 +        <!-- the core, which includes Streaming API, shared low-level abstractions (but NOT data-binding) -->
 +        <dependency>
 +            <groupId>com.fasterxml.jackson.core</groupId>
 +            <artifactId>jackson-core</artifactId>
 +            <version>${jackson-2-version}</version>
 +        </dependency>
 +
 +        <!-- Just the annotations; use this dependency if you want to attach annotations
 +             to classes without connecting them to the code. -->
 +        <dependency>
 +            <groupId>com.fasterxml.jackson.core</groupId>
 +            <artifactId>jackson-annotations</artifactId>
 +            <version>${jackson-2-version}</version>
 +        </dependency>
 +
 +        <!-- databinding; ObjectMapper, JsonNode and related classes are here -->
 +        <dependency>
 +            <groupId>com.fasterxml.jackson.core</groupId>
 +            <artifactId>jackson-databind</artifactId>
 +            <version>${jackson-2-version}</version>
 +        </dependency>
 +
 +        <dependency>
 +            <!-- TODO - should not scope be 'test' ? -->
 +            <groupId>org.slf4j</groupId>
 +            <artifactId>jcl-over-slf4j</artifactId>
 +        </dependency>
 +
 +        <dependency>
 +            <!-- TODO - should not scope be 'test' ? -->
 +            <groupId>org.slf4j</groupId>
 +            <artifactId>jul-to-slf4j</artifactId>
 +        </dependency>
 +
 +        <!-- Testing and Logging Dependencies -->
 +
 +        <dependency>
 +            <groupId>org.apache.usergrid</groupId>
 +            <artifactId>usergrid-config</artifactId>
 +            <version>${project.version}</version>
 +            <scope>test</scope>
 +            <classifier>tests</classifier>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>org.apache.usergrid</groupId>
 +            <artifactId>usergrid-test-utils</artifactId>
 +            <version>${project.version}</version>
 +            <scope>test</scope>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>org.apache.usergrid</groupId>
 +            <artifactId>usergrid-core</artifactId>
 +            <version>${project.version}</version>
 +            <scope>test</scope>
 +            <classifier>tests</classifier>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>org.springframework</groupId>
 +            <artifactId>spring-test</artifactId>
 +            <scope>test</scope>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>junit</groupId>
 +            <artifactId>junit</artifactId>
 +            <scope>test</scope>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>org.jvnet.mock-javamail</groupId>
 +            <artifactId>mock-javamail</artifactId>
 +            <scope>test</scope>
 +            <exclusions>
 +                <exclusion>
 +                    <artifactId>mail</artifactId>
 +                    <groupId>javax.mail</groupId>
 +                </exclusion>
 +            </exclusions>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>org.hectorclient</groupId>
 +            <artifactId>hector-test</artifactId>
 +            <scope>test</scope>
 +        </dependency>
 +
 +        <!--  use the external test client.  Just depend on the maven jetty plugin to launch jetty -->
 +        <dependency>
 +            <groupId>com.sun.jersey.jersey-test-framework</groupId>
 +            <artifactId>jersey-test-framework-external</artifactId>
 +            <scope>test</scope>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>com.sun.jersey.jersey-test-framework</groupId>
 +            <artifactId>jersey-test-framework-core</artifactId>
 +            <scope>test</scope>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>org.apache.usergrid</groupId>
 +            <artifactId>usergrid-java-client</artifactId>
 +            <scope>test</scope>
 +        </dependency>
 +
 +        <dependency>
 +            <groupId>org.apache.usergrid</groupId>
 +            <artifactId>usergrid-services</artifactId>
 +            <version>2.0.0-SNAPSHOT</version>
 +            <scope>test</scope>
 +            <classifier>tests</classifier>
 +        </dependency>
 +
 +    </dependencies>
  
  </project>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
----------------------------------------------------------------------
diff --cc stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
index eee2807,144a6de..2d5b7a9
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
@@@ -135,18 -141,18 +135,18 @@@ public class UsersResource extends Abst
  
  	/*
       * @POST
--	 * 
++	 *
  	 * @Consumes(MediaType.MULTIPART_FORM_DATA) public JSONWithPadding
  	 * createUserFromMultipart(@Context UriInfo ui,
--	 * 
++	 *
  	 * @FormDataParam("username") String username,
--	 * 
++	 *
  	 * @FormDataParam("name") String name,
--	 * 
++	 *
  	 * @FormDataParam("email") String email,
--	 * 
++	 *
  	 * @FormDataParam("password") String password) throws Exception {
--	 * 
++	 *
  	 * return createUser(ui, username, name, email, password); }
  	 */
  
@@@ -203,7 -209,7 +203,7 @@@
                  errorMsg = "Incorrect Captcha, try again...";
                  return handleViewable("resetpw_email_form", this);
              }
--            
++
          }
          catch ( RedirectionException e ) {
              throw e;

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
----------------------------------------------------------------------
diff --cc stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
index e6c5eae,b41659d..dadc87d
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
@@@ -267,7 -272,112 +269,111 @@@ public class AssetResourceIT extends Ab
          assertEquals( 5324800, foundData.length );
  
          // delete
 -        node = resource().path( "/test-organization/test-app/foos/" + uuid ).queryParam( "access_token", access_token )
 -                .accept( MediaType.APPLICATION_JSON_TYPE ).delete( JsonNode.class );
 +        node = mapper.readTree( resource().path( "/test-organization/test-app/foos/" + uuid ).queryParam( "access_token", access_token )
 +                .accept( MediaType.APPLICATION_JSON_TYPE ).delete( String.class ));
      }
+ 
+ 
+     /**
+      * Deleting a connection to an asset should not delete the asset or the asset's data
+      */
+     @Test
+     public void deleteConnectionToAsset() throws IOException {
+ 
 -        UserRepo.INSTANCE.load( resource(), access_token );
++        userRepo.load();
+ 
+         final String uuid;
+ 
+         // create the entity that will be the asset, an image
+ 
+         Map<String, String> payload = hashMap("name", "cassandra_eye.jpg");
+ 
+         JsonNode node = resource().path("/test-organization/test-app/foos")
+                 .queryParam("access_token", access_token)
+                 .accept(MediaType.APPLICATION_JSON)
+                 .type(MediaType.APPLICATION_JSON_TYPE)
+                 .post(JsonNode.class, payload);
+         JsonNode idNode = node.get("entities").get(0).get("uuid");
 -        uuid = idNode.getTextValue();
++        uuid = idNode.textValue();
+ 
+         // post image data to the asset entity
+ 
+         byte[] data = IOUtils.toByteArray(this.getClass().getResourceAsStream("/cassandra_eye.jpg"));
+         resource().path("/test-organization/test-app/foos/" + uuid)
+                 .queryParam("access_token", access_token)
+                 .type(MediaType.APPLICATION_OCTET_STREAM_TYPE)
+                 .put(data);
+ 
+         // create an imagegallery entity
+ 
+         Map<String, String> imageGalleryPayload = hashMap("name", "my image gallery");
+ 
+         JsonNode imageGalleryNode = resource().path("/test-organization/test-app/imagegalleries")
+                 .queryParam("access_token", access_token)
+                 .accept(MediaType.APPLICATION_JSON)
+                 .type(MediaType.APPLICATION_JSON_TYPE)
+                 .post(JsonNode.class, imageGalleryPayload);
+ 
+         JsonNode imageGalleryIdNode = imageGalleryNode.get("entities").get(0).get("uuid");
 -        String imageGalleryId = imageGalleryIdNode.getTextValue();
++        String imageGalleryId = imageGalleryIdNode.textValue();
+ 
+         // connect imagegallery to asset
+ 
+         JsonNode connectNode = resource()
+                 .path("/test-organization/test-app/imagegalleries/" + imageGalleryId + "/contains/" + uuid)
+                 .queryParam("access_token", access_token)
+                 .accept(MediaType.APPLICATION_JSON)
+                 .type(MediaType.APPLICATION_JSON_TYPE)
+                 .post(JsonNode.class);
+ 
+         // verify connection from imagegallery to asset
+ 
+         JsonNode listConnectionsNode = resource()
+                 .path("/test-organization/test-app/imagegalleries/" + imageGalleryId + "/contains/")
+                 .queryParam("access_token", access_token)
+                 .accept(MediaType.APPLICATION_JSON)
+                 .type(MediaType.APPLICATION_JSON_TYPE)
+                 .get(JsonNode.class);
 -        assertEquals(uuid, listConnectionsNode.get("entities").get(0).get("uuid").getTextValue());
++        assertEquals(uuid, listConnectionsNode.get("entities").get(0).get("uuid").textValue());
+ 
+         // delete the connection
+ 
+         resource().path("/test-organization/test-app/imagegalleries/" + imageGalleryId + "/contains/" + uuid)
+                 .queryParam("access_token", access_token)
+                 .accept(MediaType.APPLICATION_JSON)
+                 .type(MediaType.APPLICATION_JSON_TYPE)
+                 .delete();
+ 
+         // verify that connection is gone
+ 
+         listConnectionsNode = resource()
+                 .path("/test-organization/test-app/imagegalleries/" + imageGalleryId + "/contains/")
+                 .queryParam("access_token", access_token)
+                 .accept(MediaType.APPLICATION_JSON)
+                 .type(MediaType.APPLICATION_JSON_TYPE)
+                 .get(JsonNode.class);
 -        assertFalse(listConnectionsNode.get("entities").getElements().hasNext());
++        assertFalse(listConnectionsNode.get("entities").elements().hasNext());
+ 
+         // asset should still be there
+ 
+         JsonNode assetNode = resource().path("/test-organization/test-app/foos/" + uuid)
+                 .queryParam("access_token", access_token)
+                 .accept(MediaType.APPLICATION_JSON_TYPE)
+                 .get(JsonNode.class);
+ 
 -        logNode(assetNode);
 -        Assert.assertEquals("image/jpeg", assetNode.findValue(AssetUtils.CONTENT_TYPE).getTextValue());
 -        Assert.assertEquals(7979, assetNode.findValue("content-length").getIntValue());
++        Assert.assertEquals("image/jpeg", assetNode.findValue(AssetUtils.CONTENT_TYPE).textValue());
++        Assert.assertEquals(7979, assetNode.findValue("content-length").intValue());
+         JsonNode assetIdNode = assetNode.get("entities").get(0).get("uuid");
 -        assertEquals(uuid, assetIdNode.getTextValue());
++        assertEquals(uuid, assetIdNode.textValue());
+ 
+         // asset data should still be there
+ 
+         InputStream assetIs = resource().path("/test-organization/test-app/foos/" + uuid)
+                 .queryParam("access_token", access_token)
+                 .accept(MediaType.APPLICATION_OCTET_STREAM_TYPE)
+                 .get(InputStream.class);
+ 
+         byte[] foundData = IOUtils.toByteArray(assetIs);
+         assertEquals(7979, foundData.length);
+     }
  }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/services/pom.xml
----------------------------------------------------------------------
diff --cc stack/services/pom.xml
index 68f1a4a,6b1bcdc..5959565
--- a/stack/services/pom.xml
+++ b/stack/services/pom.xml
@@@ -21,7 -21,8 +21,8 @@@
    <parent>
      <groupId>org.apache.usergrid</groupId>
      <artifactId>usergrid</artifactId>
 -    <version>1.0.1-SNAPSHOT</version>
 +    <version>2.0.0-SNAPSHOT</version>
+     <relativePath>../</relativePath>
    </parent>
  
    <!-- Override these properties in your settings.xml in an active profile -->

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/services/src/main/java/org/apache/usergrid/security/providers/PingIdentityProvider.java
----------------------------------------------------------------------
diff --cc stack/services/src/main/java/org/apache/usergrid/security/providers/PingIdentityProvider.java
index 3c8d209,3ab51ca..f8a66e9
--- a/stack/services/src/main/java/org/apache/usergrid/security/providers/PingIdentityProvider.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/providers/PingIdentityProvider.java
@@@ -22,7 -22,9 +22,8 @@@ import java.util.LinkedHashMap
  import java.util.Map;
  
  import javax.ws.rs.core.MediaType;
+ import javax.ws.rs.core.MultivaluedMap;
  
 -import org.codehaus.jackson.JsonNode;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  import org.apache.usergrid.management.ManagementService;
@@@ -123,12 -123,15 +124,16 @@@ public class PingIdentityProvider exten
      @Override
      Map<String, Object> userFromResource( String externalToken ) {
  
-         JsonNode node = client.resource( apiUrl )
-                               .queryParam( "grant_type", "urn:pingidentity.com:oauth2:grant_type:validate_bearer" )
-                               .queryParam( "client_secret", clientSecret ).queryParam( "client_id", clientId )
-                               .queryParam( "token", externalToken ).type( MediaType.APPLICATION_FORM_URLENCODED_TYPE )
-                               .header("Content-Length", "0")
-                               .post( JsonNode.class );
++
+       MultivaluedMap<String, String> formData =  getMultivaluedMapImpl();
+       formData.add("grant_type", "urn:pingidentity.com:oauth2:grant_type:validate_bearer");
+       formData.add("client_id", clientId);
+       formData.add("client_secret", clientSecret);
+       formData.add("token", externalToken);
+ 
+       JsonNode node = client.resource( apiUrl )
+           .type( MediaType.APPLICATION_FORM_URLENCODED_TYPE )
+           .post( JsonNode.class, formData );
  
          String rawEmail = node.get( "access_token" ).get( "subject" ).asText();
  

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/tools/pom.xml
----------------------------------------------------------------------
diff --cc stack/tools/pom.xml
index 5253f5e,0fac833..2d12e9a
--- a/stack/tools/pom.xml
+++ b/stack/tools/pom.xml
@@@ -21,7 -21,8 +21,8 @@@
    <parent>
      <groupId>org.apache.usergrid</groupId>
      <artifactId>usergrid</artifactId>
 -    <version>1.0.1-SNAPSHOT</version>
 +    <version>2.0.0-SNAPSHOT</version>
+     <relativePath>../</relativePath>
    </parent>
  
    <artifactId>usergrid-tools</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/7839871d/stack/websocket/pom.xml
----------------------------------------------------------------------
diff --cc stack/websocket/pom.xml
index 396cd11,64f4515..0a1a66f
--- a/stack/websocket/pom.xml
+++ b/stack/websocket/pom.xml
@@@ -21,7 -21,8 +21,8 @@@
    <parent>
      <groupId>org.apache.usergrid</groupId>
      <artifactId>usergrid</artifactId>
 -    <version>1.0.1-SNAPSHOT</version>
 +    <version>2.0.0-SNAPSHOT</version>
+     <relativePath>../</relativePath>
    </parent>
  
    <artifactId>usergrid-websocket</artifactId>


Mime
View raw message