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/03/30 21:58:29 UTC

[25/50] incubator-usergrid git commit: Do not trust the organizationUuid stored in the appinfo entities, it is different from the actual Group UUID that we need. Also, do not delete appinfos -- just in case.

Do not trust the organizationUuid stored in the appinfo entities, it is different from the actual Group UUID that we need. Also, do not delete appinfos -- just in case.


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

Branch: refs/heads/two-dot-o-dev
Commit: f8378834b9beabd87049bb575edb59b61d25a03c
Parents: 055eb91
Author: Dave Johnson <dm...@apigee.com>
Authored: Fri Mar 13 15:06:50 2015 -0400
Committer: Dave Johnson <dm...@apigee.com>
Committed: Fri Mar 13 15:06:50 2015 -0400

----------------------------------------------------------------------
 .../migration/AppInfoMigrationPlugin.java       | 25 +++++++++-----------
 1 file changed, 11 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f8378834/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPlugin.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPlugin.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPlugin.java
index 3d386d9..1f8f784 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPlugin.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPlugin.java
@@ -90,7 +90,8 @@ public class AppInfoMigrationPlugin implements MigrationPlugin {
 
             // we found appinfos, let's migrate them to application_infos in the Management App
 
-            EntityManager em = emf.getEntityManager( emf.getManagementAppId());
+            final EntityManager em = emf.getEntityManager( emf.getManagementAppId());
+
             String currentAppName = null;
             try {
                 logger.info("Migrating old appinfos");
@@ -98,9 +99,9 @@ public class AppInfoMigrationPlugin implements MigrationPlugin {
                 for (Entity oldAppInfo : results.getEntities()) {
 
                     final String appName = currentAppName = oldAppInfo.getName();
+                    final String orgName = appName.split("/")[0];
 
                     UUID applicationId;
-                    UUID organizationId;
 
                     Object uuidObject = oldAppInfo.getProperty("applicationUuid");
                     if (uuidObject instanceof UUID) {
@@ -108,12 +109,6 @@ public class AppInfoMigrationPlugin implements MigrationPlugin {
                     } else {
                         applicationId = UUIDUtils.tryExtractUUID(uuidObject.toString());
                     }
-                    uuidObject = oldAppInfo.getProperty("organizationUuid");
-                    if (uuidObject instanceof UUID) {
-                        organizationId = (UUID) uuidObject;
-                    } else {
-                        organizationId = UUIDUtils.tryExtractUUID(uuidObject.toString());
-                    }
 
                     // create and connect new APPLICATION_INFO oldAppInfo to Organization
 
@@ -133,16 +128,18 @@ public class AppInfoMigrationPlugin implements MigrationPlugin {
                         em.update(appInfo);
                         observer.update( getMaxVersion(), "Updated existing application_info for " + appName);
                     }
-                    em.createConnection(new SimpleEntityRef(Group.ENTITY_TYPE, organizationId), "owns", appInfo);
+
+                    // create org->app connections, but not for apps in dummy "usergrid" internal organization
+
+                    if ( !orgName.equals("usergrid") ) {
+                        EntityRef orgRef = em.getAlias(Group.ENTITY_TYPE, appName.split("/")[0]);
+                        em.createConnection(orgRef, "owns", appInfo);
+                    }
                 }
 
                 em.refreshIndex();
 
-                // after we've successfully created all of the application_infos, we delete the old appoinfos
-
-                for (Entity oldAppInfo : results.getEntities()) {
-                    em.delete(oldAppInfo);
-                }
+                // note that the old appinfos are not deleted
 
                 migrationInfoSerialization.setVersion( getName(), getMaxVersion() );