@Override public JobModel from(UriInfo uriInfo, Job job) { JobModel jobModel = new JobModel(); jobModel.setId(job.getId()); jobModel.setName(job.getJobName()); jobModel.setExternalIds(job.getExternalIds()); jobModel.setType(job.getJobType().name()); jobModel.setStatus( new ResourceStatusModel( job.getStatus().name(), ZonedDateTime.ofInstant(job.getStatusTimestamp().toInstant(), ZoneId.systemDefault()))); jobModel.setPriority(job.getPriority()); jobModel.setCreated( ZonedDateTime.ofInstant(job.getCreated().toInstant(), ZoneId.systemDefault())); jobModel.setCreatedBy(job.getCreatedBy()); jobModel.setLastModified( ZonedDateTime.ofInstant(job.getLastModified().toInstant(), ZoneId.systemDefault())); jobModel.setLastModifiedBy(job.getLastModifiedBy()); ImmutableMap.Builder<String, Href> builder = ImmutableMap.builder(); builder.put("self", new Href(getJobResourceUrlAsString(uriInfo, job, null))); builder.put( "configuration", new Href(getJobResourceUrlAsString(uriInfo, job, "configuration"))); builder.put("status", new Href(getJobResourceUrlAsString(uriInfo, job, "status"))); jobModel.setLinks(builder.build()); return jobModel; }