Skip to content
This repository was archived by the owner on Nov 22, 2020. It is now read-only.

Commit 429d944

Browse files
committed
Require namespace on all method calls
Signed-off-by: wslulciuc <[email protected]>
1 parent de6c230 commit 429d944

File tree

2 files changed

+139
-184
lines changed

2 files changed

+139
-184
lines changed

src/main/java/marquez/client/MarquezClient.java

Lines changed: 33 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -55,48 +55,34 @@ public class MarquezClient {
5555
@VisibleForTesting
5656
static final URL DEFAULT_BASE_URL = Utils.toUrl("http://localhost:8080/api/v1");
5757

58-
@VisibleForTesting static final String DEFAULT_NAMESPACE_NAME = "default";
59-
6058
@VisibleForTesting static final int DEFAULT_LIMIT = 100;
6159
@VisibleForTesting static final int DEFAULT_OFFSET = 0;
6260

6361
@VisibleForTesting final MarquezHttp http;
64-
@VisibleForTesting final String namespaceName;
6562

6663
public MarquezClient() {
67-
this(DEFAULT_BASE_URL, DEFAULT_NAMESPACE_NAME);
68-
}
69-
70-
public MarquezClient(final URL baseUrl) {
71-
this(baseUrl, DEFAULT_NAMESPACE_NAME);
64+
this(DEFAULT_BASE_URL);
7265
}
7366

74-
public MarquezClient(final String namespaceName) {
75-
this(DEFAULT_BASE_URL, namespaceName);
67+
public MarquezClient(final String baseUrlString) {
68+
this(Utils.toUrl(baseUrlString));
7669
}
7770

78-
public MarquezClient(final String baseUrlString, final String namespaceName) {
79-
this(Utils.toUrl(baseUrlString), namespaceName);
71+
public MarquezClient(@NonNull final URL baseUrl) {
72+
this(MarquezHttp.create(baseUrl, MarquezClient.Version.get()));
8073
}
8174

82-
public MarquezClient(@NonNull final URL baseUrl, final String namespaceName) {
83-
this(MarquezHttp.create(baseUrl, MarquezClient.Version.get()), namespaceName);
84-
}
85-
86-
MarquezClient(@NonNull final MarquezHttp http, @NonNull final String namespaceName) {
75+
MarquezClient(@NonNull final MarquezHttp http) {
8776
this.http = http;
88-
this.namespaceName = namespaceName;
8977
}
9078

91-
public Namespace createNamespace(@NonNull String namespaceName, @NonNull NamespaceMeta meta) {
92-
final String bodyAsJson = http.put(http.url("/namespaces/%s", namespaceName), meta.toJson());
79+
public Namespace createNamespace(
80+
@NonNull String namespaceName, @NonNull NamespaceMeta namespaceMeta) {
81+
final String bodyAsJson =
82+
http.put(http.url("/namespaces/%s", namespaceName), namespaceMeta.toJson());
9383
return Namespace.fromJson(bodyAsJson);
9484
}
9585

96-
public Namespace getNamespace() {
97-
return getNamespace(namespaceName);
98-
}
99-
10086
public Namespace getNamespace(@NonNull String namespaceName) {
10187
final String bodyAsJson = http.get(http.url("/namespaces/%s", namespaceName));
10288
return Namespace.fromJson(bodyAsJson);
@@ -111,8 +97,8 @@ public List<Namespace> listNamespaces(int limit, int offset) {
11197
return Namespaces.fromJson(bodyAsJson).getValue();
11298
}
11399

114-
public Source createSource(@NonNull String sourceName, @NonNull SourceMeta meta) {
115-
final String bodyAsJson = http.put(http.url("/sources/%s", sourceName), meta.toJson());
100+
public Source createSource(@NonNull String sourceName, @NonNull SourceMeta sourceMeta) {
101+
final String bodyAsJson = http.put(http.url("/sources/%s", sourceName), sourceMeta.toJson());
116102
return Source.fromJson(bodyAsJson);
117103
}
118104

@@ -121,14 +107,6 @@ public Source getSource(@NonNull String sourceName) {
121107
return Source.fromJson(bodyAsJson);
122108
}
123109

124-
public List<Source> listSources() {
125-
return listSources(namespaceName, DEFAULT_LIMIT, DEFAULT_OFFSET);
126-
}
127-
128-
public List<Source> listSources(int limit, int offset) {
129-
return listSources(namespaceName, limit, offset);
130-
}
131-
132110
public List<Source> listSources(String namespaceName) {
133111
return listSources(namespaceName, DEFAULT_LIMIT, DEFAULT_OFFSET);
134112
}
@@ -138,35 +116,23 @@ public List<Source> listSources(@NonNull String namespaceName, int limit, int of
138116
return Sources.fromJson(bodyAsJson).getValue();
139117
}
140118

141-
public Dataset createDataset(String datasetName, DatasetMeta meta) {
142-
return createDataset(namespaceName, datasetName, meta);
143-
}
144-
145119
public Dataset createDataset(
146-
@NonNull String namespaceName, @NonNull String datasetName, @NonNull DatasetMeta meta) {
120+
@NonNull String namespaceName,
121+
@NonNull String datasetName,
122+
@NonNull DatasetMeta datasetMeta) {
147123
final String bodyAsJson =
148-
http.put(http.url("/namespaces/%s/datasets/%s", namespaceName, datasetName), meta.toJson());
124+
http.put(
125+
http.url("/namespaces/%s/datasets/%s", namespaceName, datasetName),
126+
datasetMeta.toJson());
149127
return Dataset.fromJson(bodyAsJson);
150128
}
151129

152-
public Dataset getDataset(String datasetName) {
153-
return getDataset(namespaceName, datasetName);
154-
}
155-
156130
public Dataset getDataset(@NonNull String namespaceName, @NonNull String datasetName) {
157131
final String bodyAsJson =
158132
http.get(http.url("/namespaces/%s/datasets/%s", namespaceName, datasetName));
159133
return Dataset.fromJson(bodyAsJson);
160134
}
161135

162-
public List<Dataset> listDatasets() {
163-
return listDatasets(namespaceName, DEFAULT_LIMIT, DEFAULT_OFFSET);
164-
}
165-
166-
public List<Dataset> listDatasets(int limit, int offset) {
167-
return listDatasets(namespaceName, limit, offset);
168-
}
169-
170136
public List<Dataset> listDatasets(String namespaceName) {
171137
return listDatasets(namespaceName, DEFAULT_LIMIT, DEFAULT_OFFSET);
172138
}
@@ -178,10 +144,6 @@ public List<Dataset> listDatasets(@NonNull String namespaceName, int limit, int
178144
return Datasets.fromJson(bodyAsJson).getValue();
179145
}
180146

181-
public Dataset tagDatasetWith(@NonNull String datasetName, @NonNull String tagName) {
182-
return tagDatasetWith(namespaceName, datasetName, tagName);
183-
}
184-
185147
public Dataset tagDatasetWith(
186148
@NonNull String namespaceName, @NonNull String datasetName, @NonNull String tagName) {
187149
final String bodyAsJson =
@@ -190,12 +152,7 @@ public Dataset tagDatasetWith(
190152
return Dataset.fromJson(bodyAsJson);
191153
}
192154

193-
public Dataset tagDatasetFieldWith(
194-
@NonNull String datasetName, @NonNull String fieldName, @NonNull String tagName) {
195-
return tagDatasetFieldWith(namespaceName, datasetName, fieldName, tagName);
196-
}
197-
198-
public Dataset tagDatasetFieldWith(
155+
public Dataset tagFieldWith(
199156
@NonNull String namespaceName,
200157
@NonNull String datasetName,
201158
@NonNull String fieldName,
@@ -208,34 +165,18 @@ public Dataset tagDatasetFieldWith(
208165
return Dataset.fromJson(bodyAsJson);
209166
}
210167

211-
public Job createJob(String jobName, JobMeta meta) {
212-
return createJob(namespaceName, jobName, meta);
213-
}
214-
215168
public Job createJob(
216-
@NonNull String namespaceName, @NonNull String jobName, @NonNull JobMeta meta) {
169+
@NonNull String namespaceName, @NonNull String jobName, @NonNull JobMeta jobMeta) {
217170
final String bodyAsJson =
218-
http.put(http.url("/namespaces/%s/jobs/%s", namespaceName, jobName), meta.toJson());
171+
http.put(http.url("/namespaces/%s/jobs/%s", namespaceName, jobName), jobMeta.toJson());
219172
return Job.fromJson(bodyAsJson);
220173
}
221174

222-
public Job getJob(String jobName) {
223-
return getJob(namespaceName, jobName);
224-
}
225-
226175
public Job getJob(@NonNull String namespaceName, @NonNull String jobName) {
227176
final String bodyAsJson = http.get(http.url("/namespaces/%s/jobs/%s", namespaceName, jobName));
228177
return Job.fromJson(bodyAsJson);
229178
}
230179

231-
public List<Job> listJobs() {
232-
return listJobs(namespaceName, DEFAULT_LIMIT, DEFAULT_OFFSET);
233-
}
234-
235-
public List<Job> listJobs(int limit, int offset) {
236-
return listJobs(namespaceName, limit, offset);
237-
}
238-
239180
public List<Job> listJobs(String namespaceName) {
240181
return listJobs(namespaceName, DEFAULT_LIMIT, DEFAULT_OFFSET);
241182
}
@@ -246,25 +187,22 @@ public List<Job> listJobs(@NonNull String namespaceName, int limit, int offset)
246187
return Jobs.fromJson(bodyAsJson).getValue();
247188
}
248189

249-
public Run createRun(String jobName, RunMeta meta) {
250-
return createRun(namespaceName, jobName, meta, false);
251-
}
252-
253-
public Run createRun(String namespaceName, String jobName, RunMeta meta) {
254-
return createRun(namespaceName, jobName, meta, false);
190+
public Run createRun(String namespaceName, String jobName, RunMeta runMeta) {
191+
return createRun(namespaceName, jobName, runMeta, false);
255192
}
256193

257-
public Run createRun(String jobName, RunMeta meta, boolean markRunAsRunning) {
258-
return createRun(namespaceName, jobName, meta, markRunAsRunning);
194+
public Run createRunAndStart(String namespaceName, String jobName, RunMeta runMeta) {
195+
return createRun(namespaceName, jobName, runMeta, true);
259196
}
260197

261-
public Run createRun(
198+
private Run createRun(
262199
@NonNull String namespaceName,
263200
@NonNull String jobName,
264-
@NonNull RunMeta meta,
201+
@NonNull RunMeta runMeta,
265202
boolean markRunAsRunning) {
266203
final String bodyAsJson =
267-
http.post(http.url("/namespaces/%s/jobs/%s/runs", namespaceName, jobName), meta.toJson());
204+
http.post(
205+
http.url("/namespaces/%s/jobs/%s/runs", namespaceName, jobName), runMeta.toJson());
268206
final Run run = Run.fromJson(bodyAsJson);
269207
return (markRunAsRunning) ? markRunAsRunning(run.getId()) : run;
270208
}
@@ -274,14 +212,6 @@ public Run getRun(@NonNull String runId) {
274212
return Run.fromJson(bodyAsJson);
275213
}
276214

277-
public List<Run> listRuns(String jobName) {
278-
return listRuns(namespaceName, jobName, DEFAULT_LIMIT, DEFAULT_OFFSET);
279-
}
280-
281-
public List<Run> listRuns(String jobName, int limit, int offset) {
282-
return listRuns(namespaceName, jobName, limit, offset);
283-
}
284-
285215
public List<Run> listRuns(String namespaceName, String jobName) {
286216
return listRuns(namespaceName, jobName, DEFAULT_LIMIT, DEFAULT_OFFSET);
287217
}
@@ -312,7 +242,7 @@ public Run markRunAs(String runId, @NonNull RunState runState, @Nullable Instant
312242
return markRunAsFailed(runId, at);
313243
default:
314244
throw new IllegalArgumentException(
315-
String.format("Unexpected run state type: %s", runState.name()));
245+
String.format("Unexpected run state: %s", runState.name()));
316246
}
317247
}
318248

@@ -380,26 +310,19 @@ public static final class Builder {
380310

381311
private Builder() {
382312
this.baseUrl = DEFAULT_BASE_URL;
383-
this.namespaceName = System.getProperty(NAMESPACE_NAME_ENV_VAR, DEFAULT_NAMESPACE_NAME);
384313
}
385314

386-
public Builder baseUrl(@NonNull String baseUrl) {
387-
return baseUrl(Utils.toUrl(baseUrl));
315+
public Builder baseUrl(@NonNull String baseUrlString) {
316+
return baseUrl(Utils.toUrl(baseUrlString));
388317
}
389318

390319
public Builder baseUrl(@NonNull URL baseUrl) {
391320
this.baseUrl = baseUrl;
392321
return this;
393322
}
394323

395-
public Builder namespace(@NonNull String namespaceName) {
396-
this.namespaceName = namespaceName;
397-
return this;
398-
}
399-
400324
public MarquezClient build() {
401-
return new MarquezClient(
402-
MarquezHttp.create(baseUrl, MarquezClient.Version.get()), namespaceName);
325+
return new MarquezClient(MarquezHttp.create(baseUrl, MarquezClient.Version.get()));
403326
}
404327
}
405328

0 commit comments

Comments
 (0)