Skip to content

Commit

Permalink
feat(core): record import for java 17 compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
tchiotludo committed Jan 11, 2023
1 parent f420d52 commit b45ea04
Show file tree
Hide file tree
Showing 11 changed files with 84 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import io.micronaut.data.model.Pageable;
import lombok.SneakyThrows;
import org.jooq.*;
import org.jooq.Record;
import org.jooq.impl.DSL;

import java.util.Arrays;
Expand Down
1 change: 1 addition & 0 deletions jdbc-h2/src/main/java/io/kestra/runner/h2/H2Queue.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import io.kestra.jdbc.runner.JdbcQueue;
import io.micronaut.context.ApplicationContext;
import org.jooq.*;
import org.jooq.Record;
import org.jooq.impl.DSL;
import org.jooq.impl.SQLDataType;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import io.micronaut.context.ApplicationContext;
import io.micronaut.data.model.Pageable;
import org.jooq.*;
import org.jooq.Record;
import org.jooq.impl.DSL;

import java.util.Arrays;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import io.kestra.jdbc.runner.JdbcQueue;
import io.micronaut.context.ApplicationContext;
import org.jooq.*;
import org.jooq.Record;
import org.jooq.impl.DSL;

import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import io.micronaut.data.model.Pageable;
import lombok.SneakyThrows;
import org.jooq.*;
import org.jooq.Record;
import org.jooq.impl.DSL;

import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
import io.micronaut.core.annotation.NonNull;
import lombok.SneakyThrows;
import org.jooq.*;
import org.jooq.Record;
import org.jooq.impl.DSL;
import org.jooq.impl.SQLDataType;

import java.util.List;
import java.util.Map;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import lombok.SneakyThrows;
import org.apache.commons.lang3.StringUtils;
import org.jooq.*;
import org.jooq.Record;
import org.jooq.impl.DSL;

import java.io.IOException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import lombok.SneakyThrows;
import org.apache.commons.lang3.tuple.Pair;
import org.jooq.*;
import org.jooq.Record;
import org.jooq.impl.DSL;

import java.time.Duration;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import jakarta.inject.Singleton;
import lombok.SneakyThrows;
import org.jooq.*;
import org.jooq.Record;
import org.jooq.impl.DSL;

import java.util.*;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
package io.kestra.jdbc.repository;

import io.kestra.core.models.flows.Flow;
import io.kestra.jdbc.AbstractJdbcRepository;
import org.jooq.*;
import org.jooq.Record;
import org.jooq.impl.DSL;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import static io.kestra.jdbc.repository.AbstractJdbcRepository.field;

public abstract class JdbcFlowRepositoryService {
public static Table<Record> lastRevision(AbstractJdbcRepository<Flow> jdbcRepository, boolean asterisk) {
List<SelectFieldOrAsterisk> fields = new ArrayList<>();
if (asterisk) {
fields.add(DSL.asterisk());
} else {
fields.add(field("key", String.class));
fields.add(field("revision", Integer.class));
}

fields.add(
DSL.rowNumber()
.over()
.partitionBy(field("namespace"), field("id"))
.orderBy(field("revision").desc())
.as("revision_rows")
);

return jdbcRepository
.getDslContextWrapper()
.transactionResult(configuration -> {
DSLContext context = DSL.using(configuration);

return context.select(DSL.asterisk())
.from(
context.select(fields)
.from(jdbcRepository.getTable())
.asTable("rev_ord")
)
.where(field("revision_rows").eq(1))
.asTable("rev");
});
}

public static Condition findCondition(AbstractJdbcRepository<Flow> jdbcRepository, String query, Map<String, String> labels) {
List<Condition> conditions = new ArrayList<>();

if (query != null) {
conditions.add(jdbcRepository.fullTextCondition(List.of("fulltext"), query));
}

if (labels != null) {
labels.forEach((key, value) -> {
Field<String> field = DSL.field("JQ_STRING(\"value\", '.labels." + key + "')", String.class);

if (value == null) {
conditions.add(field.isNotNull());
} else {
conditions.add(field.eq(value));
}
});
}

return conditions.size() == 0 ? DSL.trueCondition() : DSL.and(conditions);
}

public static Condition findSourceCodeCondition(AbstractJdbcRepository<Flow> jdbcRepository, String query) {
return jdbcRepository.fullTextCondition(List.of("source_code"), query);
}
}
1 change: 1 addition & 0 deletions jdbc/src/main/java/io/kestra/jdbc/runner/JdbcQueue.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.jooq.*;
import org.jooq.Record;
import org.jooq.impl.DSL;

import java.io.IOException;
Expand Down

0 comments on commit b45ea04

Please sign in to comment.