Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed Issue #358: rename class job #380

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
2eda3f0
renamed model Job to JobResponse
Violet-XiaoWeiHuang Mar 3, 2019
97e714c
Renamed class Job in JobDaoTest.java
Violet-XiaoWeiHuang Mar 3, 2019
9812f7d
Renamed class Job in JobIntegrationTest.java
Violet-XiaoWeiHuang Mar 3, 2019
6f739fb
Renamed class Job in JobVersionDaoTest.java
Violet-XiaoWeiHuang Mar 3, 2019
fdbde70
Renamed class Job in JobResourceTest.java
Violet-XiaoWeiHuang Mar 3, 2019
d7ce204
Renamed class Job in Generator.java
Violet-XiaoWeiHuang Mar 3, 2019
15292b8
updated Renamed class Job in JobDaoTest.java
Violet-XiaoWeiHuang Mar 3, 2019
9f44890
updated Renamed class Job in JobIntegrationTest.java
Violet-XiaoWeiHuang Mar 3, 2019
3166a7b
updated Renamed class Job in JobVersionDaoTest.java
Violet-XiaoWeiHuang Mar 3, 2019
9020e8d
updated Renamed class Job in JobResourceTest.java
Violet-XiaoWeiHuang Mar 3, 2019
e40b5a4
Renamed class Job in JobTest.java
Violet-XiaoWeiHuang Mar 3, 2019
88ae3a3
Renamed class Job in CoreJobToApiJobMapper.java
Violet-XiaoWeiHuang Mar 3, 2019
a59d43a
Renamed class Job in ApiJobToCoreJobMapper.java
Violet-XiaoWeiHuang Mar 3, 2019
716ad14
Renamed class Job in JobRowMapper.java
Violet-XiaoWeiHuang Mar 3, 2019
515f5e7
Renamed class Job in JobDao.java
Violet-XiaoWeiHuang Mar 3, 2019
9e30f8a
Renamed class Job in JobService.java
Violet-XiaoWeiHuang Mar 4, 2019
593c8aa
renamed model Job to JobResponse in src/main/java/marquez/service/mod…
Violet-XiaoWeiHuang Mar 4, 2019
daef48f
Renamed class Job in JobServiceIntegrationTest.java
Violet-XiaoWeiHuang Mar 4, 2019
4674a86
Renamed class Job in JobServiceTest.java
Violet-XiaoWeiHuang Mar 4, 2019
a3ecfff
Renamed class Job in JobResource.java
Violet-XiaoWeiHuang Mar 4, 2019
64a3ee4
Merge branch 'master' into issue358-rename_class_Job
Violet-XiaoWeiHuang Mar 4, 2019
03e75c9
updated JobsResponse.java
Violet-XiaoWeiHuang Mar 4, 2019
ef3e000
updated JobsResponse.java
Violet-XiaoWeiHuang Mar 4, 2019
bbb6eb4
updated JobsResponse.java
Violet-XiaoWeiHuang Mar 4, 2019
ced0f8a
Merge branch 'issue358-rename_class_Job' of https://github.com/Violet…
Violet-XiaoWeiHuang Mar 4, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/main/java/marquez/api/mappers/ApiJobToCoreJobMapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@

package marquez.api.mappers;

import marquez.api.models.Job;
import marquez.api.models.JobResponse;

public class ApiJobToCoreJobMapper extends Mapper<Job, marquez.service.models.Job> {
public class ApiJobToCoreJobMapper extends Mapper<JobResponse, marquez.service.models.JobResponse> {
@Override
public marquez.service.models.Job map(Job value) {
return new marquez.service.models.Job(
public marquez.service.models.JobResponse map(JobResponse value) {
return new marquez.service.models.JobResponse(
null,
value.getName(),
value.getLocation(),
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/marquez/api/mappers/CoreJobToApiJobMapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@

package marquez.api.mappers;

import marquez.api.models.Job;
import marquez.api.models.JobResponse;

public class CoreJobToApiJobMapper extends Mapper<marquez.service.models.Job, Job> {
public class CoreJobToApiJobMapper extends Mapper<marquez.service.models.JobResponse, JobResponse> {
@Override
public Job map(marquez.service.models.Job value) {
return new Job(
public JobResponse map(marquez.service.models.JobResponse value) {
return new JobResponse(
value.getName(),
value.getCreatedAt(),
value.getInputDatasetUrns(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
@Data
@AllArgsConstructor
@NoArgsConstructor
public final class Job {
public final class JobResponse {
private String name;

private Timestamp createdAt;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/marquez/api/models/JobsResponse.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@
@NoArgsConstructor
@AllArgsConstructor
public class JobsResponse {
@Getter private List<Job> jobs;
@Getter private List<JobsResponse> jobs;
}
12 changes: 6 additions & 6 deletions src/main/java/marquez/api/resources/JobResource.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
import marquez.service.JobService;
import marquez.service.NamespaceService;
import marquez.service.exceptions.MarquezServiceException;
import marquez.service.models.Job;
import marquez.service.models.JobResponse;
import marquez.service.models.JobRun;
import marquez.service.models.JobRunState;

Expand Down Expand Up @@ -76,17 +76,17 @@ public Response create(
if (!namespaceService.exists(namespace)) {
return Response.status(Response.Status.NOT_FOUND).build();
}
final Job jobToCreate =
final JobResponse jobToCreate =
apiJobToCoreJobMapper.map(
new marquez.api.models.Job(
new marquez.api.models.JobResponse(
job,
null,
request.getInputDatasetUrns(),
request.getOutputDatasetUrns(),
request.getLocation(),
request.getDescription().orElse(null)));
jobToCreate.setNamespaceGuid(namespaceService.get(namespace).get().getGuid());
final Job createdJob = jobService.createJob(namespace, jobToCreate);
final JobResponse createdJob = jobService.createJob(namespace, jobToCreate);
return Response.status(Response.Status.CREATED)
.entity(coreJobToApiJobMapper.map(createdJob))
.build();
Expand All @@ -107,7 +107,7 @@ public Response getJob(
if (!namespaceService.exists(namespace)) {
return Response.status(Response.Status.NOT_FOUND).entity("Namespace not found").build();
}
final Optional<Job> returnedJob = jobService.getJob(namespace, job);
final Optional<JobResponse> returnedJob = jobService.getJob(namespace, job);
if (returnedJob.isPresent()) {
return Response.ok().entity(coreJobToApiJobMapper.map(returnedJob.get())).build();
}
Expand All @@ -128,7 +128,7 @@ public Response listJobs(@PathParam("namespace") final String namespace)
if (!namespaceService.exists(namespace)) {
return Response.status(Response.Status.NOT_FOUND).build();
}
final List<Job> jobList = jobService.getAllJobsInNamespace(namespace);
final List<JobResponse> jobList = jobService.getAllJobsInNamespace(namespace);
final JobsResponse response = new JobsResponse(coreJobToApiJobMapper.map(jobList));
return Response.ok().entity(response).build();
} catch (MarquezServiceException e) {
Expand Down
16 changes: 8 additions & 8 deletions src/main/java/marquez/db/JobDao.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import java.util.List;
import java.util.UUID;
import marquez.db.mappers.JobRowMapper;
import marquez.service.models.Job;
import marquez.service.models.JobResponse;
import marquez.service.models.JobVersion;
import org.jdbi.v3.sqlobject.CreateSqlObject;
import org.jdbi.v3.sqlobject.config.RegisterRowMapper;
Expand All @@ -34,37 +34,37 @@ public interface JobDao {
@SqlUpdate(
"INSERT INTO jobs (guid, name, namespace_guid, description, input_dataset_urns, output_dataset_urns) "
+ " VALUES (:guid, :name, :namespaceGuid, :description, :inputDatasetUrns, :outputDatasetUrns)")
public void insert(@BindBean Job job);
public void insert(@BindBean JobResponse job);

@SqlUpdate("UPDATE jobs SET current_version_guid = :currentVersionGuid WHERE guid = :jobGuid")
public void setCurrentVersionGuid(UUID jobGuid, UUID currentVersionGuid);

@Transaction
default void insertJobAndVersion(final Job job, final JobVersion jobVersion) {
default void insertJobAndVersion(final JobResponse job, final JobVersion jobVersion) {
insert(job);
createJobVersionDao().insert(jobVersion);
setCurrentVersionGuid(job.getGuid(), jobVersion.getGuid());
}

@SqlQuery(
"SELECT j.*, jv.uri FROM jobs j INNER JOIN job_versions jv ON (j.guid = :guid AND j.current_version_guid = jv.guid)")
Job findByID(UUID guid);
JobResponse findByID(@Bind("guid") UUID guid);

@SqlQuery(
"SELECT j.*, jv.uri "
+ "FROM jobs j "
+ "INNER JOIN job_versions jv "
+ " ON (j.current_version_guid = jv.guid) "
+ "INNER JOIN namespaces n "
+ " ON (j.namespace_guid = n.guid AND n.name = :namespace AND j.name = :name)")
Job findByName(String namespace, String name);
+ " ON (j.namespace_guid = n.guid AND n.name = :ns_name AND j.name = :job_name)")
JobResponse findByName(@Bind("ns_name") String namespace, @Bind("job_name") String name);

@SqlQuery(
"SELECT j.*, jv.uri "
+ "FROM jobs j "
+ "INNER JOIN job_versions jv "
+ " ON (j.current_version_guid = jv.guid) "
+ "INNER JOIN namespaces n "
+ " ON (j.namespace_guid = n.guid AND n.name = :namespaceName)")
List<Job> findAllInNamespace(String namespaceName);
+ " ON (j.namespace_guid = n.guid AND n.name = :ns_name)")
List<JobResponse> findAllInNamespace(@Bind("ns_name") String namespaceName);
}
8 changes: 4 additions & 4 deletions src/main/java/marquez/db/mappers/JobRowMapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@
import java.util.UUID;
import lombok.NonNull;
import marquez.db.Columns;
import marquez.service.models.Job;
import marquez.service.models.JobResponse;
import org.jdbi.v3.core.mapper.RowMapper;
import org.jdbi.v3.core.statement.StatementContext;

public final class JobRowMapper implements RowMapper<Job> {
public final class JobRowMapper implements RowMapper<JobResponse> {
@Override
public Job map(@NonNull ResultSet results, @NonNull StatementContext context)
public JobResponse map(@NonNull ResultSet results, @NonNull StatementContext context)
throws SQLException {
return new Job(
return new JobResponse(
results.getObject(Columns.ROW_UUID, UUID.class),
results.getString(Columns.NAME),
results.getString(Columns.LOCATION),
Expand Down
22 changes: 11 additions & 11 deletions src/main/java/marquez/service/JobService.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import marquez.db.JobRunDao;
import marquez.db.JobVersionDao;
import marquez.service.exceptions.MarquezServiceException;
import marquez.service.models.Job;
import marquez.service.models.JobResponse;
import marquez.service.models.JobRun;
import marquez.service.models.JobRunState;
import marquez.service.models.JobVersion;
Expand All @@ -52,7 +52,7 @@ public JobService(
this.jobRunArgsDao = jobRunArgsDao;
}

public Optional<Job> getJob(String namespace, String jobName) throws MarquezServiceException {
public Optional<JobResponse> getJob(String namespace, String jobName) throws MarquezServiceException {
try {
return Optional.ofNullable(jobDao.findByName(namespace, jobName));
} catch (UnableToExecuteStatementException e) {
Expand All @@ -62,12 +62,12 @@ public Optional<Job> getJob(String namespace, String jobName) throws MarquezServ
}
}

public Job createJob(String namespace, Job job) throws MarquezServiceException {
public JobResponse createJob(String namespace, JobResponse job) throws MarquezServiceException {
try {
Job existingJob = this.jobDao.findByName(namespace, job.getName());
JobResponse existingJob = this.jobDao.findByName(namespace, job.getName());
if (existingJob == null) {
Job newJob =
new Job(
JobResponse newJob =
new JobResponse(
UUID.randomUUID(),
job.getName(),
job.getLocation(),
Expand All @@ -78,8 +78,8 @@ public Job createJob(String namespace, Job job) throws MarquezServiceException {
jobDao.insertJobAndVersion(newJob, JobService.createJobVersion(newJob));
return jobDao.findByID(newJob.getGuid());
} else {
Job existingJobWithNewUri =
new Job(
JobResponse existingJobWithNewUri =
new JobResponse(
existingJob.getGuid(),
existingJob.getName(),
job.getLocation(),
Expand All @@ -102,7 +102,7 @@ public Job createJob(String namespace, Job job) throws MarquezServiceException {
}
}

public List<Job> getAllJobsInNamespace(String namespace) throws MarquezServiceException {
public List<JobResponse> getAllJobsInNamespace(String namespace) throws MarquezServiceException {
try {
return jobDao.findAllInNamespace(namespace);
} catch (UnableToExecuteStatementException e) {
Expand Down Expand Up @@ -208,7 +208,7 @@ public JobRun createJobRun(
}
}

private static JobVersion createJobVersion(Job job) {
private static JobVersion createJobVersion(JobResponse job) {
return new JobVersion(
UUID.randomUUID(),
job.getGuid(),
Expand All @@ -219,7 +219,7 @@ private static JobVersion createJobVersion(Job job) {
null);
}

protected static UUID computeVersion(Job job) {
protected static UUID computeVersion(JobResponse job) {
return UUID.nameUUIDFromBytes(
String.format("%s:%s", job.getGuid(), job.getLocation()).getBytes());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

@AllArgsConstructor
@EqualsAndHashCode
public final class Job {
public final class JobResponse {
@NonNull @Getter private final UUID guid;
@NonNull @Getter private final String name;
@NonNull @Getter private final String location;
Expand All @@ -35,7 +35,7 @@ public final class Job {
@Getter private final List<String> outputDatasetUrns;
@Getter private final Timestamp createdAt;

public Job(
public JobResponse(
final UUID guid,
final String name,
final String location,
Expand Down
20 changes: 10 additions & 10 deletions src/test/java/marquez/api/JobIntegrationTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import marquez.api.models.Job;
import marquez.api.models.JobResponse;
import marquez.api.models.JobRequest;
import marquez.api.models.JobRunRequest;
import marquez.api.models.JobRunResponse;
Expand Down Expand Up @@ -80,15 +80,15 @@ public static void setup() throws MarquezServiceException {
NAMESPACE_NAME = generatedNamespace.getName();
CREATED_NAMESPACE_UUID = generatedNamespace.getGuid();

marquez.service.models.Job job = Generator.genJob(generatedNamespace.getGuid());
marquez.service.models.Job createdJob = jobService.createJob(NAMESPACE_NAME, job);
marquez.service.models.JobResponse job = Generator.genJob(generatedNamespace.getGuid());
marquez.service.models.JobResponse createdJob = jobService.createJob(NAMESPACE_NAME, job);

CREATED_JOB_NAME = createdJob.getName();
}

@Test
public void testJobCreationResponseEndToEnd() {
Job jobForJobCreationRequest = generateApiJob();
JobResponse jobForJobCreationRequest = generateApiJob();

Response res = createJobOnNamespace(NAMESPACE_NAME, jobForJobCreationRequest);
assertEquals(Response.Status.CREATED.getStatusCode(), res.getStatus());
Expand All @@ -97,7 +97,7 @@ public void testJobCreationResponseEndToEnd() {

@Test
public void testJobGetterResponseEndToEnd() {
Job jobForJobCreationRequest = generateApiJob();
JobResponse jobForJobCreationRequest = generateApiJob();

Response res = createJobOnNamespace(NAMESPACE_NAME, jobForJobCreationRequest);
assertEquals(Response.Status.CREATED.getStatusCode(), res.getStatus());
Expand Down Expand Up @@ -242,8 +242,8 @@ public void testJobRunAfterMarkedAbortedEndToEnd() {
assertThat(getJobRunResponse.getRunState()).isEqualTo(JobRunState.State.ABORTED.name());
}

private void evaluateResponse(Response res, Job inputJob) {
Job responseJob = res.readEntity(Job.class);
private void evaluateResponse(Response res, JobResponse inputJob) {
JobResponse responseJob = res.readEntity(JobResponse.class);
assertEquals(inputJob.getName(), responseJob.getName());
assertEquals(inputJob.getDescription(), responseJob.getDescription());
assertEquals(inputJob.getLocation(), responseJob.getLocation());
Expand All @@ -254,7 +254,7 @@ private void evaluateResponse(Response res, Job inputJob) {
assertNotNull(responseJob.getCreatedAt());
}

private Response createJobOnNamespace(String namespace, Job job) {
private Response createJobOnNamespace(String namespace, JobResponse job) {
JobRequest jobRequest =
new JobRequest(
job.getInputDatasetUrns(),
Expand All @@ -270,13 +270,13 @@ private Response createJobOnNamespace(String namespace, Job job) {
.put(Entity.json(jobRequest));
}

static Job generateApiJob() {
static JobResponse generateApiJob() {
String jobName = "myJob" + System.currentTimeMillis();
final String location = "someLocation";
final String description = "someDescription";
final List<String> inputList = Collections.singletonList("input1");
final List<String> outputList = Collections.singletonList("output1");
return new Job(jobName, null, inputList, outputList, location, description);
return new JobResponse(jobName, null, inputList, outputList, location, description);
}

private JobRunResponse getJobRunApiResponse(UUID jobRunGuid) {
Expand Down
Loading