OB_14.1.1-20 baseline

Former-commit-id: bdb1c79ea2557e4e830a4d1c8782a3a1dc3776de
This commit is contained in:
Brian.Dyke 2014-02-26 17:39:15 -05:00
parent 10b723647b
commit 2bad40cfee
14 changed files with 276 additions and 38 deletions

View file

@ -270,7 +270,7 @@
<sequential>
<property name="___memorySettingsVersion___"
value="3.0"/>
value="4.0"/>
<if>
<not>
<equals
@ -394,6 +394,37 @@
append="true" />
</actions>
</call>
<!-- site type specific overrides (wfo, ncep, etc) -->
<call path="//${cave.arch}/site-type-override">
<param name="site-type"
path="site-type/text()" />
<param name="max-memory"
path="ini-substitutions/max-memory/value/text()" />
<param name="max-perm"
path="ini-substitutions/max-perm/value/text()" />
<actions>
<!-- Create a site-type-specific ini file -->
<copy verbose="true"
file="/tmp/cave/cave.ini"
tofile="/tmp/cave/@{site-type}.ini"
overwrite="true" />
<!-- Update the ini file -->
<update.ini
ini.file="@{site-type}.ini"
jvm.arg="${cave-memory-settings.default-memory-setting.default-max-memory.jvm-arg}"
current.value="${cave-memory-settings.default-memory-setting.default-max-memory.value}"
new.value="@{max-memory}" />
<update.ini
ini.file="@{site-type}.ini"
jvm.arg="${cave-memory-settings.default-memory-setting.default-max-perm.jvm-arg}"
current.value="${cave-memory-settings.default-memory-setting.default-max-perm.value}"
new.value="@{max-perm}" />
</actions>
</call>
</xmltask>
<!-- Finish the iniLookup.sh script -->

View file

@ -2,7 +2,7 @@
<cave-memory-settings>
<!-- The version should be incremented whenever
the file layout changes. -->
<file-version>3.0</file-version>
<file-version>4.0</file-version>
<!-- Example Entry ... See Below. -->
<!--
@ -141,6 +141,7 @@
</max-perm>
</ini-substitutions>
</memory-setting>
</arch.x86>
<arch.x86_64>
@ -250,6 +251,61 @@
</max-perm>
</ini-substitutions>
</memory-setting>
<!-- memory default overrides for a particular site type (wfo, ncep, etc) -->
<!-- site-type names need to be all lower case -->
<site-type-override>
<site-type>wfo</site-type>
<ini-substitutions>
<max-memory>
<value>3072M</value>
</max-memory>
<max-perm>
<value>DEFAULT</value>
</max-perm>
</ini-substitutions>
</site-type-override>
<site-type-override>
<site-type>rfc</site-type>
<ini-substitutions>
<max-memory>
<value>2048M</value>
</max-memory>
<max-perm>
<value>DEFAULT</value>
</max-perm>
</ini-substitutions>
</site-type-override>
<site-type-override>
<site-type>ncep</site-type>
<ini-substitutions>
<max-memory>
<value>2048M</value>
</max-memory>
<max-perm>
<value>DEFAULT</value>
</max-perm>
</ini-substitutions>
</site-type-override>
<site-type-override>
<site-type>cwsu</site-type>
<ini-substitutions>
<max-memory>
<value>3072M</value>
</max-memory>
<max-perm>
<value>DEFAULT</value>
</max-perm>
</ini-substitutions>
</site-type-override>
</arch.x86_64>
</cave-memory-settings>

View file

@ -29,6 +29,7 @@
# Jan 30, 2014 #2593 bclement extracted generic part of getPidsOfMyRunningCaves into forEachRunningCave
# added methods for reading max memory from .ini files
# fixes for INI files with spaces
# Feb 20, 2014 #2780 bclement added site type ini file check
#
#
@ -68,7 +69,13 @@ function lookupINI()
if [ ${RC} -eq 0 ]; then
export CAVE_INI_ARG="--launcher.ini /awips2/cave/${ASSOCIATED_INI}"
else
export CAVE_INI_ARG="--launcher.ini /awips2/cave/cave.ini"
siteTypeIni="/awips2/cave/${SITE_TYPE}.ini"
if [[ -e ${siteTypeIni} ]]
then
export CAVE_INI_ARG="--launcher.ini ${siteTypeIni}"
else
export CAVE_INI_ARG="--launcher.ini /awips2/cave/cave.ini"
fi
fi
return 0
fi

View file

@ -13,7 +13,8 @@ Require-Bundle: com.raytheon.uf.viz.core,
com.raytheon.viz.core;bundle-version="1.12.1174",
com.raytheon.viz.ui;bundle-version="1.12.1174",
com.raytheon.viz.alerts;bundle-version="1.12.1174",
com.raytheon.uf.viz.thinclient;bundle-version="1.0.0"
com.raytheon.uf.viz.thinclient;bundle-version="1.0.0",
com.raytheon.viz.grid;bundle-version="1.12.1174"
Import-Package: com.raytheon.uf.common.comm,
com.raytheon.uf.common.datastorage,
com.raytheon.uf.viz.core.maps.rsc,

View file

@ -19,12 +19,17 @@
**/
package com.raytheon.uf.viz.thinclient.cave.refresh;
import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.jface.preference.IPreferenceStore;
import com.raytheon.uf.viz.core.alerts.AlertMessage;
import com.raytheon.uf.viz.thinclient.Activator;
import com.raytheon.uf.viz.thinclient.preferences.ThinClientPreferenceConstants;
import com.raytheon.uf.viz.thinclient.refresh.TimedRefresher.RefreshTimerTask;
import com.raytheon.viz.alerts.jobs.AutoUpdater;
import com.raytheon.viz.alerts.observers.ProductAlertObserver;
/**
* Timer task responsible for refreshing IEditorParts that implement
@ -38,6 +43,7 @@ import com.raytheon.viz.alerts.jobs.AutoUpdater;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 10, 2011 mschenke Initial creation
* Feb 21, 2014 DR 16744 D. Friedman Update all alert observers
*
* </pre>
*
@ -56,8 +62,17 @@ public class DataRefreshTask implements RefreshTimerTask {
public void run() {
IPreferenceStore store = Activator.getDefault().getPreferenceStore();
if (store.getBoolean(ThinClientPreferenceConstants.P_DISABLE_JMS)) {
new AutoUpdater().alertArrived(ThinClientDataUpdateTree
.getInstance().updateAllData());
Collection<AlertMessage> alerts = ThinClientDataUpdateTree
.getInstance().updateAllData();
// Make sure it gets to GridUpdater
ArrayList<String> s = new ArrayList<String>(alerts.size());
for (AlertMessage am : alerts) {
s.add(am.dataURI);
}
ProductAlertObserver.processDataURIAlerts(s);
new AutoUpdater().alertArrived(alerts);
}
}

View file

@ -30,8 +30,10 @@ import java.util.Set;
import java.util.TimeZone;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataquery.requests.DbQueryRequest;
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
import com.raytheon.uf.common.dataquery.responses.DbQueryResponse;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
@ -46,6 +48,8 @@ import com.raytheon.uf.viz.core.requests.ThriftClient;
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
import com.raytheon.uf.viz.core.rsc.AbstractResourceData;
import com.raytheon.uf.viz.core.rsc.updater.DataUpdateTree;
import com.raytheon.viz.grid.inv.RadarUpdater;
import com.raytheon.viz.grid.util.RadarAdapter;
/**
* TODO Add Description
@ -57,6 +61,7 @@ import com.raytheon.uf.viz.core.rsc.updater.DataUpdateTree;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 13, 2011 bsteffen Initial creation
* Feb 21, 2014 DR 16744 D. Friedman Add radar/grid updates
*
* </pre>
*
@ -125,9 +130,77 @@ public class ThinClientDataUpdateTree extends DataUpdateTree {
e);
}
}
getRadarUpdates(time, messages);
getGridUpdates(time, messages);
return messages;
}
/**
* Get radar update messages. This is needed to update the
* radar-as-gridded-data inventory.
*/
private void getRadarUpdates(String time, Set<AlertMessage> messages) {
Set<AlertMessage> radarMessages = new HashSet<AlertMessage>();
Map<String, RequestConstraint> metadata = RadarAdapter.getInstance().getUpdateConstraints();
metadata = new HashMap<String, RequestConstraint>(metadata);
metadata.put("insertTime", new RequestConstraint(time,
ConstraintType.GREATER_THAN));
LayerProperty property = new LayerProperty();
try {
property.setEntryQueryParameters(metadata, false);
List<Object> records = DataCubeContainer.getData(property,
60000); // 60-second timeout
if (records != null && !records.isEmpty()) {
for (Object record : records) {
if (record instanceof PluginDataObject) {
PluginDataObject pdo = (PluginDataObject) record;
AlertMessage am = new AlertMessage();
am.dataURI = pdo.getDataURI();
am.decodedAlert = RecordFactory.getInstance()
.loadMapFromUri(am.dataURI);
radarMessages.add(am);
}
}
}
messages.addAll(radarMessages);
for (String dataURI: RadarUpdater.getInstance().convertRadarAlertsToGridDatauris(radarMessages)) {
AlertMessage am = new AlertMessage();
am.dataURI = dataURI;
am.decodedAlert = RecordFactory.getInstance()
.loadMapFromUri(am.dataURI);
messages.add(am);
}
} catch (VizException e) {
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
e);
}
}
/** Get gridded data update messages. */
private void getGridUpdates(String time, Set<AlertMessage> messages) {
Map<String, RequestConstraint> newQuery = new HashMap<String, RequestConstraint>();
DbQueryRequest dbRequest = new DbQueryRequest();
newQuery.put("pluginName", new RequestConstraint("grid"));
newQuery.put("insertTime", new RequestConstraint(time,
ConstraintType.GREATER_THAN));
dbRequest.setConstraints(newQuery);
dbRequest.addRequestField("dataURI");
DbQueryResponse response = null;
try {
response = (DbQueryResponse) ThriftClient.sendRequest(dbRequest);
for (String dataURI: response.getFieldObjects("dataURI", String.class)) {
AlertMessage am = new AlertMessage();
am.dataURI = dataURI;
am.decodedAlert = RecordFactory.getInstance()
.loadMapFromUri(am.dataURI);
messages.add(am);
}
} catch (VizException e) {
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
e);
}
}
/**
* Get the estimated difference between the clock on the server and the
* local clock. The offset returned from this method will always be slightly

View file

@ -73,7 +73,8 @@ import com.raytheon.viz.aviation.resource.ResourceConfigMgr.ResourceTag;
* text height and width.
* 12/9/2010 7380 rferrel Adjust text size to be more like AWIPS I.
* 1/17/2011 7782 rferrel Added qcSkipCheck to mimic A1.
* 3/18/2011 7888 rferrel Added getLargeTF method.
* 3/18/2011 7888 rferrel Added getLargeTF method.
* 02/19/2014 16980 zhao added getter and setter for the Alt flag
*
* </pre>
*
@ -1368,4 +1369,12 @@ public class EditorTafTabComp extends Composite {
rtdRdo.setEnabled(editable);
corRdo.setEnabled(editable);
}
public boolean getAlt() {
return alt;
}
public void setAlt(boolean b) {
alt = b;
}
}

View file

@ -80,8 +80,10 @@ import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.MessageBox;
@ -226,6 +228,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
* 01/09/2013 15528 zhao Modified saveFile() and restoreFile()
* 10/24/2013 16478 zhao add syntax check for extra '=' sign
* 02/12/2014 17076 lvenable Mark guidance tabs as not current so they get refreshed
* 02/19/2014 16980 zhao add code to ensure the Alt flag is false after the Alt kay is released
*
* </pre>
*
@ -1088,6 +1091,11 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
// Create the File menu item with a File "dropdown" menu
Menu fileMenu = new Menu(menuBar);
fileMenuItem.setMenu(fileMenu);
fileMenu.addListener(SWT.Show, new Listener() {
public void handleEvent(Event event) {
setAltFlagForEditorTafTabComp();
}
});
// -------------------------------------------------
// Create all the items in the File dropdown menu
@ -1194,6 +1202,11 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
// Create the Options menu item with a Options "dropdown" menu
Menu optionsMenu = new Menu(menuBar);
optionsMenuItem.setMenu(optionsMenu);
optionsMenu.addListener(SWT.Show, new Listener() {
public void handleEvent(Event event) {
setAltFlagForEditorTafTabComp();
}
});
// ----------------------------------------------------
// Create all the items in the Options dropdown menu
@ -1268,7 +1281,12 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
// Create the File menu item with a File "dropdown" menu
Menu editMenu = new Menu(menuBar);
editMenuItem.setMenu(editMenu);
editMenu.addListener(SWT.Show, new Listener() {
public void handleEvent(Event event) {
setAltFlagForEditorTafTabComp();
}
});
// -------------------------------------------------
// Create all the items in the Edit dropdown menu
// -------------------------------------------------
@ -1342,6 +1360,19 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
}
});
}
/**
* When respectively using alt+'f', alt+'e', alt+'o' and alt+'h'
* to open/display menus 'File', 'Edit', 'Options' and 'Help',
* the alt flag of the editorTafTabComp object is set to true;
* it needs to be re-set to false
* (DR16980)
*/
private void setAltFlagForEditorTafTabComp() {
if ( editorTafTabComp.getAlt() ) {
editorTafTabComp.setAlt(false);
}
}
/**
* Create the Help menu.
@ -1359,6 +1390,11 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
// Create the File menu item with a File "dropdown" menu
Menu helpMenu = new Menu(menuBar);
helpMenuItem.setMenu(helpMenu);
helpMenu.addListener(SWT.Show, new Listener() {
public void handleEvent(Event event) {
setAltFlagForEditorTafTabComp();
}
});
// -------------------------------------------------
// Create all the items in the Help dropdown menu

View file

@ -40,6 +40,7 @@ import com.raytheon.viz.grid.util.RadarProductCodeMapping;
* ------------ ---------- ----------- --------------------------
* Sep 20, 2012 bsteffen Initial creation
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Feb 21, 2014 DR 16744 D. Friedman Support thin client updates
*
* </pre>
*
@ -150,10 +151,14 @@ public class RadarUpdater implements IAlertObserver {
@Override
public void alertArrived(Collection<AlertMessage> alertMessages) {
ProductAlertObserver.processDataURIAlerts(convertRadarAlertsToGridDatauris(alertMessages));
}
public Set<String> convertRadarAlertsToGridDatauris(Collection<AlertMessage> alertMessages) {
RadarStation configuredRadar = RadarAdapter.getInstance()
.getConfiguredRadar();
if (configuredRadar == null) {
return;
return new HashSet<String>();
}
Set<String> datauris = new HashSet<String>();
for (AlertMessage alertMessage : alertMessages) {
@ -209,7 +214,7 @@ public class RadarUpdater implements IAlertObserver {
"Unable to generate updates for derived product", e);
}
}
ProductAlertObserver.processDataURIAlerts(datauris);
return datauris;
}
private CacheKey getCacheKey(RadarRequestableLevelNode rNode) {

View file

@ -20,6 +20,7 @@
package com.raytheon.viz.grid.util;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@ -80,6 +81,7 @@ import com.raytheon.viz.radar.util.StationUtils;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 23, 2010 #4473 rjpeter Initial creation
* Feb 21, 2014 DR 16744 D. Friedman Add getUpdateConstraints
*
* </pre>
*
@ -394,4 +396,23 @@ public class RadarAdapter {
return rval;
}
public Map<String, RequestConstraint> getUpdateConstraints() {
RadarProductCodeMapping rpcMap = RadarProductCodeMapping.getInstance();
HashSet<Integer> productCodes = new HashSet<Integer>();
for (String abbrev : rpcMap.getParameterAbbrevs()) {
productCodes.addAll(rpcMap.getProductCodesForAbbrev(abbrev));
}
Map<String, RequestConstraint> rcMap = new HashMap<String, RequestConstraint>();
rcMap.put(RadarAdapter.PLUGIN_NAME_QUERY, new RequestConstraint(
RADAR_SOURCE));
rcMap.put(ICAO_QUERY, new RequestConstraint(getConfiguredRadar()
.getRdaId().toLowerCase()));
rcMap.put(
PRODUCT_CODE_QUERY,
new RequestConstraint(Arrays.toString(new ArrayList<Integer>(
productCodes).toArray()),
RequestConstraint.ConstraintType.IN));
return rcMap;
}
}

View file

@ -1,21 +0,0 @@
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="jms-notify" class="org.apache.camel.component.jms.JmsComponent">
<constructor-arg ref="jmsIngestNotifyConfig" />
<property name="taskExecutor" ref="notifyThreadPool" />
</bean>
<bean id="jmsIngestNotifyConfig" class="org.apache.camel.component.jms.JmsConfiguration"
factory-bean="jmsConfig" factory-method="copy">
</bean>
<bean id="notifyThreadPool"
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
<property name="corePoolSize" value="1" />
<property name="maxPoolSize" value="1" />
</bean>
</beans>

View file

@ -59,6 +59,7 @@ import com.raytheon.uf.edex.plugin.qc.dao.QCDao;
* pupynere
* May 16, 2013 1869 bsteffen Remove DataURI column from qc.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Feb 20, 2014 DR 17098 D. Friedman Filter out invalid lat/lon values.
*
* </pre>
*
@ -207,13 +208,15 @@ public class QCScanner {
while (ri < records.length) {
QCRecord r = new QCRecord();
double obsTime = dObsTime.getDouble(ri);
double lat = dLat.getDouble(ri);
double lon = dLon.getDouble(ri);
if ((obsTime != vObsTimeFillValue)
&& ((vObsTimeMissingValue == null) || (vObsTimeMissingValue != obsTime))) {
&& ((vObsTimeMissingValue == null) || (vObsTimeMissingValue != obsTime))
&& Math.abs(lon) <= 180 && Math.abs(lat) <= 90) {
r.setDataTime(new DataTime(new Date(
(long) (obsTime * 1000))));
SurfaceObsLocation loc = new SurfaceObsLocation();
loc.assignLocation(dLat.getDouble(ri),
dLon.getDouble(ri));
loc.assignLocation(lat, lon);
loc.setElevation(dElev.getInt(ri));
StringBuilder stationId = new StringBuilder(
ID_LENGTH);
@ -230,10 +233,12 @@ public class QCScanner {
++index;
++ri;
}
if (oi < records.length) {
records = Arrays.copyOf(records, oi);
if (oi > 0) {
if (oi < records.length) {
records = Arrays.copyOf(records, oi);
}
target.acceptRecords(records);
}
target.acceptRecords(records);
}
} finally {
nc.close();

View file

@ -411,7 +411,7 @@ if [ "${1}" = "-viz" ]; then
buildRPM "awips2"
buildRPM "awips2-common-base"
#buildRPM "awips2-python-numpy"
buildRPM "awips2-ant"
#buildRPM "awips2-ant"
#buildRPM "awips2-python-dynamicserialize"
#buildRPM "awips2-python"
#buildRPM "awips2-adapt-native"