Issue #1501 Use registry version of subscription when sending notification responses
Change-Id: I96622e8f1d2236ade47d4c5a11ad41b750bc7962 Former-commit-id:9f775d2dd7
[formerlyd9064bdc98
] [formerly9f775d2dd7
[formerlyd9064bdc98
] [formerly38036a0e8b
[formerly da8f6de9ae2b897163b465c045114fbd9ebec6e8]]] Former-commit-id:38036a0e8b
Former-commit-id:9681f57fac
[formerly13a75fabad
] Former-commit-id:6266e3e44c
This commit is contained in:
parent
e3cf0246c7
commit
1e4df6722c
9 changed files with 93 additions and 38 deletions
|
@ -26,11 +26,11 @@ import com.raytheon.uf.common.datadelivery.event.notification.PendingSubscriptio
|
|||
import com.raytheon.uf.common.datadelivery.event.notification.SubscriptionNotificationRequest;
|
||||
import com.raytheon.uf.common.datadelivery.registry.InitialPendingSubscription;
|
||||
import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
||||
import com.raytheon.uf.common.datadelivery.request.DataDeliveryConstants;
|
||||
import com.raytheon.uf.common.serialization.comm.RequestRouter;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
||||
|
||||
/**
|
||||
* Implementation of {@link ISubscriptionNotificationService} that sends the
|
||||
|
@ -42,7 +42,8 @@ import com.raytheon.uf.viz.core.requests.ThriftClient;
|
|||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jan 4, 2013 1441 djohnson Initial creation
|
||||
* Jan 04, 2013 1441 djohnson Initial creation
|
||||
* Jan 17, 2013 1501 djohnson Route to datadelivery.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -207,8 +208,7 @@ public class SendToServerSubscriptionNotificationService implements
|
|||
*/
|
||||
@Override
|
||||
public void sendSubscriptionActivatedNotification(
|
||||
Subscription subscription,
|
||||
String username) {
|
||||
Subscription subscription, String username) {
|
||||
SubscriptionNotificationRequest req = new SubscriptionNotificationRequest();
|
||||
req.setUserId(username);
|
||||
req.setCategory("Subscription");
|
||||
|
@ -223,8 +223,7 @@ public class SendToServerSubscriptionNotificationService implements
|
|||
*/
|
||||
@Override
|
||||
public void sendSubscriptionDeactivatedNotification(
|
||||
Subscription subscription,
|
||||
String username) {
|
||||
Subscription subscription, String username) {
|
||||
SubscriptionNotificationRequest req = new SubscriptionNotificationRequest();
|
||||
req.setUserId(username);
|
||||
req.setCategory("Subscription");
|
||||
|
@ -241,8 +240,9 @@ public class SendToServerSubscriptionNotificationService implements
|
|||
*/
|
||||
private void sendRequest(BaseSubscriptionNotificationRequest<?> req) {
|
||||
try {
|
||||
ThriftClient.sendRequest(req);
|
||||
} catch (VizException e) {
|
||||
RequestRouter
|
||||
.route(req, DataDeliveryConstants.DATA_DELIVERY_SERVER);
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,6 +65,8 @@ import com.raytheon.viz.ui.presenter.IDisplay;
|
|||
* Oct 23, 2012 1286 djohnson Hook into bandwidth management.
|
||||
* Nov 20, 2012 1286 djohnson Implement IDisplay.
|
||||
* Jan 04, 2013 1420 mpduff Remove applying of rules.
|
||||
* Jan 17, 2013 1501 djohnson Close the dialog when force apply occurs,
|
||||
* and check whether changes have already been applied when OK is pressed.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -437,21 +439,26 @@ public class SystemManagementDlg extends CaveSWTDialog implements IDisplay,
|
|||
sb.append("Would you like to change the bandwidth anyways?.");
|
||||
int response = DataDeliveryUtils.showMessage(getShell(),
|
||||
SWT.YES | SWT.NO, "Bandwidth Amount", sb.toString());
|
||||
boolean forceApplied = false;
|
||||
if (response == SWT.YES) {
|
||||
boolean forceApplied = SystemRuleManager
|
||||
forceApplied = SystemRuleManager
|
||||
.forceSetAvailableBandwidth(Network.OPSNET,
|
||||
bandwidth);
|
||||
if (!forceApplied) {
|
||||
if (forceApplied) {
|
||||
availableBandwidthModified = false;
|
||||
} else {
|
||||
statusHandler
|
||||
.handle(Priority.ERROR,
|
||||
"Bandwidth Change",
|
||||
"Unable to change the bandwidth for network "
|
||||
+ Network.OPSNET
|
||||
+ ". Please check the server for details.");
|
||||
return false;
|
||||
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return forceApplied;
|
||||
} else {
|
||||
availableBandwidthModified = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -17,4 +17,5 @@ Require-Bundle: javax.persistence;bundle-version="1.0.0",
|
|||
com.raytheon.uf.common.event;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.time;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.stats;bundle-version="1.0.0"
|
||||
com.raytheon.uf.common.stats;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.registry.ebxml;bundle-version="1.0.0"
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
package com.raytheon.uf.common.datadelivery.event.notification;
|
||||
|
||||
import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
||||
import com.raytheon.uf.common.datadelivery.registry.handlers.IBaseSubscriptionHandler;
|
||||
import com.raytheon.uf.common.serialization.ISerializableObject;
|
||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
||||
|
@ -35,6 +36,7 @@ import com.raytheon.uf.common.serialization.comm.IServerRequest;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Sep 20, 2012 1157 mpduff Initial creation
|
||||
* Jan 17, 2013 1501 djohnson Allow a response to specify the subscription handler.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -85,4 +87,11 @@ public abstract class BaseSubscriptionNotificationResponse<T extends Subscriptio
|
|||
this.subscription = subscription;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the subscription handler that corresponds to the subscription type
|
||||
* for this notification.
|
||||
*
|
||||
* @return the subscription handler
|
||||
*/
|
||||
public abstract IBaseSubscriptionHandler<T> getSubscriptionHandler();
|
||||
}
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
package com.raytheon.uf.common.datadelivery.event.notification;
|
||||
|
||||
import com.raytheon.uf.common.datadelivery.registry.InitialPendingSubscription;
|
||||
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
||||
import com.raytheon.uf.common.datadelivery.registry.handlers.IBaseSubscriptionHandler;
|
||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||
|
||||
/**
|
||||
|
@ -32,6 +34,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Sep 20, 2012 mpduff Initial creation
|
||||
* Jan 17, 2013 1501 djohnson Allow a response to specify the subscription handler.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -42,4 +45,12 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
|||
public class PendingSubscriptionNotificationResponse extends
|
||||
BaseSubscriptionNotificationResponse<InitialPendingSubscription> {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public IBaseSubscriptionHandler<InitialPendingSubscription> getSubscriptionHandler() {
|
||||
return DataDeliveryHandlers.getPendingSubscriptionHandler();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
package com.raytheon.uf.common.datadelivery.event.notification;
|
||||
|
||||
import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
||||
import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers;
|
||||
import com.raytheon.uf.common.datadelivery.registry.handlers.IBaseSubscriptionHandler;
|
||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||
|
||||
/**
|
||||
|
@ -33,6 +35,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 25, 2012 mpduff Initial creation.
|
||||
* Aug 21, 2012 712 mpduff Add a Subscription Object.
|
||||
* Jan 17, 2013 1501 djohnson Allow a response to specify the subscription handler.
|
||||
* </pre>
|
||||
*
|
||||
* @author mpduff
|
||||
|
@ -41,4 +44,12 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
|||
@DynamicSerialize
|
||||
public class SubscriptionNotificationResponse extends
|
||||
BaseSubscriptionNotificationResponse<Subscription>{
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public IBaseSubscriptionHandler<Subscription> getSubscriptionHandler() {
|
||||
return DataDeliveryHandlers.getSubscriptionHandler();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,4 +18,5 @@ Require-Bundle: com.google.guava;bundle-version="1.0.0",
|
|||
org.springframework;bundle-version="2.5.6",
|
||||
com.raytheon.uf.common.event;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.datadelivery.registry;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.registry.event;bundle-version="1.0.0"
|
||||
com.raytheon.uf.common.registry.event;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.registry.ebxml;bundle-version="1.0.0"
|
||||
|
|
|
@ -25,6 +25,7 @@ import com.raytheon.uf.common.datadelivery.event.notification.BaseSubscriptionNo
|
|||
import com.raytheon.uf.common.datadelivery.event.notification.BaseSubscriptionNotificationResponse;
|
||||
import com.raytheon.uf.common.datadelivery.event.notification.NotificationRecord;
|
||||
import com.raytheon.uf.common.datadelivery.registry.Subscription;
|
||||
import com.raytheon.uf.common.datadelivery.registry.handlers.IBaseSubscriptionHandler;
|
||||
import com.raytheon.uf.common.serialization.comm.IRequestHandler;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
|
@ -44,13 +45,15 @@ import com.raytheon.uf.common.status.UFStatus;
|
|||
* Aug 31, 2012 1128 mpduff Set priority and category from request.
|
||||
* Sep 06, 2012 687 mpduff Send a SubscriptionNotificationResponse object.
|
||||
* Sep 24, 2012 1157 mpduff Changed to use BaseSubscriptionNotificationRequest.
|
||||
* Jan 17, 2013 1501 djohnson If a subscription is still in the registry, use it for the notification response.
|
||||
* </pre>
|
||||
*
|
||||
* @author mpduff
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class SubscriptionNotificationHandler<T extends Subscription> extends AbstractHandler implements
|
||||
public class SubscriptionNotificationHandler<T extends Subscription> extends
|
||||
AbstractHandler implements
|
||||
IRequestHandler<BaseSubscriptionNotificationRequest<T>> {
|
||||
|
||||
private static final IUFStatusHandler statusHandler = UFStatus
|
||||
|
@ -87,9 +90,21 @@ public class SubscriptionNotificationHandler<T extends Subscription> extends Abs
|
|||
|
||||
storeAndSend(record, uri);
|
||||
|
||||
BaseSubscriptionNotificationResponse<T> response = request.getResponse();
|
||||
BaseSubscriptionNotificationResponse<T> response = request
|
||||
.getResponse();
|
||||
response.setMessage(request.getMessage());
|
||||
response.setSubscription(request.getSubscription());
|
||||
|
||||
final IBaseSubscriptionHandler<T> subscriptionHandler = response
|
||||
.getSubscriptionHandler();
|
||||
final T requestSubscription = request.getSubscription();
|
||||
final T registryVersion = subscriptionHandler
|
||||
.getByName(requestSubscription.getName());
|
||||
|
||||
// If the subscription is still in the registry, use that version which
|
||||
// will reflect any updates that have occurred since the notification
|
||||
// was sent, otherwise pass along the one provided with the request
|
||||
response.setSubscription((registryVersion != null) ? registryVersion
|
||||
: requestSubscription);
|
||||
|
||||
send(response, uri);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue