diff --git a/pom.xml b/pom.xml
index 909f55d..dce3fbc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
com.milmove.trdmlambda
trdm-lambda
- 1.0.1.0
+ 1.0.1.1
trdm java spring interface
Project for deploying a Java TRDM interfacer for TGET data.
diff --git a/src/main/java/com/milmove/trdmlambda/milmove/handler/TransportationAccountingCodesHandler.java b/src/main/java/com/milmove/trdmlambda/milmove/handler/TransportationAccountingCodesHandler.java
index cf10cac..224df20 100644
--- a/src/main/java/com/milmove/trdmlambda/milmove/handler/TransportationAccountingCodesHandler.java
+++ b/src/main/java/com/milmove/trdmlambda/milmove/handler/TransportationAccountingCodesHandler.java
@@ -124,6 +124,17 @@ private XMLGregorianCalendar getOurLastTGETUpdate(String tableName)
return DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar);
}
+ public static XMLGregorianCalendar addOneWeek(XMLGregorianCalendar originalDate) throws DatatypeConfigurationException {
+ GregorianCalendar calendar = originalDate.toGregorianCalendar();
+ calendar.add(GregorianCalendar.WEEK_OF_YEAR, 1);
+
+ SimpleDateFormat xmlFriendlyLastUpdateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+ xmlFriendlyLastUpdateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+ String xmlGregorianCalendarString = xmlFriendlyLastUpdateFormat.format(calendar.getTime());
+
+ return DatatypeFactory.newInstance().newXMLGregorianCalendar(xmlGregorianCalendarString);
+ }
+
private boolean isTGETDataOutOfDate(XMLGregorianCalendar ourLastUpdate, XMLGregorianCalendar trdmLastUpdate) {
return ourLastUpdate.compare(trdmLastUpdate) < 0;
}
@@ -135,11 +146,15 @@ private void updateTGETData(XMLGregorianCalendar ourLastUpdate, String trdmTable
throw new IllegalArgumentException("Invalid table name");
}
logger.info("table {} is allowed, proceeding", trdmTable);
+
+ XMLGregorianCalendar oneWeekLater = addOneWeek(ourLastUpdate);
+
// Request all TGET data from TRDM since our last update
GetTableRequest getTableRequestBody = new GetTableRequest();
getTableRequestBody.setPhysicalName(trdmTable);
getTableRequestBody.setContentUpdatedSinceDateTime(ourLastUpdate.toString());
getTableRequestBody.setReturnContent(true);
+ getTableRequestBody.setContentUpdatedOnOrBeforeDateTime(oneWeekLater.toString());
logger.info("calling TRDM getTable with provided body {}", getTableRequestBody);
GetTableResponse getTableResponse = getTableService.getTableRequest(getTableRequestBody);
logger.info("received response back from TRDM getTable, beginning to parse..");