You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by gr...@apache.org on 2016/01/25 22:18:14 UTC
[22/35] usergrid git commit: Only reset roles and application secrets
if the create application request is not for a migration.
Only reset roles and application secrets if the create application request is not for a migration.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/f9028b24
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/f9028b24
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/f9028b24
Branch: refs/heads/USERGRID-1047
Commit: f9028b24aa9dfb4092a8957d205aeec26b5ff11b
Parents: e03354f
Author: Michael Russo <mi...@gmail.com>
Authored: Tue Jan 19 15:40:01 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Tue Jan 19 15:40:01 2016 -0800
----------------------------------------------------------------------
.../corepersistence/CpEntityManagerFactory.java | 18 +++++++++++-------
.../apache/usergrid/corepersistence/CpSetup.java | 14 ++------------
.../persistence/EntityManagerFactory.java | 8 +++-----
.../management/AppInfoMigrationPlugin.java | 3 +--
.../usergrid/management/ManagementService.java | 4 ++--
.../cassandra/ManagementServiceImpl.java | 12 ++++++------
.../migration/AppInfoMigrationPluginTest.java | 2 +-
7 files changed, 26 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9028b24/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
----------------------------------------------------------------------
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 c75a025..8b6feed 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
@@ -207,17 +207,16 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
@Override
public Entity createApplicationV2(String organizationName, String name) throws Exception {
- return createApplicationV2( organizationName, name, null, null );
+ return createApplicationV2( organizationName, name, null, null, false);
}
@Override
public Entity createApplicationV2(
- String orgName, String name, UUID applicationId, Map<String, Object> properties) throws Exception {
+ String orgName, String name, UUID applicationId, Map<String, Object> properties, boolean forMigration) throws Exception {
String appName = buildAppName( orgName, name );
-
final Optional<UUID> appId = applicationIdCache.getApplicationId( appName );
if ( appId.isPresent()) {
@@ -229,7 +228,7 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
logger.debug( "New application orgName {} orgAppName {} id {} ",
new Object[] { orgName, name, applicationId.toString() } );
- return initializeApplicationV2( orgName, applicationId, appName, properties );
+ return initializeApplicationV2( orgName, applicationId, appName, properties, forMigration);
}
@@ -243,8 +242,8 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
* @return UUID of newly created Entity of type application_info
*/
@Override
- public Entity initializeApplicationV2( String organizationName, final UUID applicationId, String name,
- Map<String, Object> properties ) throws Exception {
+ public Entity initializeApplicationV2(String organizationName, final UUID applicationId, String name,
+ Map<String, Object> properties, boolean forMigration) throws Exception {
// Ensure our management system exists before creating our application
init();
@@ -268,7 +267,12 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
}
properties.put( PROPERTY_NAME, appName );
appEm.create(applicationId, TYPE_APPLICATION, properties);
- appEm.resetRoles();
+
+ // only reset roles if this application isn't being migrated (meaning dictionary and role data already exists)
+ if(!forMigration){
+ appEm.resetRoles();
+ }
+
// create application info entity in the management app
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9028b24/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
index 71db120..035518e 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
@@ -19,15 +19,6 @@ package org.apache.usergrid.corepersistence;
import java.util.UUID;
-import com.google.inject.Binding;
-import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory;
-import org.apache.usergrid.corepersistence.util.CpNamingUtils;
-import org.apache.usergrid.persistence.core.scope.ApplicationScope;
-import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl;
-import org.apache.usergrid.persistence.index.EntityIndex;
-import org.apache.usergrid.persistence.index.EntityIndexFactory;
-import org.apache.usergrid.persistence.index.IndexLocationStrategy;
-import org.apache.usergrid.persistence.model.entity.SimpleId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,14 +40,12 @@ import me.prettyprint.hector.api.ddl.ComparatorType;
import static me.prettyprint.hector.api.factory.HFactory.createColumnFamilyDefinition;
import static org.apache.usergrid.persistence.cassandra.CassandraPersistenceUtils.getCfDefs;
import static org.apache.usergrid.persistence.cassandra.CassandraService.APPLICATIONS_CF;
-import static org.apache.usergrid.persistence.cassandra.CassandraService.DEFAULT_APPLICATION;
import static org.apache.usergrid.persistence.cassandra.CassandraService.DEFAULT_ORGANIZATION;
import static org.apache.usergrid.persistence.cassandra.CassandraService.MANAGEMENT_APPLICATION;
import static org.apache.usergrid.persistence.cassandra.CassandraService.PRINCIPAL_TOKEN_CF;
import static org.apache.usergrid.persistence.cassandra.CassandraService.PROPERTIES_CF;
import static org.apache.usergrid.persistence.cassandra.CassandraService.TOKENS_CF;
import static org.apache.usergrid.persistence.cassandra.CassandraService.getApplicationKeyspace;
-import static org.apache.usergrid.persistence.cassandra.CassandraService.keyspaceForApplication;
/**
@@ -109,7 +98,8 @@ public class CpSetup implements Setup {
injector.getInstance( DataMigrationManager.class ).migrate();
try {
- emf.initializeApplicationV2( DEFAULT_ORGANIZATION, emf.getManagementAppId(), MANAGEMENT_APPLICATION, null );
+ emf.initializeApplicationV2( DEFAULT_ORGANIZATION, emf.getManagementAppId(),
+ MANAGEMENT_APPLICATION, null, false);
}
catch ( ApplicationAlreadyExistsException ex ) {
logger.warn( "Application {}/{} already exists", DEFAULT_ORGANIZATION, MANAGEMENT_APPLICATION );
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9028b24/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManagerFactory.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManagerFactory.java b/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManagerFactory.java
index bde1bd2..2bd1ccb 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManagerFactory.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManagerFactory.java
@@ -17,16 +17,13 @@
package org.apache.usergrid.persistence;
-import java.util.List;
import java.util.Map;
import java.util.UUID;
import com.google.common.base.Optional;
-import org.apache.usergrid.corepersistence.index.ReIndexService;
import org.apache.usergrid.persistence.core.util.Health;
import org.apache.usergrid.persistence.index.IndexRefreshCommand;
-import rx.Observable;
/**
@@ -72,12 +69,13 @@ public interface EntityManagerFactory {
* @param name the name of the application to create.
* @param properties property values to create in the new entity or null.
*
+ * @param forMigration
* @return Entity of type application_info that represents the newly created Application
*
* @throws Exception the exception
*/
Entity createApplicationV2(
- String organizationName, String name, UUID applicationId, Map<String, Object> properties ) throws Exception;
+ String organizationName, String name, UUID applicationId, Map<String, Object> properties, boolean forMigration) throws Exception;
/**
@@ -160,7 +158,7 @@ public interface EntityManagerFactory {
* @return Entity of type application_info that represents the newly created application.
*/
public Entity initializeApplicationV2(
- String orgName, UUID appId, String appName, Map<String, Object> props) throws Exception;
+ String orgName, UUID appId, String appName, Map<String, Object> props, boolean forMigration) throws Exception;
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9028b24/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java b/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java
index 6e84601..d05aa91 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java
@@ -44,7 +44,6 @@ import org.apache.usergrid.persistence.core.migration.data.ProgressObserver;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
import org.apache.usergrid.persistence.entities.Group;
import org.apache.usergrid.persistence.exceptions.ApplicationAlreadyExistsException;
-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.MarkedEdge;
@@ -203,7 +202,7 @@ public class AppInfoMigrationPlugin implements MigrationPlugin {
}
// create and connect new APPLICATION_INFO oldAppInfo to Organization
- managementService.createApplication( orgRef.getUuid(), name, applicationId, null );
+ managementService.createApplication( orgRef.getUuid(), name, applicationId, null, true);
observer.update( getMaxVersion(), "Created application_info for " + appName );
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9028b24/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java b/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java
index cf2924b..e0afb46 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java
@@ -71,8 +71,8 @@ public interface ManagementService {
public ApplicationInfo createApplication( UUID organizationId, String applicationName ) throws Exception;
public ApplicationInfo createApplication( UUID organizationId, String applicationName,
Map<String, Object> properties ) throws Exception;
- public ApplicationInfo createApplication( UUID organizationId, String applicationName, UUID applicationId,
- Map<String, Object> properties ) throws Exception;
+ public ApplicationInfo createApplication(UUID organizationId, String applicationName, UUID applicationId,
+ Map<String, Object> properties, boolean forMigration) throws Exception;
public OrganizationInfo createOrganization(String organizationName, UserInfo user, boolean activated)
throws Exception;
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9028b24/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
----------------------------------------------------------------------
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 f252705..7e1622a 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
@@ -1619,12 +1619,12 @@ public class ManagementServiceImpl implements ManagementService {
@Override
public ApplicationInfo createApplication( UUID organizationId, String applicationName,
Map<String, Object> properties ) throws Exception {
- return createApplication(organizationId, applicationName, null, properties);
+ return createApplication(organizationId, applicationName, null, properties, false);
}
@Override
- public ApplicationInfo createApplication( UUID organizationId, String applicationName, UUID applicationId,
- Map<String, Object> properties ) throws Exception {
+ public ApplicationInfo createApplication(UUID organizationId, String applicationName, UUID applicationId,
+ Map<String, Object> properties, boolean forMigration) throws Exception {
if ( ( organizationId == null ) || ( applicationName == null ) ) {
return null;
@@ -1636,10 +1636,10 @@ public class ManagementServiceImpl implements ManagementService {
OrganizationInfo organizationInfo = getOrganizationByUuid( organizationId );
Entity appInfo = emf.createApplicationV2(
- organizationInfo.getName(), applicationName, applicationId ,properties);
+ organizationInfo.getName(), applicationName, applicationId ,properties, forMigration);
- // only generate a client secret on app creation when you're creating an app that doesn't already exist
- if( applicationId == null ){
+ // only generate a client secret on app creation when the app is not being created during appinfo migration
+ if( !forMigration ){
writeUserToken( smf.getManagementAppId(), appInfo,
encryptionService.plainTextCredentials(
http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9028b24/stack/services/src/test/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPluginTest.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPluginTest.java b/stack/services/src/test/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPluginTest.java
index ef97188..aa3ba70 100644
--- a/stack/services/src/test/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPluginTest.java
+++ b/stack/services/src/test/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPluginTest.java
@@ -120,7 +120,7 @@ public class AppInfoMigrationPluginTest {
List<Entity> deletedApps = new ArrayList<>();
setup.getEmf().initializeApplicationV2(
- CassandraService.DEFAULT_ORGANIZATION, AppInfoMigrationPlugin.SYSTEM_APP_ID, "systemapp", null);
+ CassandraService.DEFAULT_ORGANIZATION, AppInfoMigrationPlugin.SYSTEM_APP_ID, "systemapp", null, false);
EntityManager systemAppEm = setup.getEmf().getEntityManager( AppInfoMigrationPlugin.SYSTEM_APP_ID );