Skip to content

Commit

Permalink
Merge branch 'main' into integ/sl_GoogleJavaFormat2
Browse files Browse the repository at this point in the history
Signed-off-by: Mitchell Gale <[email protected]>
  • Loading branch information
MitchellGale authored Aug 3, 2023
2 parents ad948b8 + 605f3df commit 6b34cc8
Show file tree
Hide file tree
Showing 149 changed files with 295 additions and 480 deletions.
7 changes: 4 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,11 @@ spotless {
// " * Copyright OpenSearch Contributors\n" +
// " * SPDX-License-Identifier: Apache-2.0\n" +
// " */\n\n\n")
// removeUnusedImports()
// trimTrailingWhitespace()
// endWithNewline()
removeUnusedImports()
trimTrailingWhitespace()
endWithNewline()
googleJavaFormat('1.17.0').reflowLongStrings().groupArtifact('com.google.googlejavaformat:google-java-format')

}
}

Expand Down
336 changes: 168 additions & 168 deletions common/src/main/java/org/opensearch/sql/common/grok/Converter.java
Original file line number Diff line number Diff line change
@@ -1,168 +1,168 @@
/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/

package org.opensearch.sql.common.grok;

import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
import java.util.AbstractMap;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

/**
* Convert String argument to the right type.
*/
public class Converter {

public enum Type {
BYTE(Byte::valueOf),
BOOLEAN(Boolean::valueOf),
SHORT(Short::valueOf),
INT(Integer::valueOf, "integer"),
LONG(Long::valueOf),
FLOAT(Float::valueOf),
DOUBLE(Double::valueOf),
DATETIME(new DateConverter(), "date"),
STRING(v -> v, "text");

public final IConverter<? extends Object> converter;
public final List<String> aliases;

Type(IConverter<? extends Object> converter, String... aliases) {
this.converter = converter;
this.aliases = Arrays.asList(aliases);
}
}

private static final Pattern SPLITTER = Pattern.compile("[:;]");

private static final Map<String, Type> TYPES =
Arrays.stream(Type.values())
.collect(Collectors.toMap(t -> t.name().toLowerCase(), t -> t));

private static final Map<String, Type> TYPE_ALIASES =
Arrays.stream(Type.values())
.flatMap(type -> type.aliases.stream()
.map(alias -> new AbstractMap.SimpleEntry<>(alias, type)))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));

private static Type getType(String key) {
key = key.toLowerCase();
Type type = TYPES.getOrDefault(key, TYPE_ALIASES.get(key));
if (type == null) {
throw new IllegalArgumentException("Invalid data type :" + key);
}
return type;
}

/**
* getConverters.
*/
public static Map<String, IConverter<? extends Object>>
getConverters(Collection<String> groupNames, Object... params) {
return groupNames.stream()
.filter(Converter::containsDelimiter)
.collect(Collectors.toMap(Function.identity(), key -> {
String[] list = splitGrokPattern(key);
IConverter<? extends Object> converter = getType(list[1]).converter;
if (list.length == 3) {
converter = converter.newConverter(list[2], params);
}
return converter;
}));
}

/**
* getGroupTypes.
*/
public static Map<String, Type> getGroupTypes(Collection<String> groupNames) {
return groupNames.stream()
.filter(Converter::containsDelimiter)
.map(Converter::splitGrokPattern)
.collect(Collectors.toMap(
l -> l[0],
l -> getType(l[1])
));
}

public static String extractKey(String key) {
return splitGrokPattern(key)[0];
}

private static boolean containsDelimiter(String string) {
return string.indexOf(':') >= 0 || string.indexOf(';') >= 0;
}

private static String[] splitGrokPattern(String string) {
return SPLITTER.split(string, 3);
}

interface IConverter<T> {

T convert(String value);

default IConverter<T> newConverter(String param, Object... params) {
return this;
}
}


static class DateConverter implements IConverter<Instant> {

private final DateTimeFormatter formatter;
private final ZoneId timeZone;

public DateConverter() {
this.formatter = DateTimeFormatter.ISO_DATE_TIME;
this.timeZone = ZoneOffset.UTC;
}

private DateConverter(DateTimeFormatter formatter, ZoneId timeZone) {
this.formatter = formatter;
this.timeZone = timeZone;
}

@Override
public Instant convert(String value) {
TemporalAccessor dt = formatter
.parseBest(value.trim(), ZonedDateTime::from, LocalDateTime::from, OffsetDateTime::from,
Instant::from,
LocalDate::from);
if (dt instanceof ZonedDateTime) {
return ((ZonedDateTime) dt).toInstant();
} else if (dt instanceof LocalDateTime) {
return ((LocalDateTime) dt).atZone(timeZone).toInstant();
} else if (dt instanceof OffsetDateTime) {
return ((OffsetDateTime) dt).atZoneSameInstant(timeZone).toInstant();
} else if (dt instanceof Instant) {
return ((Instant) dt);
} else if (dt instanceof LocalDate) {
return ((LocalDate) dt).atStartOfDay(timeZone).toInstant();
} else {
return null;
}
}

@Override
public DateConverter newConverter(String param, Object... params) {
if (!(params.length == 1 && params[0] instanceof ZoneId)) {
throw new IllegalArgumentException("Invalid parameters");
}
return new DateConverter(DateTimeFormatter.ofPattern(param), (ZoneId) params[0]);
}
}
}
/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/

package org.opensearch.sql.common.grok;

import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
import java.util.AbstractMap;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

/**
* Convert String argument to the right type.
*/
public class Converter {

public enum Type {
BYTE(Byte::valueOf),
BOOLEAN(Boolean::valueOf),
SHORT(Short::valueOf),
INT(Integer::valueOf, "integer"),
LONG(Long::valueOf),
FLOAT(Float::valueOf),
DOUBLE(Double::valueOf),
DATETIME(new DateConverter(), "date"),
STRING(v -> v, "text");

public final IConverter<? extends Object> converter;
public final List<String> aliases;

Type(IConverter<? extends Object> converter, String... aliases) {
this.converter = converter;
this.aliases = Arrays.asList(aliases);
}
}

private static final Pattern SPLITTER = Pattern.compile("[:;]");

private static final Map<String, Type> TYPES =
Arrays.stream(Type.values())
.collect(Collectors.toMap(t -> t.name().toLowerCase(), t -> t));

private static final Map<String, Type> TYPE_ALIASES =
Arrays.stream(Type.values())
.flatMap(type -> type.aliases.stream()
.map(alias -> new AbstractMap.SimpleEntry<>(alias, type)))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));

private static Type getType(String key) {
key = key.toLowerCase();
Type type = TYPES.getOrDefault(key, TYPE_ALIASES.get(key));
if (type == null) {
throw new IllegalArgumentException("Invalid data type :" + key);
}
return type;
}

/**
* getConverters.
*/
public static Map<String, IConverter<? extends Object>>
getConverters(Collection<String> groupNames, Object... params) {
return groupNames.stream()
.filter(Converter::containsDelimiter)
.collect(Collectors.toMap(Function.identity(), key -> {
String[] list = splitGrokPattern(key);
IConverter<? extends Object> converter = getType(list[1]).converter;
if (list.length == 3) {
converter = converter.newConverter(list[2], params);
}
return converter;
}));
}

/**
* getGroupTypes.
*/
public static Map<String, Type> getGroupTypes(Collection<String> groupNames) {
return groupNames.stream()
.filter(Converter::containsDelimiter)
.map(Converter::splitGrokPattern)
.collect(Collectors.toMap(
l -> l[0],
l -> getType(l[1])
));
}

public static String extractKey(String key) {
return splitGrokPattern(key)[0];
}

private static boolean containsDelimiter(String string) {
return string.indexOf(':') >= 0 || string.indexOf(';') >= 0;
}

private static String[] splitGrokPattern(String string) {
return SPLITTER.split(string, 3);
}

interface IConverter<T> {

T convert(String value);

default IConverter<T> newConverter(String param, Object... params) {
return this;
}
}


static class DateConverter implements IConverter<Instant> {

private final DateTimeFormatter formatter;
private final ZoneId timeZone;

public DateConverter() {
this.formatter = DateTimeFormatter.ISO_DATE_TIME;
this.timeZone = ZoneOffset.UTC;
}

private DateConverter(DateTimeFormatter formatter, ZoneId timeZone) {
this.formatter = formatter;
this.timeZone = timeZone;
}

@Override
public Instant convert(String value) {
TemporalAccessor dt = formatter
.parseBest(value.trim(), ZonedDateTime::from, LocalDateTime::from, OffsetDateTime::from,
Instant::from,
LocalDate::from);
if (dt instanceof ZonedDateTime) {
return ((ZonedDateTime) dt).toInstant();
} else if (dt instanceof LocalDateTime) {
return ((LocalDateTime) dt).atZone(timeZone).toInstant();
} else if (dt instanceof OffsetDateTime) {
return ((OffsetDateTime) dt).atZoneSameInstant(timeZone).toInstant();
} else if (dt instanceof Instant) {
return ((Instant) dt);
} else if (dt instanceof LocalDate) {
return ((LocalDate) dt).atStartOfDay(timeZone).toInstant();
} else {
return null;
}
}

@Override
public DateConverter newConverter(String param, Object... params) {
if (!(params.length == 1 && params[0] instanceof ZoneId)) {
throw new IllegalArgumentException("Invalid parameters");
}
return new DateConverter(DateTimeFormatter.ofPattern(param), (ZoneId) params[0]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@

package org.opensearch.sql.common.utils;

import java.time.LocalDateTime;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
import org.apache.logging.log4j.ThreadContext;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@

package org.opensearch.sql.common.authinterceptors;

import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.AWSSessionCredentials;
Expand All @@ -26,7 +24,6 @@
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
import org.opensearch.sql.common.authinterceptors.AwsSigningInterceptor;

@ExtendWith(MockitoExtension.class)
public class AwsSigningInterceptorTest {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
import java.util.stream.Collectors;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.math3.analysis.function.Exp;
import org.opensearch.sql.DataSourceSchemaName;
import org.opensearch.sql.analysis.symbol.Namespace;
import org.opensearch.sql.analysis.symbol.Symbol;
Expand Down
Loading

0 comments on commit 6b34cc8

Please sign in to comment.