Issue #2469 Refined deletion of adhoc subs.
Former-commit-id:f6763481a2
[formerlye02868bf2a
] [formerly988bb90523
] [formerlyf6763481a2
[formerlye02868bf2a
] [formerly988bb90523
] [formerly6b5543501a
[formerly988bb90523
[formerly f8d93b233f32623864f86edf822b77b68aa5e0a0]]]] Former-commit-id:6b5543501a
Former-commit-id:60c57083ec
[formerly05c2ce9bc3
] [formerly 14b9d536bae75aa52c4b4574d3c9332befc403b5 [formerly14ea0393a1
]] Former-commit-id: 37592c0c10843668337c9985be364df5616cf1ec [formerlyc552f899e3
] Former-commit-id:627dd4f2db
This commit is contained in:
parent
776b6ac204
commit
afc2eeec28
1 changed files with 24 additions and 9 deletions
|
@ -52,6 +52,7 @@ import com.raytheon.uf.edex.database.purge.PurgeRuleSet;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Oct 11, 2013 2460 dhladky Initial creation
|
||||
* Oct 23, 2013 2469 dhladky Refined the time check and accommodation for lack of purge rules.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -64,6 +65,8 @@ public class AdhocSubscriptionCleaner {
|
|||
private static final IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(AdhocSubscriptionCleaner.class);
|
||||
|
||||
private static final String DEFAULT_RULE = "00-12:00:00";
|
||||
|
||||
public AdhocSubscriptionCleaner() {
|
||||
|
||||
}
|
||||
|
@ -150,17 +153,29 @@ public class AdhocSubscriptionCleaner {
|
|||
if (purgeRuleSet != null) {
|
||||
|
||||
List<PurgeRule> rules = purgeRuleSet.getRules();
|
||||
// if no rules exist, create a default, 12 hours
|
||||
if (rules.isEmpty()) {
|
||||
rules = new ArrayList<PurgeRule>();
|
||||
PurgeRule rule = new PurgeRule();
|
||||
rule.setPeriod(DEFAULT_RULE);
|
||||
rules.add(rule);
|
||||
}
|
||||
|
||||
// Go over all of the purge rules for each sub
|
||||
for (PurgeRule rule : rules) {
|
||||
// use a valid rule
|
||||
if (rule.getPeriodInMillis() != 0) {
|
||||
// use current system date/time
|
||||
long timeCheck = TimeUtil.newDate().getTime();
|
||||
Date expireDate = new Date(timeCheck + rule.getPeriodInMillis());
|
||||
Date compareTime = TimeUtil.newDate();
|
||||
Date expireDate = new Date(adhoc.getTime()
|
||||
.getStart().getTime()
|
||||
+ rule.getPeriodInMillis());
|
||||
|
||||
// check rule against creation time of this sub
|
||||
if (adhoc.getTime().getEnd().before(expireDate)) {
|
||||
if (expireDate.before(compareTime)) {
|
||||
if (!subsToDelete.contains(adhoc)) {
|
||||
subsToDelete.add(adhoc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue