Merge tag 'OB_14.4.1-26' into omaha_14.4.1

14.4.1-26


Former-commit-id: b6156ab57179bb4af118912960cf402d459ba779
This commit is contained in:
Steve Harris 2015-04-20 07:36:26 -05:00
commit cc1f5eaada
8 changed files with 1258 additions and 1034 deletions

View file

@ -28,6 +28,8 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.viz.core.AbstractTimeMatcher;
import com.raytheon.uf.viz.core.IGraphicsTarget;
import com.raytheon.uf.viz.core.VizConstants;
import com.raytheon.uf.viz.core.drawables.AbstractDescriptor;
@ -39,10 +41,13 @@ import com.raytheon.uf.viz.core.globals.VizGlobalsManager;
import com.raytheon.uf.viz.core.map.IMapDescriptor;
import com.raytheon.uf.viz.core.map.MapDescriptor;
import com.raytheon.uf.viz.core.maps.scales.MapScaleRenderableDisplay;
import com.raytheon.uf.viz.core.maps.scales.MapScalesManager;
import com.raytheon.uf.viz.core.maps.scales.MapScalesManager.ManagedMapScale;
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
import com.raytheon.uf.viz.core.rsc.IResourceGroup;
import com.raytheon.uf.viz.core.rsc.ResourceList;
import com.raytheon.uf.viz.core.rsc.ResourceList.AddListener;
import com.raytheon.uf.viz.core.rsc.ResourceProperties;
import com.raytheon.uf.viz.core.rsc.capabilities.DensityCapability;
import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability;
import com.raytheon.uf.viz.d2d.core.D2DProperties;
@ -61,6 +66,7 @@ import com.raytheon.viz.core.imagery.ImageCombiner;
* Feb 9, 2009 njensen Initial creation
* Mar 21, 2013 1638 mschenke Made map scales not tied to d2d
* Mar 22, 2013 1638 mschenke Moved map scale code to MapScaleRenderableDisplay
* Apr 06, 2015 ASM #17215 D. Friedman Implement clear to avoid removing time match basis
*
* </pre>
*
@ -321,4 +327,64 @@ public class D2DMapRenderableDisplay extends MapScaleRenderableDisplay
return combinerListener;
}
/** Like MapScaleRenderableDisplayer.clear, but avoids removing the time match
* basis until other resources are removed. This reduces time matching churn
* and reduces the chances of lockups.
* @see com.raytheon.uf.viz.core.maps.scales.MapScaleRenderableDisplay#clear()
*/
@Override
public void clear() {
AbstractVizResource<?, ?> timeMatchBasis = null;
AbstractTimeMatcher timeMatcher = descriptor.getTimeMatcher();
if (timeMatcher instanceof D2DTimeMatcher) {
timeMatchBasis = ((D2DTimeMatcher) timeMatcher).getTimeMatchBasis();
}
ManagedMapScale scale = MapScalesManager.getInstance().getScaleByName(
getScaleName());
if (scale != null) {
ResourceList list = descriptor.getResourceList();
for (ResourcePair rp : list) {
if (rp.getProperties().isSystemResource() == false) {
// Keep system resources
if (rp.getResource() != timeMatchBasis) {
list.remove(rp);
}
}
}
if (timeMatchBasis != null) {
list.removeRsc(timeMatchBasis);
}
loadScale(scale);
} else {
// Map scale could not be found, default to remove all
// non-map/system layers and reset display
ResourceList list = descriptor.getResourceList();
for (ResourcePair rp : list) {
ResourceProperties props = rp.getProperties();
if (props.isMapLayer() == false
&& props.isSystemResource() == false) {
if (rp.getResource() != timeMatchBasis) {
list.remove(rp);
}
} else {
try {
props.setVisible(true);
rp.getResource().recycle();
} catch (Throwable e) {
props.setVisible(false);
statusHandler.handle(Priority.PROBLEM, "Clear error: "
+ e.getMessage() + ":: The resource ["
+ rp.getResource().getSafeName()
+ "] has been disabled.", e);
}
}
}
if (timeMatchBasis != null) {
list.removeRsc(timeMatchBasis);
}
scaleToClientArea(getBounds());
}
}
}

View file

@ -56,7 +56,8 @@
# ------------ ---------- ----------- --------------------------
# 12/02/2014 RM #625 ryu Changed checkGroup() as suggested to display models
# in multi-columns when a single column is insufficient.
#
# 04/16/2015 17390 ryu Replacing string.atoi with int for string/integer to integer conversion
# (ListBox.curselection() now returns ints instead of strings.)
# ----------------------------------------------------------------------------
#
MenuItems = ["Verify"]
@ -6629,7 +6630,7 @@ class Verif(BVDialog):
outlist=[]
itemnums=self.ForecasterListbox.curselection()
try:
itemnums=map(string.atoi,itemnums)
itemnums=map(int,itemnums)
except ValueError: pass
for itemnum in itemnums:
outlist.append(self.forecasterNumbers[itemnum])
@ -6805,7 +6806,7 @@ class Verif(BVDialog):
def getFromdayListbox(self):
itemnums=self.FromdayListbox.curselection()
try:
itemnums=map(string.atoi,itemnums)
itemnums=map(int,itemnums)
except ValueError: pass
itemnum=itemnums[0]
outdate=self.gridDays[itemnum]
@ -6818,7 +6819,7 @@ class Verif(BVDialog):
outlist=[]
itemnums=self.DaylistListbox.curselection()
try:
itemnums=map(string.atoi,itemnums)
itemnums=map(int,itemnums)
except ValueError: pass
for itemnum in itemnums:
outlist.append(self.gridDays[itemnum])
@ -7792,7 +7793,7 @@ class Verif(BVDialog):
outlist=[]
itemnums=listbox.curselection()
try:
itemnums=map(string.atoi,itemnums)
itemnums=map(int,itemnums)
except ValueError: pass
for itemnum in itemnums:
outlist.append(listbox.get(itemnum))

View file

@ -38,7 +38,8 @@ from java.io import File
# ------------ ---------- ----------- --------------------------
# 05/29/08 njensen Initial Creation.
# 12/10/14 #14946 ryu Add getTimeZones() function.
#
# 04/16/15 #14946 ryu Fix getTimeZones to return the office TZ if timezone
# is not set for any zone in a segment.
#
#
@ -440,19 +441,18 @@ def getTimeZones(zones, officeTZ):
timezones = []
if zones is not None:
for zone in JUtil.javaStringListToPylist(zones):
area_dict = AreaDictionary.AreaDictionary.get(zone)
if area_dict is None:
continue
tzs = area_dict.get("ugcTimeZone")
if tzs is not None:
if type(tzs) is str:
tzs = [tzs]
for tz in tzs:
if tz not in timezones:
timezones.append(tz)
zdict = AreaDictionary.AreaDictionary.get(zone, {})
tzs = zdict.get("ugcTimeZone", [])
if type(tzs) is str:
tzs = [tzs]
for tz in tzs:
if tz not in timezones:
timezones.append(tz)
if officeTZ in timezones and officeTZ != timezones[0]:
timezones.remove(officeTZ)
timezones.insert(0, officeTZ)
if len(timezones) == 0:
timezones.append(officeTZ)
return JUtil.pylistToJavaStringList(timezones)
def reloadModule(moduleName):

View file

@ -899,5 +899,25 @@
<key>PEIE41, PEII42, PEIK98</key>
<value><name>Precip Fcst - 24hr accum</name></value>
</entry>
<entry>
<key>PGNW49</key>
<value><name>Day 4 Severe Outlook</name></value>
</entry>
<entry>
<key>PGNW50</key>
<value><name>Day 5 Severe Outlook</name></value>
</entry>
<entry>
<key>PGNW51</key>
<value><name>Day 6 Severe Outlook</name></value>
</entry>
<entry>
<key>PGNW52</key>
<value><name>Day 7 Severe Outlook</name></value>
</entry>
<entry>
<key>PGNW53</key>
<value><name>Day 8 Severe Outlook</name></value>
</entry>
</mapping>
</redbookWMOMap>

View file

@ -69,6 +69,7 @@ import com.raytheon.viz.alerts.observers.ProductAlertObserver;
* Apr 09, 2014 2947 bsteffen Initial creation
* May 06, 2014 3117 bsteffen Update for new data.
* Sep 09, 2014 3356 njensen Remove CommunicationException
* Apr 06, 2014 #17215 D. Friedman Use ReentrantLock
*
* </pre>
*
@ -104,11 +105,16 @@ public class SatelliteInventory extends AbstractInventory implements
}
@Override
public synchronized void initTree(Map<String, DerivParamDesc> derParLibrary)
public void initTree(Map<String, DerivParamDesc> derParLibrary)
throws DataCubeException {
level = LevelFactory.getInstance().getLevel("EA", 0.0);
coverages = new SatelliteCoverageCache();
super.initTree(derParLibrary);
lock.lock();
try {
level = LevelFactory.getInstance().getLevel("EA", 0.0);
coverages = new SatelliteCoverageCache();
super.initTree(derParLibrary);
} finally {
lock.unlock();
}
}
@Override

View file

@ -50,7 +50,8 @@
# 03/30/2015 #17206 yteng Changed some parameters that are not rate parameters
# 04/03/2015 #4367 dgilling Change WindGust's time constraints back to TC1
# for Fcst/Official.
#
# 04/15/2015 #17383 yteng Change localTC to fix error that time constraints
# being off
########################################################################
#----------------------------------------------------------------------------
@ -981,8 +982,8 @@ def localTC(start,repeat,duration,dst):
timezone = SITES[GFESUITE_SITEID][3]
import dateutil.tz, datetime
tz = dateutil.tz.gettz(timezone)
dt = datetime.datetime.utcnow()
delta = tz.utcoffset(dt) + tz.dst(dt)
local = datetime.datetime.now(tz)
delta = tz.utcoffset(local) - tz.dst(local)
offset = delta.days*86400 + delta.seconds
start = start - offset
if dst == 1:

File diff suppressed because it is too large Load diff

View file

@ -435,7 +435,7 @@ HDS ^(SF(US|PA)41) ([A-Z]{4}) (..)(..)(..)
# WMO Heading for Earth Networks Total Lightning
NGRID ^(SFPA42) ([A-Z]{4}) (..)(..)(..)
FILE -overwrite -log -edex -close /data_store/entlightning/(\4:yyyy)(\4:mm)\4/\5/\1_\3_\4\5\6_(seq).%Y%m%d%H
FILE -overwrite -log -edex -close /data_store/entlightning/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
# AWIPS1: TEXT ^[ABCFMNRSUVW]......[KPTMC] /text/NO_STORE
# TEXT ^[ABCFMNRSUVW].....[KPTMC] /text/NO_STORE