You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2015/10/21 22:12:14 UTC
[03/50] usergrid git commit: merge master
merge master
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/e17dab4c
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/e17dab4c
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/e17dab4c
Branch: refs/heads/jacoco
Commit: e17dab4c05f581b984f9e77e59d903fe0e482a1f
Parents: f8614a6 91fa489
Author: Shawn Feldman <sf...@apache.org>
Authored: Fri Oct 9 15:36:04 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Fri Oct 9 15:36:04 2015 -0600
----------------------------------------------------------------------
README-Docs.md | 13 +
README.md | 10 +-
content/bootstrap/bootstrap.min.css | 9 +
content/community/index.html | 22 +-
content/css/bootflat-extensions.css | 356 +
content/css/bootflat-square.css | 69 +
content/css/bootflat.css | 1560 +
content/css/font-awesome.min.css | 405 +
content/css/usergrid-site.css | 1553 +
.../docs/_sources/jersey2skeleton/README.txt | 9 +
.../creating-and-managing-notifications.txt | 2 +
.../docs/_sources/rest-endpoints/api-docs.txt | 653 +-
content/docs/jersey2skeleton/README.html | 303 +
.../creating-and-managing-notifications.html | 1 +
content/docs/rest-endpoints/api-docs.html | 533 +-
content/docs/searchindex.js | 2 +-
content/favicon.ico | Bin 0 -> 3989 bytes
content/font/FontAwesome.otf | Bin 0 -> 61896 bytes
content/font/fontawesome-webfont-eot.eot | Bin 0 -> 37405 bytes
content/font/fontawesome-webfont-svg.svg | 399 +
content/font/fontawesome-webfont-ttf.ttf | Bin 0 -> 79076 bytes
content/font/fontawesome-webfont-woff.woff | Bin 0 -> 43572 bytes
content/img/alberto.jpg | Bin 0 -> 16137 bytes
content/img/alex.png | Bin 0 -> 40842 bytes
content/img/apache_usergrid_favicon.png | Bin 0 -> 10735 bytes
content/img/apache_usergrid_logo_white.png | Bin 0 -> 26418 bytes
.../img/apache_usergrid_logo_white_small.png | Bin 0 -> 11905 bytes
content/img/check_flat/default.png | Bin 0 -> 25851 bytes
content/img/dave.jpg | Bin 0 -> 14005 bytes
content/img/ed.jpg | Bin 0 -> 20460 bytes
content/img/egg-logo.png | Bin 0 -> 9938 bytes
content/img/github.png | Bin 0 -> 8936 bytes
content/img/grey.png | Bin 0 -> 37896 bytes
content/img/intellij.png | Bin 0 -> 9199 bytes
content/img/jeff.jpg | Bin 0 -> 13857 bytes
content/img/michael_r.jpg | Bin 0 -> 10244 bytes
content/img/mike_d.JPG | Bin 0 -> 36443 bytes
content/img/nate.jpg | Bin 0 -> 4291 bytes
content/img/rod.jpg | Bin 0 -> 40313 bytes
content/img/scott.jpg | Bin 0 -> 8555 bytes
content/img/shawn.jpg | Bin 0 -> 69304 bytes
content/img/stliu.jpg | Bin 0 -> 51303 bytes
content/img/strong.jpg | Bin 0 -> 7434 bytes
content/img/structure101.png | Bin 0 -> 6475 bytes
content/img/sungju.jpg | Bin 0 -> 11440 bytes
content/img/tim.jpg | Bin 0 -> 7611 bytes
content/img/todd.jpg | Bin 0 -> 18142 bytes
content/img/usergrid-logo.pdf | 398 +
content/img/usergrid.png | Bin 0 -> 21994 bytes
content/img/usergrid_160.png | Bin 0 -> 2126 bytes
content/img/usergrid_200.png | Bin 0 -> 6397 bytes
content/img/usergrid_300.png | Bin 0 -> 16330 bytes
content/img/usergrid_300_transparent.png | Bin 0 -> 16308 bytes
content/img/usergrid_400.png | Bin 0 -> 8746 bytes
content/img/usergrid_800.png | Bin 0 -> 14452 bytes
content/img/usergrid_card.png | Bin 0 -> 23295 bytes
content/img/usergrid_logo.png | Bin 0 -> 118086 bytes
content/img/usergrid_logo_205_50.png | Bin 0 -> 7058 bytes
content/img/usergrid_logo_260_50.png | Bin 0 -> 8682 bytes
content/img/usergrid_logo_720.png | Bin 0 -> 27610 bytes
content/img/usergrid_logo_720p.png | Bin 0 -> 27608 bytes
content/img/usergrid_logo_900_200.png | Bin 0 -> 12273 bytes
content/img/usergrid_logo_white.png | Bin 0 -> 16900 bytes
content/img/usergrid_profile_128.png | Bin 0 -> 6689 bytes
content/img/usergrid_profile_256.png | Bin 0 -> 10470 bytes
content/img/usergrid_profile_256_white.png | Bin 0 -> 10724 bytes
content/img/usergrid_profile_512_margins.png | Bin 0 -> 19112 bytes
content/img/usergrid_profile_64_white.png | Bin 0 -> 4839 bytes
content/img/usergrid_profile_background.png | Bin 0 -> 6710 bytes
content/img/usergrid_screencast_bg.png | Bin 0 -> 20478 bytes
content/img/usergrid_small_100.png | Bin 0 -> 6681 bytes
content/img/usergrid_wiki.png | Bin 0 -> 7135 bytes
content/img/yourkit.jpeg | Bin 0 -> 7763 bytes
content/js/bootstrap.min.js | 8 +
content/js/head.js | 708 +
content/js/html5shiv.js | 8 +
content/js/jquery-1.10.1.min.js | 6 +
content/js/jquery.icheck.js | 397 +
content/js/respond.min.js | 6 +
content/js/usergrid-site.js | 50 +
content/static/github-btn.html | 2 +
content/v101-portal-demo/config.js | 129 +
content/v101-portal-demo/css/entypo/entypo.eot | Bin 0 -> 35540 bytes
content/v101-portal-demo/css/entypo/entypo.svg | 13 +
content/v101-portal-demo/css/entypo/entypo.ttf | Bin 0 -> 35392 bytes
content/v101-portal-demo/css/entypo/entypo.woff | Bin 0 -> 21916 bytes
content/v101-portal-demo/css/main.css | 1990 +
content/v101-portal-demo/css/main.min.css | 1 +
content/v101-portal-demo/favicon.ico | Bin 0 -> 3989 bytes
content/v101-portal-demo/helpJson.json | 47 +
.../img/appswitcher/apiPlatform_lg.png | Bin 0 -> 2397 bytes
.../img/appswitcher/appServices_lg.png | Bin 0 -> 2295 bytes
.../img/appswitcher/console_lg.png | Bin 0 -> 1453 bytes
.../img/appswitcher/home_lg.png | Bin 0 -> 1522 bytes
.../img/appswitcher/logo_color.png | Bin 0 -> 3459 bytes
.../v101-portal-demo/img/appswitcher/max_lg.png | Bin 0 -> 1970 bytes
.../img/appswitcher/triangleMenuItem_right.png | Bin 0 -> 1158 bytes
.../triangleMenuItem_right_hover.png | Bin 0 -> 1169 bytes
content/v101-portal-demo/img/blue-bars.png | Bin 0 -> 3635 bytes
content/v101-portal-demo/img/blue-bolt.png | Bin 0 -> 3942 bytes
content/v101-portal-demo/img/blue-carat.png | Bin 0 -> 1006 bytes
content/v101-portal-demo/img/green_dot.png | Bin 0 -> 3472 bytes
.../img/introjs_arrow_step_next.png | Bin 0 -> 219 bytes
.../img/introjs_arrow_step_next_disabled.png | Bin 0 -> 220 bytes
.../img/introjs_arrow_step_prev.png | Bin 0 -> 217 bytes
.../img/introjs_arrow_step_prev_disabled.png | Bin 0 -> 218 bytes
content/v101-portal-demo/img/introjs_close.png | Bin 0 -> 274 bytes
content/v101-portal-demo/img/logo.png | Bin 0 -> 7758 bytes
content/v101-portal-demo/img/nav-device.gif | Bin 0 -> 2184 bytes
content/v101-portal-demo/img/nav-sprites.png | Bin 0 -> 7953 bytes
content/v101-portal-demo/img/no-data1.png | Bin 0 -> 45300 bytes
content/v101-portal-demo/img/phone-small.gif | Bin 0 -> 1300 bytes
.../img/push/APNS_cert_upload.png | Bin 0 -> 33956 bytes
.../img/push/APNS_certification.png | Bin 0 -> 16855 bytes
.../img/push/android-notification.png | Bin 0 -> 41629 bytes
.../img/push/google_api_key.png | Bin 0 -> 98118 bytes
.../img/push/iphone_message.png | Bin 0 -> 90307 bytes
content/v101-portal-demo/img/push/step_1.png | Bin 0 -> 1953 bytes
content/v101-portal-demo/img/push/step_2.png | Bin 0 -> 2117 bytes
content/v101-portal-demo/img/push/step_3.png | Bin 0 -> 2162 bytes
content/v101-portal-demo/img/red_dot.png | Bin 0 -> 3482 bytes
.../v101-portal-demo/img/sdk-sprites-large.png | Bin 0 -> 15115 bytes
content/v101-portal-demo/img/sdk-sprites.png | Bin 0 -> 4401 bytes
content/v101-portal-demo/img/tablet-small.gif | Bin 0 -> 1390 bytes
content/v101-portal-demo/img/user-photo.png | Bin 0 -> 3849 bytes
content/v101-portal-demo/img/user_profile.png | Bin 0 -> 3775 bytes
content/v101-portal-demo/img/verify.png | Bin 0 -> 22934 bytes
content/v101-portal-demo/img/yellow_dot.png | Bin 0 -> 3475 bytes
content/v101-portal-demo/index-debug.html | 151 +
content/v101-portal-demo/index-template.html | 156 +
content/v101-portal-demo/index.html | 151 +
.../js/generated/usergrid-dev.js | 4886 +
.../js/generated/usergrid-libs.min.js | 38 +
.../js/generated/usergrid.min.js | 25 +
content/v101-portal-demo/js/libs/MD5.min.js | 1 +
.../js/libs/angular-1.2.5/angular-animate.js | 1323 +
.../libs/angular-1.2.5/angular-animate.min.js | 23 +
.../angular-1.2.5/angular-animate.min.js.map | 8 +
.../js/libs/angular-1.2.5/angular-cookies.js | 202 +
.../libs/angular-1.2.5/angular-cookies.min.js | 8 +
.../angular-1.2.5/angular-cookies.min.js.map | 8 +
.../js/libs/angular-1.2.5/angular-csp.css | 24 +
.../js/libs/angular-1.2.5/angular-loader.js | 410 +
.../js/libs/angular-1.2.5/angular-loader.min.js | 9 +
.../angular-1.2.5/angular-loader.min.js.map | 8 +
.../js/libs/angular-1.2.5/angular-mocks.js | 2116 +
.../js/libs/angular-1.2.5/angular-resource.js | 565 +
.../libs/angular-1.2.5/angular-resource.min.js | 13 +
.../angular-1.2.5/angular-resource.min.js.map | 8 +
.../js/libs/angular-1.2.5/angular-route.js | 911 +
.../js/libs/angular-1.2.5/angular-route.min.js | 14 +
.../libs/angular-1.2.5/angular-route.min.js.map | 8 +
.../js/libs/angular-1.2.5/angular-sanitize.js | 622 +
.../libs/angular-1.2.5/angular-sanitize.min.js | 14 +
.../angular-1.2.5/angular-sanitize.min.js.map | 8 +
.../js/libs/angular-1.2.5/angular-scenario.js | 32374 ++++++
.../js/libs/angular-1.2.5/angular-touch.js | 563 +
.../js/libs/angular-1.2.5/angular-touch.min.js | 13 +
.../libs/angular-1.2.5/angular-touch.min.js.map | 8 +
.../js/libs/angular-1.2.5/angular.js | 20369 ++++
.../js/libs/angular-1.2.5/angular.min.js | 201 +
.../js/libs/angular-1.2.5/angular.min.js.map | 8 +
.../js/libs/angular-1.2.5/errors.json | 1 +
.../js/libs/angular-1.2.5/version.json | 1 +
.../js/libs/angular-1.2.5/version.txt | 1 +
.../libs/bootstrap/css/bootstrap-responsive.css | 1345 +
.../bootstrap/css/bootstrap-responsive.min.css | 1245 +
.../js/libs/bootstrap/css/bootstrap.css | 6169 ++
.../js/libs/bootstrap/css/bootstrap.min.css | 5469 ++
.../js/libs/bootstrap/custom/css/bootstrap.css | 6316 ++
.../libs/bootstrap/custom/css/bootstrap.min.css | 9 +
.../custom/img/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes
.../custom/img/glyphicons-halflings.png | Bin 0 -> 12799 bytes
.../js/libs/bootstrap/custom/js/bootstrap.js | 2291 +
.../libs/bootstrap/custom/js/bootstrap.min.js | 7 +
.../img/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes
.../libs/bootstrap/img/glyphicons-halflings.png | Bin 0 -> 12799 bytes
.../js/libs/bootstrap/js/bootstrap.js | 2117 +
.../js/libs/bootstrap/js/bootstrap.min.js | 644 +
.../v101-portal-demo/js/libs/google-viz-api.js | 49 +
.../js/libs/jquery/jquery-1.9.1.min.js | 5 +
.../js/libs/jquery/jquery-migrate-1.1.1.min.js | 3 +
.../js/libs/jquery/jquery.sparkline.min.js | 5 +
.../js/libs/jqueryui/date.min.js | 2 +
.../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 0 -> 251 bytes
.../images/ui-bg_flat_100_deedf7_40x100.png | Bin 0 -> 182 bytes
.../images/ui-bg_flat_100_e4f1fb_40x100.png | Bin 0 -> 213 bytes
.../images/ui-bg_flat_100_f2f5f7_40x100.png | Bin 0 -> 212 bytes
.../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 0 -> 181 bytes
.../images/ui-bg_flat_50_3baae3_40x100.png | Bin 0 -> 182 bytes
.../images/ui-bg_flat_80_d7ebf9_40x100.png | Bin 0 -> 183 bytes
.../ui-bg_highlight-hard_70_000000_1x100.png | Bin 0 -> 118 bytes
.../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 0 -> 153 bytes
.../jqueryui/images/ui-icons_000000_256x240.png | Bin 0 -> 4369 bytes
.../jqueryui/images/ui-icons_2694e8_256x240.png | Bin 0 -> 4369 bytes
.../jqueryui/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes
.../jqueryui/images/ui-icons_3d80b3_256x240.png | Bin 0 -> 4369 bytes
.../jqueryui/images/ui-icons_72a7cf_256x240.png | Bin 0 -> 4369 bytes
.../jqueryui/images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes
.../js/libs/jqueryui/jquery-ui-1.8.18.min.js | 15 +
.../js/libs/jqueryui/jquery-ui-1.8.9.custom.css | 1 +
.../js/libs/jqueryui/jquery-ui-timepicker.css | 1 +
.../libs/jqueryui/jquery.ui.timepicker.min.js | 1 +
.../ui-bootstrap-custom-0.3.0.min.js | 1 +
.../ui-bootstrap-custom-tpls-0.3.0.min.js | 1 +
.../v101-portal-demo/js/libs/usergrid.sdk.js | 2568 +
docs/jersey2skeleton/README.md | 9 +
docs/jersey2skeleton/pom.xml | 387 +
.../usergrid/testapp/AbstractResource.java | 51 +
.../apache/usergrid/testapp/ApiResponse.java | 52 +
.../org/apache/usergrid/testapp/Entity.java | 55 +
.../usergrid/testapp/ManagementResource.java | 56 +
.../usergrid/testapp/OrganizationResource.java | 64 +
.../usergrid/testapp/OrganizationsResource.java | 76 +
.../apache/usergrid/testapp/StatusResource.java | 34 +
.../java/org/apache/usergrid/testapp/User.java | 28 +
.../src/main/resources/applicationContext.xml | 28 +
.../main/resources/jersey2skeleton-context.xml | 28 +
.../src/main/webapp/WEB-INF/web.xml | 95 +
.../usergrid/testapp/AvailablePortFinder.java | 208 +
.../usergrid/testapp/OrganizationTest.java | 127 +
.../org/apache/usergrid/testapp/TomcatMain.java | 57 +
.../apache/usergrid/testapp/TomcatRuntime.java | 185 +
.../src/test/resources/log4j.properties | 31 +
.../src/test/resources/logging.properties | 26 +
docs/jersey2skeleton/templates/markdown.hbs | 108 +
docs/jersey2skeleton/templates/operation.hbs | 73 +
docs/jersey2skeleton/templates/security.hbs | 88 +
.../templates/strapdown.html.hbs | 10 +
docs/rest-endpoints/api-docs.html | 750 +-
docs/rest-endpoints/api-docs.md | 142 +-
stack/build-tools/pom.xml | 2 +-
stack/config/pom.xml | 2 +-
stack/core/pom.xml | 14 +-
.../corepersistence/CpEntityManager.java | 22 +-
.../corepersistence/CpRelationManager.java | 21 +-
.../asyncevents/EventBuilderImpl.java | 44 +-
.../pipeline/read/search/CandidateIdFilter.java | 3 +-
.../usergrid/persistence/EntityManager.java | 2 +
.../usergrid/persistence/CollectionIT.java | 10 +-
.../usergrid/persistence/PermissionsIT.java | 7 +-
stack/corepersistence/collection/pom.xml | 2 +-
stack/corepersistence/common/pom.xml | 2 +-
stack/corepersistence/graph/pom.xml | 2 +-
stack/corepersistence/map/pom.xml | 2 +-
stack/corepersistence/model/pom.xml | 2 +-
stack/corepersistence/pom.xml | 2 +-
stack/corepersistence/queryindex/pom.xml | 2 +-
.../index/impl/EsEntityIndexBatchImpl.java | 10 +-
.../index/impl/EsIndexProducerImpl.java | 8 +
.../persistence/index/impl/IndexProducer.java | 2 +
.../index/impl/IndexRefreshCommandImpl.java | 2 +-
.../persistence/index/impl/EntityIndexTest.java | 22 +-
.../persistence/index/impl/GeoPagingTest.java | 6 +-
stack/corepersistence/queue/pom.xml | 2 +-
stack/pom.xml | 252 +-
stack/rest/pom.xml | 141 +-
.../usergrid/rest/AbstractContextResource.java | 45 +-
.../usergrid/rest/ApplicationsResource.java | 178 -
.../apache/usergrid/rest/DatabaseResource.java | 98 -
.../org/apache/usergrid/rest/IndexResource.java | 54 +-
.../apache/usergrid/rest/MigrateResource.java | 61 +-
.../org/apache/usergrid/rest/RootResource.java | 92 +-
.../apache/usergrid/rest/SwaggerServlet.java | 5 +-
.../apache/usergrid/rest/SystemResource.java | 26 +-
.../usergrid/rest/TextToJsonSwapWriter.java | 182 +-
.../rest/applications/ApplicationResource.java | 30 +-
.../rest/applications/ServiceResource.java | 111 +-
.../applications/assets/AssetsResource.java | 13 +-
.../applications/events/EventsResource.java | 36 +-
.../notifiers/NotifierResource.java | 29 +-
.../notifiers/NotifiersResource.java | 29 +-
.../rest/applications/queues/QueueResource.java | 86 +-
.../queues/QueueSubscriberResource.java | 63 +-
.../queues/QueueSubscriptionResource.java | 63 +-
.../queues/QueueTransactionsResource.java | 40 +-
.../rest/applications/users/UserResource.java | 134 +-
.../rest/applications/users/UsersResource.java | 51 +-
.../exceptions/NotFoundExceptionMapper.java | 3 +-
.../rest/exceptions/SecurityException.java | 31 +-
.../exceptions/SecurityExceptionMapper.java | 3 +-
.../exceptions/UnsupportedMediaTypeMapper.java | 43 +
.../rest/filters/ContentTypeFilter.java | 74 +-
.../rest/filters/JSONPCallbackFilter.java | 26 +-
.../usergrid/rest/filters/MeteringFilter.java | 632 +-
.../usergrid/rest/filters/TracingFilter.java | 37 +-
.../rest/management/ManagementResource.java | 53 +-
.../management/metrics/MetricsResource.java | 9 +-
.../organizations/OrganizationResource.java | 64 +-
.../organizations/OrganizationsResource.java | 66 +-
.../applications/ApplicationResource.java | 56 +-
.../applications/ApplicationsResource.java | 20 +-
.../imports/FileErrorsResource.java | 41 +-
.../imports/FileIncludesResource.java | 15 +-
.../applications/imports/ImportsResource.java | 57 +-
.../organizations/users/UsersResource.java | 88 +-
.../rest/management/users/UserResource.java | 95 +-
.../rest/management/users/UsersResource.java | 11 +-
.../organizations/OrganizationsResource.java | 76 +-
.../organizations/OrganizationResource.java | 28 +-
.../rest/security/CrossOriginRequestFilter.java | 18 +-
.../security/SecuredResourceFilterFactory.java | 181 +-
.../ShiroAuthenticationExceptionMapper.java | 3 +-
.../shiro/filters/BasicAuthSecurityFilter.java | 35 +-
.../ClientCredentialsSecurityFilter.java | 25 +-
.../OAuth2AccessTokenSecurityFilter.java | 168 +-
.../security/shiro/filters/SecurityFilter.java | 33 +-
.../rest/system/ApplicationsResource.java | 178 +
.../usergrid/rest/system/DatabaseResource.java | 101 +
.../rest/system/QueueSystemResource.java | 77 +
.../apache/usergrid/rest/utils/CORSUtils.java | 42 +-
stack/rest/src/main/webapp/WEB-INF/web.xml | 63 +-
.../java/org/apache/usergrid/rest/BasicIT.java | 22 +-
.../usergrid/rest/CollectionMetadataIT.java | 7 +-
.../apache/usergrid/rest/IndexResourceIT.java | 43 +-
.../apache/usergrid/rest/NotificationsIT.java | 6 +-
.../apache/usergrid/rest/PartialUpdateTest.java | 16 +-
.../apache/usergrid/rest/SystemResourceIT.java | 27 +-
.../org/apache/usergrid/rest/TomcatRuntime.java | 12 +-
.../rest/applications/ApplicationCreateIT.java | 14 +-
.../rest/applications/ApplicationDeleteIT.java | 206 +-
.../applications/ApplicationResourceIT.java | 266 +-
.../applications/assets/AssetResourceIT.java | 21 +-
.../applications/assets/AwsAssetResourceIT.java | 53 +-
.../applications/assets/aws/NoAWSCredsRule.java | 15 +-
.../collection/CollectionsResourceIT.java | 26 +-
.../collection/DuplicateNameIT.java | 5 +-
.../activities/ActivityResourceIT.java | 5 +-
.../collection/devices/DevicesResourceIT.java | 4 +-
.../collection/groups/GroupResourceIT.java | 34 +-
.../collection/paging/PagingResourceIT.java | 65 +-
.../users/ConnectionResourceTest.java | 12 +-
.../collection/users/OwnershipResourceIT.java | 15 +-
.../collection/users/PermissionsResourceIT.java | 34 +-
.../collection/users/UserResourceIT.java | 126 +-
.../queries/BadGrammarQueryTest.java | 15 +-
.../applications/queries/BasicGeoTests.java | 45 +-
.../rest/filters/ContentTypeResourceIT.java | 70 +-
.../usergrid/rest/management/AccessTokenIT.java | 42 +-
.../usergrid/rest/management/AdminUsersIT.java | 48 +-
.../rest/management/ExportResourceIT.java | 137 +-
.../rest/management/ImportResourceIT.java | 50 +-
.../rest/management/ManagementResourceIT.java | 149 +-
.../rest/management/OrganizationsIT.java | 60 +-
.../rest/management/RegistrationIT.java | 32 +-
.../organizations/AdminEmailEncodingIT.java | 5 +-
.../rest/test/resource/AbstractRestIT.java | 79 +-
.../rest/test/resource/ClientSetup.java | 4 +-
.../usergrid/rest/test/resource/RestClient.java | 44 +-
.../test/resource/TestPropertiesResource.java | 14 +-
.../endpoints/ApplicationsResource.java | 8 +-
.../resource/endpoints/BoostrapResource.java | 19 +-
.../resource/endpoints/CollectionEndpoint.java | 109 +-
.../test/resource/endpoints/EntityEndpoint.java | 40 +-
.../test/resource/endpoints/NamedResource.java | 241 +-
.../test/resource/endpoints/RootResource.java | 9 +-
.../test/resource/endpoints/SetupResource.java | 20 +-
.../test/resource/endpoints/SubResource.java | 37 +
.../test/resource/endpoints/SystemResource.java | 51 +-
.../test/resource/endpoints/TokenResource.java | 15 +-
.../test/resource/endpoints/UrlResource.java | 11 +-
.../endpoints/mgmt/ApplicationResource.java | 27 +-
.../endpoints/mgmt/ApplicationsResource.java | 4 +-
.../endpoints/mgmt/AuthorizeResource.java | 7 +-
.../endpoints/mgmt/ConfirmResource.java | 12 +-
.../endpoints/mgmt/CredentialsResource.java | 7 +-
.../resource/endpoints/mgmt/FeedResource.java | 5 +-
.../resource/endpoints/mgmt/OrgResource.java | 68 +-
.../endpoints/mgmt/OrganizationResource.java | 15 +-
.../endpoints/mgmt/PasswordResource.java | 8 -
.../endpoints/mgmt/ReactivateResource.java | 10 +-
.../resource/endpoints/mgmt/ResetResource.java | 10 +-
.../resource/endpoints/mgmt/TokenResource.java | 7 +-
.../resource/endpoints/mgmt/UserResource.java | 20 +-
.../resource/endpoints/mgmt/UsersResource.java | 6 -
stack/rest/src/test/resources/log4j.properties | 36 +-
.../rest/src/test/resources/logging.properties | 13 +-
stack/services/pom.xml | 51 +-
.../security/providers/AbstractProvider.java | 16 +-
.../security/providers/FacebookProvider.java | 7 +-
.../security/providers/FoursquareProvider.java | 38 +-
.../providers/PingIdentityProvider.java | 38 +-
.../usergrid/services/roles/RolesService.java | 12 -
.../usergrid/management/OrganizationIT.java | 18 +-
stack/test-utils/pom.xml | 2 +-
.../org/apache/usergrid/tools/ExportAdmins.java | 17 +-
website/README.md | 3 +-
website/Rules | 52 +
website/build.sh | 1 +
website/content/bootstrap/bootstrap.min.css | 9 +
website/content/community/index.html | 22 +-
website/content/css/bootflat-extensions.css | 356 +
website/content/css/bootflat-square.css | 69 +
website/content/css/bootflat.css | 1560 +
website/content/css/font-awesome.min.css | 405 +
website/content/css/usergrid-site.css | 1553 +
website/content/favicon.ico | Bin 0 -> 3989 bytes
website/content/font/FontAwesome.otf | Bin 0 -> 61896 bytes
.../content/font/fontawesome-webfont-eot.eot | Bin 0 -> 37405 bytes
.../content/font/fontawesome-webfont-svg.svg | 399 +
.../content/font/fontawesome-webfont-ttf.ttf | Bin 0 -> 79076 bytes
.../content/font/fontawesome-webfont-woff.woff | Bin 0 -> 43572 bytes
website/content/img/alberto.jpg | Bin 0 -> 16137 bytes
website/content/img/alex.png | Bin 0 -> 40842 bytes
website/content/img/apache_usergrid_favicon.png | Bin 0 -> 10735 bytes
.../content/img/apache_usergrid_logo_white.png | Bin 0 -> 26418 bytes
.../img/apache_usergrid_logo_white_small.png | Bin 0 -> 11905 bytes
website/content/img/check_flat/default.png | Bin 0 -> 25851 bytes
website/content/img/dave.jpg | Bin 0 -> 14005 bytes
website/content/img/ed.jpg | Bin 0 -> 20460 bytes
website/content/img/egg-logo.png | Bin 0 -> 9938 bytes
website/content/img/github.png | Bin 0 -> 8936 bytes
website/content/img/grey.png | Bin 0 -> 37896 bytes
website/content/img/intellij.png | Bin 0 -> 9199 bytes
website/content/img/jeff.jpg | Bin 0 -> 13857 bytes
website/content/img/michael_r.jpg | Bin 0 -> 10244 bytes
website/content/img/mike_d.JPG | Bin 0 -> 36443 bytes
website/content/img/nate.jpg | Bin 0 -> 4291 bytes
website/content/img/rod.jpg | Bin 0 -> 40313 bytes
website/content/img/scott.jpg | Bin 0 -> 8555 bytes
website/content/img/shawn.jpg | Bin 0 -> 69304 bytes
website/content/img/stliu.jpg | Bin 0 -> 51303 bytes
website/content/img/strong.jpg | Bin 0 -> 7434 bytes
website/content/img/structure101.png | Bin 0 -> 6475 bytes
website/content/img/sungju.jpg | Bin 0 -> 11440 bytes
website/content/img/tim.jpg | Bin 0 -> 7611 bytes
website/content/img/todd.jpg | Bin 0 -> 18142 bytes
website/content/img/usergrid-logo.pdf | 398 +
website/content/img/usergrid.png | Bin 0 -> 21994 bytes
website/content/img/usergrid_160.png | Bin 0 -> 2126 bytes
website/content/img/usergrid_200.png | Bin 0 -> 6397 bytes
website/content/img/usergrid_300.png | Bin 0 -> 16330 bytes
.../content/img/usergrid_300_transparent.png | Bin 0 -> 16308 bytes
website/content/img/usergrid_400.png | Bin 0 -> 8746 bytes
website/content/img/usergrid_800.png | Bin 0 -> 14452 bytes
website/content/img/usergrid_card.png | Bin 0 -> 23295 bytes
website/content/img/usergrid_logo.png | Bin 0 -> 118086 bytes
website/content/img/usergrid_logo_205_50.png | Bin 0 -> 7058 bytes
website/content/img/usergrid_logo_260_50.png | Bin 0 -> 8682 bytes
website/content/img/usergrid_logo_720.png | Bin 0 -> 27610 bytes
website/content/img/usergrid_logo_720p.png | Bin 0 -> 27608 bytes
website/content/img/usergrid_logo_900_200.png | Bin 0 -> 12273 bytes
website/content/img/usergrid_logo_white.png | Bin 0 -> 16900 bytes
website/content/img/usergrid_profile_128.png | Bin 0 -> 6689 bytes
website/content/img/usergrid_profile_256.png | Bin 0 -> 10470 bytes
.../content/img/usergrid_profile_256_white.png | Bin 0 -> 10724 bytes
.../img/usergrid_profile_512_margins.png | Bin 0 -> 19112 bytes
.../content/img/usergrid_profile_64_white.png | Bin 0 -> 4839 bytes
.../content/img/usergrid_profile_background.png | Bin 0 -> 6710 bytes
website/content/img/usergrid_screencast_bg.png | Bin 0 -> 20478 bytes
website/content/img/usergrid_small_100.png | Bin 0 -> 6681 bytes
website/content/img/usergrid_wiki.png | Bin 0 -> 7135 bytes
website/content/img/yourkit.jpeg | Bin 0 -> 7763 bytes
website/content/js/bootstrap.min.js | 8 +
website/content/js/head.js | 708 +
website/content/js/html5shiv.js | 8 +
website/content/js/jquery-1.10.1.min.js | 6 +
website/content/js/jquery.icheck.js | 397 +
website/content/js/respond.min.js | 6 +
website/content/js/usergrid-site.js | 50 +
website/content/static/github-btn.html | 2 +
website/crash.log | 143 +
website/layouts/community.html | 1 +
website/layouts/docs.html | 1 +
website/lib/default.rb | 43 +
website/lib/helpers_.rb | 0
website/lib/pandoc.template | 4 +
website/nanoc.yaml | 77 +
website/run.sh | 1 +
website/tmp/checksums | 4 +-
website/tmp/compiled_content | 87099 +----------------
website/tmp/dependencies | Bin 2372 -> 2397 bytes
website/tmp/rule_memory | Bin 0 -> 5163 bytes
website/utilities/map-markers.rb | 62 +
website/utilities/markers.txt | 440 +
website/utilities/snapshot-apigee.rb | 71 +
website/utilities/usergrid.csv | 290 +
477 files changed, 117021 insertions(+), 90476 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e17dab4c/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e17dab4c/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
----------------------------------------------------------------------
diff --cc stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
index aad7610,f1e6ad6..1bd5c7d
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
@@@ -527,16 -525,11 +526,12 @@@ public class CpRelationManager implemen
*
*/
- final EntityIndex ei = managerCache.getEntityIndex( applicationScope );
- final EntityIndexBatch batch = ei.createBatch();
-
- // remove item from collection index
- SearchEdge indexScope = createCollectionSearchEdge( cpHeadEntity.getId(), collectionName );
- batch.deindex( indexScope, memberEntity );
+ //TODO: this should not happen here, needs to go to SQS
+ //indexProducer.put(batch).subscribe();
+ indexService.queueEntityDelete(applicationScope,memberEntity.getId());
- managerCache.getIndexProducer().put( batch.build()).toBlocking().lastOrDefault(null); // this should throw an exception
+
// special handling for roles collection of a group
if ( headEntity.getType().equals( Group.ENTITY_TYPE ) ) {
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e17dab4c/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/EventBuilderImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e17dab4c/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateIdFilter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e17dab4c/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexProducerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e17dab4c/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
----------------------------------------------------------------------
diff --cc stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
index 6b8b024,087eefe..04f8652
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/IndexRefreshCommandImpl.java
@@@ -67,7 -67,7 +67,7 @@@ public class IndexRefreshCommandImpl im
final EsProvider esProvider,
final IndexProducer producer,
final IndexFig indexFig,
-- final MetricsFactory metricsFactory,
++ l final MetricsFactory metricsFactory,
final IndexCache indexCache ) {
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e17dab4c/stack/rest/src/main/java/org/apache/usergrid/rest/system/ApplicationsResource.java
----------------------------------------------------------------------
diff --cc stack/rest/src/main/java/org/apache/usergrid/rest/system/ApplicationsResource.java
index 0000000,82bc4c8..55887c7
mode 000000,100644..100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/system/ApplicationsResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/system/ApplicationsResource.java
@@@ -1,0 -1,168 +1,178 @@@
+ /*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one or more
+ * * contributor license agreements. 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. For additional information regarding
+ * * copyright in this work, please see the NOTICE file in the top level
+ * * directory of this distribution.
+ *
+ */
+ package org.apache.usergrid.rest.system;
+
+ import com.fasterxml.jackson.jaxrs.json.annotation.JSONP;
+ import org.apache.usergrid.corepersistence.service.StatusService;
+ import org.apache.usergrid.persistence.EntityManager;
+ import org.apache.usergrid.persistence.model.util.UUIDGenerator;
+ import org.apache.usergrid.rest.AbstractContextResource;
+ import org.apache.usergrid.rest.ApiResponse;
+ import org.apache.usergrid.rest.security.annotations.RequireSystemAccess;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import org.springframework.context.annotation.Scope;
+ import org.springframework.stereotype.Component;
+
+ import javax.ws.rs.*;
+ import javax.ws.rs.core.Context;
+ import javax.ws.rs.core.MediaType;
+ import javax.ws.rs.core.UriInfo;
+ import java.util.HashMap;
+ import java.util.LinkedHashMap;
+ import java.util.Map;
+ import java.util.UUID;
+ import java.util.concurrent.atomic.AtomicInteger;
+
+ /**
+ * Classy class class.
+ */
+ @Component
+ @Scope( "singleton" )
+ @Produces( {
+ MediaType.APPLICATION_JSON, "application/javascript", "application/x-javascript", "text/ecmascript",
+ "application/ecmascript", "text/jscript"
+ } )
+ public class ApplicationsResource extends AbstractContextResource {
+
+ private static final Logger logger = LoggerFactory.getLogger(ApplicationsResource.class);
+
+
+ public ApplicationsResource() {
+ logger.info( "ApplicationsResource initialized" );
+ }
+
+ @RequireSystemAccess
+ @DELETE
+ @JSONP
+ @Path( "{applicationId}" )
+ public ApiResponse clearApplication(
+ @Context UriInfo ui,
+ @PathParam("applicationId") UUID applicationId,
+ @QueryParam( "confirmApplicationName" ) String confirmApplicationName,
+ @QueryParam( "limit" ) int limit,
+ @QueryParam( "callback" ) @DefaultValue( "callback" ) String callback )
+
+ throws Exception {
+
+ if(confirmApplicationName == null){
+ throw new IllegalArgumentException("please make add a QueryString for confirmApplicationName");
+ }
+
+ final UUID jobId = UUIDGenerator.newTimeUUID();
+
+ final EntityManager em = emf.getEntityManager(applicationId);
+ final String name = em.getApplication().getApplicationName();
+ if(!name.toLowerCase().equals(confirmApplicationName.toLowerCase())){
+ throw new IllegalArgumentException(
+ "confirmApplicationName: " + confirmApplicationName + " does not equal " + name);
+ }
+ final StatusService statusService = injector.getInstance(StatusService.class);
+
+ final ApiResponse response = createApiResponse();
+
+ response.setAction( "clear application" );
+
+ logger.info("clearing up application");
+
+ final Thread delete = new Thread() {
+
+ @Override
+ public void run() {
+ final AtomicInteger itemsDeleted = new AtomicInteger(0);
+ try {
+ management.deleteAllEntities(applicationId, limit)
+ .map(id -> itemsDeleted.incrementAndGet())
+ .doOnNext(count -> {
+ if( count % 100 == 0 ){
+ Map<String,Object> map = new LinkedHashMap<>();
+ map.put("count",itemsDeleted.intValue());
+ final StatusService statusService = injector.getInstance(StatusService.class);
- statusService.setStatus(applicationId, jobId, StatusService.Status.INPROGRESS,map).subscribe();
++ statusService.setStatus(applicationId, jobId, StatusService.Status.INPROGRESS,map)
++ .subscribe();//do not want to throw this exception
+ }
+ })
- .doOnCompleted(() ->{
- Map<String,Object> map = new LinkedHashMap<>();
- map.put("count",itemsDeleted.intValue());
++ .doOnCompleted(() -> {
++ Map<String, Object> map = new LinkedHashMap<>();
++ map.put("count", itemsDeleted.intValue());
+ final StatusService statusService = injector.getInstance(StatusService.class);
- statusService.setStatus(applicationId,jobId, StatusService.Status.COMPLETE,map).subscribe();
++ statusService.setStatus(applicationId, jobId, StatusService.Status.COMPLETE, map)
++ .toBlocking().lastOrDefault(null);//want to rethrow this exception
+ })
- .subscribe();
++ .toBlocking().lastOrDefault(null);//expecting exception to be caught if job fails
+
+ } catch ( Exception e ) {
+ Map<String,Object> map = new LinkedHashMap<>();
+ map.put("exception",e);
- statusService.setStatus(applicationId,jobId, StatusService.Status.FAILED,map).subscribe();
++ try {
++ statusService.setStatus(applicationId, jobId, StatusService.Status.FAILED, map).toBlocking().lastOrDefault(null);//leave as subscribe if fails retry
++ }catch (Exception subE){
++ logger.error("failed to update status "+jobId,subE);
++ }
+ logger.error( "Failed to delete appid:"+applicationId + " jobid:"+jobId+" count:"+itemsDeleted, e );
+ }
+ }
+ };
+
+ delete.setName("Delete for app : " + applicationId + " job: " + jobId);
+ delete.setDaemon(true);
+ delete.start();
+
- statusService.setStatus(applicationId,jobId, StatusService.Status.STARTED,new LinkedHashMap<>()).subscribe();
-
++ try {
++ //should throw exception if can't start
++ statusService.setStatus(applicationId, jobId, StatusService.Status.STARTED, new LinkedHashMap<>()).toBlocking().lastOrDefault(null);
++ }catch (Exception e){
++ logger.error("failed to set status for " + jobId, e);
++ }
+ Map<String,Object> data = new HashMap<>();
+ data.put("jobId",jobId);
+ data.put("status",StatusService.Status.STARTED);
+ response.setData(data);
+ response.setSuccess();
+ return response;
+ }
+
+ @RequireSystemAccess
+ @GET
+ @Path( "{applicationId}/job/{jobId}" )
+ public ApiResponse getStatus(
+ @Context UriInfo ui,
+ @PathParam("applicationId") UUID applicationId,
+ @PathParam("jobId") UUID jobId,
+ @QueryParam( "callback" ) @DefaultValue( "callback" ) String callback ) throws Exception{
+
+ final StatusService statusService = injector.getInstance(StatusService.class);
+
+ final ApiResponse response = createApiResponse();
+
+ response.setAction( "clear application" );
+
+ StatusService.JobStatus jobStatus = statusService.getStatus(applicationId, jobId).toBlocking().lastOrDefault(null);
+
+ Map<String,Object> data = new HashMap<>();
+ data.put("jobId",jobId);
+ data.put( "status", jobStatus.getStatus().toString() );
+ data.put( "metadata", jobStatus.getData() );
+ response.setData(data);
+ response.setSuccess();
+ return response;
+ }
+
+ }