Merge branch 'USERGRID-744' into two-dot-o-dev
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java index 1f8ee5e..e3c17f0 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
@@ -16,20 +16,12 @@ package org.apache.usergrid.corepersistence; -import java.util.Arrays; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; import java.util.UUID; -import java.util.concurrent.atomic.AtomicBoolean; -import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory; -import org.apache.usergrid.corepersistence.index.ReIndexRequestBuilder; -import org.apache.usergrid.persistence.*; -import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdge; -import org.apache.usergrid.persistence.index.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeansException; @@ -66,11 +58,14 @@ import org.apache.usergrid.persistence.entities.Application; import org.apache.usergrid.persistence.exceptions.ApplicationAlreadyExistsException; import org.apache.usergrid.persistence.exceptions.DuplicateUniquePropertyExistsException; +import org.apache.usergrid.persistence.exceptions.EntityNotFoundException; import org.apache.usergrid.persistence.graph.Edge; import org.apache.usergrid.persistence.graph.GraphManager; import org.apache.usergrid.persistence.graph.GraphManagerFactory; import org.apache.usergrid.persistence.graph.SearchByEdgeType; import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdgeType; +import org.apache.usergrid.persistence.index.EntityIndex; +import org.apache.usergrid.persistence.index.IndexRefreshCommand; import org.apache.usergrid.persistence.model.entity.Id; import org.apache.usergrid.persistence.model.entity.SimpleId; import org.apache.usergrid.persistence.model.util.UUIDGenerator; @@ -364,39 +359,45 @@ final ApplicationScope deleteApplicationScope = new ApplicationScopeImpl(deleteApplicationId); Entity oldAppEntity = managementEm.get(new SimpleEntityRef( deleteTypeName, applicationUUID)); - Observable copyConnections = Observable.empty(); - if (oldAppEntity != null) { - // ensure that there is not already a deleted app with the same name - final EntityRef alias = managementEm.getAlias( createCollectionName, oldAppEntity.getName()); - if (alias != null) { - throw new ConflictException("Cannot delete app with same name as already deleted app"); - } - // make a copy of the app to delete application_info entity - // and put it in a deleted_application_info collection - - final Entity newAppEntity = managementEm.create(new SimpleId(applicationUUID, createTypeName ), oldAppEntity.getProperties()); - - // copy its connections too - - final Set<String> connectionTypes = managementEm.getConnectionTypes(oldAppEntity); - copyConnections = Observable.from(connectionTypes).doOnNext(connType -> { - try { - final Results connResults = - managementEm.getTargetEntities(oldAppEntity, connType, null, Query.Level.ALL_PROPERTIES); - connResults.getEntities().forEach(entity -> { - try { - managementEm.createConnection(newAppEntity, connType, entity); - } catch (Exception e) { - throw new RuntimeException(e); - } - }); - } catch (Exception e) { - throw new RuntimeException(e); - } - }); - + if(oldAppEntity == null){ + throw new EntityNotFoundException( String.format("Could not find application with UUID '%s'", applicationUUID) ); } + + + // ensure that there is not already a deleted app with the same name + + final EntityRef alias = managementEm.getAlias( createCollectionName, oldAppEntity.getName() ); + if ( alias != null ) { + throw new ConflictException( "Cannot delete app with same name as already deleted app" ); + } + // make a copy of the app to delete application_info entity + // and put it in a deleted_application_info collection + + final Entity newAppEntity = + managementEm.create( new SimpleId( applicationUUID, createTypeName ), oldAppEntity.getProperties() ); + + // copy its connections too + + final Set<String> connectionTypes = managementEm.getConnectionTypes( oldAppEntity ); + Observable copyConnections = Observable.from( connectionTypes ).doOnNext( connType -> { + try { + final Results connResults = + managementEm.getTargetEntities( oldAppEntity, connType, null, Query.Level.ALL_PROPERTIES ); + connResults.getEntities().forEach( entity -> { + try { + managementEm.createConnection( newAppEntity, connType, entity ); + } + catch ( Exception e ) { + throw new RuntimeException( e ); + } + } ); + } + catch ( Exception e ) { + throw new RuntimeException( e ); + } + } ); + final Id managementAppId = CpNamingUtils.getManagementApplicationId(); final EntityIndex aei = getManagementIndex(); final GraphManager managementGraphManager = managerCache.getGraphManager(managementAppScope);
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java index a35532d..bf350bc 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java
@@ -20,23 +20,36 @@ import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Map; -import java.util.Properties; import java.util.UUID; -import javax.ws.rs.*; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.DefaultValue; +import javax.ws.rs.FormParam; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.PathSegment; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import org.apache.commons.lang.StringUtils; -import org.apache.usergrid.rest.ApiResponse; -import org.apache.usergrid.rest.security.annotations.RequireOrganizationAccess; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; + +import org.apache.amber.oauth2.common.error.OAuthError; +import org.apache.amber.oauth2.common.exception.OAuthProblemException; +import org.apache.amber.oauth2.common.message.OAuthResponse; +import org.apache.amber.oauth2.common.message.types.GrantType; +import org.apache.shiro.authz.UnauthorizedException; +import org.apache.shiro.codec.Base64; + import org.apache.usergrid.management.ApplicationInfo; import org.apache.usergrid.management.exceptions.DisabledAdminUserException; import org.apache.usergrid.management.exceptions.DisabledAppUserException; @@ -44,10 +57,10 @@ import org.apache.usergrid.management.exceptions.UnactivatedAppUserException; import org.apache.usergrid.mq.QueueManager; import org.apache.usergrid.persistence.EntityManager; -import org.apache.usergrid.persistence.index.query.Identifier; import org.apache.usergrid.persistence.SimpleEntityRef; import org.apache.usergrid.persistence.entities.Application; import org.apache.usergrid.persistence.entities.User; +import org.apache.usergrid.persistence.index.query.Identifier; import org.apache.usergrid.rest.AbstractContextResource; import org.apache.usergrid.rest.applications.assets.AssetsResource; import org.apache.usergrid.rest.applications.events.EventsResource; @@ -56,16 +69,10 @@ import org.apache.usergrid.rest.exceptions.AuthErrorInfo; import org.apache.usergrid.rest.exceptions.RedirectionException; import org.apache.usergrid.rest.security.annotations.RequireApplicationAccess; +import org.apache.usergrid.rest.security.annotations.RequireOrganizationAccess; import org.apache.usergrid.security.oauth.AccessInfo; import org.apache.usergrid.security.oauth.ClientCredentialsInfo; -import org.apache.amber.oauth2.common.error.OAuthError; -import org.apache.amber.oauth2.common.exception.OAuthProblemException; -import org.apache.amber.oauth2.common.message.OAuthResponse; -import org.apache.amber.oauth2.common.message.types.GrantType; -import org.apache.shiro.authz.UnauthorizedException; -import org.apache.shiro.codec.Base64; - import com.sun.jersey.api.json.JSONWithPadding; import com.sun.jersey.api.view.Viewable; @@ -488,66 +495,12 @@ } - /** - * Put on application URL will restore application if it was deleted. - */ - @PUT - @RequireOrganizationAccess @Override - public JSONWithPadding executePut( @Context UriInfo ui, String body, - @QueryParam("callback") @DefaultValue("callback") String callback ) throws Exception { - - if ( applicationId == null ) { - throw new IllegalArgumentException("Application ID not specified in request"); - } - - management.restoreApplication( applicationId ); - - ApiResponse response = createApiResponse(); - response.setAction( "restore" ); - response.setApplication( services.getApplication() ); - response.setParams( ui.getQueryParameters() ); - - return new JSONWithPadding( response, callback ); - } - - @DELETE @RequireOrganizationAccess - @Override - public JSONWithPadding executeDelete( @Context UriInfo ui, - @QueryParam("callback") @DefaultValue("callback") String callback, - @QueryParam("app_delete_confirm") String confirmDelete) throws Exception { - - if (!"confirm_delete_of_application_and_data".equals( confirmDelete ) ) { - throw new IllegalArgumentException( - "Cannot delete application without app_delete_confirm parameter"); - } - - Properties props = management.getProperties(); - - // for now, only works in test mode - String testProp = ( String ) props.get( "usergrid.test" ); - if ( testProp == null || !Boolean.parseBoolean( testProp ) ) { - throw new UnsupportedOperationException(); - } - - if ( applicationId == null ) { - throw new IllegalArgumentException("Application ID not specified in request"); - } - - management.deleteApplication( applicationId ); - - LOG.debug( "ApplicationResource.delete() deleted appId = {}", applicationId); - - ApiResponse response = createApiResponse(); - response.setAction( "delete" ); - response.setApplication(services.getApplication()); - response.setParams(ui.getQueryParameters()); - - LOG.debug( "ApplicationResource.delete() sending response "); - - return new JSONWithPadding( response, callback ); + public JSONWithPadding executeDelete( @Context final UriInfo ui, @DefaultValue( "callback" ) final String callback, + final String confirmAppDelete ) throws Exception { + throw new UnsupportedOperationException( "Delete must be done from the management endpoint" ); }
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/OrganizationApplicationNotFoundExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/OrganizationApplicationNotFoundExceptionMapper.java index 0d25021..8f4111a 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/OrganizationApplicationNotFoundExceptionMapper.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/OrganizationApplicationNotFoundExceptionMapper.java
@@ -27,6 +27,6 @@ extends AbstractExceptionMapper<OrganizationApplicationNotFoundException> { @Override public Response toResponse( OrganizationApplicationNotFoundException e ) { - return super.toResponse( Response.Status.BAD_REQUEST, e ); + return super.toResponse( Response.Status.NOT_FOUND, e ); } }
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java index fe11cb6..bcec775 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
@@ -38,6 +38,9 @@ import org.apache.usergrid.security.providers.SignInAsProvider; import org.apache.usergrid.security.providers.SignInProviderFactory; import org.apache.usergrid.services.ServiceManager; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @@ -49,6 +52,7 @@ import javax.ws.rs.core.UriInfo; import java.util.HashMap; import java.util.Map; +import java.util.Properties; import java.util.UUID; import static javax.servlet.http.HttpServletResponse.SC_ACCEPTED; @@ -73,6 +77,8 @@ }) public class ApplicationResource extends AbstractContextResource { + private static final Logger logger = LoggerFactory.getLogger(ApplicationResource.class); + @Autowired protected ExportService exportService; @@ -103,20 +109,6 @@ } - @RequireOrganizationAccess - @DELETE - public JSONWithPadding deleteApplicationFromOrganizationByApplicationId( - @Context UriInfo ui, @QueryParam("callback") @DefaultValue("callback") String callback ) - throws Exception { - - ApiResponse response = createApiResponse(); - response.setAction( "delete application from organization" ); - - management.deleteOrganizationApplication( organization.getUuid(), applicationId ); - - return new JSONWithPadding( response, callback ); - } - @RequireOrganizationAccess @GET @@ -393,4 +385,67 @@ return Response.status( SC_OK ).entity( null ).build(); } + + + + /** + * Put on application URL will restore application if it was deleted. + */ + @PUT + @RequireOrganizationAccess + public JSONWithPadding executePut( @Context UriInfo ui, String body, + @QueryParam("callback") @DefaultValue("callback") String callback ) throws Exception { + + if ( applicationId == null ) { + throw new IllegalArgumentException("Application ID not specified in request"); + } + + management.restoreApplication( applicationId ); + + ApiResponse response = createApiResponse(); + response.setAction( "restore" ); + response.setApplication( emf.getEntityManager( applicationId ).getApplication() ); + response.setParams( ui.getQueryParameters() ); + + return new JSONWithPadding( response, callback ); + } + + + @DELETE + @RequireOrganizationAccess + public JSONWithPadding executeDelete( @Context UriInfo ui, + @QueryParam("callback") @DefaultValue("callback") String callback, + @QueryParam("app_delete_confirm") String confirmDelete) throws Exception { + + if (!"confirm_delete_of_application_and_data".equals( confirmDelete ) ) { + throw new IllegalArgumentException( + "Cannot delete application without app_delete_confirm parameter"); + } + + Properties props = management.getProperties(); + + // for now, only works in test mode + String testProp = ( String ) props.get( "usergrid.test" ); + if ( testProp == null || !Boolean.parseBoolean( testProp ) ) { + throw new UnsupportedOperationException(); + } + + if ( applicationId == null ) { + throw new IllegalArgumentException("Application ID not specified in request"); + } + + management.deleteApplication( applicationId ); + + logger.debug( "ApplicationResource.delete() deleted appId = {}", applicationId); + + ApiResponse response = createApiResponse(); + response.setAction( "delete" ); + response.setApplication(emf.getEntityManager( applicationId ).getApplication()); + response.setParams(ui.getQueryParameters()); + + logger.debug( "ApplicationResource.delete() sending response "); + + return new JSONWithPadding( response, callback ); + } + }
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java index f8e2268..28eff4e 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java
@@ -135,19 +135,6 @@ @RequireOrganizationAccess - @Path(RootResource.APPLICATION_ID_PATH) - @PUT - public ApplicationResource restoreApplicationFromOrganizationByApplicationId( - @Context UriInfo ui, - @PathParam( "applicationId" ) - String applicationIdStr ) throws Exception { - - return getSubResource( ApplicationResource.class ) - .init( organization, UUID.fromString( applicationIdStr ) ); - } - - - @RequireOrganizationAccess @Path( "{applicationName}" ) public ApplicationResource applicationFromOrganizationByApplicationName( @Context UriInfo ui, @PathParam( "applicationName" ) String applicationName ) throws Exception {
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationCreateIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationCreateIT.java index 921027f..7ec562d 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationCreateIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationCreateIT.java
@@ -56,9 +56,9 @@ applicationMap.put( "name", appName ); this.management().token().setToken(orgAdminToken); - this.management().orgs().organization( orgName ).apps().post(applicationMap ); + this.management().orgs().org( orgName ).apps().post(applicationMap ); - Entity response = this.management().orgs().organization( orgName ).addToPath( "apps" ).addToPath( appName ).get(); + Entity response = this.management().orgs().org( orgName ).addToPath( "apps" ).addToPath( appName ).get(); assertNotNull( response ); } @@ -84,7 +84,7 @@ // test that we get all applications back from the management end-point ManagementResponse orgAppResponse = clientSetup.getRestClient() - .management().orgs().organization( orgName ).apps().getOrganizationApplications(); + .management().orgs().org( orgName ).apps().getOrganizationApplications(); int count = 0; for ( String name : orgAppResponse.getData().keySet() ) { @@ -100,7 +100,7 @@ String orgName, String appName, Token orgAdminToken, List<Entity> entities) { ApiResponse appCreateResponse = clientSetup.getRestClient() - .management().orgs().organization( orgName ).app().post( new Application( appName ) ); + .management().orgs().org( orgName ).app().post( new Application( appName ) ); UUID appId = appCreateResponse.getEntities().get(0).getUuid(); refreshIndex();
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java index a70fee1..d00ae74 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java
@@ -18,39 +18,37 @@ package org.apache.usergrid.rest.applications; -import com.fasterxml.jackson.databind.JsonNode; -import com.sun.jersey.api.client.UniformInterfaceException; -import org.apache.usergrid.rest.test.resource2point0.AbstractRestIT; -import org.apache.usergrid.rest.test.resource2point0.endpoints.mgmt.ManagementResponse; -import org.apache.usergrid.rest.test.resource2point0.model.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; + +import javax.ws.rs.core.MediaType; + import org.junit.Assert; -import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import net.jcip.annotations.NotThreadSafe; -import javax.ws.rs.core.MediaType; -import java.util.*; +import org.apache.usergrid.rest.test.resource2point0.AbstractRestIT; +import org.apache.usergrid.rest.test.resource2point0.endpoints.mgmt.ManagementResponse; +import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse; +import org.apache.usergrid.rest.test.resource2point0.model.Application; +import org.apache.usergrid.rest.test.resource2point0.model.Entity; +import org.apache.usergrid.rest.test.resource2point0.model.Token; + +import com.fasterxml.jackson.databind.JsonNode; +import com.sun.jersey.api.client.UniformInterfaceException; import static org.junit.Assert.fail; -@NotThreadSafe + public class ApplicationDeleteIT extends AbstractRestIT { private static final Logger logger = LoggerFactory.getLogger(ApplicationDeleteIT.class); public static final int INDEXING_WAIT = 3000; - Token orgAdminToken; - String orgName; - @Before - public void setup(){ - orgAdminToken = getAdminToken( clientSetup.getUsername(), clientSetup.getUsername()); - orgName = clientSetup.getOrganization().getName(); - - } /** * Test most common use cases. @@ -67,27 +65,32 @@ // create app with a collection of "things" + String orgName = clientSetup.getOrganization().getName(); + String appToDeleteName = clientSetup.getAppName() + "_appToDelete"; + Token orgAdminToken = getAdminToken( clientSetup.getUsername(), clientSetup.getUsername()); + List<Entity> entities = new ArrayList<>(); - String appToDeleteName = clientSetup.getAppName() + UUID.randomUUID(); UUID appToDeleteId = createAppWithCollection(orgName, appToDeleteName, orgAdminToken, entities); // delete the app try { - clientSetup.getRestClient() - .org(orgName).app(appToDeleteId.toString()).getResource() + clientSetup.getRestClient() .management().orgs() + .org(orgName).apps().app(appToDeleteId.toString()).getResource() .queryParam("access_token", orgAdminToken.getAccessToken()) .delete(); fail("Delete must fail without app_delete_confirm parameter"); - } catch ( Exception e ) { - logger.error("Error", e); + } catch ( UniformInterfaceException expected ) { + Assert.assertEquals("Error must be 400", 400, expected.getResponse().getStatus() ); + JsonNode node = mapper.readTree( expected.getResponse().getEntity( String.class )); + Assert.assertEquals("Cannot delete application without app_delete_confirm parameter", node.get("error_description").textValue()); } - clientSetup.getRestClient() - .org(orgName).app(appToDeleteId.toString() ).getResource() + clientSetup.getRestClient().management().orgs() + .org(orgName).apps().app(appToDeleteId.toString() ).getResource() .queryParam("access_token", orgAdminToken.getAccessToken() ) .queryParam("app_delete_confirm", "confirm_delete_of_application_and_data") .delete(); @@ -95,8 +98,8 @@ // test that we can no longer get the app try { - clientSetup.getRestClient() - .org(orgName).app(appToDeleteName).getResource() + clientSetup.getRestClient().management().orgs() + .org(orgName).apps().app(appToDeleteName).getResource() .queryParam("access_token", orgAdminToken.getAccessToken()) .type(MediaType.APPLICATION_JSON) .get(ApiResponse.class); @@ -104,11 +107,26 @@ fail("Must not be able to get deleted app"); } catch ( UniformInterfaceException expected ) { - Assert.assertEquals("Error must be 400", 400, expected.getResponse().getStatus() ); + Assert.assertEquals("Error must be 404", 404, expected.getResponse().getStatus() ); JsonNode node = mapper.readTree( expected.getResponse().getEntity( String.class )); - Assert.assertEquals("organization_application_not_found", node.get("error").textValue()); + Assert.assertEquals("entity_not_found", node.get("error").textValue()); } + + try { + clientSetup.getRestClient().org( orgName ).app( appToDeleteName ).getResource() + .queryParam( "access_token", orgAdminToken.getAccessToken() ).type( MediaType.APPLICATION_JSON ) + .get( ApiResponse.class ); + + fail( "Must not be able to get deleted app" ); + } + catch ( UniformInterfaceException expected ) { + Assert.assertEquals( "Error must be 404", 404, expected.getResponse().getStatus() ); + JsonNode node = mapper.readTree( expected.getResponse().getEntity( String.class ) ); + Assert.assertEquals( "organization_application_not_found", node.get( "error" ).textValue() ); + } + + // test that we can no longer get deleted app's collection try { @@ -121,7 +139,7 @@ fail("Must not be able to get deleted app's collection"); } catch ( UniformInterfaceException expected ) { - Assert.assertEquals("Error must be 400", 400, expected.getResponse().getStatus() ); + Assert.assertEquals("Error must be 400", 404, expected.getResponse().getStatus() ); JsonNode node = mapper.readTree( expected.getResponse().getEntity( String.class )); Assert.assertEquals("organization_application_not_found", node.get("error").textValue()); } @@ -140,7 +158,7 @@ } catch ( UniformInterfaceException expected ) { // TODO: why not a 404? - Assert.assertEquals("Error must be 400", 400, expected.getResponse().getStatus() ); + Assert.assertEquals("Error must be 400", 404, expected.getResponse().getStatus() ); JsonNode node = mapper.readTree( expected.getResponse().getEntity( String.class )); Assert.assertEquals("organization_application_not_found", node.get("error").textValue()); } @@ -151,7 +169,7 @@ refreshIndex(); ManagementResponse orgAppResponse = clientSetup.getRestClient() - .management().orgs().organization( orgName ).apps().getOrganizationApplications(); + .management().orgs().org( orgName ).apps().getOrganizationApplications(); for ( String appName : orgAppResponse.getData().keySet() ) { if ( orgAppResponse.getData().get( appName ).equals( appToDeleteId.toString() )) { @@ -162,21 +180,22 @@ // test that we cannot delete the application a second time try { - clientSetup.getRestClient() - .org(orgName).app(appToDeleteId.toString()).getResource() - .queryParam("access_token", orgAdminToken.getAccessToken()) - .delete(); + clientSetup.getRestClient().management().orgs().org( orgName ).apps().app( appToDeleteId.toString() ) + .getResource().queryParam( "access_token", orgAdminToken.getAccessToken() ) + .queryParam( "app_delete_confirm", "confirm_delete_of_application_and_data" ).delete(); - } catch ( UniformInterfaceException expected ) { - Assert.assertEquals("Error must be 404", 404, expected.getResponse().getStatus() ); - JsonNode node = mapper.readTree( expected.getResponse().getEntity( String.class )); - Assert.assertEquals("not_found", node.get("error").textValue()); + fail("Can't delete a non existent app twice"); + } + catch ( UniformInterfaceException expected ) { + Assert.assertEquals( "Error must be 404", 404, expected.getResponse().getStatus() ); + JsonNode node = mapper.readTree( expected.getResponse().getEntity( String.class ) ); + Assert.assertEquals( "entity_not_found", node.get( "error" ).textValue() ); } // test that we can create a new application with the same name ApiResponse appCreateAgainResponse = clientSetup.getRestClient() - .management().orgs().organization( orgName ).app().getResource() + .management().orgs().org( orgName ).app().getResource() .queryParam( "access_token", orgAdminToken.getAccessToken() ) .type( MediaType.APPLICATION_JSON ) .post( ApiResponse.class, new Application( appToDeleteName ) ); @@ -198,9 +217,13 @@ */ @Test public void testAppRestore() throws Exception { - String appToDeleteName = clientSetup.getAppName() + UUID.randomUUID(); // create app with a collection of "things" + + String orgName = clientSetup.getOrganization().getName(); + String appToDeleteName = clientSetup.getAppName() + "_appToDelete"; + Token orgAdminToken = getAdminToken( clientSetup.getUsername(), clientSetup.getUsername()); + List<Entity> entities = new ArrayList<>(); UUID appToDeleteId = createAppWithCollection(orgName, appToDeleteName, orgAdminToken, entities); @@ -209,8 +232,8 @@ logger.debug("\n\nDeleting app\n"); - clientSetup.getRestClient() - .org(orgName).app( appToDeleteName ).getResource() + clientSetup.getRestClient().management().orgs() + .org(orgName).apps().app( appToDeleteName ).getResource() .queryParam("access_token", orgAdminToken.getAccessToken() ) .queryParam("app_delete_confirm", "confirm_delete_of_application_and_data") .delete(); @@ -222,8 +245,8 @@ logger.debug("\n\nRestoring app\n"); - clientSetup.getRestClient() - .org(orgName).app( appToDeleteId.toString() ).getResource() + clientSetup.getRestClient().management().orgs() + .org(orgName).apps().app( appToDeleteId.toString() ).getResource() .queryParam("access_token", orgAdminToken.getAccessToken() ) .put(); @@ -234,7 +257,7 @@ logger.debug("\n\nGetting app list from management end-point\n"); ManagementResponse orgAppResponse = clientSetup.getRestClient() - .management().orgs().organization( orgName ).apps().getOrganizationApplications(); + .management().orgs().org( orgName ).apps().getOrganizationApplications(); boolean found = false; for ( String appName : orgAppResponse.getData().keySet() ) { @@ -274,21 +297,24 @@ */ @Test public void testAppRestoreConflict() throws Exception { - String appToDeleteName = clientSetup.getAppName() + UUID.randomUUID(); // create app with a collection of "things" + + String orgName = clientSetup.getOrganization().getName(); + String appToDeleteName = clientSetup.getAppName() + "_appToDelete"; + Token orgAdminToken = getAdminToken( clientSetup.getUsername(), clientSetup.getUsername()); + List<Entity> entities = new ArrayList<>(); UUID appToDeleteId = createAppWithCollection(orgName, appToDeleteName, orgAdminToken, entities); // delete the app - clientSetup.getRestClient() - .org( orgName ).app(appToDeleteId.toString() ).getResource() + clientSetup.getRestClient().management().orgs() + .org( orgName ).apps().app(appToDeleteId.toString() ).getResource() .queryParam( "access_token", orgAdminToken.getAccessToken() ) .queryParam("app_delete_confirm", "confirm_delete_of_application_and_data") .delete(); - refreshIndex(); // create new app with same name @@ -298,8 +324,8 @@ try { - clientSetup.getRestClient() - .org(orgName).app(appToDeleteId.toString()).getResource() + clientSetup.getRestClient() .management().orgs() + .org(orgName).apps().app(appToDeleteId.toString()).getResource() .queryParam("access_token", orgAdminToken.getAccessToken()) .put(); @@ -317,11 +343,11 @@ */ @Test public void testAppDeleteConflict() throws Exception { - String appToDeleteName = clientSetup.getAppName() + UUID.randomUUID(); // create app with a collection of "things" String orgName = clientSetup.getOrganization().getName(); + String appToDeleteName = clientSetup.getAppName() + "_appToDelete"; Token orgAdminToken = getAdminToken( clientSetup.getUsername(), clientSetup.getUsername()); List<Entity> entities = new ArrayList<>(); @@ -330,12 +356,11 @@ // delete the app - clientSetup.getRestClient() - .org( orgName ).app(appToDeleteId.toString() ).getResource() + clientSetup.getRestClient().management().orgs().org( orgName ).apps().app( appToDeleteId.toString() ).getResource() .queryParam( "access_token", orgAdminToken.getAccessToken() ) - .queryParam("app_delete_confirm", "confirm_delete_of_application_and_data") + .queryParam( "app_delete_confirm", "confirm_delete_of_application_and_data" ) .delete(); - refreshIndex(); + // create new app with same name UUID newAppId = createAppWithCollection(orgName, appToDeleteName, orgAdminToken, entities); @@ -344,8 +369,7 @@ try { - clientSetup.getRestClient() - .org(orgName).app( newAppId.toString() ).getResource() + clientSetup.getRestClient().management().orgs().org( orgName ).apps().app( newAppId.toString() ).getResource() .queryParam("access_token", orgAdminToken.getAccessToken()) .queryParam("app_delete_confirm", "confirm_delete_of_application_and_data") .delete(); @@ -362,7 +386,7 @@ String orgName, String appName, Token orgAdminToken, List<Entity> entities) { ApiResponse appCreateResponse = clientSetup.getRestClient() - .management().orgs().organization( orgName ).app().getResource() + .management().orgs().org( orgName ).app().getResource() .queryParam( "access_token", orgAdminToken.getAccessToken() ) .type( MediaType.APPLICATION_JSON ) .post( ApiResponse.class, new Application( appName ) ); @@ -386,7 +410,6 @@ entities.add( createResponse.getEntities().get(0) ); } - refreshIndex(); return appId; } }
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationResourceIT.java index 4ce3396..d4a3e06 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationResourceIT.java
@@ -130,7 +130,7 @@ //Create the organization resource OrganizationResource orgResource = clientSetup.getRestClient() - .management().orgs().organization(clientSetup.getOrganizationName()); + .management().orgs().org( clientSetup.getOrganizationName() ); //retrieve the credentials Credentials orgCredentials = new Credentials( orgResource.credentials().get(ApiResponse.class)); @@ -442,13 +442,13 @@ assertNotNull(entity); refreshIndex(); //Retrieve an authentication token for the user - Token tokenResponse = this.app().getResource(false).path(String.format("/%s/%s/token", orgName, appName)) + Token tokenResponse = this.app().getResource(false).path("token") .queryParam("grant_type", "password") .queryParam("username", username) .queryParam("password", "password") - .accept(MediaType.APPLICATION_JSON) - .type(MediaType.APPLICATION_JSON_TYPE) - .get(Token.class); + .accept( MediaType.APPLICATION_JSON ) + .type( MediaType.APPLICATION_JSON_TYPE ) + .get( Token.class ); String token = tokenResponse.getAccessToken(); assertNotNull(token); @@ -756,7 +756,7 @@ */ public Credentials getOrgCredentials() throws IOException { String orgName = clientSetup.getOrganizationName().toLowerCase(); - return new Credentials( clientSetup.getRestClient().management().orgs().organization(orgName).credentials().get(ApiResponse.class,null,true) ); + return new Credentials( clientSetup.getRestClient().management().orgs().org( orgName ).credentials().get(ApiResponse.class,null,true) ); } }
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java index 9306f2b..1277ae2 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java
@@ -495,7 +495,7 @@ orgPropertiesPayload.put("properties", props); - management().orgs().organization( clientSetup.getOrganizationName() ).put( orgPropertiesPayload ); + management().orgs().org( clientSetup.getOrganizationName() ).put( orgPropertiesPayload ); //Creates a payload with the same password to verify we cannot change the password to itself. Map<String, Object> payload = new HashMap<>( ); @@ -615,12 +615,12 @@ // management().token().setToken( organizationToken ); //Create admin user - management().orgs().organization( clientSetup.getOrganizationName() ).users().post(ApiResponse.class ,adminUserPayload ); + management().orgs().org( clientSetup.getOrganizationName() ).users().post(ApiResponse.class ,adminUserPayload ); refreshIndex(); //Retrieves the admin users - ApiResponse adminUsers = management().orgs().organization( clientSetup.getOrganizationName() ).users().get(ApiResponse.class); + ApiResponse adminUsers = management().orgs().org( clientSetup.getOrganizationName() ).users().get(ApiResponse.class); assertEquals("There need to be 2 admin users",2,( ( ArrayList ) adminUsers.getData() ).size());
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ExportResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ExportResourceIT.java index 8ed6777..0874fc7 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ExportResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ExportResourceIT.java
@@ -53,7 +53,7 @@ public void exportApplicationUUIDRetTest() throws Exception { try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ).addToPath( "export" ); } catch ( UniformInterfaceException uie ) { @@ -72,7 +72,7 @@ try { - exportEntity = management().orgs().organization( clientSetup.getOrganizationName() ) + exportEntity = management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid()).addToPath( "collection" ) .addToPath( "users" ).addToPath( "export" ).post(ApiResponse.class,payloadBuilder() ); } @@ -97,7 +97,7 @@ try { - exportEntity = management().orgs().organization( clientSetup.getOrganizationName() ) + exportEntity = management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).post( ApiResponse.class, payloadBuilder() ); } catch ( UniformInterfaceException uie ) { @@ -111,7 +111,7 @@ exportEntity = null; try { - exportEntity = management().orgs().organization( clientSetup.getOrganizationName() ) + exportEntity = management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).addToPath( uuid ).get( ApiResponse.class ); } catch ( UniformInterfaceException uie ) { @@ -139,7 +139,7 @@ try { - exportEntity = management().orgs().organization( clientSetup.getOrganizationName() ) + exportEntity = management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "export" ).post( ApiResponse.class, payloadBuilder() ); } @@ -155,7 +155,7 @@ refreshIndex(); try { - exportEntity = management().orgs().organization( clientSetup.getOrganizationName() ) + exportEntity = management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).addToPath( uuid ).get( ApiResponse.class ); } catch ( UniformInterfaceException uie ) { @@ -174,7 +174,7 @@ ApiResponse exportEntity = null; - exportEntity = management().orgs().organization( clientSetup.getOrganizationName() ) + exportEntity = management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid()).addToPath( "collection" ) .addToPath( "users" ).addToPath( "export" ) .post( ApiResponse.class, payloadBuilder() ); @@ -185,7 +185,7 @@ exportEntity = null; try { - exportEntity = management().orgs().organization( clientSetup.getOrganizationName() ) + exportEntity = management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).addToPath( uuid ).get( ApiResponse.class ); } catch ( UniformInterfaceException uie ) { @@ -205,7 +205,7 @@ public void exportGetWrongUUID() throws Exception { UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).addToPath( fake.toString() ).get( ApiResponse.class ); fail( "Should not have been able to get fake uuid" ); } @@ -221,7 +221,7 @@ @Test public void exportPostApplicationNullPointerProperties() throws Exception { try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "export" ).post( ApiResponse.class, new HashMap<String, Object>() ); @@ -237,7 +237,7 @@ @Test public void exportPostOrganizationNullPointerProperties() throws Exception { try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).post( ApiResponse.class, new HashMap<String, Object>() ); fail( "Should not have passed, The payload is empty." ); } @@ -251,7 +251,7 @@ @Test public void exportPostCollectionNullPointer() throws Exception { try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "collection" ).addToPath( "users" ) .addToPath( "export" ).post( ApiResponse.class, new HashMap<String, Object>() ); @@ -269,7 +269,7 @@ UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "collection" ).addToPath( "users" ) .addToPath( "export" ).addToPath( fake.toString() ).get(ApiResponse.class ,false); @@ -286,7 +286,7 @@ UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "export" ).addToPath( fake.toString() ).get(ApiResponse.class ,false); fail( "Should not have passed as we didn't have an access token." ); @@ -302,7 +302,7 @@ UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).addToPath( fake.toString() ).get(ApiResponse.class ,false); fail( "Should not have passed as we didn't have an access token." ); } @@ -320,7 +320,7 @@ properties.remove( "storage_info" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).post( ApiResponse.class, payload ); fail( "Should not have passed as we were missing an important part of the payload" ); @@ -340,7 +340,7 @@ properties.remove( "storage_info" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "export" ).post( ApiResponse.class, payload ); @@ -361,7 +361,7 @@ properties.remove( "storage_info" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "collection" ).addToPath( "users" ) .addToPath( "export" ).post( ApiResponse.class, @@ -383,7 +383,7 @@ properties.remove( "storage_provider" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).post( ApiResponse.class, payload ); fail( "Should not have passed as we were missing an important part of the payload" ); @@ -403,7 +403,7 @@ properties.remove( "storage_provider" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "export" ).post( ApiResponse.class, payload ); @@ -424,7 +424,7 @@ properties.remove( "storage_provider" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "collection" ).addToPath( "users" ) .addToPath( "export" ).post( ApiResponse.class, @@ -448,7 +448,7 @@ storage_info.remove( "s3_key" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).post( ApiResponse.class, payload ); fail( "Should not have passed as we were missing an important part of the payload" ); @@ -464,7 +464,7 @@ storage_info.remove( "s3_access_id"); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).post( ApiResponse.class, payload ); fail( "Should not have passed as we were missing an important part of the payload" ); @@ -480,7 +480,7 @@ storage_info.remove( "bucket_location" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .addToPath( "export" ).post( ApiResponse.class, payload ); fail( "Should not have passed as we were missing an important part of the payload" ); @@ -500,7 +500,7 @@ storage_info.remove( "s3_key" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "export" ).post( ApiResponse.class, payload ); fail( "Should not have passed as we were missing an important part of the payload" ); @@ -517,7 +517,7 @@ storage_info.remove( "s3_access_id" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "export" ).post( ApiResponse.class, payload ); fail( "Should not have passed as we were missing an important part of the payload" ); @@ -534,7 +534,7 @@ storage_info.remove( "bucket_location" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "export" ).post( ApiResponse.class, payload ); fail( "Should not have passed as we were missing an important part of the payload" ); @@ -555,7 +555,7 @@ storage_info.remove( "s3_key" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "collection" ).addToPath( "users" ) .addToPath( "export" ).post( ApiResponse.class, payload ); @@ -573,7 +573,7 @@ storage_info.remove( "s3_access_id" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "collection" ).addToPath( "users" ) .addToPath( "export" ).post( ApiResponse.class, payload ); @@ -591,7 +591,7 @@ storage_info.remove( "bucket_location" ); try { - management().orgs().organization( clientSetup.getOrganizationName() ) + management().orgs().org( clientSetup.getOrganizationName() ) .app().addToPath( clientSetup.getAppUuid() ) .addToPath( "collection" ).addToPath( "users" ) .addToPath( "export" ).post( ApiResponse.class, payload );
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ImportResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ImportResourceIT.java index e33d488..34371b6 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ImportResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ImportResourceIT.java
@@ -138,7 +138,7 @@ ///management/orgs/orgname/apps/appname/import Entity entity = this.management() .orgs() - .organization(org) + .org( org ) .app() .addToPath(app) .addToPath("imports") @@ -148,7 +148,7 @@ entity = this.management() .orgs() - .organization(org) + .org( org ) .app() .addToPath(app) .addToPath("imports") @@ -175,7 +175,7 @@ Entity payload = payloadBuilder(); // /management/orgs/orgname/apps/appname/import - Entity entity = this.management().orgs().organization(org).app() + Entity entity = this.management().orgs().org( org ).app() .addToPath(app) .addToPath("imports") .post(Entity.class,payload); @@ -183,7 +183,7 @@ assertNotNull(entity); // test that you can access the organization using the currently set token. - this.management().orgs().organization(org).app().addToPath(app) + this.management().orgs().org( org ).app().addToPath(app) .addToPath("imports").addToPath(entity.getUuid().toString()).get(); //create a new org/app @@ -208,7 +208,7 @@ //try to read with the new token, which should fail as unauthorized try { - this.management().orgs().organization(org).app().addToPath(app) + this.management().orgs().org( org ).app().addToPath(app) .addToPath("imports").addToPath(entity.getUuid().toString()).get(); fail("Should not be able to read import job with unauthorized token"); } catch (UniformInterfaceException ex) { @@ -228,7 +228,7 @@ Entity payload = new Entity(); try { - this.management().orgs().organization(org).app().addToPath(app).addToPath("imports").post(Entity.class,payload); + this.management().orgs().org( org ).app().addToPath(app).addToPath("imports").post(Entity.class,payload); } catch (UniformInterfaceException uie) { responseStatus = uie.getResponse().getClientResponseStatus(); } @@ -248,7 +248,7 @@ properties.remove("storage_info"); try { - this.management().orgs().organization(org).app().addToPath(app).addToPath("imports").post(Entity.class,payload); + this.management().orgs().org( org ).app().addToPath(app).addToPath("imports").post(Entity.class,payload); } catch (UniformInterfaceException uie) { responseStatus = uie.getResponse().getClientResponseStatus(); } @@ -270,7 +270,7 @@ try { - this.management().orgs().organization(org).app().addToPath(app).addToPath("imports").post(Entity.class,payload); + this.management().orgs().org( org ).app().addToPath(app).addToPath("imports").post(Entity.class,payload); } catch (UniformInterfaceException uie) { responseStatus = uie.getResponse().getClientResponseStatus(); } @@ -293,7 +293,7 @@ storage_info.remove("s3_key"); try { - this.management().orgs().organization(org).app().addToPath(app).addToPath("imports").post(Entity.class,payload); + this.management().orgs().org( org ).app().addToPath(app).addToPath("imports").post(Entity.class,payload); } catch (UniformInterfaceException uie) { responseStatus = uie.getResponse().getClientResponseStatus(); } @@ -306,7 +306,7 @@ storage_info.remove("s3_access_id"); try { - this.management().orgs().organization(org).app().addToPath(app).addToPath("imports").post(Entity.class,payload); + this.management().orgs().org( org ).app().addToPath(app).addToPath("imports").post(Entity.class,payload); } catch (UniformInterfaceException uie) { responseStatus = uie.getResponse().getClientResponseStatus(); } @@ -319,7 +319,7 @@ storage_info.remove("bucket_location"); try { - this.management().orgs().organization(org).app().addToPath(app).addToPath("imports").post(Entity.class,payload); + this.management().orgs().org( org ).app().addToPath(app).addToPath("imports").post(Entity.class,payload); } catch (UniformInterfaceException uie) { responseStatus = uie.getResponse().getClientResponseStatus(); } @@ -438,7 +438,7 @@ Entity importEntity = importCollection(); - Entity importGet = this.management().orgs().organization( org ).app() + Entity importGet = this.management().orgs().org( org ).app() .addToPath(app) .addToPath( "imports" ) .addToPath(importEntity.getUuid().toString()) @@ -446,7 +446,7 @@ refreshIndex(); - Entity importGetIncludes = this.management().orgs().organization(org).app() + Entity importGetIncludes = this.management().orgs().org( org ).app() .addToPath(app) .addToPath("imports") .addToPath(importEntity.getUuid().toString()) @@ -512,7 +512,7 @@ Entity importEntity = importCollection(); - Entity importGet = this.management().orgs().organization(org).app() + Entity importGet = this.management().orgs().org( org ).app() .addToPath(app) .addToPath("imports") .addToPath(importEntity.getUuid().toString()).get(); @@ -558,7 +558,7 @@ Entity importEntity = importCollection(); - Entity importGet = this.management().orgs().organization(org).app() + Entity importGet = this.management().orgs().org( org ).app() .addToPath(app) .addToPath("imports" ) .addToPath(importEntity.getUuid().toString() ) @@ -610,13 +610,13 @@ // we should now have 100 Entities in the default app - Entity importGet = this.management().orgs().organization( org ).app() + Entity importGet = this.management().orgs().org( org ).app() .addToPath( app ) .addToPath("imports") .addToPath( importEntity.getUuid().toString() ) .get(); - Entity importGetIncludes = this.management().orgs().organization(org).app() + Entity importGetIncludes = this.management().orgs().org( org ).app() .addToPath(app) .addToPath("imports" ) .addToPath(importEntity.getUuid().toString() ) @@ -654,7 +654,7 @@ }}); }}); - Entity importEntity = this.management().orgs().organization(org).app() + Entity importEntity = this.management().orgs().org( org ).app() .addToPath(app) .addToPath("imports") .post(Entity.class,importPayload); @@ -664,7 +664,7 @@ while (retries++ < maxRetries) { - Entity importGet = this.management().orgs().organization(org).app() + Entity importGet = this.management().orgs().org( org ).app() .addToPath( app ) .addToPath( "imports") .addToPath( importEntity.getUuid().toString() )
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java index 25736f7..c41735c 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
@@ -70,7 +70,7 @@ public void setSelfAdminPasswordAsAdwmin() { UUID uuid = UUIDUtils.newTimeUUID(); management.token().setToken(clientSetup.getSuperuserToken()); - management.orgs().organization(clientSetup.getOrganizationName()).users().post(ApiResponse.class, new User("test" + uuid, "test" + uuid, "test" + uuid + "@email.com", "test")); + management.orgs().org( clientSetup.getOrganizationName() ).users().post(ApiResponse.class, new User("test" + uuid, "test" + uuid, "test" + uuid + "@email.com", "test")); Map<String, Object> data = new HashMap<>(); data.put( "newpassword", "foo" ); data.put( "oldpassword", "test" ); @@ -110,7 +110,7 @@ String returnVal = ""; try { - returnVal = this.management().orgs().organization(orgName).get(String.class); + returnVal = this.management().orgs().org( orgName ).get(String.class); } catch ( UniformInterfaceException uie ) { status = uie.getResponse().getClientResponseStatus(); @@ -122,7 +122,7 @@ // this admin should have access to test org status = null; try { - this.management().orgs().organization(this.clientSetup.getOrganizationName()).get( String.class ); + this.management().orgs().org( this.clientSetup.getOrganizationName() ).get( String.class ); } catch ( UniformInterfaceException uie ) { status = uie.getResponse().getClientResponseStatus(); @@ -134,7 +134,7 @@ status = null; try { - this.management().orgs().organization(this.clientSetup.getOrganizationName()).get( String.class ); + this.management().orgs().org( this.clientSetup.getOrganizationName() ).get( String.class ); } catch ( UniformInterfaceException uie ) { status = uie.getResponse().getClientResponseStatus(); @@ -246,7 +246,7 @@ // POST /applications - ApiResponse apiResponse = management().orgs().organization(clientSetup.getOrganizationName()).app().post(new Application("mgmt-org-app")); + ApiResponse apiResponse = management().orgs().org( clientSetup.getOrganizationName() ).app().post(new Application("mgmt-org-app")); refreshIndex(); @@ -268,7 +268,7 @@ // GET /applications/mgmt-org-app - Entity app = management().orgs().organization(clientSetup.getOrganizationName()).app().addToPath("mgmt-org-app").get(); + Entity app = management().orgs().org( clientSetup.getOrganizationName() ).app().addToPath("mgmt-org-app").get(); assertEquals(this.clientSetup.getOrganizationName().toLowerCase(), app.get("organizationName").toString()); @@ -327,7 +327,7 @@ Map<String, Object> properties = new HashMap<String, Object>(); properties.put( "securityLevel", 5 ); payload.put( OrganizationsResource.ORGANIZATION_PROPERTIES, properties ); - management.orgs().organization(clientSetup.getOrganizationName()) + management.orgs().org( clientSetup.getOrganizationName() ) .put(payload);
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/OrganizationsIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/OrganizationsIT.java index 4385a4c..8a298f6 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/OrganizationsIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/OrganizationsIT.java
@@ -19,9 +19,7 @@ import java.io.IOException; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.Map; -import java.util.UUID; import org.apache.usergrid.rest.test.resource2point0.model.*; import org.junit.Ignore; @@ -82,7 +80,7 @@ //this.refreshIndex(); //Assert that the get returns the correct org and owner. - Organization returnedOrg = clientSetup.getRestClient().management().orgs().organization( organization.getOrganization()).get(); + Organization returnedOrg = clientSetup.getRestClient().management().orgs().org( organization.getOrganization() ).get(); assertTrue( returnedOrg != null && returnedOrg.getName().equals( organization.getOrganization() ) ); @@ -278,7 +276,7 @@ this.management().token().setToken(tokenReturned); //Assert that the get returns the correct org and owner. - Organization returnedOrg = clientSetup.getRestClient().management().orgs().organization( organization.getOrganization() ).get(); + Organization returnedOrg = clientSetup.getRestClient().management().orgs().org( organization.getOrganization() ).get(); assertTrue(returnedOrg != null && returnedOrg.getName().equals(organization.getOrganization())); @@ -295,7 +293,7 @@ try { //Delete default organization - clientSetup.getRestClient().management().orgs().organization( clientSetup.getOrganizationName() ).delete(); + clientSetup.getRestClient().management().orgs().org( clientSetup.getOrganizationName() ).delete(); fail( "Delete is not implemented yet" ); }catch(UniformInterfaceException uie){ assertEquals( ClientResponse.Status.NOT_IMPLEMENTED ,uie.getResponse().getStatus()); @@ -320,7 +318,7 @@ adminUserPayload.put("password", username); //create adminUser - ApiResponse adminUserEntityResponse = management().orgs().organization( clientSetup.getOrganizationName() ).users().post(ApiResponse.class, adminUserPayload); + ApiResponse adminUserEntityResponse = management().orgs().org( clientSetup.getOrganizationName() ).users().post(ApiResponse.class, adminUserPayload); Entity adminUserResponse = new Entity(adminUserEntityResponse); //verify that the response contains the correct data @@ -357,12 +355,12 @@ orgPayload.put( "properties", properties ); //update the organization. - management().orgs().organization( clientSetup.getOrganizationName() ).put(orgPayload); + management().orgs().org( clientSetup.getOrganizationName() ).put(orgPayload); this.refreshIndex(); //retrieve the organization - Organization orgResponse = management().orgs().organization( clientSetup.getOrganizationName() ).get(); + Organization orgResponse = management().orgs().org( clientSetup.getOrganizationName() ).get(); assertEquals(5, orgResponse.getProperties().get("puppies" )); @@ -371,11 +369,11 @@ orgPayload.put("properties", properties ); //update the organization. - management().orgs().organization( clientSetup.getOrganizationName()).put(orgPayload); + management().orgs().org( clientSetup.getOrganizationName() ).put(orgPayload); this.refreshIndex(); - orgResponse = management().orgs().organization( clientSetup.getOrganizationName() ).get(); + orgResponse = management().orgs().org( clientSetup.getOrganizationName() ).get(); assertEquals( 6, orgResponse.getProperties().get( "puppies" ));
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java index 2972126..4d85ade 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java
@@ -24,7 +24,6 @@ import org.apache.usergrid.rest.test.resource2point0.AbstractRestIT; import org.apache.usergrid.rest.test.resource2point0.model.*; -import org.junit.Ignore; import org.junit.Test; import org.jvnet.mock_javamail.Mailbox; import org.slf4j.Logger; @@ -86,7 +85,7 @@ ApiResponse user = this .management() .orgs() - .organization(organizationName) + .org( organizationName ) .users() .post(new User().chainPut("email", email).chainPut("password", password)); @@ -133,7 +132,7 @@ .queryParam("access_token", t).accept(MediaType.APPLICATION_JSON) .type(MediaType.APPLICATION_FORM_URLENCODED).put(String.class, form); } catch (UniformInterfaceException e) { - assertEquals("Should receive a 400 Not Found", 400, e.getResponse().getStatus()); + assertEquals("Should receive a 404 Not Found", 404, e.getResponse().getStatus()); } } finally { setTestProperties(originalProperties); @@ -207,7 +206,7 @@ this .management() .orgs() - .organization(this.clientSetup.getOrganizationName()) + .org( this.clientSetup.getOrganizationName() ) .users() .getResource( false ) .queryParam( "access_token", token )
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/organizations/AdminEmailEncodingIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/organizations/AdminEmailEncodingIT.java index a78f4fd..ceab55d 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/organizations/AdminEmailEncodingIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/organizations/AdminEmailEncodingIT.java
@@ -28,7 +28,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; import java.util.UUID; import static junit.framework.TestCase.assertNotNull; @@ -119,7 +118,7 @@ //Instruct the test framework to use the new token this.app().token().setToken(tokenReturned); //Create an application within the organization - clientSetup.getRestClient().management().orgs().organization(organization.getName()).app().post(new Application(app)); + clientSetup.getRestClient().management().orgs().org( organization.getName() ).app().post(new Application(app)); //retrieve the new management user by username and ensure the username and email address matches the input Entity me = clientSetup.getRestClient().management().users().entity(username).get();
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java index 2654184..821b80a 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java
@@ -27,7 +27,6 @@ import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse; import org.apache.usergrid.rest.test.resource2point0.model.Application; import org.apache.usergrid.rest.test.resource2point0.model.Credentials; -import org.apache.usergrid.rest.test.resource2point0.model.Entity; import org.apache.usergrid.rest.test.resource2point0.model.Token; import org.junit.rules.TestRule; import org.junit.runner.Description; @@ -38,8 +37,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.core.MediaType; - /** * This class is used to setup the client rule that will setup the RestClient and create default applications. @@ -123,11 +120,11 @@ restClient.management().token().get(username,password); // refreshIndex(); - clientCredentials = restClient.management().orgs().organization( orgName ).credentials().get(Credentials.class); + clientCredentials = restClient.management().orgs().org( orgName ).credentials().get(Credentials.class); //refreshIndex(); - ApiResponse appResponse = restClient.management().orgs().organization(organization.getName()).app().post(new Application(appName)); + ApiResponse appResponse = restClient.management().orgs().org( organization.getName() ).app().post(new Application(appName)); appUuid = ( String ) appResponse.getEntities().get( 0 ).get( "uuid" ); refreshIndex();
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ApplicationsResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ApplicationsResource.java index d06322c..f789272 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ApplicationsResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ApplicationsResource.java
@@ -55,4 +55,11 @@ return mapper.readValue( new StringReader(responseString), ManagementResponse.class); } + + + + public ApplicationResource app( final String appName ){ + return new ApplicationResource( appName,context,this ); + } + }
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java index d87bf91..cd7165c 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java
@@ -51,7 +51,7 @@ } - public OrganizationResource organization (final String orgname){ + public OrganizationResource org( final String orgname ){ return new OrganizationResource( orgname,context,this ); }
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java index 5c4262d..6f4e675 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
@@ -1892,12 +1892,8 @@ return null; } EntityManager em = emf.getEntityManager( smf.getManagementAppId() ); - EntityRef mgmtAppRef = new SimpleEntityRef( Schema.TYPE_APPLICATION, smf.getManagementAppId() ); - final Results results = em.searchCollection(mgmtAppRef, CpNamingUtils.DELETED_APPLICATION_INFOS, - Query.fromQL("select * where " + PROPERTY_APPLICATION_ID + " = " + applicationId.toString())); - - Entity entity = results.getEntity(); + final Entity entity = em.get( new SimpleEntityRef( CpNamingUtils.DELETED_APPLICATION_INFO, applicationId ) ); if ( entity != null ) { return new ApplicationInfo( applicationId, entity.getName() );