diff --git a/src/main/java/org/leolo/nrdatad/App.java b/src/main/java/org/leolo/nrdatad/App.java index 96d70aa..dce246b 100644 --- a/src/main/java/org/leolo/nrdatad/App.java +++ b/src/main/java/org/leolo/nrdatad/App.java @@ -4,10 +4,10 @@ package org.leolo.nrdatad; import org.apache.commons.cli.*; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.leolo.nrdatad.db.CORPUSDao; +import org.leolo.nrdatad.db.CorpusDao; import org.leolo.nrdatad.db.DatabaseManager; import org.leolo.nrdatad.cron.ReferenceDataJob; -import org.leolo.nrdatad.model.CORPUS; +import org.leolo.nrdatad.model.Corpus; import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; @@ -101,13 +101,13 @@ public class App { private void testRefData() { log.atInfo().log("Testing reference data"); ConfigurationManager conf = ConfigurationManager.getInstance(); - CORPUSDao.Query query = new CORPUSDao.QueryBuilder() + CorpusDao.Query query = new CorpusDao.QueryBuilder() .addCrsCode("ECR").addCrsCode("VIC") .addDescription("croydon").build(); try { - Collection list = conf.getDatabaseManager().getCORPUSDao().executeQuery(query); + Collection list = conf.getDatabaseManager().getCORPUSDao().executeQuery(query); log.atDebug().log("{} entries found", list.size()); - for(CORPUS corpus:list){ + for(Corpus corpus:list){ log.atDebug().log("Found entry : {}", corpus); } } catch (SQLException e) { diff --git a/src/main/java/org/leolo/nrdatad/cron/ReferenceDataJob.java b/src/main/java/org/leolo/nrdatad/cron/ReferenceDataJob.java index bfa46ff..1e800cd 100644 --- a/src/main/java/org/leolo/nrdatad/cron/ReferenceDataJob.java +++ b/src/main/java/org/leolo/nrdatad/cron/ReferenceDataJob.java @@ -6,8 +6,8 @@ import org.json.JSONArray; import org.json.JSONObject; import org.leolo.nrdatad.ConfigurationManager; import org.leolo.nrdatad.Constants; -import org.leolo.nrdatad.db.CORPUSDao; -import org.leolo.nrdatad.model.CORPUS; +import org.leolo.nrdatad.db.CorpusDao; +import org.leolo.nrdatad.model.Corpus; import org.leolo.nrdatad.util.HttpUtil; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -46,10 +46,10 @@ public class ReferenceDataJob implements Job { JSONObject rootObj = new JSONObject(json); JSONArray rootArray = rootObj.getJSONArray("TIPLOCDATA"); log.atInfo().log("{} entries found", rootArray.length()); - ArrayList corpusList = new ArrayList<>(); + ArrayList corpusList = new ArrayList<>(); for(int i=0;i executeQuery(Query query) throws SQLException; + public abstract Collection executeQuery(Query query) throws SQLException; - public abstract void add(CORPUS corpus) throws SQLException; + public abstract void add(Corpus corpus) throws SQLException; - public void addAll(Collection datas) throws SQLException { - for(CORPUS corpus: datas){ + public void addAll(Collection datas) throws SQLException { + for(Corpus corpus: datas){ add(corpus); } } public abstract void truncateTable() throws SQLException; public abstract boolean hasNlcCode(String nlcCode) throws SQLException; - public abstract void update(CORPUS corpus) throws SQLException; - public void replace(CORPUS corpus) throws SQLException{ + public abstract void update(Corpus corpus) throws SQLException; + public void replace(Corpus corpus) throws SQLException{ if(corpus.getNlcCode()==null || !hasNlcCode(corpus.getNlcCode())){ add(corpus); }else{ @@ -130,18 +129,18 @@ public abstract class CORPUSDao extends BaseDao{ } } - public void replaceAll(Collection datas) throws SQLException{ - for(CORPUS corpus: datas){ + public void replaceAll(Collection datas) throws SQLException{ + for(Corpus corpus: datas){ replace(corpus); } } - public abstract Collection searchCORPUSByStanoxCode(String stanoxCode) throws SQLException; - public abstract Collection searchCORPUSByUicCode(String uicCode) throws SQLException; - public abstract Collection searchCORPUSByCrsCode(String crsCode) throws SQLException; - public abstract Collection searchCORPUSByTiplocCode(String tiplocCode) throws SQLException; - public abstract CORPUS searchCORPUSByNlcCode(String nlcCode) throws SQLException; - public abstract List searchCORPUSByName(String name) throws SQLException; + public abstract Collection searchCORPUSByStanoxCode(String stanoxCode) throws SQLException; + public abstract Collection searchCORPUSByUicCode(String uicCode) throws SQLException; + public abstract Collection searchCORPUSByCrsCode(String crsCode) throws SQLException; + public abstract Collection searchCORPUSByTiplocCode(String tiplocCode) throws SQLException; + public abstract Corpus searchCORPUSByNlcCode(String nlcCode) throws SQLException; + public abstract List searchCORPUSByName(String name) throws SQLException; - public abstract CORPUS delete(String nlcCode) throws SQLException; + public abstract Corpus delete(String nlcCode) throws SQLException; } diff --git a/src/main/java/org/leolo/nrdatad/db/DatabaseManager.java b/src/main/java/org/leolo/nrdatad/db/DatabaseManager.java index f9b99bf..3a6684d 100644 --- a/src/main/java/org/leolo/nrdatad/db/DatabaseManager.java +++ b/src/main/java/org/leolo/nrdatad/db/DatabaseManager.java @@ -2,7 +2,6 @@ package org.leolo.nrdatad.db; import java.sql.Connection; import java.sql.SQLException; -import java.util.function.BiConsumer; public interface DatabaseManager { @@ -14,5 +13,5 @@ public interface DatabaseManager { public MetadataDao getMetadataDao(); - public CORPUSDao getCORPUSDao(); + public CorpusDao getCORPUSDao(); } diff --git a/src/main/java/org/leolo/nrdatad/db/SmartDao.java b/src/main/java/org/leolo/nrdatad/db/SmartDao.java new file mode 100644 index 0000000..8105adf --- /dev/null +++ b/src/main/java/org/leolo/nrdatad/db/SmartDao.java @@ -0,0 +1,23 @@ +package org.leolo.nrdatad.db; + +import org.leolo.nrdatad.model.Smart; + +import java.sql.SQLException; +import java.util.Collection; + +public abstract class SmartDao extends BaseDao{ + + public SmartDao(DatabaseManager manager) { + super(manager); + } + + public abstract void add(Smart smart) throws SQLException; + + public void addAll(Collection smarts) throws SQLException{ + for(Smart smart: smarts){ + add(smart); + } + } + + +} diff --git a/src/main/java/org/leolo/nrdatad/db/mariadb/CORPUSDao.java b/src/main/java/org/leolo/nrdatad/db/mariadb/CorpusDao.java similarity index 89% rename from src/main/java/org/leolo/nrdatad/db/mariadb/CORPUSDao.java rename to src/main/java/org/leolo/nrdatad/db/mariadb/CorpusDao.java index 9e26daf..31092b7 100644 --- a/src/main/java/org/leolo/nrdatad/db/mariadb/CORPUSDao.java +++ b/src/main/java/org/leolo/nrdatad/db/mariadb/CorpusDao.java @@ -6,22 +6,22 @@ import org.jetbrains.annotations.NotNull; import org.leolo.nrdatad.db.DatabaseManager; import org.leolo.nrdatad.db.ParameterStore; import org.leolo.nrdatad.db.SearchMode; -import org.leolo.nrdatad.model.CORPUS; +import org.leolo.nrdatad.model.Corpus; import java.sql.*; import java.util.*; -public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { +public class CorpusDao extends org.leolo.nrdatad.db.CorpusDao { Logger log = LogManager.getLogger(); - public CORPUSDao(DatabaseManager manager) { + public CorpusDao(DatabaseManager manager) { super(manager); } @Override - public Collection executeQuery(org.leolo.nrdatad.db.CORPUSDao.Query query) throws SQLException { - Vector corpuses = new Vector<>(); + public Collection executeQuery(org.leolo.nrdatad.db.CorpusDao.Query query) throws SQLException { + Vector corpuses = new Vector<>(); ParameterStore params = new ParameterStore(); StringBuilder sql = new StringBuilder(); if(query.getSearchMode()== SearchMode.MATCH_ALL_GROUP || query.getSearchMode()==SearchMode.MATCH_ANY){ @@ -95,7 +95,7 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { } @Override - public void add(@NotNull CORPUS corpus) throws SQLException { + public void add(@NotNull Corpus corpus) throws SQLException { try( Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement( @@ -115,14 +115,14 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { } @Override - public void addAll(@NotNull Collection datas) throws SQLException { + public void addAll(@NotNull Collection datas) throws SQLException { try( Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement( "INSERT INTO corpus (stanox, uic_code, crs_code, tiploc_code, nlc_code, `desc`, short_desc) " + "VALUES (?,?,?,?,?,?,?)") ){ - for(CORPUS corpus:datas) { + for(Corpus corpus:datas) { setString(pstmt, 1, corpus.getStanoxCode()); setString(pstmt, 2, corpus.getUicCode()); setString(pstmt, 3, corpus.getCrsCode()); @@ -139,7 +139,7 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { @Override - public void replaceAll(@NotNull Collection datas) throws SQLException { + public void replaceAll(@NotNull Collection datas) throws SQLException { int totalCount = 0, insertCount = 0, updateCount = 0; HashSet pendingInsert = new HashSet<>(); try( @@ -153,9 +153,9 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { "WHERE nlc_code = ?" ) ){ - for(CORPUS corpus:datas){ + for(Corpus corpus:datas){ totalCount++; - CORPUS existing = searchCORPUSByNlcCode(corpus.getNlcCode()); + Corpus existing = searchCORPUSByNlcCode(corpus.getNlcCode()); PreparedStatement stmt = null; if(corpus.equals(existing)){ continue; @@ -220,7 +220,7 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { } @Override - public void update(CORPUS corpus) throws SQLException { + public void update(Corpus corpus) throws SQLException { try( Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement( @@ -241,8 +241,8 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { } @Override - public Collection searchCORPUSByStanoxCode(String stanoxCode) throws SQLException { - Collection corpuses = new Vector<>(); + public Collection searchCORPUSByStanoxCode(String stanoxCode) throws SQLException { + Collection corpuses = new Vector<>(); try( Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM corpus WHERE stanox = ?") @@ -258,8 +258,8 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { } @Override - public Collection searchCORPUSByUicCode(String uicCode) throws SQLException { - Collection corpuses = new Vector<>(); + public Collection searchCORPUSByUicCode(String uicCode) throws SQLException { + Collection corpuses = new Vector<>(); try( Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM corpus WHERE uic_code = ?") @@ -275,8 +275,8 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { } @Override - public Collection searchCORPUSByCrsCode(String crsCode) throws SQLException { - Collection corpuses = new Vector<>(); + public Collection searchCORPUSByCrsCode(String crsCode) throws SQLException { + Collection corpuses = new Vector<>(); try( Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM corpus WHERE crs_code = ?") @@ -292,8 +292,8 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { } @Override - public Collection searchCORPUSByTiplocCode(String tiplocCode) throws SQLException { - Collection corpuses = new Vector<>(); + public Collection searchCORPUSByTiplocCode(String tiplocCode) throws SQLException { + Collection corpuses = new Vector<>(); try( Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM corpus WHERE tiploc_code = ?") @@ -309,7 +309,7 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { } @Override - public CORPUS searchCORPUSByNlcCode(String nlcCode) throws SQLException { + public Corpus searchCORPUSByNlcCode(String nlcCode) throws SQLException { try( Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM corpus WHERE nlc_code = ?") @@ -325,9 +325,9 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { } @Override - public List searchCORPUSByName(String name) throws SQLException { + public List searchCORPUSByName(String name) throws SQLException { - List corpuses = new Vector<>(); + List corpuses = new Vector<>(); try( Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement( @@ -350,8 +350,8 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { return corpuses; } - private CORPUS parseCORPUS(ResultSet rs) throws SQLException{ - CORPUS corpus = new CORPUS(); + private Corpus parseCORPUS(ResultSet rs) throws SQLException{ + Corpus corpus = new Corpus(); corpus.setStanoxCode(rs.getString("stanox")); corpus.setUicCode(rs.getString("uic_code")); corpus.setCrsCode(rs.getString("crs_code")); @@ -363,8 +363,8 @@ public class CORPUSDao extends org.leolo.nrdatad.db.CORPUSDao { } @Override - public CORPUS delete(String nlcCode) throws SQLException { - CORPUS deletedEntry = searchCORPUSByNlcCode(nlcCode); + public Corpus delete(String nlcCode) throws SQLException { + Corpus deletedEntry = searchCORPUSByNlcCode(nlcCode); if(deletedEntry!=null){ try( Connection conn = getConnection(); diff --git a/src/main/java/org/leolo/nrdatad/db/mariadb/DatabaseManager.java b/src/main/java/org/leolo/nrdatad/db/mariadb/DatabaseManager.java index 0b88ba4..a990f42 100644 --- a/src/main/java/org/leolo/nrdatad/db/mariadb/DatabaseManager.java +++ b/src/main/java/org/leolo/nrdatad/db/mariadb/DatabaseManager.java @@ -3,7 +3,7 @@ package org.leolo.nrdatad.db.mariadb; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.leolo.nrdatad.ConfigurationManager; -import org.leolo.nrdatad.db.CORPUSDao; +import org.leolo.nrdatad.db.CorpusDao; import org.leolo.nrdatad.db.MetadataDao; import org.mariadb.jdbc.MariaDbPoolDataSource; @@ -68,7 +68,7 @@ public class DatabaseManager implements org.leolo.nrdatad.db.DatabaseManager{ } @Override - public CORPUSDao getCORPUSDao() { - return new org.leolo.nrdatad.db.mariadb.CORPUSDao(this); + public CorpusDao getCORPUSDao() { + return new org.leolo.nrdatad.db.mariadb.CorpusDao(this); } } diff --git a/src/main/java/org/leolo/nrdatad/db/mariadb/SmartDao.java b/src/main/java/org/leolo/nrdatad/db/mariadb/SmartDao.java new file mode 100644 index 0000000..bc651df --- /dev/null +++ b/src/main/java/org/leolo/nrdatad/db/mariadb/SmartDao.java @@ -0,0 +1,75 @@ +package org.leolo.nrdatad.db.mariadb; + +import org.leolo.nrdatad.db.DatabaseManager; +import org.leolo.nrdatad.model.Smart; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.Collection; + +public class SmartDao extends org.leolo.nrdatad.db.SmartDao { + + public SmartDao(DatabaseManager manager) { + super(manager); + } + + @Override + public void add(Smart smart) throws SQLException { + try( + Connection conn = getConnection(); + PreparedStatement pstmt = conn.prepareStatement( + "INSERT INTO smart (" + + "td, from_berth, to_berth, from_line, to_line, breth_offset, platform, event, route, " + + "stanox, station_name, step_type, comment" + + ") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)") + ){ + setString(pstmt, 1, smart.getTd()); + setString(pstmt, 2, smart.getFromBerth()); + setString(pstmt, 3, smart.getToBerth()); + setString(pstmt, 4, smart.getFromLine()); + setString(pstmt, 5, smart.getToLine()); + setInt (pstmt, 6, smart.getBerthOffset()); + setString(pstmt, 7, smart.getPlatform()); + setString(pstmt, 8, smart.getEvent().getCode()); + setString(pstmt, 9, smart.getRoute()); + setString(pstmt, 10, smart.getStanox()); + setString(pstmt, 11, smart.getStationName()); + setString(pstmt, 12, smart.getStepType().getCode()); + setString(pstmt, 13, smart.getComment()); + pstmt.executeUpdate(); + conn.commit(); + } + } + + @Override + public void addAll(Collection smarts) throws SQLException { + try( + Connection conn = getConnection(); + PreparedStatement pstmt = conn.prepareStatement( + "INSERT INTO smart (" + + "td, from_berth, to_berth, from_line, to_line, breth_offset, platform, event, route, " + + "stanox, station_name, step_type, comment" + + ") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)") + ){ + for(Smart smart:smarts){ + setString(pstmt, 1, smart.getTd()); + setString(pstmt, 2, smart.getFromBerth()); + setString(pstmt, 3, smart.getToBerth()); + setString(pstmt, 4, smart.getFromLine()); + setString(pstmt, 5, smart.getToLine()); + setInt (pstmt, 6, smart.getBerthOffset()); + setString(pstmt, 7, smart.getPlatform()); + setString(pstmt, 8, smart.getEvent().getCode()); + setString(pstmt, 9, smart.getRoute()); + setString(pstmt, 10, smart.getStanox()); + setString(pstmt, 11, smart.getStationName()); + setString(pstmt, 12, smart.getStepType().getCode()); + setString(pstmt, 13, smart.getComment()); + pstmt.addBatch(); + } + pstmt.executeBatch(); + conn.commit(); + } + } +} diff --git a/src/main/java/org/leolo/nrdatad/model/CORPUS.java b/src/main/java/org/leolo/nrdatad/model/Corpus.java similarity index 97% rename from src/main/java/org/leolo/nrdatad/model/CORPUS.java rename to src/main/java/org/leolo/nrdatad/model/Corpus.java index 5663f1a..e18979a 100644 --- a/src/main/java/org/leolo/nrdatad/model/CORPUS.java +++ b/src/main/java/org/leolo/nrdatad/model/Corpus.java @@ -2,7 +2,7 @@ package org.leolo.nrdatad.model; import java.util.Objects; -public class CORPUS { +public class Corpus { private String stanoxCode; private String uicCode; @@ -73,7 +73,7 @@ public class CORPUS { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - CORPUS corpus = (CORPUS) o; + Corpus corpus = (Corpus) o; return Objects.equals(stanoxCode, corpus.stanoxCode) && Objects.equals(uicCode, corpus.uicCode) && Objects.equals(crsCode, corpus.crsCode) && Objects.equals(tiplocCode, corpus.tiplocCode) && Objects.equals(nlcCode, corpus.nlcCode) && Objects.equals(longDescription, corpus.longDescription) && Objects.equals(shortDescription, corpus.shortDescription); } diff --git a/src/main/java/org/leolo/nrdatad/model/Smart.java b/src/main/java/org/leolo/nrdatad/model/Smart.java new file mode 100644 index 0000000..82801bf --- /dev/null +++ b/src/main/java/org/leolo/nrdatad/model/Smart.java @@ -0,0 +1,131 @@ +package org.leolo.nrdatad.model; + +public class Smart { + + private int smartId; + private String td; + private String fromBerth; + private String toBerth; + private String fromLine; + private String toLine; + private int berthOffset; + private String platform; + private SmartEvent event; + private String route; + private String stanox; + private String stationName; + private SmartStepType stepType; + private String comment; + + public int getSmartId() { + return smartId; + } + + public void setSmartId(int smartId) { + this.smartId = smartId; + } + + public String getTd() { + return td; + } + + public void setTd(String td) { + this.td = td; + } + + public String getFromBerth() { + return fromBerth; + } + + public void setFromBerth(String fromBerth) { + this.fromBerth = fromBerth; + } + + public String getToBerth() { + return toBerth; + } + + public void setToBerth(String toBerth) { + this.toBerth = toBerth; + } + + public String getFromLine() { + return fromLine; + } + + public void setFromLine(String fromLine) { + this.fromLine = fromLine; + } + + public String getToLine() { + return toLine; + } + + public void setToLine(String toLine) { + this.toLine = toLine; + } + + public int getBerthOffset() { + return berthOffset; + } + + public void setBerthOffset(int berthOffset) { + this.berthOffset = berthOffset; + } + + public String getPlatform() { + return platform; + } + + public void setPlatform(String platform) { + this.platform = platform; + } + + public SmartEvent getEvent() { + return event; + } + + public void setEvent(SmartEvent event) { + this.event = event; + } + + public String getRoute() { + return route; + } + + public void setRoute(String route) { + this.route = route; + } + + public String getStanox() { + return stanox; + } + + public void setStanox(String stanox) { + this.stanox = stanox; + } + + public String getStationName() { + return stationName; + } + + public void setStationName(String stationName) { + this.stationName = stationName; + } + + public SmartStepType getStepType() { + return stepType; + } + + public void setStepType(SmartStepType stepType) { + this.stepType = stepType; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } +} diff --git a/src/main/java/org/leolo/nrdatad/model/SmartEvent.java b/src/main/java/org/leolo/nrdatad/model/SmartEvent.java new file mode 100644 index 0000000..977e4a5 --- /dev/null +++ b/src/main/java/org/leolo/nrdatad/model/SmartEvent.java @@ -0,0 +1,20 @@ +package org.leolo.nrdatad.model; + +public enum SmartEvent { + ARRIVE_UP ("A"), + DEPART_UP ("B"), + ARRIVE_DOWN("C"), + DEPART_DOWN("D"); + + + private String code; + + private SmartEvent(String code){ + this.code = code; + } + + public String getCode() { + return code; + } + +} diff --git a/src/main/java/org/leolo/nrdatad/model/SmartStepType.java b/src/main/java/org/leolo/nrdatad/model/SmartStepType.java new file mode 100644 index 0000000..3e67e76 --- /dev/null +++ b/src/main/java/org/leolo/nrdatad/model/SmartStepType.java @@ -0,0 +1,53 @@ +package org.leolo.nrdatad.model; + +public enum SmartStepType { + /** + * This is a move between directly adjacent berths, and is the preferred type of movement. The time reported to + * TRUST is the time that the train enters the 'to' berth. + */ + BETWEEN("B"), + /** + * This is used to record a time for a train going in either direction (up or down) from the specified berth to any + * other berth. The time reported to TRUST is the time that the train leaves the 'from' berth. + */ + FROM("F"), + /** + * This is the opposite of the 'F' step type. It is used to record a time for a train from any berth to the + * specified berth. The time reported to TRUST is the time that the train enters the 'to' berth. + */ + TO("T"), + /** + * This is used to specify the route a train is taking, usually when departing a station or junction. + * + * For example, if a 'D' move is specified as 0101 to 0407, and a train moves between berths 0101, 0203, 0305 and + * 0407, the move will be reported for the time the train left the first berth. + */ + INTERMEDIATE_FIRST("D"), + /** + * This is used to report on a movement where the only indication is a cancel message. For example, when a train + * leaves Network Rail infrastructure and moves in to a siding or area not covered by a train describer, the only + * message that will be received is a Clearout (CB) message. + */ + CLEAROUT("C"), + /** + * This is the opposite of the 'C' step type. It is used to report on a movement where the only indication is + * an interpose message. For example, when a train arrives on Network Rail infrastructure from a siding. The time + * reported to TRUST is the time that the interpose happened. + */ + INTERPOSE("I"), + /** + * This is similar to the 'D' move, but usually used for arrivals. The time reported to TRUST is the time the last + * berth step was made. + */ + INTERMEDIATE("E"); + + private String code; + + private SmartStepType(String code){ + this.code = code; + } + + public String getCode() { + return code; + } +} diff --git a/src/test/java/org/leolo/nrdatad/db/test/DatabaseManager.java b/src/test/java/org/leolo/nrdatad/db/test/DatabaseManager.java index b7e5e45..5ce8b2a 100644 --- a/src/test/java/org/leolo/nrdatad/db/test/DatabaseManager.java +++ b/src/test/java/org/leolo/nrdatad/db/test/DatabaseManager.java @@ -1,6 +1,6 @@ package org.leolo.nrdatad.db.test; -import org.leolo.nrdatad.db.CORPUSDao; +import org.leolo.nrdatad.db.CorpusDao; import org.leolo.nrdatad.db.MetadataDao; import java.sql.Connection; @@ -28,7 +28,7 @@ public class DatabaseManager implements org.leolo.nrdatad.db.DatabaseManager { } @Override - public CORPUSDao getCORPUSDao() { + public CorpusDao getCORPUSDao() { return null; } }