From d610c1b862137dfef0f358ae0c2fd1f78a148896 Mon Sep 17 00:00:00 2001 From: Max Schenkelberg Date: Mon, 11 Feb 2013 16:11:34 -0600 Subject: [PATCH] Issue #1602 Merged menu changes and D2D Nsharp changes to support NUCAPS NPP changes Change-Id: Ia3375d8c4e03ffa143a74c965c9cf40cb2649402 Former-commit-id: ac58f7ba225688d0c2f56a8937e3477bf30bd8d1 --- .../viz/d2d/nsharp/rsc/D2DNSharpResource.java | 27 +------------------ .../d2d/nsharp/rsc/D2DNSharpResourceData.java | 4 +++ .../widgets/SubmenuContributionItem.java | 11 ++++++-- .../ui/menus/xml/IncludeMenuContribution.java | 2 +- .../uf/viz/ui/menus/xml/IncludeMenuItem.java | 13 ++------- .../viz/ui/menus/xml/SubmenuContribution.java | 3 ++- 6 files changed, 19 insertions(+), 41 deletions(-) diff --git a/cave/com.raytheon.uf.viz.d2d.nsharp/src/com/raytheon/uf/viz/d2d/nsharp/rsc/D2DNSharpResource.java b/cave/com.raytheon.uf.viz.d2d.nsharp/src/com/raytheon/uf/viz/d2d/nsharp/rsc/D2DNSharpResource.java index bdea75c8f7..ac33ae8dad 100644 --- a/cave/com.raytheon.uf.viz.d2d.nsharp/src/com/raytheon/uf/viz/d2d/nsharp/rsc/D2DNSharpResource.java +++ b/cave/com.raytheon.uf.viz.d2d.nsharp/src/com/raytheon/uf/viz/d2d/nsharp/rsc/D2DNSharpResource.java @@ -138,7 +138,7 @@ public class D2DNSharpResource extends D2DNSharpDataObject pdo = dataResponseQueue.poll(); while (pdo != null) { if (pdos.get(pdo.getDataTime()) == pdo) { - if (isValidSounding(pdo)) { + if (pdo.getLayers() != null) { stnInfo = pdo.getStationInfo(); myDataMap.put(stnInfo.getStnDisplayInfo(), pdo.getLayers()); @@ -154,31 +154,6 @@ public class D2DNSharpResource extends } } - /** - * Determine if a dataObject has enough valid layers to build a sounding - * without freezing or crashing CAVE. - * - * @param pdo - * @return - */ - protected boolean isValidSounding(D2DNSharpDataObject pdo) { - if (pdo.getLayers() == null) { - return false; - } - - int numberOfWindLayers = 0; - for (NcSoundingLayer layer : pdo.getLayers()) { - if (layer.getWindSpeed() > 0) { - numberOfWindLayers += 1; - if (numberOfWindLayers >= 2) { - return true; - } - } - } - - return false; - } - private NsharpResourceHandler getHandler() throws VizException { List paneRscs = descriptor .getResourceList().getResourcesByTypeAsType( diff --git a/cave/com.raytheon.uf.viz.d2d.nsharp/src/com/raytheon/uf/viz/d2d/nsharp/rsc/D2DNSharpResourceData.java b/cave/com.raytheon.uf.viz.d2d.nsharp/src/com/raytheon/uf/viz/d2d/nsharp/rsc/D2DNSharpResourceData.java index e754ae596c..c6bc43cdfc 100644 --- a/cave/com.raytheon.uf.viz.d2d.nsharp/src/com/raytheon/uf/viz/d2d/nsharp/rsc/D2DNSharpResourceData.java +++ b/cave/com.raytheon.uf.viz.d2d.nsharp/src/com/raytheon/uf/viz/d2d/nsharp/rsc/D2DNSharpResourceData.java @@ -157,6 +157,10 @@ public abstract class D2DNSharpResourceData extends List layers = profileList.getSoundingLyLst(); layers = NsharpDataHandling.organizeSoundingDataForShow(layers, profileList.getStationElevation()); + if (layers != null && layers.size() < 3) { + // set invalid data to null + layers = null; + } dataObject.setLayers(layers); } diff --git a/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/widgets/SubmenuContributionItem.java b/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/widgets/SubmenuContributionItem.java index 549bcadfe0..b9616960b9 100644 --- a/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/widgets/SubmenuContributionItem.java +++ b/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/widgets/SubmenuContributionItem.java @@ -25,6 +25,9 @@ import java.util.Set; import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.action.MenuManager; import org.eclipse.swt.widgets.Menu; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.menus.IMenuService; +import org.eclipse.ui.menus.MenuUtil; import com.raytheon.uf.common.menus.xml.CommonAbstractMenuContribution; import com.raytheon.uf.common.menus.xml.VariableSubstitution; @@ -77,9 +80,9 @@ public class SubmenuContributionItem extends MenuManager { * @param mListener */ public SubmenuContributionItem(VariableSubstitution[] includeSubstitutions, - String name, CommonAbstractMenuContribution[] ci, + String id, String name, CommonAbstractMenuContribution[] ci, Set removals) { - super(processNameSubstitution(includeSubstitutions, name)); + super(processNameSubstitution(includeSubstitutions, name), id); this.subs = includeSubstitutions; this.contribs = ci; this.removals = removals; @@ -144,6 +147,10 @@ public class SubmenuContributionItem extends MenuManager { add(item); } } + IMenuService menuService = (IMenuService) PlatformUI.getWorkbench() + .getService(IMenuService.class); + menuService.populateContributionManager( + SubmenuContributionItem.this, MenuUtil.menuUri(getId())); } } } diff --git a/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/IncludeMenuContribution.java b/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/IncludeMenuContribution.java index 6fdfc0f8af..05ba0e55ba 100644 --- a/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/IncludeMenuContribution.java +++ b/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/IncludeMenuContribution.java @@ -72,7 +72,7 @@ public class IncludeMenuContribution extends newItem.substitutions = item.substitutions; newItem.suppressErrors = item.suppressErrors; return new IContributionItem[] { new SubmenuContributionItem(subs, - item.subMenuName, + item.id, item.subMenuName, new CommonAbstractMenuContribution[] { newItem }, removals) }; } return getContributionItemsInternal(items, subs, removals); diff --git a/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/IncludeMenuItem.java b/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/IncludeMenuItem.java index 98bd2d3173..27a2c4e058 100644 --- a/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/IncludeMenuItem.java +++ b/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/IncludeMenuItem.java @@ -83,7 +83,8 @@ public class IncludeMenuItem extends CommonIncludeMenuItem implements throws VizException { if (subMenuName != null) { submenuCont = new SubmenuContributionItem(incomingSubs, - subMenuName, null, removalsIn) { + "IncludeSubMenuContributionId_" + subMenuName, subMenuName, + null, removalsIn) { @Override protected synchronized IContributionItem[][] getContributionItems() { @@ -98,16 +99,6 @@ public class IncludeMenuItem extends CommonIncludeMenuItem implements } return this.contributionItems; } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.action.MenuManager#getId() - */ - @Override - public String getId() { - return "IncludeSubMenuContributionId_"+subMenuName; - } }; return new IContributionItem[] { submenuCont }; } diff --git a/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/SubmenuContribution.java b/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/SubmenuContribution.java index fe3c30aad8..ef35035570 100644 --- a/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/SubmenuContribution.java +++ b/cave/com.raytheon.uf.viz.ui.menus/src/com/raytheon/uf/viz/ui/menus/xml/SubmenuContribution.java @@ -65,7 +65,8 @@ public class SubmenuContribution extends return new IContributionItem[0]; return new IContributionItem[] { new SubmenuContributionItem(subs, - item.menuText, item.contributions, new HashSet()) }; + item.id, item.menuText, item.contributions, + new HashSet()) }; } }