Merge "Omaha #3622 Fix duplicate SiteActivationNotifications. Check in the rest of the changes I missed the first time." into omaha_14.4.1

Former-commit-id: 3daaa4e6b33bd284a088f290b40b7f63b4c27a43
This commit is contained in:
Richard Peter 2014-09-26 11:44:41 -05:00 committed by Gerrit Code Review
commit 1656522716
2 changed files with 30 additions and 12 deletions

View file

@ -73,26 +73,35 @@ public class ActivateSiteHandler implements
private ActivateSiteRequest request;
private SiteActivationMonitor monitor;
public ActivateMonitor(ActivateSiteRequest request) {
this.request = request;
try {
this.monitor = SiteActivationMonitor.getInstance();
} catch (EdexException e) {
// This will not happen as instance is created by camel so
// JVM will not start if exception occurs.
}
}
@Override
public void run() {
try {
Thread.sleep(3000);
while (SiteActivationMonitor.getInstance()
.getPendingActivations(request.getPlugin(), request.getSiteID())
.size() > 0) {
while (this.monitor.getPendingActivations(request.getPlugin(),
request.getSiteID()).size() > 0) {
Thread.sleep(1000);
}
} catch (InterruptedException e) {
// ignore
}
ClusterActivationNotification notify = new ClusterActivationNotification(
SiteUtil.getSite(), request.getSiteID(), request.getPlugin(),
SiteUtil.getSite(), request.getSiteID(),
request.getPlugin(),
SiteActivationNotification.ACTIVATIONTYPE.ACTIVATE,
SiteActivationMonitor.getInstance().getStatus(), true);
SiteActivationMonitor.getInstance().resetFailure();
this.monitor.getStatus(), true);
this.monitor.resetFailure();
try {
SendSiteActivationNotifications.send(notify);
} catch (EdexException e) {

View file

@ -73,26 +73,35 @@ public class DeactivateSiteHandler implements
private DeactivateSiteRequest request;
private SiteActivationMonitor monitor;
public DeactivateMonitor(DeactivateSiteRequest request) {
this.request = request;
try {
this.monitor = SiteActivationMonitor.getInstance();
} catch (EdexException e) {
// This will not happen as instance is created by camel so
// JVM will not start if exception occurs.
}
}
@Override
public void run() {
try {
Thread.sleep(3000);
while (SiteActivationMonitor.getInstance()
.getPendingDeactivations(request.getPlugin(), request.getSiteID())
.size() > 0) {
while (this.monitor.getPendingDeactivations(
request.getPlugin(), request.getSiteID()).size() > 0) {
Thread.sleep(1000);
}
} catch (InterruptedException e) {
// ignore
}
ClusterActivationNotification notify = new ClusterActivationNotification(
SiteUtil.getSite(), request.getSiteID(), request.getPlugin(),
SiteUtil.getSite(), request.getSiteID(),
request.getPlugin(),
SiteActivationNotification.ACTIVATIONTYPE.DEACTIVATE,
SiteActivationMonitor.getInstance().getStatus(), true);
SiteActivationMonitor.getInstance().resetFailure();
this.monitor.getStatus(), true);
this.monitor.resetFailure();
try {
SendSiteActivationNotifications.send(notify);
} catch (EdexException e) {