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++;