private MSubmission restoreSubmission(Object obj) { JSONObject object = (JSONObject) obj; MSubmission submission = new MSubmission(); Long jobId = (Long) object.get(JOB_ID); if (jobId == null) { jobId = (Long) object.get(JOB); } submission.setJobId(jobId); submission.setStatus(SubmissionStatus.valueOf((String) object.get(STATUS))); submission.setProgress((Double) object.get(PROGRESS)); if (object.containsKey(CREATION_USER)) { submission.setCreationUser((String) object.get(CREATION_USER)); } if (object.containsKey(CREATION_DATE)) { submission.setCreationDate(new Date((Long) object.get(CREATION_DATE))); } if (object.containsKey(LAST_UPDATE_USER)) { submission.setLastUpdateUser((String) object.get(LAST_UPDATE_USER)); } if (object.containsKey(LAST_UPDATE_DATE)) { submission.setLastUpdateDate(new Date((Long) object.get(LAST_UPDATE_DATE))); } if (object.containsKey(EXTERNAL_ID)) { submission.setExternalJobId((String) object.get(EXTERNAL_ID)); } if (object.containsKey(EXTERNAL_LINK)) { submission.setExternalLink((String) object.get(EXTERNAL_LINK)); } if (object.containsKey(ERROR_SUMMARY)) { submission.getError().setErrorSummary((String) object.get(ERROR_SUMMARY)); } if (object.containsKey(ERROR_DETAILS)) { submission.getError().setErrorDetails((String) object.get(ERROR_DETAILS)); } if (object.containsKey(COUNTERS)) { submission.setCounters(restoreCounters((JSONObject) object.get(COUNTERS))); } if (object.containsKey(FROM_SCHEMA)) { submission.setFromSchema(restoreSchema((JSONObject) object.get(FROM_SCHEMA))); } if (object.containsKey(TO_SCHEMA)) { submission.setToSchema(restoreSchema((JSONObject) object.get(TO_SCHEMA))); } return submission; }