Issue #2330 On WFO registry init, only subscribe to local site subscriptions.

Change-Id: I12ef14dd428cd67b377931a3dd31c7804463baeb

Former-commit-id: 2cca8757e1 [formerly b91595aeb9] [formerly ef282c2e75f7e415b8f1249cc83de1f3b6430ad0 [formerly c6398db899]] [formerly 55e6411e90 [formerly c6398db899 [formerly a30219ac3bcabcda68370294e6d75fbac6e7ce5e]]]
Former-commit-id: 55e6411e90
Former-commit-id: 6650b664c76509f2c8b0843c89ab2fe39639d066 [formerly 38a558aa66]
Former-commit-id: d71810df55
This commit is contained in:
Brad Gonzales 2013-09-05 16:28:59 -05:00
parent 8699203f7a
commit fee9ddad5a

View file

@ -5,6 +5,8 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import com.raytheon.edex.site.SiteUtil;
import com.raytheon.uf.common.datadelivery.registry.SharedSubscription;
import com.raytheon.uf.common.datadelivery.registry.Subscription; import com.raytheon.uf.common.datadelivery.registry.Subscription;
import com.raytheon.uf.common.registry.ebxml.RegistryUtil; import com.raytheon.uf.common.registry.ebxml.RegistryUtil;
import com.raytheon.uf.common.status.IUFStatusHandler; import com.raytheon.uf.common.status.IUFStatusHandler;
@ -30,6 +32,7 @@ import com.raytheon.uf.edex.datadelivery.bandwidth.retrieval.RetrievalManager;
* Apr 16, 2013 1906 djohnson Implements RegistryInitializedListener. * Apr 16, 2013 1906 djohnson Implements RegistryInitializedListener.
* Apr 30, 2013 1960 djohnson just call init rather than drop/create tables explicitly. * Apr 30, 2013 1960 djohnson just call init rather than drop/create tables explicitly.
* Jun 25, 2013 2106 djohnson init() now takes a {@link RetrievalManager} as well. * Jun 25, 2013 2106 djohnson init() now takes a {@link RetrievalManager} as well.
* Sep 05, 2013 2330 bgonzale On WFO registry init, only subscribe to local site subscriptions.
* *
* </pre> * </pre>
* *
@ -82,9 +85,24 @@ public class HibernateBandwidthInitializer implements BandwidthInitializer {
public void executeAfterRegistryInit() { public void executeAfterRegistryInit() {
Set<Subscription> activeSubscriptions = Collections.emptySet(); Set<Subscription> activeSubscriptions = Collections.emptySet();
try { try {
// Load active subscriptions final String localOffice = SiteUtil.getSite();
activeSubscriptions = findSubscriptionsStrategy
.findSubscriptionsToSchedule(); // Load active subscriptions for the local office
for (Subscription sub : findSubscriptionsStrategy
.findSubscriptionsToSchedule()) {
boolean isShared = (sub instanceof SharedSubscription);
boolean isLocalOffice = sub.getOfficeIDs()
.contains(localOffice);
if (!isShared && isLocalOffice) {
activeSubscriptions.add(sub);
statusHandler.info("Scheduling Subscription: " + sub);
} else {
statusHandler
.info("Not Scheduling Non-local Subscription: "
+ sub);
}
}
} catch (Exception e) { } catch (Exception e) {
statusHandler.error( statusHandler.error(
"Failed to query for subscriptions to schedule", e); "Failed to query for subscriptions to schedule", e);