Browse Source

Skeleton for importing SCHEDULE feed

feature-nr-renew
LO Kam Tao Leo 3 years ago
parent
commit
f326f49891
  1. 8
      src/main/java/org/leolo/nrdatad/App.java
  2. 2
      src/main/java/org/leolo/nrdatad/Constants.java
  3. 15
      src/main/java/org/leolo/nrdatad/cron/ScheduleImportJob.java

8
src/main/java/org/leolo/nrdatad/App.java

@ -4,6 +4,7 @@ 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.cron.ScheduleImportJob;
import org.leolo.nrdatad.db.CorpusDao;
import org.leolo.nrdatad.db.DatabaseManager;
import org.leolo.nrdatad.cron.ReferenceDataJob;
@ -132,6 +133,13 @@ public class App {
TriggerBuilder.newTrigger().withIdentity("T-CW-"+Constants.CronJob.REFERENCE_DATA)
.withSchedule(CronScheduleBuilder.cronSchedule("* 10 1 ? * 1")).build()
);
if(ConfigurationManager.getInstance().getProperty(Constants.Configuration.ALWAYS_RUN_LTP,"").equals("true")){
log.atInfo().log("Loading Schedule data now");
scheduler.scheduleJob(
JobBuilder.newJob(ScheduleImportJob.class).withIdentity("J-OF-"+Constants.CronJob.SCHEDULE_IMPORT).build(),
TriggerBuilder.newTrigger().withIdentity("T-OF-"+Constants.CronJob.SCHEDULE_IMPORT).startAt(DateBuilder.evenSecondDateAfterNow()).build()
);
}
} catch (SchedulerException e) {
log.atFatal().withThrowable(e).log("Unable to create cron jobs");
}

2
src/main/java/org/leolo/nrdatad/Constants.java

@ -7,6 +7,7 @@ public final class Constants {
public static class CronJob{
public static final String REFERENCE_DATA = "refd";
public static final String SCHEDULE_IMPORT = "scji";
}
public static class Configuration {
@ -19,5 +20,6 @@ public final class Constants {
public static class NetworkRailURI{
public static final String CORPUS_URL = "https://datafeeds.networkrail.co.uk/ntrod/SupportingFileAuthenticate?type=CORPUS";
public static final String SMART_URL = "https://datafeeds.networkrail.co.uk/ntrod/SupportingFileAuthenticate?type=SMART";
public static final String SCHEDULE_URL = "https://datafeeds.networkrail.co.uk/ntrod/CifFileAuthenticate?type=CIF_ALL_FULL_DAILY&day=toc-full";
}
}

15
src/main/java/org/leolo/nrdatad/cron/ScheduleImportJob.java

@ -0,0 +1,15 @@
package org.leolo.nrdatad.cron;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class ScheduleImportJob implements Job {
Logger log = LogManager.getLogger();
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
log.atInfo().log("Loading schedule from SCHEDULE stream");
}
}
Loading…
Cancel
Save