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 2014/08/22 16:16:07 UTC

[71/95] [abbrv] git commit: Fixed the getConnections in the response of Get /includes and also fixed the updation of Import Job status if file job dies

Fixed the getConnections in the response of Get /includes and also fixed the updation of Import Job status if file job dies


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

Branch: refs/heads/import-feature
Commit: e0e7536351396e490e02a6c23bb1dc196395e00e
Parents: b321f93
Author: Pooja Jain <pj...@apigee.com>
Authored: Fri Aug 1 11:20:12 2014 -0700
Committer: Pooja Jain <pj...@apigee.com>
Committed: Fri Aug 1 11:20:12 2014 -0700

----------------------------------------------------------------------
 .../organizations/OrganizationResource.java     |  7 +++---
 .../management/importUG/FileImportJob.java      | 15 +++++++++++++
 .../management/importUG/ImportServiceImpl.java  | 23 +++++++++++++++-----
 3 files changed, 35 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e0e75363/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
index e9057b7..eca06ad 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
@@ -23,7 +23,7 @@ import org.apache.amber.oauth2.common.exception.OAuthSystemException;
 import org.apache.usergrid.management.ActivationState;
 import org.apache.usergrid.management.OrganizationInfo;
 import org.apache.usergrid.management.export.ExportService;
-import org.apache.usergrid.persistence.Entity;
+import org.apache.usergrid.persistence.Results;
 import org.apache.usergrid.persistence.cassandra.CassandraService;
 import org.apache.usergrid.persistence.entities.Export;
 import org.apache.usergrid.persistence.entities.Import;
@@ -51,7 +51,6 @@ import javax.ws.rs.core.Response;
 import javax.ws.rs.core.UriInfo;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.List;
 import java.util.UUID;
 
 import static javax.servlet.http.HttpServletResponse.*;
@@ -440,10 +439,10 @@ public class OrganizationResource extends AbstractContextResource {
     public Response importFileGetJson( @Context UriInfo ui, @PathParam("importEntity") UUID importEntityUUIDStr,
                                    @QueryParam("callback") @DefaultValue("") String callback ) throws Exception {
 
-        List<Entity> entity;
+        Results entity;
         try {
             entity = smf.getServiceManager( CassandraService.MANAGEMENT_APPLICATION_ID ).getEntityManager()
-                    .get( importEntityUUIDStr, Import.class ).getConnections("includes");
+                    .getConnectedEntities(importEntityUUIDStr ,"includes",null, Results.Level.ALL_PROPERTIES);
         }
         catch ( Exception e ) { //this might not be a bad request and needs better error checking
             return Response.status( SC_BAD_REQUEST ).type( JSONPUtils.jsonMediaType( callback ) )

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e0e75363/stack/services/src/main/java/org/apache/usergrid/management/importUG/FileImportJob.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/importUG/FileImportJob.java b/stack/services/src/main/java/org/apache/usergrid/management/importUG/FileImportJob.java
index 1e14116..9a6bf56 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/importUG/FileImportJob.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/importUG/FileImportJob.java
@@ -19,15 +19,21 @@ package org.apache.usergrid.management.importUG;
 
 import org.apache.usergrid.batch.JobExecution;
 import org.apache.usergrid.batch.job.OnlyOnceJob;
+import org.apache.usergrid.persistence.Entity;
 import org.apache.usergrid.persistence.EntityManager;
 import org.apache.usergrid.persistence.EntityManagerFactory;
+import org.apache.usergrid.persistence.Results;
 import org.apache.usergrid.persistence.entities.FileImport;
+import org.apache.usergrid.persistence.entities.Import;
 import org.apache.usergrid.persistence.entities.JobData;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+import java.util.UUID;
+
 import static org.apache.usergrid.persistence.cassandra.CassandraService.MANAGEMENT_APPLICATION_ID;
 
 /**
@@ -91,6 +97,15 @@ public class FileImportJob extends OnlyOnceJob {
         fileImport.setErrorMessage("The Job has been tried maximum times but still failed");
         fileImport.setState(FileImport.State.FAILED);
         rootEm.update(fileImport);
+
+        // If one file Job fails, mark the import Job also as failed
+        Results ImportJobResults = rootEm.getConnectingEntities(fileImport.getUuid(), "includes", null, Results.Level.ALL_PROPERTIES);
+        List<Entity> importEntity = ImportJobResults.getEntities();
+        UUID importId = importEntity.get(0).getUuid();
+        Import importUG = rootEm.get(importId, Import.class);
+        importUG.setState(Import.State.FAILED);
+        rootEm.update(importUG);
+
         //To change body of implemented methods use File | Settings | File Templates.
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e0e75363/stack/services/src/main/java/org/apache/usergrid/management/importUG/ImportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/importUG/ImportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/importUG/ImportServiceImpl.java
index fde115c..ed7516d 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/importUG/ImportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/importUG/ImportServiceImpl.java
@@ -17,7 +17,7 @@
 
 package org.apache.usergrid.management.importUG;
 
-        import org.apache.usergrid.batch.JobExecution;
+import org.apache.usergrid.batch.JobExecution;
 import org.apache.usergrid.batch.service.SchedulerService;
 import org.apache.usergrid.management.ApplicationInfo;
 import org.apache.usergrid.management.ManagementService;
@@ -254,7 +254,7 @@ public class ImportServiceImpl implements ImportService {
     @Override
     public FileImport getFileImportEntity( final JobExecution jobExecution ) throws Exception {
 
-        UUID fileImportId = ( UUID ) jobExecution.getJobData().getProperty("fileImportId");
+        UUID fileImportId = ( UUID ) jobExecution.getJobData().getProperty(FILE_IMPORT_ID);
         EntityManager em = emf.getEntityManager(MANAGEMENT_APPLICATION_ID);
 
         return em.get( fileImportId, FileImport.class );
@@ -379,6 +379,9 @@ public class ImportServiceImpl implements ImportService {
                 fileMetadata.put("files", value);
                 importUG.addProperties(fileMetadata);
                 em.update(importUG);
+
+                Results results = em.getConnectedEntities(importUG.getUuid(),"includes",null, Results.Level.ALL_PROPERTIES);
+                System.out.println();
             }
             return;
         }
@@ -513,8 +516,10 @@ public class ImportServiceImpl implements ImportService {
 
         // add properties to the import entity
         FileImport fileImport = getFileImportEntity(jobExecution);
-        File file = (File)jobExecution.getJobData().getProperty("file");
 
+        fileImport.setState(FileImport.State.STARTED);
+
+        File file = (File)jobExecution.getJobData().getProperty("file");
         EntityManager rootEm = emf.getEntityManager(MANAGEMENT_APPLICATION_ID);
 
         boolean completed = fileImport.getCompleted();
@@ -583,13 +588,19 @@ public class ImportServiceImpl implements ImportService {
 
                     //check other files status and mark the status of import Job.
 
-                    UUID importId = UUID.fromString(jobExecution.getJobData().getProperty("importUUID").toString());
+                    Results ImportJobResults = em.getConnectingEntities(fileImport.getUuid(), "includes", null, Results.Level.ALL_PROPERTIES);
+                    List<Entity> importEntity = ImportJobResults.getEntities();
+                    UUID importId = importEntity.get(0).getUuid();
                     Import importUG = rootEm.get(importId, Import.class);
-                    List<Entity> entities = importUG.getConnections("includes");
+
+                    Results entities = em.getConnectedEntities(importId,"includes",null,Results.Level.ALL_PROPERTIES);
+
+                    Iterator<Entity> resultIterator = entities.iterator();
 
                     int count = 0;
-                    for(Entity eachEntity: entities) {
+                    while (resultIterator.hasNext()){
 
+                        Entity eachEntity = resultIterator.next();
                         FileImport fi = em.get(eachEntity.getUuid(),FileImport.class);
                         if(fi.getState().equals("FINISHED")) {
                             count++;