From 8efdea8fabdc56fcb7505323f2e8fca15ee96672 Mon Sep 17 00:00:00 2001 From: Mike Duff Date: Sun, 26 Jan 2014 18:59:10 -0600 Subject: [PATCH] Issue #2636 - Fix point scheduling Former-commit-id: a617ded73f9c1cd8cc48f989f5df6208766e5d47 [formerly 2c4f25ae813bed1ae1b50c78c0ff68d69313d880] [formerly af45ad9ac12f3491f98795a5a6b821e5ccef1166] [formerly c0e7aa2af3d8dc83e045829e2dc45893c5e61fc1 [formerly af45ad9ac12f3491f98795a5a6b821e5ccef1166 [formerly 6291c630ca3c1999870eb6045c95131153b1d305]]] Former-commit-id: c0e7aa2af3d8dc83e045829e2dc45893c5e61fc1 Former-commit-id: 8b684dac184430b2c33872505cf6993afc93701c [formerly f04058849fa7332f04eb627d2fa4746c1f41be11] Former-commit-id: e02576f73789008fd1ae2605a82446e0f28ded5b --- .../bandwidth/util/BandwidthDaoUtil.java | 37 +++---------------- 1 file changed, 6 insertions(+), 31 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.edex.datadelivery.bandwidth/src/com/raytheon/uf/edex/datadelivery/bandwidth/util/BandwidthDaoUtil.java b/edexOsgi/com.raytheon.uf.edex.datadelivery.bandwidth/src/com/raytheon/uf/edex/datadelivery/bandwidth/util/BandwidthDaoUtil.java index e78812ca46..2138c208ea 100644 --- a/edexOsgi/com.raytheon.uf.edex.datadelivery.bandwidth/src/com/raytheon/uf/edex/datadelivery/bandwidth/util/BandwidthDaoUtil.java +++ b/edexOsgi/com.raytheon.uf.edex.datadelivery.bandwidth/src/com/raytheon/uf/edex/datadelivery/bandwidth/util/BandwidthDaoUtil.java @@ -193,63 +193,38 @@ public class BandwidthDaoUtil { subscriptionCalculatedStart, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND); subscriptionCalculatedStart.add(Calendar.HOUR_OF_DAY, -6); - Calendar start = (Calendar) subscriptionCalculatedStart.clone(); - int availabilityOffset = 0; - try { - availabilityOffset = BandwidthUtil.getDataSetAvailablityOffset( - subscription, start); - } catch (RegistryHandlerException e) { - // Error occurred querying the registry. Log and continue on - statusHandler - .handle(Priority.PROBLEM, - "Unable to retrieve data availability offset, using 0 for the offset.", - e); - } - - /** - * Check the offset times against the start time and the base time - * against the end time. This prevents a missing download window at the - * beginning and the end - */ outerloop: while (!start.after(subscriptionCalculatedEnd)) { for (Integer cycle : hours) { start.set(Calendar.HOUR_OF_DAY, cycle); - Calendar baseTime = (Calendar) start.clone(); - - Calendar retrievalTime = TimeUtil.newCalendar(start); // start base equal-to-or-after subscriptionStart - if (retrievalTime.compareTo(subscriptionCalculatedStart) >= 0) { + if (start.compareTo(subscriptionCalculatedStart) >= 0) { for (Integer minute : minutes) { - retrievalTime.set(Calendar.MINUTE, minute); start.set(Calendar.MINUTE, minute); - retrievalTime.add(Calendar.MINUTE, availabilityOffset); - // start minutes equal-to-or-after subscriptionStart - if (retrievalTime - .compareTo(subscriptionCalculatedStart) >= 0) { + if (start.compareTo(subscriptionCalculatedStart) >= 0) { // Check for nonsense if (start.after(subscriptionCalculatedEnd)) { break outerloop; } else { Calendar time = TimeUtil.newCalendar(); - time.setTimeInMillis(retrievalTime - .getTimeInMillis()); + time.setTimeInMillis(start.getTimeInMillis()); /** * Fine grain check by hour and minute, for * subscription(start/end), * activePeriod(start/end) **/ // Subscription Start and End time first - if (start.after(subscriptionCalculatedEnd) + if (time.after(subscriptionCalculatedEnd) || time.before(start)) { // don't schedule this retrieval time, // outside subscription window continue; } - subscriptionTimes.add(baseTime); + + subscriptionTimes.add(time); } } }