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/09/09 16:07:35 UTC
usergrid git commit: add comments;clean up;
Repository: usergrid
Updated Branches:
refs/heads/USERGRID-1005 803da96d6 -> 60bb149c7
add comments;clean up;
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/60bb149c
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/60bb149c
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/60bb149c
Branch: refs/heads/USERGRID-1005
Commit: 60bb149c752118e665b6416ea6e3762b0e7b5e2d
Parents: 803da96
Author: Shawn Feldman <sf...@apache.org>
Authored: Wed Sep 9 08:07:31 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Wed Sep 9 08:07:31 2015 -0600
----------------------------------------------------------------------
.../corepersistence/service/StatusService.java | 19 ++++++++++++++++++-
.../service/StatusServiceImpl.java | 17 +++++++++++------
2 files changed, 29 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/60bb149c/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/StatusService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/StatusService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/StatusService.java
index 37fac78..cb8e8ab 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/StatusService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/StatusService.java
@@ -29,14 +29,31 @@ import java.util.UUID;
* serializing job status or any kind
*/
public interface StatusService {
+ /**
+ * set status
+ * @param applicationdId
+ * @param jobStatusId
+ * @param status
+ * @param data
+ * @return job id
+ */
Observable<UUID> setStatus(final UUID applicationdId, final UUID jobStatusId, final Status status, final Map<String,Object> data );
- Observable<JobStatus> getStatus(final UUID applicationdId, final UUID jobId);
+ /**
+ * Get status based on app and job
+ * @param applicationId
+ * @param jobId
+ * @return
+ */
+ Observable<JobStatus> getStatus(final UUID applicationId, final UUID jobId);
enum Status{
STARTED, FAILED, INPROGRESS, COMPLETE, UNKNOWN;
}
+ /**
+ * Encapsulate job return
+ */
class JobStatus{
private final UUID jobStatusId;
private final Status status;
http://git-wip-us.apache.org/repos/asf/usergrid/blob/60bb149c/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/StatusServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/StatusServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/StatusServiceImpl.java
index 6a3a220..41462f7 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/StatusServiceImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/service/StatusServiceImpl.java
@@ -28,7 +28,8 @@ import org.apache.usergrid.persistence.map.MapManager;
import org.apache.usergrid.persistence.map.MapManagerFactory;
import org.apache.usergrid.persistence.map.impl.MapScopeImpl;
import org.apache.usergrid.persistence.model.entity.Id;
-import org.apache.usergrid.persistence.model.entity.SimpleId;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import rx.Observable;
import java.util.Map;
@@ -39,6 +40,8 @@ import java.util.UUID;
*/
public class StatusServiceImpl implements StatusService {
+ private static final Logger logger = LoggerFactory.getLogger(StatusServiceImpl.class);
+
private final MapManagerFactory mapManagerFactory;
final static String statusKey = "status";
final static String dataKey = "data";
@@ -59,20 +62,21 @@ public class StatusServiceImpl implements StatusService {
try {
final String dataString = MAPPER.writeValueAsString(data);
mapManager.putString(jobString + dataKey, dataString);
+ mapManager.putString(jobString + statusKey, status.toString());
+ sub.onNext(jobId);
+ sub.onCompleted();
} catch (Exception e) {
+ logger.error("Failed to serialize map",e);
throw new RuntimeException(e);
}
- mapManager.putString(jobString + statusKey, status.toString());
- sub.onNext(jobId);
- sub.onCompleted();
+
});
}
@Override
public Observable<JobStatus> getStatus(final UUID applicationId, UUID jobId) {
- final String jobString = StringUtils.sanitizeUUID(jobId);
-
return Observable.create(subscriber -> {
+ final String jobString = StringUtils.sanitizeUUID(jobId);
Id appId = CpNamingUtils.generateApplicationId(applicationId);
final MapManager mapManager = mapManagerFactory.createMapManager(new MapScopeImpl(appId, "status"));
try {
@@ -81,6 +85,7 @@ public class StatusServiceImpl implements StatusService {
subscriber.onNext(new JobStatus(jobId,status,data));
subscriber.onCompleted();
}catch (Exception e){
+ logger.error("Failed to parse map",e);
throw new RuntimeException(e);
}
});