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:24 UTC

[20/50] incubator-usergrid git commit: Apparently, we need both data and regular migrations.

Apparently, we need both data and regular migrations.


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

Branch: refs/heads/two-dot-o-dev
Commit: 01d22ec13cb3e05ab280e7a63be95c774c07ce25
Parents: 44b5690
Author: Dave Johnson <dm...@apigee.com>
Authored: Thu Mar 12 18:16:37 2015 -0400
Committer: Dave Johnson <dm...@apigee.com>
Committed: Thu Mar 12 18:16:37 2015 -0400

----------------------------------------------------------------------
 .../apache/usergrid/rest/MigrateResource.java   | 50 +++++++++++++-------
 1 file changed, 34 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/01d22ec1/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 f249512..27055f3 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
@@ -52,23 +52,24 @@ 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 {
 
     private static final Logger logger = LoggerFactory.getLogger( MigrateResource.class );
 
-
     public MigrateResource() {
         logger.info( "SystemResource initialized" );
     }
 
-
     @Autowired
     private Injector guiceInjector;
 
-
     @RequireSystemAccess
     @PUT
     @Path( "run" )
@@ -85,7 +86,17 @@ public class MigrateResource extends AbstractContextResource {
 
             @Override
             public void run() {
-                logger.info( "Migrating Data " );
+
+                logger.info( "Migrating Schema" );
+
+                try {
+                    getMigrationManager().migrate();
+                }
+                catch ( Exception e ) {
+                    logger.error( "Unable to migrate data", e );
+                }
+
+                logger.info( "Migrating Data" );
 
                 try {
                     getDataMigrationManager().migrate();
@@ -100,7 +111,6 @@ public class MigrateResource extends AbstractContextResource {
         migrate.setDaemon( true );
         migrate.start();
 
-
         response.setSuccess();
 
         return new JSONWithPadding( response, callback );
@@ -110,15 +120,14 @@ public class MigrateResource extends AbstractContextResource {
     @RequireSystemAccess
     @PUT
     @Path( "set" )
-    public JSONWithPadding setMigrationVersion( @Context UriInfo ui, Map<String, Object> json,
-                                                @QueryParam( "callback" ) @DefaultValue( "" ) String callback )
+    public JSONWithPadding setMigrationVersion(
+        @Context UriInfo ui, Map<String, Object> json,
+        @QueryParam( "callback" ) @DefaultValue( "" ) String callback )
         throws Exception {
 
         logger.debug( "setMigrationVersion" );
 
         Preconditions.checkNotNull( json, "You must provide a json body" );
-
-
         Preconditions.checkArgument( json.keySet().size() > 0, "You must specify at least one module and version" );
 
         /**
@@ -144,8 +153,9 @@ public class MigrateResource extends AbstractContextResource {
     @RequireSystemAccess
     @GET
     @Path( "status" )
-    public JSONWithPadding migrateStatus( @Context UriInfo ui,
-                                          @QueryParam( "callback" ) @DefaultValue( "callback" ) String callback )
+    public JSONWithPadding migrateStatus(
+        @Context UriInfo ui,
+        @QueryParam( "callback" ) @DefaultValue( "callback" ) String callback )
         throws Exception {
 
         ApiResponse response = createApiResponse();
@@ -172,8 +182,9 @@ public class MigrateResource extends AbstractContextResource {
     @RequireSystemAccess
     @GET
     @Path( "count" )
-    public JSONWithPadding migrateCount( @Context UriInfo ui,
-                                         @QueryParam( "callback" ) @DefaultValue( "callback" ) String callback )
+    public JSONWithPadding migrateCount(
+        @Context UriInfo ui,
+        @QueryParam( "callback" ) @DefaultValue( "callback" ) String callback )
         throws Exception {
 
         ApiResponse response = createApiResponse();
@@ -188,7 +199,14 @@ public class MigrateResource extends AbstractContextResource {
 
 
     /**
-     * Get the Data migraiton manager
+     * Get the schema migration manager
+     */
+    private MigrationManager getMigrationManager() {
+        return guiceInjector.getInstance( MigrationManager.class );
+    }
+
+    /**
+     * Get the Data migration manager
      */
     private DataMigrationManager getDataMigrationManager() {
         return guiceInjector.getInstance( DataMigrationManager.class );