Skip to content

Commit 5288aad

Browse files
authored
Add PIPELINES metadata table (#109)
1 parent c182634 commit 5288aad

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sMetadata.java

+7
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,17 @@ public class K8sMetadata extends AbstractSchema {
1313
private final Map<String, Table> tableMap = new HashMap<>();
1414
private final K8sDatabaseTable databaseTable;
1515
private final K8sEngineTable engineTable;
16+
private final K8sPipelineTable pipelineTable;
1617
private final K8sViewTable viewTable;
1718

1819
public K8sMetadata(K8sContext context) {
1920
this.engineTable = new K8sEngineTable(context);
2021
this.databaseTable = new K8sDatabaseTable(context, engineTable);
22+
this.pipelineTable = new K8sPipelineTable(context);
2123
this.viewTable = new K8sViewTable(context);
2224
tableMap.put("DATABASES", databaseTable);
2325
tableMap.put("ENGINES", engineTable);
26+
tableMap.put("PIPELINES", pipelineTable);
2427
tableMap.put("VIEWS", viewTable);
2528
}
2629

@@ -36,6 +39,10 @@ public K8sViewTable viewTable() {
3639
return viewTable;
3740
}
3841

42+
public K8sPipelineTable pipelineTable() {
43+
return pipelineTable;
44+
}
45+
3946
@Override
4047
public Map<String, Table> getTableMap() {
4148
return tableMap;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package com.linkedin.hoptimator.k8s;
2+
3+
import org.apache.calcite.schema.Schema;
4+
5+
import com.linkedin.hoptimator.k8s.models.V1alpha1Pipeline;
6+
import com.linkedin.hoptimator.k8s.models.V1alpha1PipelineList;
7+
import com.linkedin.hoptimator.k8s.models.V1alpha1PipelineSpec;
8+
9+
10+
public class K8sPipelineTable extends K8sTable<V1alpha1Pipeline, V1alpha1PipelineList, K8sPipelineTable.Row> {
11+
12+
// CHECKSTYLE:OFF
13+
public static class Row {
14+
public String NAME;
15+
public String STATUS;
16+
17+
public Row(String name, String status) {
18+
this.NAME = name;
19+
this.STATUS = status;
20+
}
21+
22+
@Override
23+
public String toString() {
24+
return String.join("\t", NAME, STATUS);
25+
}
26+
}
27+
// CHECKSTYLE:ON
28+
29+
public K8sPipelineTable(K8sContext context) {
30+
super(context, K8sApiEndpoints.PIPELINES, Row.class);
31+
}
32+
33+
@Override
34+
public Row toRow(V1alpha1Pipeline obj) {
35+
return new Row(obj.getMetadata().getName(), obj.getStatus().getMessage());
36+
}
37+
38+
@Override
39+
public Schema.TableType getJdbcTableType() {
40+
return Schema.TableType.SYSTEM_TABLE;
41+
}
42+
}

0 commit comments

Comments
 (0)