You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2015/03/20 00:26:47 UTC

[30/50] [abbrv] incubator-usergrid git commit: WIP overwrite

WIP overwrite


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

Branch: refs/heads/USERGRID-480
Commit: ade9714955600c9f23198ad18ff5d23d960b216d
Parents: 0c3b439
Author: Todd Nine <tn...@apigee.com>
Authored: Sun Mar 8 16:53:32 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Sun Mar 8 16:53:32 2015 -0600

----------------------------------------------------------------------
 .../corepersistence/CpEntityManagerFactory.java | 36 +-------------
 .../persistence/EntityManagerFactory.java       | 20 --------
 .../cassandra/EntityManagerFactoryImpl.java     | 23 ---------
 .../data/DataMigrationManagerImplTest.java      | 34 +++++++++++--
 .../apache/usergrid/rest/MigrateResource.java   | 52 +++++++++++++-------
 5 files changed, 63 insertions(+), 102 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ade97149/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 3b39bc9..8a1b0c4 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
@@ -109,7 +109,7 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
     private ManagerCache managerCache;
 
 
-    private DataMigrationManager dataMigrationManager;
+
 
     private CassandraService cassandraService;
     private CounterUtils counterUtils;
@@ -123,9 +123,6 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
         this.counterUtils = counterUtils;
         this.injector = injector;
         this.managerCache = injector.getInstance( ManagerCache.class );
-        this.dataMigrationManager = injector.getInstance( DataMigrationManager.class );
-
-
     }
 
 
@@ -165,8 +162,6 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
 
         if ( managerCache == null ) {
             managerCache = injector.getInstance( ManagerCache.class );
-
-            dataMigrationManager = injector.getInstance( DataMigrationManager.class );
         }
         return managerCache;
     }
@@ -779,35 +774,6 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
     }
 
 
-    @Override
-    public void migrateData() throws Exception {
-         dataMigrationManager.migrate();
-    }
-
-
-    @Override
-    public String getMigrateDataStatus() {
-    //TODO  USERGRID-405      return dataMigrationManager.getLastStatus();
-        return null;
-    }
-
-
-    @Override
-    public int getMigrateDataVersion() {
-        //TODO USERGRID-405
-        //return dataMigrationManager.getCurrentVersion();
-        return 0;
-    }
-
-
-    @Override
-    public void setMigrationVersion( final int version ) {
-        //TODO USERGRID-405
-//
-//        dataMigrationManager.resetToVersion( version );
-//        dataMigrationManager.invalidate();
-    }
-
 
     @Override
     public void flushEntityManagerCaches() {

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ade97149/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 880fe89..f706ac1 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
@@ -127,26 +127,6 @@ public interface EntityManagerFactory {
 
     public void rebuildApplicationIndexes( UUID appId, ProgressObserver po ) throws Exception;
 
-    /**
-     * Perform any data migrations necessary in the system
-     * @throws Exception
-     */
-    public void migrateData() throws Exception;
-
-    /**
-     * Return the migration status message
-     */
-    public String getMigrateDataStatus();
-
-    /**
-     * Return the current migration version of the system
-     */
-    public int getMigrateDataVersion();
-
-    /**
-     * Force the migration version to the specified version
-     */
-    public void setMigrationVersion(int version);
 
     /**
      * Perform a realtime count of every entity in the system.  This can be slow as it traverses the entire system graph

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ade97149/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
index af1eabc..7b55e5b 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
@@ -443,29 +443,6 @@ public class EntityManagerFactoryImpl implements EntityManagerFactory, Applicati
 
 
     @Override
-    public void migrateData() throws Exception {
-
-    }
-
-
-    @Override
-    public String getMigrateDataStatus() {
-        throw new UnsupportedOperationException("Not supported in v1");
-    }
-
-
-    @Override
-    public int getMigrateDataVersion() {
-        throw new UnsupportedOperationException("Not supported in v1");
-    }
-
-
-    @Override
-    public void setMigrationVersion( final int version ) {
-        throw new UnsupportedOperationException("Not supported in v1");
-    }
-
-    @Override
     public void addIndex(UUID appId, String suffix,final int shards,final int replicas,final String consistency) {
         throw new UnsupportedOperationException("Not supported in v1");
     }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ade97149/stack/corepersistence/common/src/test/java/org/apache/usergrid/persistence/core/migration/data/DataMigrationManagerImplTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/test/java/org/apache/usergrid/persistence/core/migration/data/DataMigrationManagerImplTest.java b/stack/corepersistence/common/src/test/java/org/apache/usergrid/persistence/core/migration/data/DataMigrationManagerImplTest.java
index 319282c..c2eef3f 100644
--- a/stack/corepersistence/common/src/test/java/org/apache/usergrid/persistence/core/migration/data/DataMigrationManagerImplTest.java
+++ b/stack/corepersistence/common/src/test/java/org/apache/usergrid/persistence/core/migration/data/DataMigrationManagerImplTest.java
@@ -299,12 +299,36 @@ public class DataMigrationManagerImplTest {
 
     @Test
     public void testLastStatus() {
-        fail( "writeme" );
-    }
 
+        final String name = "plugin1";
+        final String status = "some status";
 
-    @Test
-    public void testLastStatusNoPlugin() {
-        fail( "writeme" );
+        //linked hash set is intentional here.  For iteration order we can boostrap to come second so we can
+        //verify it was actually run first
+        final Set<MigrationPlugin> plugins = new LinkedHashSet<>();
+
+        MigrationPlugin plugin1 = mock( MigrationPlugin.class );
+        when( plugin1.getPhase() ).thenReturn( PluginPhase.MIGRATE );
+
+
+        when( plugin1.getName() ).thenReturn( name );
+
+
+
+        plugins.add( plugin1 );
+
+
+        final MigrationInfoSerialization migrationInfoSerialization = mock( MigrationInfoSerialization.class );
+        when(migrationInfoSerialization.getStatusMessage( name )).thenReturn( status  );
+
+
+        DataMigrationManagerImpl migrationManager = new DataMigrationManagerImpl( plugins, migrationInfoSerialization );
+
+        final String returnedStatus = migrationManager.getLastStatus( name );
+
+
+        assertEquals(status, returnedStatus);
     }
+
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ade97149/stack/rest/src/main/java/org/apache/usergrid/rest/MigrateResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/MigrateResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/MigrateResource.java
index 9ab5dc3..702d134 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/MigrateResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/MigrateResource.java
@@ -33,22 +33,25 @@ import javax.ws.rs.core.UriInfo;
 
 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;
 
+import org.apache.usergrid.persistence.core.migration.schema.MigrationManager;
 import org.apache.usergrid.rest.security.annotations.RequireSystemAccess;
 
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.google.common.base.Preconditions;
+import com.google.inject.Injector;
 import com.sun.jersey.api.json.JSONWithPadding;
 
 
 @Component
 @Scope( "singleton" )
 @Produces( {
-        MediaType.APPLICATION_JSON, "application/javascript", "application/x-javascript", "text/ecmascript",
-        "application/ecmascript", "text/jscript"
+    MediaType.APPLICATION_JSON, "application/javascript", "application/x-javascript", "text/ecmascript",
+    "application/ecmascript", "text/jscript"
 } )
 public class MigrateResource extends AbstractContextResource {
 
@@ -59,6 +62,8 @@ public class MigrateResource extends AbstractContextResource {
         logger.info( "SystemResource initialized" );
     }
 
+    @Autowired
+    private Injector guiceInjector;
 
 
     @RequireSystemAccess
@@ -66,13 +71,15 @@ public class MigrateResource extends AbstractContextResource {
     @Path( "run" )
     public JSONWithPadding migrateData( @Context UriInfo ui,
                                         @QueryParam( "callback" ) @DefaultValue( "callback" ) String callback )
-            throws Exception {
+        throws Exception {
 
         ApiResponse response = createApiResponse();
         response.setAction( "Migrate Data" );
         //TODO make this use the task scheduler
 
 
+
+
         final Thread migrate = new Thread() {
 
             @Override
@@ -80,7 +87,7 @@ public class MigrateResource extends AbstractContextResource {
                 logger.info( "Migrating Data " );
 
                 try {
-                    emf.migrateData();
+                    getMigrationManager().migrate();
                 }
                 catch ( Exception e ) {
                     logger.error( "Unable to migrate data", e );
@@ -99,21 +106,24 @@ public class MigrateResource extends AbstractContextResource {
     }
 
 
+
     @RequireSystemAccess
     @PUT
     @Path( "set" )
     public JSONWithPadding setMigrationVersion( @Context UriInfo ui, Map<String, Object> json,
                                                 @QueryParam( "callback" ) @DefaultValue( "" ) String callback )
-            throws Exception {
+        throws Exception {
 
         logger.debug( "newOrganization" );
 
         Preconditions.checkNotNull( json, "You must provide a json body" );
 
+        Preconditions.checke
+
         String version = ( String ) json.get( "version" );
 
-        Preconditions.checkArgument( version != null && version.length() > 0,
-                "You must specify a version field in your json" );
+        Preconditions
+            .checkArgument( version != null && version.length() > 0, "You must specify a version field in your json" );
 
 
         int intVersion = Integer.parseInt( version );
@@ -130,7 +140,7 @@ public class MigrateResource extends AbstractContextResource {
     @Path( "status" )
     public JSONWithPadding migrateStatus( @Context UriInfo ui,
                                           @QueryParam( "callback" ) @DefaultValue( "callback" ) String callback )
-            throws Exception {
+        throws Exception {
 
         ApiResponse response = createApiResponse();
         response.setAction( "Migrate Schema indexes" );
@@ -145,21 +155,25 @@ public class MigrateResource extends AbstractContextResource {
         return new JSONWithPadding( response, callback );
     }
 
+
     @RequireSystemAccess
-       @GET
-       @Path( "count" )
-       public JSONWithPadding migrateCount( @Context UriInfo ui,
-                                             @QueryParam( "callback" ) @DefaultValue( "callback" ) String callback )
-               throws Exception {
+    @GET
+    @Path( "count" )
+    public JSONWithPadding migrateCount( @Context UriInfo ui,
+                                         @QueryParam( "callback" ) @DefaultValue( "callback" ) String callback )
+        throws Exception {
 
-           ApiResponse response = createApiResponse();
-           response.setAction( "Current entity count in system" );
+        ApiResponse response = createApiResponse();
+        response.setAction( "Current entity count in system" );
 
-           response.setProperty( "count", emf.performEntityCount()  );
+        response.setProperty( "count", emf.performEntityCount() );
 
-           response.setSuccess();
+        response.setSuccess();
 
-           return new JSONWithPadding( response, callback );
-       }
+        return new JSONWithPadding( response, callback );
+    }
 
+    private MigrationManager getMigrationManager(){
+        return guiceInjector.getInstance( MigrationManager.class );
+    }
 }