Skip to content

Commit 76b90fc

Browse files
authored
Merge pull request #103 from RADAR-base/oura-rest-connector
Add Oura Rest Connector implementation
2 parents 21b789a + 269cb71 commit 76b90fc

File tree

14 files changed

+1292
-0
lines changed

14 files changed

+1292
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
description = "Kafka connector for Oura API source"
2+
3+
dependencies {
4+
api(project(":kafka-connect-rest-source"))
5+
api(project(":oura-library"))
6+
api("io.confluent:kafka-connect-avro-converter:${Versions.confluent}")
7+
api("org.radarbase:radar-schemas-commons:${Versions.radarSchemas}")
8+
implementation("org.radarbase:radar-commons-kotlin:${Versions.radarCommons}")
9+
10+
implementation(platform("com.fasterxml.jackson:jackson-bom:${Versions.jackson}"))
11+
implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml")
12+
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
13+
implementation("com.google.firebase:firebase-admin:${Versions.firebaseAdmin}")
14+
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21")
15+
16+
implementation("io.ktor:ktor-client-auth:${Versions.ktor}")
17+
implementation("io.ktor:ktor-client-content-negotiation:${Versions.ktor}")
18+
implementation("io.ktor:ktor-serialization-jackson:${Versions.ktor}")
19+
implementation("io.ktor:ktor-client-cio-jvm:${Versions.ktor}")
20+
implementation("io.ktor:ktor-serialization-kotlinx-json:${Versions.ktor}")
21+
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:${Versions.jackson}")
22+
23+
// Included in connector runtime
24+
compileOnly("org.apache.kafka:connect-api:${Versions.kafka}")
25+
compileOnly(platform("com.fasterxml.jackson:jackson-bom:${Versions.jackson}"))
26+
compileOnly("com.fasterxml.jackson.core:jackson-databind")
27+
28+
testImplementation("org.apache.kafka:connect-api:${Versions.kafka}")
29+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package org.radarbase.connect.rest.oura;
2+
3+
/*
4+
* Copyright 2018 The Hyve
5+
*
6+
* Licensed under the Apache License, Version 2.0 (the "License");
7+
* you may not use this file except in compliance with the License.
8+
* You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
*
18+
*/
19+
20+
import java.util.Collections;
21+
import java.util.HashMap;
22+
import java.util.List;
23+
import java.util.Map;
24+
import org.apache.kafka.connect.connector.Task;
25+
import org.apache.kafka.connect.source.SourceConnector;
26+
import org.radarbase.connect.rest.util.VersionUtil;
27+
28+
@SuppressWarnings("unused")
29+
public abstract class AbstractRestSourceConnector extends SourceConnector {
30+
protected OuraRestSourceConnectorConfig config;
31+
32+
@Override
33+
public String version() {
34+
return VersionUtil.getVersion();
35+
}
36+
37+
@Override
38+
public Class<? extends Task> taskClass() {
39+
return OuraSourceTask.class;
40+
}
41+
42+
@Override
43+
public List<Map<String, String>> taskConfigs(int maxTasks) {
44+
return Collections.nCopies(maxTasks, new HashMap<>(config.originalsStrings()));
45+
}
46+
47+
@Override
48+
public void start(Map<String, String> props) {
49+
config = getConfig(props);
50+
}
51+
52+
public abstract OuraRestSourceConnectorConfig getConfig(Map<String, String> conf);
53+
54+
@Override
55+
public void stop() {
56+
}
57+
}

0 commit comments

Comments
 (0)