change time rep from Long to Joda DateTime
This commit is contained in:
@ -21,6 +21,8 @@ dependencies {
|
|||||||
implementation 'ch.qos.logback:logback-classic:1.3.0-alpha4'
|
implementation 'ch.qos.logback:logback-classic:1.3.0-alpha4'
|
||||||
implementation 'org.fusesource.jansi:jansi:1.8'
|
implementation 'org.fusesource.jansi:jansi:1.8'
|
||||||
implementation 'commons-cli:commons-cli:1.4'
|
implementation 'commons-cli:commons-cli:1.4'
|
||||||
|
implementation 'joda-time:joda-time:2.9.9'
|
||||||
|
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-joda:2.9.5'
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import com.fasterxml.jackson.datatype.joda.JodaModule;
|
||||||
import com.espertech.esper.client.EPServiceProvider;
|
import com.espertech.esper.client.EPServiceProvider;
|
||||||
import com.fasterxml.jackson.databind.MappingIterator;
|
import com.fasterxml.jackson.databind.MappingIterator;
|
||||||
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
|
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
|
||||||
@ -19,6 +20,10 @@ public class CSVReader implements TickStreamReader {
|
|||||||
|
|
||||||
public void run(TickProcessor processor) {
|
public void run(TickProcessor processor) {
|
||||||
CsvMapper mapper = new CsvMapper();
|
CsvMapper mapper = new CsvMapper();
|
||||||
|
|
||||||
|
// allow deserializing Joda time classes
|
||||||
|
mapper.registerModule(new JodaModule());
|
||||||
|
|
||||||
CsvSchema schema = mapper.schemaFor(TrueFXTickEvent.class);
|
CsvSchema schema = mapper.schemaFor(TrueFXTickEvent.class);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -1,12 +1,9 @@
|
|||||||
import java.util.Date;
|
import org.joda.time.DateTime;
|
||||||
import java.util.Calendar;
|
|
||||||
|
|
||||||
|
|
||||||
public class EPLHelpers {
|
public class EPLHelpers {
|
||||||
|
|
||||||
public static int getHour(Date date) {
|
public static int getHour(DateTime date) {
|
||||||
Calendar c = Calendar.getInstance();
|
return date.getHourOfDay();
|
||||||
c.setTime(date);
|
}
|
||||||
return c.get(Calendar.HOUR_OF_DAY);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import com.espertech.esper.client.EPServiceProviderManager;
|
|||||||
import com.espertech.esper.client.EPStatement;
|
import com.espertech.esper.client.EPStatement;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Date;
|
|
||||||
import com.espertech.esper.client.time.CurrentTimeEvent;
|
import com.espertech.esper.client.time.CurrentTimeEvent;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -12,6 +11,7 @@ import java.lang.reflect.Array;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
||||||
public class EsperProcessor implements TickProcessor {
|
public class EsperProcessor implements TickProcessor {
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import java.net.URLConnection;
|
|||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import com.fasterxml.jackson.datatype.joda.JodaModule;
|
||||||
|
|
||||||
import javax.net.ssl.HttpsURLConnection;
|
import javax.net.ssl.HttpsURLConnection;
|
||||||
|
|
||||||
@ -19,6 +20,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|||||||
|
|
||||||
public class OANDAReader implements TickStreamReader {
|
public class OANDAReader implements TickStreamReader {
|
||||||
final Logger log = LoggerFactory.getLogger(OANDAReader.class);
|
final Logger log = LoggerFactory.getLogger(OANDAReader.class);
|
||||||
|
ObjectMapper mapper;
|
||||||
AccountInfo accountInfo;
|
AccountInfo accountInfo;
|
||||||
String[] instruments;
|
String[] instruments;
|
||||||
|
|
||||||
@ -26,6 +28,9 @@ public class OANDAReader implements TickStreamReader {
|
|||||||
public OANDAReader(AccountInfo accountInfo, String[] instruments) {
|
public OANDAReader(AccountInfo accountInfo, String[] instruments) {
|
||||||
this.accountInfo = accountInfo;
|
this.accountInfo = accountInfo;
|
||||||
this.instruments = instruments;
|
this.instruments = instruments;
|
||||||
|
|
||||||
|
mapper = new ObjectMapper();
|
||||||
|
mapper.registerModule(new JodaModule());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void run(TickProcessor processor) {
|
public void run(TickProcessor processor) {
|
||||||
@ -74,8 +79,6 @@ public class OANDAReader implements TickStreamReader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static ObjectMapper mapper = new ObjectMapper(); // create once, reuse
|
|
||||||
|
|
||||||
private void processLine(String line, TickProcessor processor) {
|
private void processLine(String line, TickProcessor processor) {
|
||||||
if (line.indexOf ("PRICE") > -1) {
|
if (line.indexOf ("PRICE") > -1) {
|
||||||
OANDATickEvent tick;
|
OANDATickEvent tick;
|
||||||
|
|||||||
Reference in New Issue
Block a user