Merge "Issue #2288 Dialog changes for latency display." into dd_pre_release_2.1

Former-commit-id: 370432c909 [formerly d47896ee9b] [formerly c1c7f7e6a4] [formerly 370432c909 [formerly d47896ee9b] [formerly c1c7f7e6a4] [formerly 7957615058 [formerly c1c7f7e6a4 [formerly ad3f6bb48994c42b537f1cc85e1d2b311d8cd514]]]]
Former-commit-id: 7957615058
Former-commit-id: 9157a824be [formerly 30d501e95a] [formerly a15c24a80045a6e985d5643e1b5eb5dcd8a0fad1 [formerly 5d07bb999d]]
Former-commit-id: d007c24b3bcc6526d31d1f88a496b7abcdb1dd83 [formerly c99374bece]
Former-commit-id: ccb2c59640
This commit is contained in:
Richard Peter 2013-09-04 08:59:14 -05:00 committed by Gerrit Code Review
commit 275814a99d
4 changed files with 87 additions and 12 deletions

View file

@ -47,6 +47,7 @@ import com.raytheon.uf.common.datadelivery.registry.Subscription.SubscriptionPri
* Jan 04, 2013 1420 mpduff Add latency.
* Jan 25, 2013 1528 djohnson Use priority enum instead of raw integers.
* Jun 04, 2013 223 mpduff Changes for Point Data.
* Aug 30, 2013 2288 bgonzale Added display of priority and latency rules.
*
* </pre>
*
@ -60,6 +61,15 @@ public class PriorityComp extends Composite {
/** Latency Text field */
private Text latencyText;
/** Should the rules for priority and latency be displayed. **/
private final boolean hasRules;
/** The latency Rule */
private final int latencyRule;
/** The priority Rule */
private final SubscriptionPriority priorityRule;
/** The latency value */
private final int latency;
@ -77,11 +87,43 @@ public class PriorityComp extends Composite {
* Parent composite.
* @param latency
* @param priority
* @param readOnlyLatency
* is latency editable.
*/
public PriorityComp(Composite parent, int latency,
SubscriptionPriority priority, boolean readOnlyLatency) {
super(parent, SWT.NONE);
this.hasRules = false;
this.latencyRule = 0;
this.latency = latency;
this.priorityRule = null;
this.priority = priority;
this.readOnlyLatency = readOnlyLatency;
init();
}
/**
* Constructor.
*
* @param parent
* Parent composite.
* @param latencyRule
* configured rule setting to display for latency
* @param latency
* @param priorityRule
* configured rule setting to display for latency
* @param priority
* @param readOnlyLatency
* is latency editable.
*/
public PriorityComp(Composite parent, int latencyRule, int latency,
SubscriptionPriority priorityRule, SubscriptionPriority priority,
boolean readOnlyLatency) {
super(parent, SWT.NONE);
this.hasRules = true;
this.latencyRule = latencyRule;
this.latency = latency;
this.priorityRule = priorityRule;
this.priority = priority;
this.readOnlyLatency = readOnlyLatency;
init();
@ -126,7 +168,14 @@ public class PriorityComp extends Composite {
priorityComp.setLayout(gl);
Label priorityLbl = new Label(priorityComp, SWT.NONE);
priorityLbl.setText(" Priority: ");
StringBuilder sb = new StringBuilder(" Priority");
if (hasRules) {
sb.append(" (Rule: ");
sb.append(priorityRule.getPriorityName());
sb.append(")");
}
sb.append(":");
priorityLbl.setText(sb.toString());
SubscriptionPriority[] prioritiesArr = SubscriptionPriority.values();
String[] priorities = new String[prioritiesArr.length];
@ -155,7 +204,14 @@ public class PriorityComp extends Composite {
latencyComp.setLayoutData(gd);
Label latencyLbl = new Label(latencyComp, SWT.NONE);
latencyLbl.setText("Latency (Minutes):");
sb = new StringBuilder("Latency in Minutes");
if (hasRules) {
sb.append(" (Rule: ");
sb.append(latencyRule);
sb.append(")");
}
sb.append(":");
latencyLbl.setText(sb.toString());
if (readOnlyLatency) {
latencyLabel = new Label(latencyComp, SWT.BORDER);
@ -172,6 +228,7 @@ public class PriorityComp extends Composite {
.setToolTipText("Time in minutes allotted for a subscription to download");
latencyText.setText(String.valueOf(this.latency));
}
}
/**

View file

@ -103,6 +103,7 @@ import com.raytheon.viz.ui.presenter.components.CheckBoxConf;
* Jun 12, 2013 2038 djohnson No longer modal.
* Jul 26, 2013 2232 mpduff Refactored Data Delivery permissions.
* Aug 21, 2013 1848 mpduff Check subscription.create and shared.subscription.create.
* Aug 30, 2013 2288 bgonzale Added display of priority and latency rules.
*
* </pre>
*
@ -227,18 +228,35 @@ public class CreateSubscriptionDlg extends CaveSWTDialog implements
int latency = 15;
SubscriptionPriority priority = SubscriptionPriority.NORMAL;
SystemRuleManager ruleManager = SystemRuleManager.getInstance();
boolean isReadOnlyLatency = false;
// rule values
SubscriptionPriority priorityRule = null;
int latencyRule = 0;
if (this.subscription.getDataSetType() == DataType.GRID) {
latency = ruleManager.getLatency(subscription, cycleTimes);
priority = ruleManager.getPriority(subscription, cycleTimes);
priorityComp = new PriorityComp(mainComp, latency, priority, false);
latencyRule = ruleManager.getLatency(subscription, cycleTimes);
priorityRule = ruleManager.getPriority(subscription, cycleTimes);
isReadOnlyLatency = false;
} else if (this.subscription.getDataSetType() == DataType.POINT) {
// For point the latency is the retrieval interval
latency = ((PointTime) subscription.getTime()).getInterval();
priority = ruleManager.getPointDataPriority(subscription);
priorityComp = new PriorityComp(mainComp, latency, priority, true);
latencyRule = ((PointTime) subscription.getTime()).getInterval();
priorityRule = ruleManager.getPointDataPriority(subscription);
isReadOnlyLatency = true;
}
if (isCreate()) {
latency = latencyRule;
priority = priorityRule;
} else {
latency = subscription.getLatencyInMinutes();
priority = subscription.getPriority();
}
priorityComp = new PriorityComp(mainComp, latencyRule, latency,
priorityRule, priority,
isReadOnlyLatency);
if (this.subscription.getDataSetType() == DataType.GRID) {
this.createCycleGroup();
}

View file

@ -120,6 +120,7 @@ import com.raytheon.viz.ui.presenter.components.ComboBoxConf;
* Jun 04, 2013 223 mpduff Add point data.
* Jul 18, 2013 1653 mpduff Add SubscriptionStatusSummary and the display dialog.
* Jul 26, 2031 2232 mpduff Refactored Data Delivery permissions.
* Aug 30, 2013 2288 bgonzale Removed unneeded call to setPriority.
* </pre>
*
* @author mpduff
@ -384,10 +385,6 @@ public class CreateSubscriptionDlgPresenter {
view.setActiveEndDateBtnEnabled(false);
}
if (!create) {
view.setPriority(subscription.getPriority());
}
if (this.dataSet.getDataSetType() == DataType.GRID) {
List<Integer> cycleTimes = subscription.getTime().getCycleTimes();
if (cycleTimes != null) {

View file

@ -77,6 +77,7 @@ import com.vividsolutions.jts.geom.Coordinate;
* Jun 11, 2013 2064 mpduff Don't output Parameter header if none exist.
* Jun 12, 2013 2064 mpduff Use SizeUtil to format data size output.
* Jul 26, 2031 2232 mpduff Removed sendAuthorizationRequest method.
* Aug 30, 2013 2288 bgonzale Added latency to details display.
* </pre>
*
* @author mpduff
@ -638,6 +639,8 @@ public class DataDeliveryUtils {
fmtStr.append("Priority: ")
.append(sub.getPriority().getPriorityValue()).append(newline);
fmtStr.append("Network: ").append(sub.getRoute()).append(newline);
fmtStr.append("Latency Minutes: ").append(sub.getLatencyInMinutes())
.append(newline);
fmtStr.append("Coverage: ").append(newline);
final Coverage coverage = sub.getCoverage();