mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-03 01:19:10 +00:00
fix forbiddenapis
This commit is contained in:
parent
80849bbd6b
commit
e204671aa9
@ -20,7 +20,7 @@
|
||||
package org.elasticsearch.ingest.processor.date;
|
||||
|
||||
import org.elasticsearch.ingest.Data;
|
||||
import org.elasticsearch.ingest.Processor;
|
||||
import org.elasticsearch.ingest.processor.Processor;
|
||||
import org.joda.time.DateTimeZone;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -42,7 +42,7 @@ public final class DateProcessor implements Processor {
|
||||
private final List<DateParser> parserList;
|
||||
|
||||
public DateProcessor(String timezone, String locale, String matchField, List<String> matchFormats, String targetField) {
|
||||
this.timezone = DateTimeZone.forID(timezone);
|
||||
this.timezone = (timezone == null) ? DateTimeZone.UTC : DateTimeZone.forID(timezone);
|
||||
this.locale = Locale.forLanguageTag(locale);
|
||||
this.matchField = matchField;
|
||||
this.matchFormats = matchFormats;
|
||||
@ -68,11 +68,11 @@ public final class DateProcessor implements Processor {
|
||||
return new ISO8601DateParser(timezone);
|
||||
}
|
||||
} else if ("UNIX".equals(format)) {
|
||||
return new UnixDateParser();
|
||||
return new UnixDateParser(timezone);
|
||||
} else if ("UNIX_MS".equals(format)) {
|
||||
return new UnixMsDateParser();
|
||||
return new UnixMsDateParser(timezone);
|
||||
} else if ("TAI64N".equals(format)) {
|
||||
return new TAI64NDateParser();
|
||||
return new TAI64NDateParser(timezone);
|
||||
} else {
|
||||
if (timezone != null && locale != null) {
|
||||
return new JodaPatternDateParser(format, timezone, locale);
|
||||
@ -95,7 +95,7 @@ public final class DateProcessor implements Processor {
|
||||
private String targetField;
|
||||
|
||||
public Builder() {
|
||||
matchFormats = new ArrayList();
|
||||
matchFormats = new ArrayList<String>();
|
||||
}
|
||||
|
||||
public void setTimezone(String timezone) {
|
||||
@ -118,6 +118,7 @@ public final class DateProcessor implements Processor {
|
||||
this.targetField = targetField;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public void fromMap(Map<String, Object> config) {
|
||||
this.timezone = (String) config.get("timezone");
|
||||
this.locale = (String) config.get("locale");
|
||||
|
@ -32,25 +32,25 @@ public class JodaPatternDateParser implements DateParser {
|
||||
|
||||
public JodaPatternDateParser(String format) {
|
||||
formatter = DateTimeFormat.forPattern(format)
|
||||
.withDefaultYear((new DateTime()).getYear())
|
||||
.withDefaultYear((new DateTime(DateTimeZone.UTC)).getYear())
|
||||
.withOffsetParsed();
|
||||
}
|
||||
|
||||
public JodaPatternDateParser(String format, DateTimeZone timezone) {
|
||||
formatter = DateTimeFormat.forPattern(format)
|
||||
.withDefaultYear((new DateTime()).getYear())
|
||||
.withDefaultYear((new DateTime(timezone)).getYear())
|
||||
.withZone(timezone);
|
||||
}
|
||||
|
||||
public JodaPatternDateParser(String format, Locale locale) {
|
||||
formatter = DateTimeFormat.forPattern(format)
|
||||
.withDefaultYear((new DateTime()).getYear())
|
||||
.withDefaultYear((new DateTime(DateTimeZone.UTC)).getYear())
|
||||
.withLocale(locale);
|
||||
}
|
||||
|
||||
public JodaPatternDateParser(String format, DateTimeZone timezone, Locale locale) {
|
||||
formatter = DateTimeFormat.forPattern(format)
|
||||
.withDefaultYear((new DateTime()).getYear())
|
||||
.withDefaultYear((new DateTime(DateTimeZone.UTC)).getYear())
|
||||
.withZone(timezone).withLocale(locale);
|
||||
}
|
||||
|
||||
|
@ -20,8 +20,14 @@
|
||||
package org.elasticsearch.ingest.processor.date;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.DateTimeZone;
|
||||
|
||||
public class TAI64NDateParser implements DateParser {
|
||||
private DateTimeZone timezone;
|
||||
|
||||
public TAI64NDateParser(DateTimeZone timezone) {
|
||||
this.timezone = timezone;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long parseMillis(String date) {
|
||||
@ -37,6 +43,6 @@ public class TAI64NDateParser implements DateParser {
|
||||
|
||||
@Override
|
||||
public DateTime parseDateTime(String date) {
|
||||
return new DateTime(parseMillis(date));
|
||||
return new DateTime(parseMillis(date), timezone);
|
||||
}
|
||||
}
|
||||
|
@ -20,8 +20,14 @@
|
||||
package org.elasticsearch.ingest.processor.date;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.DateTimeZone;
|
||||
|
||||
public class UnixDateParser implements DateParser {
|
||||
private final DateTimeZone timezone;
|
||||
|
||||
public UnixDateParser(DateTimeZone timezone) {
|
||||
this.timezone = timezone;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long parseMillis(String date) {
|
||||
@ -30,6 +36,6 @@ public class UnixDateParser implements DateParser {
|
||||
|
||||
@Override
|
||||
public DateTime parseDateTime(String date) {
|
||||
return new DateTime(parseMillis(date));
|
||||
return new DateTime(parseMillis(date), timezone);
|
||||
}
|
||||
}
|
||||
|
@ -20,8 +20,14 @@
|
||||
package org.elasticsearch.ingest.processor.date;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.DateTimeZone;
|
||||
|
||||
public class UnixMsDateParser implements DateParser {
|
||||
private final DateTimeZone timezone;
|
||||
|
||||
public UnixMsDateParser(DateTimeZone timezone) {
|
||||
this.timezone = timezone;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long parseMillis(String date) {
|
||||
@ -30,6 +36,6 @@ public class UnixMsDateParser implements DateParser {
|
||||
|
||||
@Override
|
||||
public DateTime parseDateTime(String date) {
|
||||
return new DateTime(parseMillis(date));
|
||||
return new DateTime(parseMillis(date), timezone);
|
||||
}
|
||||
}
|
||||
|
@ -20,6 +20,7 @@
|
||||
package org.elasticsearch.ingest.processor.date;
|
||||
|
||||
import org.elasticsearch.test.ESTestCase;
|
||||
import org.joda.time.DateTimeZone;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.ZoneId;
|
||||
@ -31,11 +32,12 @@ import static org.hamcrest.core.IsEqual.equalTo;
|
||||
public class JodaPatternDateParserTests extends ESTestCase {
|
||||
|
||||
public void testParse() {
|
||||
JodaPatternDateParser parser = new JodaPatternDateParser("MMM dd HH:mm:ss Z", Locale.ENGLISH);
|
||||
JodaPatternDateParser parser = new JodaPatternDateParser("MMM dd HH:mm:ss Z",
|
||||
DateTimeZone.forOffsetHours(-8), Locale.ENGLISH);
|
||||
|
||||
assertThat(Instant.ofEpochMilli(parser.parseMillis("Nov 24 01:29:01 -0800"))
|
||||
.atZone(ZoneId.of("GMT-8"))
|
||||
.format(DateTimeFormatter.ofPattern("MM dd HH:mm:ss")),
|
||||
.format(DateTimeFormatter.ofPattern("MM dd HH:mm:ss", Locale.ENGLISH)),
|
||||
equalTo("11 24 01:29:01"));
|
||||
}
|
||||
}
|
||||
|
@ -20,13 +20,14 @@
|
||||
package org.elasticsearch.ingest.processor.date;
|
||||
|
||||
import org.elasticsearch.test.ESTestCase;
|
||||
import org.joda.time.DateTimeZone;
|
||||
|
||||
import static org.hamcrest.core.IsEqual.equalTo;
|
||||
|
||||
public class TAI64NDateParserTests extends ESTestCase {
|
||||
|
||||
public void testParse() {
|
||||
TAI64NDateParser parser = new TAI64NDateParser();
|
||||
TAI64NDateParser parser = new TAI64NDateParser(DateTimeZone.forOffsetHours(2));
|
||||
String input = "4000000050d506482dbdf024";
|
||||
String expected = "2012-12-22T03:00:46.767+02:00";
|
||||
assertThat(parser.parseDateTime("@" + input).toString(), equalTo(expected));
|
||||
|
@ -20,13 +20,14 @@
|
||||
package org.elasticsearch.ingest.processor.date;
|
||||
|
||||
import org.elasticsearch.test.ESTestCase;
|
||||
import org.joda.time.DateTimeZone;
|
||||
|
||||
import static org.hamcrest.core.IsEqual.equalTo;
|
||||
|
||||
public class UnixDateParserTests extends ESTestCase {
|
||||
|
||||
public void testParse() {
|
||||
UnixDateParser parser = new UnixDateParser();
|
||||
UnixDateParser parser = new UnixDateParser(DateTimeZone.UTC);
|
||||
assertThat(parser.parseMillis("1000.5"), equalTo(1000500L));
|
||||
}
|
||||
}
|
||||
|
@ -20,13 +20,14 @@
|
||||
package org.elasticsearch.ingest.processor.date;
|
||||
|
||||
import org.elasticsearch.test.ESTestCase;
|
||||
import org.joda.time.DateTimeZone;
|
||||
|
||||
import static org.hamcrest.core.IsEqual.equalTo;
|
||||
|
||||
public class UnixMsDateParserTests extends ESTestCase {
|
||||
|
||||
public void testParse() {
|
||||
UnixMsDateParser parser = new UnixMsDateParser();
|
||||
UnixMsDateParser parser = new UnixMsDateParser(DateTimeZone.UTC);
|
||||
assertThat(parser.parseMillis("1000500"), equalTo(1000500L));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user