Issue #2277 Switched DataCubeContainer calls to not use ScriptCreator
Amend: Added comments as requested Change-Id: Ib787d43638f20babfc7f89ce2eac958e31d21c3c Former-commit-id:8a500677d3
[formerlyb633f9987a
] [formerly8a500677d3
[formerlyb633f9987a
] [formerly2d1db7d0e2
[formerly efb402d2835f715143cddffeec2bd7c20d0a65f6]]] Former-commit-id:2d1db7d0e2
Former-commit-id:1bdef4ddd3
[formerly61e6dd1316
] Former-commit-id:66d023227d
This commit is contained in:
parent
898340c538
commit
1a466db041
62 changed files with 501 additions and 1123 deletions
|
@ -29,6 +29,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingLayer;
|
import com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingLayer;
|
||||||
import com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingRecord;
|
import com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingRecord;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
|
@ -42,8 +43,6 @@ import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.wxmath.ZToPsa;
|
import com.raytheon.uf.common.wxmath.ZToPsa;
|
||||||
import com.raytheon.uf.viz.core.catalog.ScriptCreator;
|
|
||||||
import com.raytheon.uf.viz.core.comm.Loader;
|
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.derivparam.library.DerivedParameterGenerator;
|
import com.raytheon.uf.viz.derivparam.library.DerivedParameterGenerator;
|
||||||
import com.raytheon.viz.pointdata.util.AbstractPointDataInventory;
|
import com.raytheon.viz.pointdata.util.AbstractPointDataInventory;
|
||||||
|
@ -64,6 +63,7 @@ import com.raytheon.viz.pointdata.util.PointDataCubeAdapter;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Sep 26, 2012 bsteffen Initial javadoc
|
* Sep 26, 2012 bsteffen Initial javadoc
|
||||||
* Aug 14, 2013 2262 dgilling Use new wxmath method for ztopsa.
|
* Aug 14, 2013 2262 dgilling Use new wxmath method for ztopsa.
|
||||||
|
* Sep 9, 2013 2277 mschenke Got rid of ScriptCreator references
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -143,36 +143,34 @@ public class ACARSSoundingDataCubeAdapter extends PointDataCubeAdapter {
|
||||||
public PointDataContainer getBaseRecords(Collection<String> baseParameters,
|
public PointDataContainer getBaseRecords(Collection<String> baseParameters,
|
||||||
Map<String, RequestConstraint> queryParams) throws VizException {
|
Map<String, RequestConstraint> queryParams) throws VizException {
|
||||||
List<String> baseParams = new ArrayList<String>(baseParameters);
|
List<String> baseParams = new ArrayList<String>(baseParameters);
|
||||||
String script = ScriptCreator.createScript(queryParams, 1000, "select");
|
|
||||||
List<Object> respList = Loader.loadData(script, 60000);
|
PluginDataObject[] pdos = getData(queryParams, null);
|
||||||
ACARSSoundingRecord[] records = new ACARSSoundingRecord[respList.size()];
|
int numRecords = pdos.length;
|
||||||
for (int i = 0; i < records.length; i++) {
|
|
||||||
records[i] = (ACARSSoundingRecord) respList.get(i);
|
|
||||||
}
|
|
||||||
Object[] vals = new Object[baseParams.size()];
|
Object[] vals = new Object[baseParams.size()];
|
||||||
for (int i = 0; i < baseParams.size(); i++) {
|
for (int i = 0; i < baseParams.size(); i++) {
|
||||||
String parameter = baseParams.get(i);
|
String parameter = baseParams.get(i);
|
||||||
if (REFTIME.equals(parameter)) {
|
if (REFTIME.equals(parameter)) {
|
||||||
vals[i] = new long[records.length];
|
vals[i] = new long[numRecords];
|
||||||
} else if (FORECASTHR.equals(parameter)) {
|
} else if (FORECASTHR.equals(parameter)) {
|
||||||
vals[i] = new int[records.length];
|
vals[i] = new int[numRecords];
|
||||||
} else if (NUMLEVELS.equals(parameter)) {
|
} else if (NUMLEVELS.equals(parameter)) {
|
||||||
vals[i] = new int[records.length];
|
vals[i] = new int[numRecords];
|
||||||
} else if (STATIONID.equals(parameter)) {
|
} else if (STATIONID.equals(parameter)) {
|
||||||
vals[i] = new String[records.length];
|
vals[i] = new String[numRecords];
|
||||||
} else if (DATAURI.equals(parameter)) {
|
} else if (DATAURI.equals(parameter)) {
|
||||||
vals[i] = new String[records.length];
|
vals[i] = new String[numRecords];
|
||||||
} else if (TAILNUMBER.equals(parameter)) {
|
} else if (TAILNUMBER.equals(parameter)) {
|
||||||
vals[i] = new String[records.length];
|
vals[i] = new String[numRecords];
|
||||||
} else {
|
} else {
|
||||||
vals[i] = new float[records.length][];
|
vals[i] = new float[numRecords][];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int[] ids = new int[records.length];
|
int[] ids = new int[numRecords];
|
||||||
float[] latitudes = new float[records.length];
|
float[] latitudes = new float[numRecords];
|
||||||
float[] longitudes = new float[records.length];
|
float[] longitudes = new float[numRecords];
|
||||||
for (int i = 0; i < records.length; i++) {
|
for (int i = 0; i < numRecords; i++) {
|
||||||
ACARSSoundingRecord record = records[i];
|
ACARSSoundingRecord record = (ACARSSoundingRecord) pdos[i];
|
||||||
latitudes[i] = record.getLocation().getLatitude().floatValue();
|
latitudes[i] = record.getLocation().getLatitude().floatValue();
|
||||||
longitudes[i] = record.getLocation().getLongitude().floatValue();
|
longitudes[i] = record.getLocation().getLongitude().floatValue();
|
||||||
ids[i] = record.getId();
|
ids[i] = record.getId();
|
||||||
|
@ -189,19 +187,19 @@ public class ACARSSoundingDataCubeAdapter extends PointDataCubeAdapter {
|
||||||
if (baseParams.contains(STATIONID)) {
|
if (baseParams.contains(STATIONID)) {
|
||||||
int j = baseParams.indexOf(STATIONID);
|
int j = baseParams.indexOf(STATIONID);
|
||||||
String[] data = (String[]) vals[j];
|
String[] data = (String[]) vals[j];
|
||||||
data[i] = records[i].getLocation().getStationId();
|
data[i] = record.getLocation().getStationId();
|
||||||
}
|
}
|
||||||
if (baseParams.contains(DATAURI)) {
|
if (baseParams.contains(DATAURI)) {
|
||||||
int j = baseParams.indexOf(DATAURI);
|
int j = baseParams.indexOf(DATAURI);
|
||||||
String[] data = (String[]) vals[j];
|
String[] data = (String[]) vals[j];
|
||||||
data[i] = records[i].getDataURI();
|
data[i] = record.getDataURI();
|
||||||
}
|
}
|
||||||
// TODO currently it is necessary to remove duplicate flight levels
|
// TODO currently it is necessary to remove duplicate flight levels
|
||||||
// and pressure values to avoid errors in interpolation when
|
// and pressure values to avoid errors in interpolation when
|
||||||
// calculating values at rounded numbers(500mb) however it is not
|
// calculating values at rounded numbers(500mb) however it is not
|
||||||
// good to be discarding random data
|
// good to be discarding random data
|
||||||
Set<ACARSSoundingLayer> uniqueLayers = new HashSet<ACARSSoundingLayer>();
|
Set<ACARSSoundingLayer> uniqueLayers = new HashSet<ACARSSoundingLayer>();
|
||||||
Set<ACARSSoundingLayer> allLayers = records[i].getLevels();
|
Set<ACARSSoundingLayer> allLayers = record.getLevels();
|
||||||
List<Integer> levels = new ArrayList<Integer>();
|
List<Integer> levels = new ArrayList<Integer>();
|
||||||
List<Integer> pressures = new ArrayList<Integer>();
|
List<Integer> pressures = new ArrayList<Integer>();
|
||||||
for (ACARSSoundingLayer layer : allLayers) {
|
for (ACARSSoundingLayer layer : allLayers) {
|
||||||
|
@ -298,8 +296,8 @@ public class ACARSSoundingDataCubeAdapter extends PointDataCubeAdapter {
|
||||||
maxLength = val[j].length;
|
maxLength = val[j].length;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
float[] newValues = new float[maxLength * records.length];
|
float[] newValues = new float[maxLength * numRecords];
|
||||||
for (int j = 0; j < records.length; j++) {
|
for (int j = 0; j < numRecords; j++) {
|
||||||
for (int k = 0; k < maxLength; k++) {
|
for (int k = 0; k < maxLength; k++) {
|
||||||
if (val[j] != null && val[j].length > k) {
|
if (val[j] != null && val[j].length > k) {
|
||||||
newValues[j * maxLength + k] = val[j][k];
|
newValues[j * maxLength + k] = val[j][k];
|
||||||
|
@ -309,7 +307,7 @@ public class ACARSSoundingDataCubeAdapter extends PointDataCubeAdapter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dataRecords[i] = new FloatDataRecord(baseParams.get(i), "",
|
dataRecords[i] = new FloatDataRecord(baseParams.get(i), "",
|
||||||
newValues, 2, new long[] { maxLength, records.length });
|
newValues, 2, new long[] { maxLength, numRecords });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,6 @@ import com.raytheon.uf.common.pointdata.PointDataView;
|
||||||
import com.raytheon.uf.common.time.BinOffset;
|
import com.raytheon.uf.common.time.BinOffset;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.catalog.DirectDbQuery;
|
import com.raytheon.uf.viz.core.catalog.DirectDbQuery;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter;
|
import com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter;
|
||||||
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
|
@ -54,7 +53,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* TODO Add Description
|
* {@link IDataCubeAdapter} for coop precip data
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
*
|
*
|
||||||
|
@ -65,6 +64,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
||||||
* Dec 3, 2010 bsteffen Initial creation
|
* Dec 3, 2010 bsteffen Initial creation
|
||||||
* Aug 14,2012 #1055 dgilling Fix getData regression from
|
* Aug 14,2012 #1055 dgilling Fix getData regression from
|
||||||
* fxatext schema changes.
|
* fxatext schema changes.
|
||||||
|
* Sep 9, 2013 #2277 mschenke Got rid of ScriptCreator references
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -388,40 +388,35 @@ public class CoopPrecipDataCubeAdapter implements IDataCubeAdapter {
|
||||||
@Override
|
@Override
|
||||||
public IDataRecord[] getRecord(PluginDataObject obj)
|
public IDataRecord[] getRecord(PluginDataObject obj)
|
||||||
throws VizDataCubeException {
|
throws VizDataCubeException {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IDataRecord[] getRecord(PluginDataObject obj, Request req,
|
public IDataRecord[] getRecord(PluginDataObject obj, Request req,
|
||||||
String dataset) throws VizDataCubeException {
|
String dataset) throws VizDataCubeException {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getRecords(List<PluginDataObject> objs, Request req,
|
public void getRecords(List<PluginDataObject> objs, Request req,
|
||||||
String dataset) throws VizDataCubeException {
|
String dataset) throws VizDataCubeException {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Object> getData(LayerProperty property, int timeOut)
|
public PluginDataObject[] getData(
|
||||||
|
Map<String, RequestConstraint> constraints, DataTime[] selectedTimes)
|
||||||
throws VizException {
|
throws VizException {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initInventory() {
|
public void initInventory() {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object getInventory() {
|
public Object getInventory() {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,6 @@ import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||||
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
||||||
import com.raytheon.uf.common.time.BinOffset;
|
import com.raytheon.uf.common.time.BinOffset;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -55,6 +54,7 @@ import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Jul 22, 2008 brockwoo Initial creation
|
* Jul 22, 2008 brockwoo Initial creation
|
||||||
|
* Sep 9, 2013 2277 mschenke Got rid of ScriptCreator references
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -323,24 +323,46 @@ public class DataCubeContainer {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of responses for the requested layer property. If a
|
* Returns {@link PluginDataObject}s for the specified request constraints
|
||||||
* derived parameter, this will piece together the base parameteters.
|
|
||||||
*
|
*
|
||||||
* @param property
|
* @param constraints
|
||||||
* The layer property to request
|
* @return
|
||||||
* @param timeOut
|
|
||||||
* A timeout period for the request to EDEX
|
|
||||||
* @return A list of responses
|
|
||||||
* @throws VizException
|
* @throws VizException
|
||||||
*/
|
*/
|
||||||
public static List<Object> getData(LayerProperty property, int timeOut)
|
public static PluginDataObject[] getData(
|
||||||
|
Map<String, RequestConstraint> constraints) throws VizException {
|
||||||
|
return getData(constraints, (DataTime[]) null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns {@link PluginDataObject}s for the specified request constraints
|
||||||
|
* and selected time
|
||||||
|
*
|
||||||
|
* @param constraints
|
||||||
|
* @return
|
||||||
|
* @throws VizException
|
||||||
|
*/
|
||||||
|
public static PluginDataObject[] getData(
|
||||||
|
Map<String, RequestConstraint> constraints, DataTime time)
|
||||||
throws VizException {
|
throws VizException {
|
||||||
// Regular layer
|
return getData(constraints, time != null ? new DataTime[] { time }
|
||||||
HashMap<String, RequestConstraint> originalQuery = property
|
: null);
|
||||||
.getEntryQueryParameters(false);
|
}
|
||||||
String pluginName = originalQuery.get("pluginName")
|
|
||||||
|
/**
|
||||||
|
* Returns {@link PluginDataObject}s for the specified request constraints
|
||||||
|
* and selected times
|
||||||
|
*
|
||||||
|
* @param constraints
|
||||||
|
* @return
|
||||||
|
* @throws VizException
|
||||||
|
*/
|
||||||
|
public static PluginDataObject[] getData(
|
||||||
|
Map<String, RequestConstraint> constraints, DataTime[] times)
|
||||||
|
throws VizException {
|
||||||
|
String pluginName = constraints.get(PluginDataObject.PLUGIN_NAME_ID)
|
||||||
.getConstraintValue();
|
.getConstraintValue();
|
||||||
return getInstance(pluginName).adapter.getData(property, timeOut);
|
return getInstance(pluginName).adapter.getData(constraints, times);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Object getInventory(String plugin) {
|
public static Object getInventory(String plugin) {
|
||||||
|
@ -349,7 +371,8 @@ public class DataCubeContainer {
|
||||||
|
|
||||||
public static List<Map<String, RequestConstraint>> getBaseUpdateConstraints(
|
public static List<Map<String, RequestConstraint>> getBaseUpdateConstraints(
|
||||||
Map<String, RequestConstraint> constraints) {
|
Map<String, RequestConstraint> constraints) {
|
||||||
RequestConstraint pluginRC = constraints.get("pluginName");
|
RequestConstraint pluginRC = constraints
|
||||||
|
.get(PluginDataObject.PLUGIN_NAME_ID);
|
||||||
String plugin = null;
|
String plugin = null;
|
||||||
if (pluginRC != null
|
if (pluginRC != null
|
||||||
&& pluginRC.getConstraintType() == ConstraintType.EQUALS) {
|
&& pluginRC.getConstraintType() == ConstraintType.EQUALS) {
|
||||||
|
|
|
@ -24,16 +24,16 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
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;
|
||||||
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
||||||
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequest;
|
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequest;
|
||||||
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequestSet;
|
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequestSet;
|
||||||
|
import com.raytheon.uf.common.dataquery.responses.DbQueryResponse;
|
||||||
import com.raytheon.uf.common.datastorage.Request;
|
import com.raytheon.uf.common.datastorage.Request;
|
||||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||||
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.catalog.ScriptCreator;
|
|
||||||
import com.raytheon.uf.viz.core.comm.Loader;
|
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
||||||
|
|
||||||
|
@ -47,8 +47,8 @@ import com.raytheon.uf.viz.core.requests.ThriftClient;
|
||||||
*
|
*
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Dec 7, 2011 mschenke Initial creation
|
* Dec 7, 2011 mschenke Initial creation
|
||||||
*
|
* Sep 9, 2013 2277 mschenke Got rid of ScriptCreator references
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author mschenke
|
* @author mschenke
|
||||||
|
@ -188,14 +188,32 @@ public class DefaultDataCubeAdapter implements IDataCubeAdapter {
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
*
|
*
|
||||||
* @see
|
* @see
|
||||||
* com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter#getData(com.raytheon
|
* com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter#getData(java.
|
||||||
* .uf.viz.core.catalog.LayerProperty, int)
|
* util.Map, com.raytheon.uf.common.time.DataTime[])
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<Object> getData(LayerProperty property, int timeOut)
|
public PluginDataObject[] getData(
|
||||||
|
Map<String, RequestConstraint> constraints, DataTime[] selectedTimes)
|
||||||
throws VizException {
|
throws VizException {
|
||||||
String scriptToExecute = ScriptCreator.createScript(property);
|
DbQueryRequest request = new DbQueryRequest(constraints);
|
||||||
return Loader.loadScripts(new String[] { scriptToExecute }, timeOut);
|
if (selectedTimes != null && selectedTimes.length > 0) {
|
||||||
|
RequestConstraint timeConstraint = new RequestConstraint();
|
||||||
|
if (selectedTimes.length == 1) {
|
||||||
|
timeConstraint.setConstraintType(ConstraintType.EQUALS);
|
||||||
|
timeConstraint.setConstraintValue(selectedTimes[0].toString());
|
||||||
|
} else {
|
||||||
|
timeConstraint.setConstraintType(ConstraintType.IN);
|
||||||
|
String[] times = new String[selectedTimes.length];
|
||||||
|
for (int i = 0; i < times.length; ++i) {
|
||||||
|
times[i] = selectedTimes[i].toString();
|
||||||
|
}
|
||||||
|
timeConstraint.setConstraintValueList(times);
|
||||||
|
}
|
||||||
|
request.addConstraint(PluginDataObject.DATATIME_ID, timeConstraint);
|
||||||
|
}
|
||||||
|
DbQueryResponse response = (DbQueryResponse) ThriftClient
|
||||||
|
.sendRequest(request);
|
||||||
|
return response.getEntityObjects(PluginDataObject.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -206,7 +224,6 @@ public class DefaultDataCubeAdapter implements IDataCubeAdapter {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void initInventory() {
|
public void initInventory() {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -218,7 +235,6 @@ public class DefaultDataCubeAdapter implements IDataCubeAdapter {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object getInventory() {
|
public Object getInventory() {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,6 @@ import com.raytheon.uf.common.datastorage.Request;
|
||||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||||
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -131,18 +130,19 @@ public interface IDataCubeAdapter {
|
||||||
String dataset) throws VizDataCubeException;
|
String dataset) throws VizDataCubeException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds a list of responses for the specified LayerPropterty. This
|
* Builds an array of {@link PluginDataObject}s for the specified metadata
|
||||||
* includes looking at the derived parameter library and determining if any
|
* map and times. This includes looking at the derived parameter library and
|
||||||
* derived parameter satisfies the request. The list should contain the
|
* determining if any derived parameter satisfies the request. The list
|
||||||
* record type the is expected by the resource. For example, a GribRecord
|
* should contain the record type the is expected by the resource. For
|
||||||
* would be returned from a GRIB IDataCubeAdapter instance.
|
* example, a GribRecord would be returned from a GRIB IDataCubeAdapter
|
||||||
|
* instance.
|
||||||
*
|
*
|
||||||
* @param property
|
* @param request
|
||||||
* the layer property
|
* @return
|
||||||
* @return A list of records that are expected by the resource
|
|
||||||
* @throws VizException
|
* @throws VizException
|
||||||
*/
|
*/
|
||||||
public List<Object> getData(LayerProperty property, int timeOut)
|
public PluginDataObject[] getData(
|
||||||
|
Map<String, RequestConstraint> constraints, DataTime[] selectedTimes)
|
||||||
throws VizException;
|
throws VizException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -23,6 +23,7 @@ import java.lang.reflect.Array;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -41,6 +42,7 @@ import com.raytheon.uf.common.dataplugin.PluginException;
|
||||||
import com.raytheon.uf.common.dataplugin.annotations.DataURIUtil;
|
import com.raytheon.uf.common.dataplugin.annotations.DataURIUtil;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestableMetadataMarshaller;
|
import com.raytheon.uf.common.dataquery.requests.RequestableMetadataMarshaller;
|
||||||
|
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequest;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
|
@ -49,13 +51,13 @@ import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.RecordFactory;
|
import com.raytheon.uf.viz.core.RecordFactory;
|
||||||
import com.raytheon.uf.viz.core.alerts.AbstractAlertMessageParser;
|
import com.raytheon.uf.viz.core.alerts.AbstractAlertMessageParser;
|
||||||
import com.raytheon.uf.viz.core.alerts.AlertMessage;
|
import com.raytheon.uf.viz.core.alerts.AlertMessage;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.comm.Loader;
|
import com.raytheon.uf.viz.core.comm.Loader;
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
||||||
import com.raytheon.uf.viz.core.exception.NoDataAvailableException;
|
import com.raytheon.uf.viz.core.exception.NoDataAvailableException;
|
||||||
import com.raytheon.uf.viz.core.exception.NoMatchingTimesException;
|
import com.raytheon.uf.viz.core.exception.NoMatchingTimesException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
|
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
||||||
import com.raytheon.uf.viz.core.rsc.IResourceDataChanged.ChangeType;
|
import com.raytheon.uf.viz.core.rsc.IResourceDataChanged.ChangeType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -492,10 +494,7 @@ public abstract class AbstractRequestableResourceData extends
|
||||||
*/
|
*/
|
||||||
protected PluginDataObject[] requestPluginDataObjects(
|
protected PluginDataObject[] requestPluginDataObjects(
|
||||||
Collection<DataTime> loadSet) throws VizException {
|
Collection<DataTime> loadSet) throws VizException {
|
||||||
LayerProperty property = new LayerProperty();
|
Map<String, RequestConstraint> constraints = getMetadataMap();
|
||||||
// TODO fix?
|
|
||||||
property.setDesiredProduct(ResourceType.PLAN_VIEW);
|
|
||||||
// property.setDesiredProduct("Imagery");
|
|
||||||
|
|
||||||
BinOffset binOffset = getBinOffset();
|
BinOffset binOffset = getBinOffset();
|
||||||
|
|
||||||
|
@ -503,14 +502,12 @@ public abstract class AbstractRequestableResourceData extends
|
||||||
|
|
||||||
if (binOffset == null) {
|
if (binOffset == null) {
|
||||||
// Just ask for the data
|
// Just ask for the data
|
||||||
property.setEntryQueryParameters(getMetadataMap(), false);
|
|
||||||
property.setNumberOfImages(9999);
|
|
||||||
selectedEntryTimes = new ArrayList<DataTime>(loadSet);
|
selectedEntryTimes = new ArrayList<DataTime>(loadSet);
|
||||||
} else {
|
} else {
|
||||||
property.setEntryQueryParameters(getMetadataMap(), true);
|
// Find all the actual datatimes for the bins. TODO: Better way to
|
||||||
property.setNumberOfImages(9999);
|
// do this? Construct time range for each datatime in loadSet and
|
||||||
// Find all the actual datatimes for the bins
|
// request data in that range?
|
||||||
DataTime[] allDataTimes = property.getAllEntryTimes();
|
DataTime[] allDataTimes = getAvailableTimes(constraints, null);
|
||||||
List<DataTime> trueDataTimes = new ArrayList<DataTime>();
|
List<DataTime> trueDataTimes = new ArrayList<DataTime>();
|
||||||
|
|
||||||
for (DataTime realDataTime : allDataTimes) {
|
for (DataTime realDataTime : allDataTimes) {
|
||||||
|
@ -526,8 +523,6 @@ public abstract class AbstractRequestableResourceData extends
|
||||||
selectedEntryTimes = trueDataTimes;
|
selectedEntryTimes = trueDataTimes;
|
||||||
}
|
}
|
||||||
|
|
||||||
Object[] resp = null;
|
|
||||||
|
|
||||||
ArrayList<PluginDataObject> responses = new ArrayList<PluginDataObject>(
|
ArrayList<PluginDataObject> responses = new ArrayList<PluginDataObject>(
|
||||||
selectedEntryTimes.size());
|
selectedEntryTimes.size());
|
||||||
|
|
||||||
|
@ -539,21 +534,13 @@ public abstract class AbstractRequestableResourceData extends
|
||||||
}
|
}
|
||||||
List<DataTime> slice = selectedEntryTimes.subList(start, end);
|
List<DataTime> slice = selectedEntryTimes.subList(start, end);
|
||||||
|
|
||||||
property.setSelectedEntryTimes(slice.toArray(new DataTime[slice
|
PluginDataObject[] pdos = DataCubeContainer.getData(
|
||||||
.size()]));
|
getMetadataMap(), slice.toArray(new DataTime[0]));
|
||||||
|
responses.addAll(Arrays.asList(pdos));
|
||||||
resp = DataCubeContainer.getData(property, 60000).toArray(
|
|
||||||
new Object[] {});
|
|
||||||
for (Object o : resp) {
|
|
||||||
responses.add((PluginDataObject) o);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PluginDataObject[] arr = responses
|
Collections.sort(responses, layerComparator);
|
||||||
.toArray(new PluginDataObject[responses.size()]);
|
return responses.toArray(new PluginDataObject[0]);
|
||||||
|
|
||||||
Arrays.sort(arr, layerComparator);
|
|
||||||
return arr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -601,12 +588,8 @@ public abstract class AbstractRequestableResourceData extends
|
||||||
Map<String, RequestConstraint> constraintMap, BinOffset binOffset)
|
Map<String, RequestConstraint> constraintMap, BinOffset binOffset)
|
||||||
throws VizException {
|
throws VizException {
|
||||||
Validate.notNull(constraintMap);
|
Validate.notNull(constraintMap);
|
||||||
LayerProperty property = new LayerProperty();
|
return DataCubeContainer.performTimeQuery(constraintMap, false,
|
||||||
|
binOffset);
|
||||||
property.setDesiredProduct(ResourceType.PLAN_VIEW);
|
|
||||||
property.setEntryQueryParameters(constraintMap, true, binOffset);
|
|
||||||
DataTime[] availableTimes = property.getEntryTimes();
|
|
||||||
return availableTimes;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -28,13 +28,6 @@
|
||||||
renderingOrderId="IMAGE_LOCAL"
|
renderingOrderId="IMAGE_LOCAL"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="cwat"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
|
|
||||||
<!-- for making CWAT available on Localization Perspective in CAVE: 2012-05-14 from DHladky -->
|
<!-- for making CWAT available on Localization Perspective in CAVE: 2012-05-14 from DHladky -->
|
||||||
|
|
||||||
|
|
|
@ -46,10 +46,8 @@ import com.raytheon.uf.common.geospatial.MapUtil;
|
||||||
import com.raytheon.uf.common.geospatial.PointUtil;
|
import com.raytheon.uf.common.geospatial.PointUtil;
|
||||||
import com.raytheon.uf.common.gridcoverage.GridCoverage;
|
import com.raytheon.uf.common.gridcoverage.GridCoverage;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.rsc.ResourceType;
|
|
||||||
import com.raytheon.uf.viz.xy.InterpUtils;
|
import com.raytheon.uf.viz.xy.InterpUtils;
|
||||||
import com.raytheon.uf.viz.xy.crosssection.adapter.AbstractCrossSectionAdapter;
|
import com.raytheon.uf.viz.xy.crosssection.adapter.AbstractCrossSectionAdapter;
|
||||||
import com.raytheon.uf.viz.xy.crosssection.display.CrossSectionDescriptor;
|
import com.raytheon.uf.viz.xy.crosssection.display.CrossSectionDescriptor;
|
||||||
|
@ -72,7 +70,8 @@ import com.vividsolutions.jts.geom.Coordinate;
|
||||||
* in the data array for anything
|
* in the data array for anything
|
||||||
* below 300MB for RUC80.
|
* below 300MB for RUC80.
|
||||||
* Oct 2, 2012 DR 15259 M.Porricelli Allow plotting when 3 levels
|
* Oct 2, 2012 DR 15259 M.Porricelli Allow plotting when 3 levels
|
||||||
* available (DGEX)
|
* available (DGEX)
|
||||||
|
* Sep 9, 2013 2277 mschenke Got rid of ScriptCreator references
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -362,17 +361,11 @@ public class GridCSAdapter extends AbstractCrossSectionAdapter<GridRecord> {
|
||||||
new RequestConstraint(descriptor.getHeightScale()
|
new RequestConstraint(descriptor.getHeightScale()
|
||||||
.getParameter()));
|
.getParameter()));
|
||||||
|
|
||||||
LayerProperty property = new LayerProperty();
|
PluginDataObject[] pdos = DataCubeContainer.getData(metadataMap,
|
||||||
property.setDesiredProduct(ResourceType.PLAN_VIEW);
|
time);
|
||||||
|
yRecords = new HashSet<GridRecord>(pdos.length);
|
||||||
property.setEntryQueryParameters(metadataMap, false);
|
for (PluginDataObject pdo : pdos) {
|
||||||
property.setNumberOfImages(9999);
|
yRecords.add((GridRecord) pdo);
|
||||||
property.setSelectedEntryTimes(new DataTime[] { time });
|
|
||||||
|
|
||||||
List<Object> recs = DataCubeContainer.getData(property, 60000);
|
|
||||||
yRecords = new HashSet<GridRecord>(recs.size());
|
|
||||||
for (Object obj : recs) {
|
|
||||||
yRecords.add((GridRecord) obj);
|
|
||||||
}
|
}
|
||||||
this.yRecords.put(time, yRecords);
|
this.yRecords.put(time, yRecords);
|
||||||
if (yRecords.isEmpty()) {
|
if (yRecords.isEmpty()) {
|
||||||
|
|
|
@ -46,10 +46,8 @@ import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.rsc.ResourceType;
|
|
||||||
import com.raytheon.uf.viz.xy.InterpUtils;
|
import com.raytheon.uf.viz.xy.InterpUtils;
|
||||||
import com.raytheon.uf.viz.xy.varheight.adapter.AbstractVarHeightAdapter;
|
import com.raytheon.uf.viz.xy.varheight.adapter.AbstractVarHeightAdapter;
|
||||||
import com.raytheon.viz.core.graphing.xy.XYData;
|
import com.raytheon.viz.core.graphing.xy.XYData;
|
||||||
|
@ -66,7 +64,8 @@ import com.raytheon.viz.grid.inv.GridInventory;
|
||||||
* SOFTWARE HISTORY
|
* SOFTWARE HISTORY
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* May 7, 2010 bsteffen Initial creation
|
* May 7, 2010 bsteffen Initial creation
|
||||||
|
* Sep 9, 2013 2277 mschenke Got rid of ScriptCreator references
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -373,24 +372,16 @@ public class GridVarHeightAdapter extends AbstractVarHeightAdapter<GridRecord> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (times.size() > 0) {
|
if (times.isEmpty() == false) {
|
||||||
Map<String, RequestConstraint> metadataMap = new HashMap<String, RequestConstraint>(
|
Map<String, RequestConstraint> metadataMap = new HashMap<String, RequestConstraint>(
|
||||||
resourceData.getMetadataMap());
|
resourceData.getMetadataMap());
|
||||||
metadataMap.put(GridInventory.PARAMETER_QUERY,
|
metadataMap.put(GridInventory.PARAMETER_QUERY,
|
||||||
new RequestConstraint(heightScale.getParameter()));
|
new RequestConstraint(heightScale.getParameter()));
|
||||||
|
|
||||||
LayerProperty property = new LayerProperty();
|
PluginDataObject[] pdos = DataCubeContainer.getData(metadataMap,
|
||||||
property.setDesiredProduct(ResourceType.PLAN_VIEW);
|
times.toArray(new DataTime[0]));
|
||||||
|
for (PluginDataObject pdo : pdos) {
|
||||||
property.setEntryQueryParameters(metadataMap, false);
|
GridRecord gRecord = (GridRecord) pdo;
|
||||||
property.setNumberOfImages(9999);
|
|
||||||
property.setSelectedEntryTimes(times.toArray(new DataTime[times
|
|
||||||
.size()]));
|
|
||||||
|
|
||||||
List<Object> recs = DataCubeContainer.getData(property, 60000);
|
|
||||||
|
|
||||||
for (Object obj : recs) {
|
|
||||||
GridRecord gRecord = (GridRecord) obj;
|
|
||||||
Set<GridRecord> recordSet = yRecordMap.get(gRecord
|
Set<GridRecord> recordSet = yRecordMap.get(gRecord
|
||||||
.getDataTime());
|
.getDataTime());
|
||||||
if (recordSet != null) {
|
if (recordSet != null) {
|
||||||
|
|
|
@ -37,10 +37,8 @@ import com.raytheon.uf.common.dataquery.responses.DbQueryResponse;
|
||||||
import com.raytheon.uf.common.dataquery.responses.DbQueryResponseSet;
|
import com.raytheon.uf.common.dataquery.responses.DbQueryResponseSet;
|
||||||
import com.raytheon.uf.common.datastorage.Request;
|
import com.raytheon.uf.common.datastorage.Request;
|
||||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||||
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
import com.raytheon.uf.viz.core.datastructure.DefaultDataCubeAdapter;
|
||||||
import com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
||||||
|
@ -69,11 +67,12 @@ import com.raytheon.uf.viz.derivparam.tree.AbstractRequestableNode;
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public abstract class AbstractDataCubeAdapter implements IDataCubeAdapter {
|
public abstract class AbstractDataCubeAdapter extends DefaultDataCubeAdapter {
|
||||||
|
|
||||||
private String[] supportedPlugins;
|
private String[] supportedPlugins;
|
||||||
|
|
||||||
protected AbstractDataCubeAdapter(String[] supportedPlugins) {
|
protected AbstractDataCubeAdapter(String[] supportedPlugins) {
|
||||||
|
super(null);
|
||||||
this.supportedPlugins = supportedPlugins;
|
this.supportedPlugins = supportedPlugins;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,49 +180,19 @@ public abstract class AbstractDataCubeAdapter implements IDataCubeAdapter {
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
*
|
*
|
||||||
* @see
|
* @see
|
||||||
* com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter#getPoints(java
|
* com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter#getData(java.
|
||||||
* .lang.String, java.lang.String[], java.util.Map)
|
* util.Map, com.raytheon.uf.common.time.DataTime[])
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public PointDataContainer getPoints(String plugin, String[] parameters,
|
public PluginDataObject[] getData(
|
||||||
Map<String, RequestConstraint> queryParams) throws VizException {
|
Map<String, RequestConstraint> constraints, DataTime[] selectedTimes)
|
||||||
// TODO Someday we should put objective analysis code
|
|
||||||
// into this area
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter#getPoints(java
|
|
||||||
* .lang.String, java.lang.String[], java.lang.String, java.util.Map)
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public PointDataContainer getPoints(String plugin, String[] parameters,
|
|
||||||
String levelKey, Map<String, RequestConstraint> queryParams)
|
|
||||||
throws VizException {
|
throws VizException {
|
||||||
// TODO Someday we should put objective analysis code
|
List<AbstractRequestableNode> requests = evaluateRequestConstraints(new HashMap<String, RequestConstraint>(
|
||||||
// into this area
|
constraints));
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter#getData(com.raytheon
|
|
||||||
* .uf.viz.core.catalog.LayerProperty, int)
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public List<Object> getData(LayerProperty property, int timeOut)
|
|
||||||
throws VizException {
|
|
||||||
List<AbstractRequestableNode> requests = evaluateRequestConstraints(property
|
|
||||||
.getEntryQueryParameters(false));
|
|
||||||
Set<TimeAndSpace> availability = null;
|
Set<TimeAndSpace> availability = null;
|
||||||
if (property.getSelectedEntryTime() != null) {
|
if (selectedTimes != null) {
|
||||||
availability = new HashSet<TimeAndSpace>();
|
availability = new HashSet<TimeAndSpace>();
|
||||||
for (DataTime time : property.getSelectedEntryTime()) {
|
for (DataTime time : selectedTimes) {
|
||||||
availability.add(new TimeAndSpace(time));
|
availability.add(new TimeAndSpace(time));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -232,8 +201,8 @@ public abstract class AbstractDataCubeAdapter implements IDataCubeAdapter {
|
||||||
|
|
||||||
// pull the actual results from the cache
|
// pull the actual results from the cache
|
||||||
List<AbstractRequestableData> requesters = new ArrayList<AbstractRequestableData>();
|
List<AbstractRequestableData> requesters = new ArrayList<AbstractRequestableData>();
|
||||||
MetadataContainer container = createMetadataContainer(property
|
MetadataContainer container = createMetadataContainer(new HashMap<String, RequestConstraint>(
|
||||||
.getEntryQueryParameters(false));
|
constraints));
|
||||||
for (AbstractRequestableNode request : requests) {
|
for (AbstractRequestableNode request : requests) {
|
||||||
container.prepareRequests(request, availability);
|
container.prepareRequests(request, availability);
|
||||||
}
|
}
|
||||||
|
@ -241,7 +210,8 @@ public abstract class AbstractDataCubeAdapter implements IDataCubeAdapter {
|
||||||
requesters.addAll(container.getData(request, availability));
|
requesters.addAll(container.getData(request, availability));
|
||||||
}
|
}
|
||||||
|
|
||||||
return getData(property, requesters);
|
return getData(constraints, selectedTimes, requesters).toArray(
|
||||||
|
new PluginDataObject[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected MetadataContainer createMetadataContainer(
|
protected MetadataContainer createMetadataContainer(
|
||||||
|
@ -255,21 +225,6 @@ public abstract class AbstractDataCubeAdapter implements IDataCubeAdapter {
|
||||||
return new AvailabilityContainer(constraints);
|
return new AvailabilityContainer(constraints);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter#
|
|
||||||
* getBaseUpdateConstraints(java.util.Map)
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public List<Map<String, RequestConstraint>> getBaseUpdateConstraints(
|
|
||||||
Map<String, RequestConstraint> constraints) {
|
|
||||||
List<Map<String, RequestConstraint>> result = new ArrayList<Map<String, RequestConstraint>>(
|
|
||||||
1);
|
|
||||||
result.add(constraints);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
*
|
*
|
||||||
|
@ -321,6 +276,8 @@ public abstract class AbstractDataCubeAdapter implements IDataCubeAdapter {
|
||||||
* @param requesters
|
* @param requesters
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
protected abstract List<Object> getData(LayerProperty property,
|
protected abstract List<PluginDataObject> getData(
|
||||||
List<AbstractRequestableData> requesters) throws VizException;
|
Map<String, RequestConstraint> constraints,
|
||||||
|
DataTime[] selectedTimes, List<AbstractRequestableData> requesters)
|
||||||
|
throws VizException;
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,6 @@ import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||||
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.CubeUtil;
|
import com.raytheon.uf.viz.core.datastructure.CubeUtil;
|
||||||
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
|
@ -196,13 +195,16 @@ public class VIIRSDataCubeAdapter extends AbstractDataCubeAdapter {
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
*
|
*
|
||||||
* @see
|
* @see
|
||||||
* com.raytheon.uf.viz.derivparam.data.AbstractDataCubeAdapter#getData(com
|
* com.raytheon.uf.viz.derivparam.data.AbstractDataCubeAdapter#getData(java
|
||||||
* .raytheon.uf.viz.core.catalog.LayerProperty, java.util.List)
|
* .util.Map, com.raytheon.uf.common.time.DataTime[], java.util.List)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected List<Object> getData(LayerProperty property,
|
protected List<PluginDataObject> getData(
|
||||||
List<AbstractRequestableData> requesters) throws VizException {
|
Map<String, RequestConstraint> constraints,
|
||||||
List<Object> results = new ArrayList<Object>(requesters.size());
|
DataTime[] selectedTimes, List<AbstractRequestableData> requesters)
|
||||||
|
throws VizException {
|
||||||
|
List<PluginDataObject> results = new ArrayList<PluginDataObject>(
|
||||||
|
requesters.size());
|
||||||
for (AbstractRequestableData requester : requesters) {
|
for (AbstractRequestableData requester : requesters) {
|
||||||
List<VIIRSDataRecord> baseRecords = new ArrayList<VIIRSDataRecord>();
|
List<VIIRSDataRecord> baseRecords = new ArrayList<VIIRSDataRecord>();
|
||||||
findBaseRecords(requester, baseRecords);
|
findBaseRecords(requester, baseRecords);
|
||||||
|
@ -258,7 +260,8 @@ public class VIIRSDataCubeAdapter extends AbstractDataCubeAdapter {
|
||||||
getBaseUpdateConstraints(baseConstraints, d.node);
|
getBaseUpdateConstraints(baseConstraints, d.node);
|
||||||
}
|
}
|
||||||
} else if (!node.isConstant()) {
|
} else if (!node.isConstant()) {
|
||||||
// If everything is working correctly than this is dead code, but it is here just in case I missed something.
|
// If everything is working correctly than this is dead code, but it
|
||||||
|
// is here just in case I missed something.
|
||||||
Activator.statusHandler.handle(Priority.WARN, this.getClass()
|
Activator.statusHandler.handle(Priority.WARN, this.getClass()
|
||||||
.getSimpleName()
|
.getSimpleName()
|
||||||
+ " cannot determine base constraints for "
|
+ " cannot determine base constraints for "
|
||||||
|
|
|
@ -35,11 +35,9 @@ import javax.xml.bind.annotation.XmlElement;
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.common.time.TimeRange;
|
import com.raytheon.uf.common.time.TimeRange;
|
||||||
import com.raytheon.uf.common.time.util.TimeUtil;
|
import com.raytheon.uf.common.time.util.TimeUtil;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
||||||
|
@ -100,23 +98,15 @@ public abstract class AbstractNppResourceData extends
|
||||||
DataTime last = timesToLoad.get(timesToLoad.size() - 1);
|
DataTime last = timesToLoad.get(timesToLoad.size() - 1);
|
||||||
Map<String, RequestConstraint> requestMap = new HashMap<String, RequestConstraint>(
|
Map<String, RequestConstraint> requestMap = new HashMap<String, RequestConstraint>(
|
||||||
getMetadataMap());
|
getMetadataMap());
|
||||||
RequestConstraint timeConst = new RequestConstraint();
|
requestMap.put(
|
||||||
timeConst.setConstraintType(ConstraintType.BETWEEN);
|
"dataTime.refTime",
|
||||||
timeConst
|
new RequestConstraint(TimeUtil.formatToSqlTimestamp(first
|
||||||
.setBetweenValueList(new String[] {
|
.getValidPeriod().getStart()), TimeUtil
|
||||||
TimeUtil.formatToSqlTimestamp(first.getValidPeriod()
|
.formatToSqlTimestamp(last.getValidPeriod().getEnd())));
|
||||||
.getStart()),
|
|
||||||
TimeUtil.formatToSqlTimestamp(last.getValidPeriod()
|
|
||||||
.getEnd()) });
|
|
||||||
requestMap.put("dataTime.refTime", timeConst);
|
|
||||||
|
|
||||||
LayerProperty property = new LayerProperty();
|
PluginDataObject[] pdos = DataCubeContainer.getData(requestMap);
|
||||||
property.setEntryQueryParameters(requestMap, false);
|
|
||||||
property.setNumberOfImages(Integer.MAX_VALUE);
|
|
||||||
|
|
||||||
List<Object> pdos = DataCubeContainer.getData(property, 60000);
|
|
||||||
List<PluginDataObject> finalList = new ArrayList<PluginDataObject>(
|
List<PluginDataObject> finalList = new ArrayList<PluginDataObject>(
|
||||||
pdos != null ? pdos.size() : 0);
|
pdos != null ? pdos.length : 0);
|
||||||
|
|
||||||
if (pdos != null) {
|
if (pdos != null) {
|
||||||
for (Object obj : pdos) {
|
for (Object obj : pdos) {
|
||||||
|
|
|
@ -27,13 +27,6 @@
|
||||||
recordClass="com.raytheon.uf.common.dataplugin.preciprate.PrecipRateRecord"
|
recordClass="com.raytheon.uf.common.dataplugin.preciprate.PrecipRateRecord"
|
||||||
renderingOrderId="IMAGE_LOCAL"
|
renderingOrderId="IMAGE_LOCAL"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="preciprate"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
<extension
|
||||||
point="com.raytheon.uf.viz.productbrowser.dataDefinition">
|
point="com.raytheon.uf.viz.productbrowser.dataDefinition">
|
||||||
|
|
|
@ -28,14 +28,7 @@
|
||||||
renderingOrderId="CONTOUR"
|
renderingOrderId="CONTOUR"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="qpf"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
|
|
||||||
<extension
|
<extension
|
||||||
point="com.raytheon.uf.viz.productbrowser.dataDefinition">
|
point="com.raytheon.uf.viz.productbrowser.dataDefinition">
|
||||||
<dataDefinition
|
<dataDefinition
|
||||||
|
|
|
@ -1,71 +0,0 @@
|
||||||
/**
|
|
||||||
* This software was developed and / or modified by Raytheon Company,
|
|
||||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
|
||||||
*
|
|
||||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
|
||||||
* This software product contains export-restricted data whose
|
|
||||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
|
||||||
* to non-U.S. persons whether in the United States or abroad requires
|
|
||||||
* an export license or other authorization.
|
|
||||||
*
|
|
||||||
* Contractor Name: Raytheon Company
|
|
||||||
* Contractor Address: 6825 Pine Street, Suite 340
|
|
||||||
* Mail Stop B8
|
|
||||||
* Omaha, NE 68106
|
|
||||||
* 402.291.0100
|
|
||||||
*
|
|
||||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
|
||||||
* further licensing information.
|
|
||||||
**/
|
|
||||||
package com.raytheon.uf.viz.sounding.providers;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
|
||||||
import com.raytheon.uf.common.sounding.adapter.IVerticalSoundingProvider;
|
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
|
||||||
import com.vividsolutions.jts.geom.Coordinate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Abstract {@link IVerticalSoundingProvider} that uses {@link PluginDataObject}
|
|
||||||
* s for sounding creation
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
*
|
|
||||||
* SOFTWARE HISTORY
|
|
||||||
*
|
|
||||||
* Date Ticket# Engineer Description
|
|
||||||
* ------------ ---------- ----------- --------------------------
|
|
||||||
* Jul 26, 2013 2190 mschenke Initial creation
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @author mschenke
|
|
||||||
* @version 1.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
public abstract class AbstractPDOVerticalSoundingProvider extends
|
|
||||||
AbstractVerticalSoundingProvider<PluginDataObject[]> {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected PluginDataObject[] queryForData(
|
|
||||||
Map<String, RequestConstraint> constraints, DataTime time,
|
|
||||||
Coordinate location) {
|
|
||||||
try {
|
|
||||||
LayerProperty props = new LayerProperty();
|
|
||||||
props.setEntryTimes(new DataTime[] { time });
|
|
||||||
props.setSelectedEntryTimes(new DataTime[] { time });
|
|
||||||
props.setEntryQueryParameters(constraints, false);
|
|
||||||
return DataCubeContainer.getData(props, Integer.MAX_VALUE).toArray(
|
|
||||||
new PluginDataObject[0]);
|
|
||||||
} catch (VizException e) {
|
|
||||||
throw new RuntimeException("Error querying for sounding records: "
|
|
||||||
+ constraints, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -30,15 +30,18 @@ import org.opengis.referencing.operation.TransformException;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.bufrua.UAObs;
|
import com.raytheon.uf.common.dataplugin.bufrua.UAObs;
|
||||||
import com.raytheon.uf.common.dataplugin.bufrua.UAObsAdapter;
|
import com.raytheon.uf.common.dataplugin.bufrua.UAObsAdapter;
|
||||||
|
import com.raytheon.uf.common.dataplugin.bufrua.dao.BufrUAPointDataTransform;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequest;
|
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequest;
|
||||||
import com.raytheon.uf.common.geospatial.MapUtil;
|
import com.raytheon.uf.common.geospatial.MapUtil;
|
||||||
|
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
||||||
import com.raytheon.uf.common.sounding.SoundingLayer;
|
import com.raytheon.uf.common.sounding.SoundingLayer;
|
||||||
import com.raytheon.uf.common.sounding.VerticalSounding;
|
import com.raytheon.uf.common.sounding.VerticalSounding;
|
||||||
import com.raytheon.uf.common.sounding.adapter.IVerticalSoundingProvider;
|
import com.raytheon.uf.common.sounding.adapter.IVerticalSoundingProvider;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.time.BinOffset;
|
import com.raytheon.uf.common.time.BinOffset;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
||||||
import com.raytheon.uf.viz.sounding.Activator;
|
import com.raytheon.uf.viz.sounding.Activator;
|
||||||
|
@ -55,7 +58,8 @@ import com.vividsolutions.jts.index.strtree.STRtree;
|
||||||
*
|
*
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Jul 22, 2013 2190 mschenke Initial creation
|
* Jul 22, 2013 2190 mschenke Initial creation
|
||||||
|
* Sep 9, 2013 2277 mschenke Got rid of ScriptCreator references
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -63,7 +67,8 @@ import com.vividsolutions.jts.index.strtree.STRtree;
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class BufruaSoundingProvider extends AbstractPDOVerticalSoundingProvider {
|
public class BufruaSoundingProvider extends
|
||||||
|
AbstractVerticalSoundingProvider<PluginDataObject[]> {
|
||||||
|
|
||||||
private static final double MAX_MOUSE_DISTANCE_DEG = 5.0;
|
private static final double MAX_MOUSE_DISTANCE_DEG = 5.0;
|
||||||
|
|
||||||
|
@ -73,7 +78,7 @@ public class BufruaSoundingProvider extends AbstractPDOVerticalSoundingProvider
|
||||||
protected DataTime[] queryForSoundingTimes(
|
protected DataTime[] queryForSoundingTimes(
|
||||||
Map<String, RequestConstraint> constraints) {
|
Map<String, RequestConstraint> constraints) {
|
||||||
TimeQueryRequest request = new TimeQueryRequest();
|
TimeQueryRequest request = new TimeQueryRequest();
|
||||||
request.setPluginName("bufrua");
|
request.setPluginName(UAObs.PLUGIN_NAME);
|
||||||
request.setBinOffset(new BinOffset(3600, 3600));
|
request.setBinOffset(new BinOffset(3600, 3600));
|
||||||
request.setQueryTerms(constraints);
|
request.setQueryTerms(constraints);
|
||||||
try {
|
try {
|
||||||
|
@ -85,6 +90,31 @@ public class BufruaSoundingProvider extends AbstractPDOVerticalSoundingProvider
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see
|
||||||
|
* com.raytheon.uf.viz.sounding.providers.AbstractVerticalSoundingProvider
|
||||||
|
* #queryForData(java.util.Map, com.raytheon.uf.common.time.DataTime,
|
||||||
|
* com.vividsolutions.jts.geom.Coordinate)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected PluginDataObject[] queryForData(
|
||||||
|
Map<String, RequestConstraint> constraints, DataTime time,
|
||||||
|
Coordinate location) {
|
||||||
|
try {
|
||||||
|
constraints.put(PluginDataObject.DATATIME_ID,
|
||||||
|
new RequestConstraint(time.toString()));
|
||||||
|
PointDataContainer pdc = DataCubeContainer.getPointData(
|
||||||
|
UAObs.PLUGIN_NAME, BufrUAPointDataTransform.MAN_PARAMS,
|
||||||
|
constraints);
|
||||||
|
return BufrUAPointDataTransform.toUAObsRecords(pdc);
|
||||||
|
} catch (VizException e) {
|
||||||
|
throw new RuntimeException("Error querying for sounding records: "
|
||||||
|
+ constraints, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
*
|
*
|
||||||
|
|
|
@ -49,6 +49,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
||||||
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.viz.core.map.GeoUtil;
|
import com.raytheon.viz.core.map.GeoUtil;
|
||||||
import com.vividsolutions.jts.geom.Coordinate;
|
import com.vividsolutions.jts.geom.Coordinate;
|
||||||
|
|
||||||
|
@ -69,7 +70,8 @@ import com.vividsolutions.jts.geom.Coordinate;
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class GridSoundingProvider extends AbstractPDOVerticalSoundingProvider {
|
public class GridSoundingProvider extends
|
||||||
|
AbstractVerticalSoundingProvider<PluginDataObject[]> {
|
||||||
|
|
||||||
private static final String PARAM_TEMP = "T";
|
private static final String PARAM_TEMP = "T";
|
||||||
|
|
||||||
|
@ -172,6 +174,26 @@ public class GridSoundingProvider extends AbstractPDOVerticalSoundingProvider {
|
||||||
new RequestConstraint(Level.getInvalidLevelValueAsString()));
|
new RequestConstraint(Level.getInvalidLevelValueAsString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see
|
||||||
|
* com.raytheon.uf.viz.sounding.providers.AbstractVerticalSoundingProvider
|
||||||
|
* #queryForData(java.util.Map, com.raytheon.uf.common.time.DataTime,
|
||||||
|
* com.vividsolutions.jts.geom.Coordinate)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected PluginDataObject[] queryForData(
|
||||||
|
Map<String, RequestConstraint> constraints, DataTime time,
|
||||||
|
Coordinate location) {
|
||||||
|
try {
|
||||||
|
return DataCubeContainer.getData(constraints, time);
|
||||||
|
} catch (VizException e) {
|
||||||
|
throw new RuntimeException("Error querying for sounding records: "
|
||||||
|
+ constraints, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
*
|
*
|
||||||
|
|
|
@ -24,7 +24,6 @@ import java.util.Collection;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
|
@ -39,7 +38,6 @@ import com.raytheon.uf.common.time.msgs.GetServerTimeRequest;
|
||||||
import com.raytheon.uf.common.time.msgs.GetServerTimeResponse;
|
import com.raytheon.uf.common.time.msgs.GetServerTimeResponse;
|
||||||
import com.raytheon.uf.viz.core.RecordFactory;
|
import com.raytheon.uf.viz.core.RecordFactory;
|
||||||
import com.raytheon.uf.viz.core.alerts.AlertMessage;
|
import com.raytheon.uf.viz.core.alerts.AlertMessage;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
||||||
|
@ -103,22 +101,14 @@ public class ThinClientDataUpdateTree extends DataUpdateTree {
|
||||||
metadata = new HashMap<String, RequestConstraint>(metadata);
|
metadata = new HashMap<String, RequestConstraint>(metadata);
|
||||||
metadata.put("insertTime", new RequestConstraint(time,
|
metadata.put("insertTime", new RequestConstraint(time,
|
||||||
ConstraintType.GREATER_THAN));
|
ConstraintType.GREATER_THAN));
|
||||||
LayerProperty property = new LayerProperty();
|
|
||||||
try {
|
try {
|
||||||
property.setEntryQueryParameters(metadata, false);
|
PluginDataObject[] pdos = DataCubeContainer.getData(metadata);
|
||||||
List<Object> records = DataCubeContainer.getData(property,
|
for (PluginDataObject pdo : pdos) {
|
||||||
60000);
|
AlertMessage am = new AlertMessage();
|
||||||
if (records != null && !records.isEmpty()) {
|
am.dataURI = pdo.getDataURI();
|
||||||
for (Object record : records) {
|
am.decodedAlert = RecordFactory.getInstance()
|
||||||
if (record instanceof PluginDataObject) {
|
.loadMapFromUri(am.dataURI);
|
||||||
PluginDataObject pdo = (PluginDataObject) record;
|
messages.add(am);
|
||||||
AlertMessage am = new AlertMessage();
|
|
||||||
am.dataURI = pdo.getDataURI();
|
|
||||||
am.decodedAlert = RecordFactory.getInstance()
|
|
||||||
.loadMapFromUri(am.dataURI);
|
|
||||||
messages.add(am);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (VizException e) {
|
} catch (VizException e) {
|
||||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
||||||
|
|
|
@ -28,11 +28,4 @@
|
||||||
renderingOrderId="IMAGE_LOCAL"
|
renderingOrderId="IMAGE_LOCAL"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="vil"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
</plugin>
|
</plugin>
|
|
@ -62,13 +62,6 @@
|
||||||
commandId="com.raytheon.viz.aviation.openavnconfig">
|
commandId="com.raytheon.viz.aviation.openavnconfig">
|
||||||
</handler>
|
</handler>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="ccfp"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="com.raytheon.uf.viz.core.component">
|
point="com.raytheon.uf.viz.core.component">
|
||||||
<component key="avnmenu" class="com.raytheon.viz.aviation.AviationComponent"/>
|
<component key="avnmenu" class="com.raytheon.viz.aviation.AviationComponent"/>
|
||||||
|
|
|
@ -22,10 +22,12 @@ package com.raytheon.viz.awipstools.ui.dialog;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.LinkedHashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.commons.lang.ArrayUtils;
|
|
||||||
import org.eclipse.core.runtime.Status;
|
import org.eclipse.core.runtime.Status;
|
||||||
import org.eclipse.jface.dialogs.ErrorDialog;
|
import org.eclipse.jface.dialogs.ErrorDialog;
|
||||||
import org.eclipse.swt.SWT;
|
import org.eclipse.swt.SWT;
|
||||||
|
@ -49,11 +51,13 @@ import org.eclipse.swt.widgets.Listener;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
import org.eclipse.swt.widgets.Text;
|
import org.eclipse.swt.widgets.Text;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.radar.RadarRecord;
|
import com.raytheon.uf.common.dataplugin.radar.RadarRecord;
|
||||||
import com.raytheon.uf.common.dataplugin.radar.util.RadarDataRetriever;
|
import com.raytheon.uf.common.dataplugin.radar.util.RadarDataRetriever;
|
||||||
import com.raytheon.uf.common.dataplugin.radar.util.RadarRecordUtil;
|
import com.raytheon.uf.common.dataplugin.radar.util.RadarRecordUtil;
|
||||||
|
import com.raytheon.uf.common.dataquery.requests.DbQueryRequest;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
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.datastorage.DataStoreFactory;
|
import com.raytheon.uf.common.datastorage.DataStoreFactory;
|
||||||
import com.raytheon.uf.common.datastorage.IDataStore;
|
import com.raytheon.uf.common.datastorage.IDataStore;
|
||||||
import com.raytheon.uf.common.pointdata.spatial.ObStation;
|
import com.raytheon.uf.common.pointdata.spatial.ObStation;
|
||||||
|
@ -64,13 +68,10 @@ import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.HDF5Util;
|
import com.raytheon.uf.viz.core.HDF5Util;
|
||||||
import com.raytheon.uf.viz.core.VizApp;
|
import com.raytheon.uf.viz.core.VizApp;
|
||||||
import com.raytheon.uf.viz.core.VizConstants;
|
import com.raytheon.uf.viz.core.VizConstants;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.catalog.ScriptCreator;
|
|
||||||
import com.raytheon.uf.viz.core.comm.Loader;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.globals.VizGlobalsManager;
|
import com.raytheon.uf.viz.core.globals.VizGlobalsManager;
|
||||||
import com.raytheon.uf.viz.core.rsc.ResourceType;
|
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
||||||
import com.raytheon.uf.viz.points.IPointChangedListener;
|
import com.raytheon.uf.viz.points.IPointChangedListener;
|
||||||
import com.raytheon.uf.viz.points.PointsDataManager;
|
import com.raytheon.uf.viz.points.PointsDataManager;
|
||||||
import com.raytheon.viz.awipstools.IToolChangedListener;
|
import com.raytheon.viz.awipstools.IToolChangedListener;
|
||||||
|
@ -95,6 +96,7 @@ import com.vividsolutions.jts.geom.GeometryFactory;
|
||||||
* Sep 03, 2013 2310 bsteffen Use IPointChangedListener and
|
* Sep 03, 2013 2310 bsteffen Use IPointChangedListener and
|
||||||
* IToolChangedListener instead of
|
* IToolChangedListener instead of
|
||||||
* IResourceDataChanged.
|
* IResourceDataChanged.
|
||||||
|
* Sep 9, 2013 2277 mschenke Got rid of ScriptCreator references
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -114,7 +116,7 @@ public class ChooseByIdDialog extends CaveSWTDialog implements
|
||||||
private Button pointsRdo, baselinesRdo, homeRdo;
|
private Button pointsRdo, baselinesRdo, homeRdo;
|
||||||
|
|
||||||
private final List<ChooseByIdKeyListener> changeListeners = new ArrayList<ChooseByIdKeyListener>();
|
private final List<ChooseByIdKeyListener> changeListeners = new ArrayList<ChooseByIdKeyListener>();
|
||||||
|
|
||||||
private final List<Text> pointStationIdTextFields;
|
private final List<Text> pointStationIdTextFields;
|
||||||
|
|
||||||
private final List<Text> baselineStationIdTextFields;
|
private final List<Text> baselineStationIdTextFields;
|
||||||
|
@ -343,28 +345,14 @@ public class ChooseByIdDialog extends CaveSWTDialog implements
|
||||||
Coordinate c = null;
|
Coordinate c = null;
|
||||||
RadarRecord rr = null;
|
RadarRecord rr = null;
|
||||||
|
|
||||||
LayerProperty property = new LayerProperty();
|
|
||||||
HashMap<String, RequestConstraint> metadataMap = new HashMap<String, RequestConstraint>();
|
HashMap<String, RequestConstraint> metadataMap = new HashMap<String, RequestConstraint>();
|
||||||
RequestConstraint requestConstraint = null;
|
|
||||||
|
|
||||||
Object[] resp = null;
|
|
||||||
DataTime[] availableDataTimes = null;
|
DataTime[] availableDataTimes = null;
|
||||||
DataTime[] selectedDataTimes = null;
|
Collection<DataTime> selectedDataTimes = new LinkedHashSet<DataTime>();
|
||||||
|
|
||||||
requestConstraint = new RequestConstraint();
|
metadataMap.put("productCode", new RequestConstraint("149"));
|
||||||
requestConstraint.setConstraintType(ConstraintType.EQUALS);
|
metadataMap.put("pluginName", new RequestConstraint("radar"));
|
||||||
requestConstraint.setConstraintValue("149");
|
metadataMap.put("format", new RequestConstraint("Graphic"));
|
||||||
metadataMap.put("productCode", requestConstraint);
|
|
||||||
|
|
||||||
requestConstraint = new RequestConstraint();
|
|
||||||
requestConstraint.setConstraintType(ConstraintType.EQUALS);
|
|
||||||
requestConstraint.setConstraintValue("radar");
|
|
||||||
metadataMap.put("pluginName", requestConstraint);
|
|
||||||
|
|
||||||
requestConstraint = new RequestConstraint();
|
|
||||||
requestConstraint.setConstraintType(ConstraintType.EQUALS);
|
|
||||||
requestConstraint.setConstraintValue("Graphic");
|
|
||||||
metadataMap.put("format", requestConstraint);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
availableDataTimes = DataCubeContainer.performTimeQuery(
|
availableDataTimes = DataCubeContainer.performTimeQuery(
|
||||||
|
@ -379,70 +367,52 @@ public class ChooseByIdDialog extends CaveSWTDialog implements
|
||||||
}
|
}
|
||||||
|
|
||||||
if (availableDataTimes != null && availableDataTimes.length > 0) {
|
if (availableDataTimes != null && availableDataTimes.length > 0) {
|
||||||
Arrays.sort(availableDataTimes);
|
Arrays.sort(availableDataTimes, Collections.reverseOrder());
|
||||||
ArrayUtils.reverse(availableDataTimes);
|
|
||||||
|
|
||||||
selectedDataTimes = new DataTime[frameCount];
|
for (int i = 0; i < availableDataTimes.length
|
||||||
int count = 0;
|
&& selectedDataTimes.size() < frameCount; ++i) {
|
||||||
int numElements = availableDataTimes.length;
|
DataTime dt = availableDataTimes[i];
|
||||||
int indx = 0;
|
if (dt != null) {
|
||||||
while (count < frameCount && indx < numElements) {
|
selectedDataTimes.add(dt);
|
||||||
boolean found = false;
|
|
||||||
DataTime dt = availableDataTimes[indx];
|
|
||||||
if (dt == null) {
|
|
||||||
++indx;
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (DataTime t : selectedDataTimes) {
|
|
||||||
if (dt.equals(t)) {
|
|
||||||
found = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!found) {
|
|
||||||
selectedDataTimes[count] = dt;
|
|
||||||
++count;
|
|
||||||
}
|
|
||||||
++indx;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
property.setDesiredProduct(ResourceType.PLAN_VIEW);
|
if (selectedDataTimes.isEmpty() == false) {
|
||||||
property.setNumberOfImages(9999);
|
PluginDataObject[] resp = null;
|
||||||
property.setSelectedEntryTimes(selectedDataTimes);
|
|
||||||
|
|
||||||
try {
|
|
||||||
property.setEntryQueryParameters(metadataMap, false);
|
|
||||||
resp = DataCubeContainer.getData(property, 60000).toArray(
|
|
||||||
new Object[] {});
|
|
||||||
} catch (Exception e) {
|
|
||||||
Status s = new Status(Status.INFO, UiPlugin.PLUGIN_ID,
|
|
||||||
"The query for the entered Mesocyclone ID has failed.");
|
|
||||||
ErrorDialog.openError(Display.getCurrent().getActiveShell(),
|
|
||||||
"Error Finding Mesocyclone ID",
|
|
||||||
"Error Finding Mesocyclone ID", s);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < resp.length; i++) {
|
|
||||||
rr = (RadarRecord) resp[i];
|
|
||||||
File loc = HDF5Util.findHDF5Location(rr);
|
|
||||||
|
|
||||||
IDataStore dataStore = DataStoreFactory.getDataStore(loc);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
RadarDataRetriever.populateRadarRecord(dataStore, rr);
|
resp = DataCubeContainer.getData(metadataMap,
|
||||||
|
selectedDataTimes.toArray(new DataTime[0]));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
Status s = new Status(Status.INFO, UiPlugin.PLUGIN_ID,
|
||||||
|
"The query for the entered Mesocyclone ID has failed.");
|
||||||
|
ErrorDialog.openError(
|
||||||
|
Display.getCurrent().getActiveShell(),
|
||||||
|
"Error Finding Mesocyclone ID",
|
||||||
|
"Error Finding Mesocyclone ID", s);
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> ids = RadarRecordUtil.getDMDFeatureIDs(rr);
|
for (int i = 0; i < resp.length; i++) {
|
||||||
if (!ids.contains(mesoId)) {
|
rr = (RadarRecord) resp[i];
|
||||||
continue;
|
File loc = HDF5Util.findHDF5Location(rr);
|
||||||
|
|
||||||
|
IDataStore dataStore = DataStoreFactory.getDataStore(loc);
|
||||||
|
|
||||||
|
try {
|
||||||
|
RadarDataRetriever.populateRadarRecord(dataStore, rr);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> ids = RadarRecordUtil.getDMDFeatureIDs(rr);
|
||||||
|
if (!ids.contains(mesoId)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
c = RadarRecordUtil.getDMDLonLatFromFeatureID(rr, mesoId);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
c = RadarRecordUtil.getDMDLonLatFromFeatureID(rr, mesoId);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
|
@ -454,33 +424,26 @@ public class ChooseByIdDialog extends CaveSWTDialog implements
|
||||||
* @return the ObStation with the given stationID
|
* @return the ObStation with the given stationID
|
||||||
*/
|
*/
|
||||||
private ObStation getObStation(String stationID) {
|
private ObStation getObStation(String stationID) {
|
||||||
|
ObStation obStation = null;
|
||||||
|
DbQueryRequest request = new DbQueryRequest();
|
||||||
|
request.addConstraint(
|
||||||
|
"gid",
|
||||||
|
new RequestConstraint(ObStation.createGID(
|
||||||
|
ObStation.CAT_TYPE_ICAO, stationID)));
|
||||||
|
request.setEntityClass(ObStation.class);
|
||||||
|
request.setLimit(1);
|
||||||
|
|
||||||
HashMap<String, RequestConstraint> query = new HashMap<String, RequestConstraint>();
|
|
||||||
query.put("pluginName", new RequestConstraint("table"));
|
|
||||||
query.put("databasename", new RequestConstraint("metadata"));
|
|
||||||
query.put("classname",
|
|
||||||
new RequestConstraint(ObStation.class.getCanonicalName()));
|
|
||||||
String gid = ObStation
|
|
||||||
.createGID(ObStation.CAT_TYPE_ICAO, stationID);
|
|
||||||
query.put("gid", new RequestConstraint(gid));
|
|
||||||
|
|
||||||
LayerProperty lpParm = new LayerProperty();
|
|
||||||
|
|
||||||
List<Object> list = null;
|
|
||||||
try {
|
try {
|
||||||
lpParm.setEntryQueryParameters(query, false);
|
DbQueryResponse response = (DbQueryResponse) ThriftClient
|
||||||
String tableScript = ScriptCreator.createScript(lpParm);
|
.sendRequest(request);
|
||||||
list = Loader.loadData(tableScript, 10000);
|
if (response.getNumResults() == 1) {
|
||||||
|
obStation = response.getEntityObjects(ObStation.class)[0];
|
||||||
|
}
|
||||||
} catch (VizException e) {
|
} catch (VizException e) {
|
||||||
statusHandler.handle(Priority.WARN,
|
statusHandler.handle(Priority.WARN,
|
||||||
"Error querying for points", e);
|
"Error querying for points", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
ObStation obStation = null;
|
|
||||||
if (list != null && list.size() != 0) {
|
|
||||||
obStation = ((ObStation) (list.get(0)));
|
|
||||||
}
|
|
||||||
|
|
||||||
return obStation;
|
return obStation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,12 +4,9 @@ bin.includes = META-INF/,\
|
||||||
plugin.xml,\
|
plugin.xml,\
|
||||||
T.bin,\
|
T.bin,\
|
||||||
Td.bin,\
|
Td.bin,\
|
||||||
scriptTemplates/,\
|
|
||||||
icons/,\
|
icons/,\
|
||||||
config.xml,\
|
|
||||||
localization/,\
|
localization/,\
|
||||||
images/,\
|
images/,\
|
||||||
help/,\
|
help/,\
|
||||||
OSGI-INF/component.xml,\
|
|
||||||
res/
|
res/
|
||||||
source.. = src/
|
source.. = src/
|
||||||
|
|
|
@ -1789,13 +1789,6 @@
|
||||||
</command>
|
</command>
|
||||||
</menuContribution>
|
</menuContribution>
|
||||||
</extension>
|
</extension>
|
||||||
<extension point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate pluginName="gfe"
|
|
||||||
scriptLibrary="BaseRequest"
|
|
||||||
scriptTemplateFile="scriptTemplates/gfeTemplate.vm">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
|
|
||||||
|
|
||||||
<extension id="com.raytheon.viz.ui.bindings" point="org.eclipse.ui.bindings">
|
<extension id="com.raytheon.viz.ui.bindings" point="org.eclipse.ui.bindings">
|
||||||
<key commandId="com.raytheon.viz.gfe.toggleLegend"
|
<key commandId="com.raytheon.viz.gfe.toggleLegend"
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
#macro(gfeTask $scriptMetadata $taskName)
|
|
||||||
import GfeTask
|
|
||||||
from com.raytheon.edex.uengine.tasks.gfe.rpc import $taskName
|
|
||||||
task = $taskName()
|
|
||||||
pyTask = GfeTask.GfeTask("$scriptMetadata.get("wsId").constraintValue", task)
|
|
||||||
#foreach (${key} in ${scriptMetadata.keySet()})
|
|
||||||
#if(${key})
|
|
||||||
#if(${key} != "task" && ${key} != "pluginName" && ${key} != "wsId")
|
|
||||||
#set($constraint = $scriptMetadata.get($key))
|
|
||||||
pyTask.addArgument("${constraint.constraintValue}")
|
|
||||||
#end
|
|
||||||
#end
|
|
||||||
#end
|
|
||||||
return pyTask.execute()
|
|
||||||
#end
|
|
||||||
|
|
||||||
|
|
||||||
#if($mode=="saveGrids")
|
|
||||||
#gfeTask($scriptMetadata "SaveGfeGridTask")
|
|
||||||
#elseif($mode=="gridInventory")
|
|
||||||
#gfeTask($scriptMetadata "GetGridInventoryTask")
|
|
||||||
#elseif($mode=="commitGrid")
|
|
||||||
#gfeTask($scriptMetadata "CommitGridTask")
|
|
||||||
#elseif($mode=="parmList")
|
|
||||||
#gfeTask($scriptMetadata "GetParmListTask")
|
|
||||||
#elseif($mode=="parmInfo")
|
|
||||||
#gfeTask($scriptMetadata "GetGridParmInfoTask")
|
|
||||||
#elseif($mode=="dbInventory")
|
|
||||||
#gfeTask($scriptMetadata "GetDbInventoryTask")
|
|
||||||
#elseif($mode=="lockTables")
|
|
||||||
#gfeTask($scriptMetadata "GetLockTablesTask")
|
|
||||||
#elseif($mode=="requestGloc")
|
|
||||||
#gfeTask($scriptMetadata "GridLocRequestTask")
|
|
||||||
#elseif($mode=="changeLock")
|
|
||||||
#gfeTask($scriptMetadata "RequestLockChangeTask")
|
|
||||||
#elseif($mode=="getSiteID")
|
|
||||||
#gfeTask($scriptMetadata "GetSiteIdTask")
|
|
||||||
#elseif($mode=="discreteDef")
|
|
||||||
#gfeTask($scriptMetadata "GetDiscreteDefinitionTask")
|
|
||||||
#elseif($mode=="weatherVisibilities")
|
|
||||||
#gfeTask($scriptMetadata "GetWeatherVisibilities")
|
|
||||||
#elseif($mode=="wxDefinition")
|
|
||||||
#gfeTask($scriptMetadata "GetWXDefinitionTask")
|
|
||||||
#elseif($mode=="getOfficialDb")
|
|
||||||
#gfeTask($scriptMetadata "GetOfficialDbNameTask")
|
|
||||||
#elseif($mode=="sendNotifications")
|
|
||||||
#gfeTask($scriptMetadata "SendNotifications")
|
|
||||||
#elseif($mode=="stageD2DGridData")
|
|
||||||
#gfeTask($scriptMetadata "StageD2DGridData")
|
|
||||||
#elseif($mode == "catalog")
|
|
||||||
#standardCatalog($scriptLibrary $scriptMetadata)
|
|
||||||
#elseif($mode == "select")
|
|
||||||
#standardSelect($scriptLibrary $maxRecords $scriptMetadata false)
|
|
||||||
#end
|
|
||||||
|
|
||||||
|
|
|
@ -30,13 +30,6 @@
|
||||||
resourceType="PLAN_VIEW">
|
resourceType="PLAN_VIEW">
|
||||||
</resource>
|
</resource>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="grib"
|
|
||||||
scriptLibrary="GridRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="com.raytheon.uf.viz.core.units">
|
point="com.raytheon.uf.viz.core.units">
|
||||||
<units
|
<units
|
||||||
|
|
|
@ -35,7 +35,6 @@ import java.util.Map.Entry;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginException;
|
|
||||||
import com.raytheon.uf.common.dataplugin.grid.GridConstants;
|
import com.raytheon.uf.common.dataplugin.grid.GridConstants;
|
||||||
import com.raytheon.uf.common.dataplugin.grid.GridPathProvider;
|
import com.raytheon.uf.common.dataplugin.grid.GridPathProvider;
|
||||||
import com.raytheon.uf.common.dataplugin.grid.GridRecord;
|
import com.raytheon.uf.common.dataplugin.grid.GridRecord;
|
||||||
|
@ -53,7 +52,6 @@ import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.HDF5Util;
|
import com.raytheon.uf.viz.core.HDF5Util;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.CubeUtil;
|
import com.raytheon.uf.viz.core.datastructure.CubeUtil;
|
||||||
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
|
@ -411,17 +409,20 @@ public class GridDataCubeAdapter extends AbstractDataCubeAdapter {
|
||||||
*
|
*
|
||||||
* @see
|
* @see
|
||||||
* com.raytheon.uf.viz.derivparam.data.AbstractDataCubeAdapter#getData(java
|
* com.raytheon.uf.viz.derivparam.data.AbstractDataCubeAdapter#getData(java
|
||||||
* .util.List)
|
* .util.Map, com.raytheon.uf.common.time.DataTime[], java.util.List)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected List<Object> getData(LayerProperty property,
|
protected List<PluginDataObject> getData(
|
||||||
List<AbstractRequestableData> requesters) throws VizException {
|
Map<String, RequestConstraint> constraints,
|
||||||
List<Object> results = new ArrayList<Object>(requesters.size());
|
DataTime[] selectedTimes, List<AbstractRequestableData> requesters)
|
||||||
|
throws VizException {
|
||||||
|
List<PluginDataObject> results = new ArrayList<PluginDataObject>(
|
||||||
|
requesters.size());
|
||||||
for (AbstractRequestableData requester : requesters) {
|
for (AbstractRequestableData requester : requesters) {
|
||||||
List<RequestableDataRecord> records = new ArrayList<RequestableDataRecord>();
|
List<RequestableDataRecord> records = new ArrayList<RequestableDataRecord>();
|
||||||
if (requester.getDataTime() == null
|
if (requester.getDataTime() == null
|
||||||
|| requester.getTimeAndSpace().isTimeAgnostic()) {
|
|| requester.getTimeAndSpace().isTimeAgnostic()) {
|
||||||
DataTime[] entryTime = property.getSelectedEntryTime();
|
DataTime[] entryTime = selectedTimes;
|
||||||
if (entryTime != null && entryTime.length > 0) {
|
if (entryTime != null && entryTime.length > 0) {
|
||||||
List<DataTime> entryTimes = new ArrayList<DataTime>(
|
List<DataTime> entryTimes = new ArrayList<DataTime>(
|
||||||
Arrays.asList(entryTime));
|
Arrays.asList(entryTime));
|
||||||
|
@ -429,21 +430,15 @@ public class GridDataCubeAdapter extends AbstractDataCubeAdapter {
|
||||||
RequestableDataRecord rec = new RequestableDataRecord(
|
RequestableDataRecord rec = new RequestableDataRecord(
|
||||||
requester);
|
requester);
|
||||||
rec.setDataTime(time.clone());
|
rec.setDataTime(time.clone());
|
||||||
try {
|
rec.setDataURI(null);
|
||||||
rec.setDataURI(null);
|
boolean newRecord = true;
|
||||||
rec.constructDataURI();
|
for (PluginDataObject result : results) {
|
||||||
} catch (PluginException e) {
|
if (result.getDataURI().equals(rec.getDataURI())) {
|
||||||
throw new VizException(e);
|
newRecord = false;
|
||||||
}
|
|
||||||
boolean n = true;
|
|
||||||
for (Object result : results) {
|
|
||||||
if (((GridRecord) result).getDataURI().equals(
|
|
||||||
rec.getDataURI())) {
|
|
||||||
n = false;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (n) {
|
if (newRecord) {
|
||||||
records.add(rec);
|
records.add(rec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -467,12 +462,7 @@ public class GridDataCubeAdapter extends AbstractDataCubeAdapter {
|
||||||
for (GridCoverage coverage : coverages) {
|
for (GridCoverage coverage : coverages) {
|
||||||
record = new RequestableDataRecord(record);
|
record = new RequestableDataRecord(record);
|
||||||
record.setLocation(coverage);
|
record.setLocation(coverage);
|
||||||
try {
|
record.setDataURI(null);
|
||||||
record.setDataURI(null);
|
|
||||||
record.constructDataURI();
|
|
||||||
} catch (PluginException e) {
|
|
||||||
throw new VizException(e);
|
|
||||||
}
|
|
||||||
spaceRecords.add(record);
|
spaceRecords.add(record);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -481,10 +471,9 @@ public class GridDataCubeAdapter extends AbstractDataCubeAdapter {
|
||||||
}
|
}
|
||||||
results.addAll(records);
|
results.addAll(records);
|
||||||
}
|
}
|
||||||
if (property.getEntryQueryParameters(false).containsKey(
|
if (constraints.containsKey(GridInventory.ENSEMBLE_QUERY)) {
|
||||||
GridInventory.ENSEMBLE_QUERY)) {
|
String ensemble = constraints.get(GridInventory.ENSEMBLE_QUERY)
|
||||||
String ensemble = property.getEntryQueryParameters(false)
|
.getConstraintValue();
|
||||||
.get(GridInventory.ENSEMBLE_QUERY).getConstraintValue();
|
|
||||||
if (ensemble != null) {
|
if (ensemble != null) {
|
||||||
for (Object rec : results) {
|
for (Object rec : results) {
|
||||||
((GridRecord) rec).setEnsembleId(ensemble);
|
((GridRecord) rec).setEnsembleId(ensemble);
|
||||||
|
|
|
@ -45,7 +45,6 @@ import com.raytheon.uf.common.mpe.util.XmrgFile;
|
||||||
import com.raytheon.uf.common.ohd.AppsDefaults;
|
import com.raytheon.uf.common.ohd.AppsDefaults;
|
||||||
import com.raytheon.uf.common.util.FileUtil;
|
import com.raytheon.uf.common.util.FileUtil;
|
||||||
import com.raytheon.uf.viz.core.IDisplayPane;
|
import com.raytheon.uf.viz.core.IDisplayPane;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.datastructure.LoopProperties;
|
import com.raytheon.uf.viz.core.datastructure.LoopProperties;
|
||||||
import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
||||||
|
@ -309,20 +308,14 @@ public class HydroDisplayManager {
|
||||||
+ rfc));
|
+ rfc));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
LayerProperty lp = new LayerProperty();
|
PluginDataObject[] pdos = DataCubeContainer.getData(reqMap);
|
||||||
lp.setNumberOfImages(9999);
|
|
||||||
lp.setEntryQueryParameters(reqMap, false);
|
|
||||||
|
|
||||||
List<Object> dataList = DataCubeContainer.getData(lp, 30);
|
|
||||||
GridRecord gr = null;
|
GridRecord gr = null;
|
||||||
int i = 0;
|
for (PluginDataObject pdo : pdos) {
|
||||||
for (Object o : dataList) {
|
gr = (GridRecord) pdo;
|
||||||
gr = (GridRecord) o;
|
IDataRecord[] recArr = DataCubeContainer.getDataRecord(gr);
|
||||||
IDataRecord[] recArr = DataCubeContainer
|
|
||||||
.getDataRecord((PluginDataObject) o);
|
|
||||||
gr.setMessageData(((FloatDataRecord) recArr[0])
|
gr.setMessageData(((FloatDataRecord) recArr[0])
|
||||||
.getFloatData());
|
.getFloatData());
|
||||||
++i;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
FFGGridResourceData resourceData = new FFGGridResourceData(
|
FFGGridResourceData resourceData = new FFGGridResourceData(
|
||||||
|
@ -477,20 +470,14 @@ public class HydroDisplayManager {
|
||||||
+ rfc));
|
+ rfc));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
LayerProperty lp = new LayerProperty();
|
PluginDataObject[] pdos = DataCubeContainer.getData(reqMap);
|
||||||
lp.setNumberOfImages(9999);
|
|
||||||
lp.setEntryQueryParameters(reqMap, false);
|
|
||||||
|
|
||||||
List<Object> dataList = DataCubeContainer.getData(lp, 30);
|
|
||||||
GridRecord gr = null;
|
GridRecord gr = null;
|
||||||
int i = 0;
|
for (PluginDataObject pdo : pdos) {
|
||||||
for (Object o : dataList) {
|
gr = (GridRecord) pdo;
|
||||||
gr = (GridRecord) o;
|
IDataRecord[] recArr = DataCubeContainer.getDataRecord(gr);
|
||||||
IDataRecord[] recArr = DataCubeContainer
|
|
||||||
.getDataRecord((PluginDataObject) o);
|
|
||||||
gr.setMessageData(((FloatDataRecord) recArr[0])
|
gr.setMessageData(((FloatDataRecord) recArr[0])
|
||||||
.getFloatData());
|
.getFloatData());
|
||||||
++i;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
RFCGriddedBasinFFGResourceData resourceData = new RFCGriddedBasinFFGResourceData(
|
RFCGriddedBasinFFGResourceData resourceData = new RFCGriddedBasinFFGResourceData(
|
||||||
|
|
|
@ -30,14 +30,7 @@
|
||||||
resourceType="PLAN_VIEW">
|
resourceType="PLAN_VIEW">
|
||||||
</resource>
|
</resource>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="binlightning"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="com.raytheon.uf.viz.productbrowser.dataDefinition">
|
point="com.raytheon.uf.viz.productbrowser.dataDefinition">
|
||||||
<dataDefinition
|
<dataDefinition
|
||||||
|
|
|
@ -84,38 +84,6 @@
|
||||||
pluginName="bufrua"
|
pluginName="bufrua"
|
||||||
scriptLibrary="UARequest">
|
scriptLibrary="UARequest">
|
||||||
</scriptTemplate>
|
</scriptTemplate>
|
||||||
<scriptTemplate
|
|
||||||
pluginName="bufrssmi"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="goessounding"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="poessounding"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="acarssounding"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="pirep"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="bufrhdw"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="airep"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="acars"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
<scriptTemplate
|
<scriptTemplate
|
||||||
pluginName="profiler"
|
pluginName="profiler"
|
||||||
scriptLibrary="ProfilerRequest">
|
scriptLibrary="ProfilerRequest">
|
||||||
|
|
|
@ -22,7 +22,6 @@ package com.raytheon.viz.pointdata;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||||
|
@ -34,18 +33,18 @@ import org.eclipse.core.runtime.jobs.Job;
|
||||||
import org.eclipse.swt.graphics.RGB;
|
import org.eclipse.swt.graphics.RGB;
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
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;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
||||||
|
import com.raytheon.uf.common.dataquery.responses.DbQueryResponse;
|
||||||
import com.raytheon.uf.viz.core.IGraphicsTarget;
|
import com.raytheon.uf.viz.core.IGraphicsTarget;
|
||||||
import com.raytheon.uf.viz.core.IGraphicsTarget.LineStyle;
|
import com.raytheon.uf.viz.core.IGraphicsTarget.LineStyle;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.catalog.ScriptCreator;
|
|
||||||
import com.raytheon.uf.viz.core.comm.Connector;
|
import com.raytheon.uf.viz.core.comm.Connector;
|
||||||
import com.raytheon.uf.viz.core.data.prep.IODataPreparer;
|
import com.raytheon.uf.viz.core.data.prep.IODataPreparer;
|
||||||
import com.raytheon.uf.viz.core.drawables.IImage;
|
import com.raytheon.uf.viz.core.drawables.IImage;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.map.IMapDescriptor;
|
import com.raytheon.uf.viz.core.map.IMapDescriptor;
|
||||||
import com.raytheon.uf.viz.core.rsc.ResourceType;
|
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Eclipse Job thread that will listen for new stations on a queue and request
|
* A Eclipse Job thread that will listen for new stations on a queue and request
|
||||||
|
@ -177,11 +176,9 @@ public class PlotModelGenerator extends Job {
|
||||||
|
|
||||||
if (stationQuery.size() > 0) {
|
if (stationQuery.size() > 0) {
|
||||||
try {
|
try {
|
||||||
String script = createActionASCII(stationQuery);
|
PluginDataObject[] obs = requestPluginDataObjects(stationQuery
|
||||||
Object[] obs = asciiConnection.connect(script, null, 60000);
|
.toArray(new String[0]));
|
||||||
|
for (PluginDataObject ob : obs) {
|
||||||
for (Object plugindo : obs) {
|
|
||||||
PluginDataObject ob = (PluginDataObject) plugindo;
|
|
||||||
ImageContainer ic = icaoImageMap.get(ob.getDataURI());
|
ImageContainer ic = icaoImageMap.get(ob.getDataURI());
|
||||||
if (ic != null) {
|
if (ic != null) {
|
||||||
ic.record = ob;
|
ic.record = ob;
|
||||||
|
@ -368,28 +365,19 @@ public class PlotModelGenerator extends Job {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String createActionASCII(ArrayList<String> stationQuery)
|
private PluginDataObject[] requestPluginDataObjects(String[] uris)
|
||||||
throws VizException {
|
throws VizException {
|
||||||
|
DbQueryRequest request = new DbQueryRequest();
|
||||||
LayerProperty prop = new LayerProperty();
|
request.addConstraint("pluginName", new RequestConstraint(plugin));
|
||||||
|
|
||||||
HashMap<String, RequestConstraint> params = new HashMap<String, RequestConstraint>();
|
|
||||||
|
|
||||||
RequestConstraint pluginName = new RequestConstraint();
|
|
||||||
pluginName.setConstraintValue(this.plugin);
|
|
||||||
params.put("pluginName", pluginName);
|
|
||||||
|
|
||||||
RequestConstraint ids = new RequestConstraint();
|
RequestConstraint ids = new RequestConstraint();
|
||||||
ids.setConstraintType(ConstraintType.IN);
|
ids.setConstraintType(ConstraintType.IN);
|
||||||
ids.setConstraintValueList(stationQuery.toArray(new String[stationQuery
|
ids.setConstraintValueList(uris);
|
||||||
.size()]));
|
request.addConstraint("dataURI", ids);
|
||||||
params.put("dataURI", ids);
|
request.setLimit(uris.length);
|
||||||
|
|
||||||
prop.setDesiredProduct(ResourceType.PLAN_VIEW);
|
DbQueryResponse response = (DbQueryResponse) ThriftClient
|
||||||
prop.setEntryQueryParameters(params, false);
|
.sendRequest(request);
|
||||||
prop.setNumberOfImages(stationQuery.size());
|
return response.getEntityObjects(PluginDataObject.class);
|
||||||
|
|
||||||
return ScriptCreator.createScript(prop, "plot");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPlotModelLineStyle(LineStyle lineStyle) {
|
public void setPlotModelLineStyle(LineStyle lineStyle) {
|
||||||
|
|
|
@ -21,7 +21,6 @@ package com.raytheon.viz.pointdata.util;
|
||||||
|
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.measure.unit.SI;
|
import javax.measure.unit.SI;
|
||||||
|
@ -42,7 +41,6 @@ import com.raytheon.uf.common.geospatial.MapUtil;
|
||||||
import com.raytheon.uf.common.geospatial.PointUtil;
|
import com.raytheon.uf.common.geospatial.PointUtil;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.common.wxmath.PToZsa;
|
import com.raytheon.uf.common.wxmath.PToZsa;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.derivparam.data.AbstractRequestableData;
|
import com.raytheon.uf.viz.derivparam.data.AbstractRequestableData;
|
||||||
|
@ -211,18 +209,12 @@ public class HeightOfRequestableData extends AbstractRequestableData {
|
||||||
*/
|
*/
|
||||||
private PluginDataObject loadPressureLevel(DataTime time)
|
private PluginDataObject loadPressureLevel(DataTime time)
|
||||||
throws VizException {
|
throws VizException {
|
||||||
|
PluginDataObject[] pdos = DataCubeContainer.getData(getConstraints(),
|
||||||
LayerProperty lp = new LayerProperty();
|
time);
|
||||||
lp.setNumberOfImages(1);
|
if (pdos == null || pdos.length == 0) {
|
||||||
lp.setEntryQueryParameters(getConstraints(), false);
|
|
||||||
if (time != null) {
|
|
||||||
lp.setSelectedEntryTimes(new DataTime[] { time });
|
|
||||||
}
|
|
||||||
List<Object> resp = DataCubeContainer.getData(lp, 60000);
|
|
||||||
if (resp.isEmpty()) {
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
PluginDataObject gribRec = (PluginDataObject) resp.get(0);
|
PluginDataObject gribRec = pdos[0];
|
||||||
IDataRecord[] dr = DataCubeContainer.getDataRecord(gribRec);
|
IDataRecord[] dr = DataCubeContainer.getDataRecord(gribRec);
|
||||||
if (dr != null) {
|
if (dr != null) {
|
||||||
float[] data = (float[]) dr[0].getDataObject();
|
float[] data = (float[]) dr[0].getDataObject();
|
||||||
|
|
|
@ -26,30 +26,19 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.raytheon.uf.common.comm.CommunicationException;
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequest;
|
|
||||||
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequestSet;
|
|
||||||
import com.raytheon.uf.common.datastorage.Request;
|
|
||||||
import com.raytheon.uf.common.datastorage.records.FloatDataRecord;
|
import com.raytheon.uf.common.datastorage.records.FloatDataRecord;
|
||||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||||
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
|
||||||
import com.raytheon.uf.viz.core.RecordFactory;
|
import com.raytheon.uf.viz.core.RecordFactory;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
import com.raytheon.uf.viz.core.datastructure.DefaultDataCubeAdapter;
|
||||||
import com.raytheon.uf.viz.core.catalog.ScriptCreator;
|
|
||||||
import com.raytheon.uf.viz.core.comm.Loader;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.CubeUtil;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
|
||||||
import com.raytheon.uf.viz.derivparam.data.AbstractRequestableData;
|
import com.raytheon.uf.viz.derivparam.data.AbstractRequestableData;
|
||||||
import com.raytheon.uf.viz.derivparam.inv.AvailabilityContainer;
|
import com.raytheon.uf.viz.derivparam.inv.AvailabilityContainer;
|
||||||
import com.raytheon.uf.viz.derivparam.library.DerivedParameterGenerator;
|
import com.raytheon.uf.viz.derivparam.library.DerivedParameterGenerator;
|
||||||
|
@ -78,33 +67,23 @@ import com.raytheon.viz.pointdata.PointDataRequest;
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class PointDataCubeAdapter implements IDataCubeAdapter {
|
public class PointDataCubeAdapter extends DefaultDataCubeAdapter {
|
||||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||||
.getHandler(PointDataCubeAdapter.class);
|
.getHandler(PointDataCubeAdapter.class);
|
||||||
|
|
||||||
public static String PLUGIN_NAME = PointDataInventory.PLUGIN_NAME;
|
public static String PLUGIN_NAME = PointDataInventory.PLUGIN_NAME;
|
||||||
|
|
||||||
private static String[] supportedPlugins = { "obs", "madis", "modelsounding",
|
private static String[] supportedPlugins = { "obs", "madis",
|
||||||
"bufrssmi", "bufrquikscat", "lsr", "sfcobs", "goessounding",
|
"modelsounding", "bufrssmi", "bufrquikscat", "lsr", "sfcobs",
|
||||||
"bufrascat", "poessounding", "profiler", "bufrua", "ldadmesonet",
|
"goessounding", "bufrascat", "poessounding", "profiler", "bufrua",
|
||||||
"ldadhydro", "qc", "fssobs", "bufrmosAVN", "bufrmosETA",
|
"ldadmesonet", "ldadhydro", "qc", "fssobs", "bufrmosAVN",
|
||||||
"bufrmosGFS", "bufrmosHPC", "bufrmosLAMP", "bufrmosMRF",
|
"bufrmosETA", "bufrmosGFS", "bufrmosHPC", "bufrmosLAMP",
|
||||||
"bufrmosNGM" };
|
"bufrmosMRF", "bufrmosNGM" };
|
||||||
|
|
||||||
protected AbstractPointDataInventory inventory;
|
protected AbstractPointDataInventory inventory;
|
||||||
|
|
||||||
/*
|
public PointDataCubeAdapter() {
|
||||||
* (non-Javadoc)
|
super(PLUGIN_NAME);
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter#getData(com.raytheon
|
|
||||||
* .uf.viz.core.catalog.LayerProperty, java.util.Map)
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public List<Object> getData(LayerProperty property, int timeOut)
|
|
||||||
throws VizException {
|
|
||||||
String scriptToExecute = ScriptCreator.createScript(property);
|
|
||||||
return Loader.loadScripts(new String[] { scriptToExecute }, timeOut);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -239,31 +218,6 @@ public class PointDataCubeAdapter implements IDataCubeAdapter {
|
||||||
baseParams.toArray(new String[] {}), null, queryParams);
|
baseParams.toArray(new String[] {}), null, queryParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter#getRecord(com
|
|
||||||
* .raytheon.uf.common.dataplugin.PluginDataObject)
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public IDataRecord[] getRecord(PluginDataObject obj)
|
|
||||||
throws VizDataCubeException {
|
|
||||||
if (obj.getMessageData() == null) {
|
|
||||||
IDataRecord record = null;
|
|
||||||
try {
|
|
||||||
record = CubeUtil.retrieveData(obj, obj.getPluginName());
|
|
||||||
} catch (VizException e) {
|
|
||||||
throw new VizDataCubeException(
|
|
||||||
"Error retrieving point data record.", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
return new IDataRecord[] { record };
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
*
|
*
|
||||||
|
@ -299,59 +253,4 @@ public class PointDataCubeAdapter implements IDataCubeAdapter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public IDataRecord[] getRecord(PluginDataObject obj, Request req,
|
|
||||||
String dataset) throws VizDataCubeException {
|
|
||||||
if (obj.getMessageData() == null) {
|
|
||||||
IDataRecord record = null;
|
|
||||||
try {
|
|
||||||
record = CubeUtil.retrieveData(obj, obj.getPluginName(), req,
|
|
||||||
dataset);
|
|
||||||
} catch (VizException e) {
|
|
||||||
throw new VizDataCubeException(
|
|
||||||
"Error retrieving point data record.", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
return new IDataRecord[] { record };
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter#getRecords(java
|
|
||||||
* .util.List, com.raytheon.uf.common.datastorage.Request, java.lang.String)
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void getRecords(List<PluginDataObject> objs, Request req,
|
|
||||||
String dataset) throws VizDataCubeException {
|
|
||||||
for (PluginDataObject obj : objs) {
|
|
||||||
IDataRecord[] records = getRecord(obj, req, dataset);
|
|
||||||
obj.setMessageData(records);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Map<String, RequestConstraint>> getBaseUpdateConstraints(
|
|
||||||
Map<String, RequestConstraint> constraints) {
|
|
||||||
List<Map<String, RequestConstraint>> result = new ArrayList<Map<String, RequestConstraint>>(
|
|
||||||
1);
|
|
||||||
result.add(constraints);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<List<DataTime>> timeQuery(List<TimeQueryRequest> requests)
|
|
||||||
throws VizException {
|
|
||||||
TimeQueryRequestSet set = new TimeQueryRequestSet();
|
|
||||||
set.setRequests(requests.toArray(new TimeQueryRequest[0]));
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
List<List<DataTime>> result = (List<List<DataTime>>) ThriftClient
|
|
||||||
.sendRequest(set);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,13 +55,6 @@
|
||||||
commandId="com.raytheon.viz.radar.ui.RadarDisplayControls">
|
commandId="com.raytheon.viz.radar.ui.RadarDisplayControls">
|
||||||
</handler>
|
</handler>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="radar"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="org.eclipse.ui.editors">
|
point="org.eclipse.ui.editors">
|
||||||
<editor
|
<editor
|
||||||
|
|
|
@ -37,13 +37,6 @@
|
||||||
resourceType="PLAN_VIEW">
|
resourceType="PLAN_VIEW">
|
||||||
</resource>
|
</resource>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="redbook"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="com.raytheon.uf.viz.productbrowser.dataDefinition">
|
point="com.raytheon.uf.viz.productbrowser.dataDefinition">
|
||||||
<dataDefinition
|
<dataDefinition
|
||||||
|
|
|
@ -32,13 +32,6 @@
|
||||||
name="satBlendedResource"
|
name="satBlendedResource"
|
||||||
renderingOrderId="IMAGE_COUNTRY"/>
|
renderingOrderId="IMAGE_COUNTRY"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="satellite"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
|
|
||||||
<extension
|
<extension
|
||||||
point="com.raytheon.uf.viz.productbrowser.dataDefinition">
|
point="com.raytheon.uf.viz.productbrowser.dataDefinition">
|
||||||
|
|
|
@ -44,7 +44,6 @@ import org.geotools.coverage.grid.GridCoverageFactory;
|
||||||
import org.geotools.coverage.grid.GridGeometry2D;
|
import org.geotools.coverage.grid.GridGeometry2D;
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginException;
|
|
||||||
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
|
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
||||||
|
@ -56,15 +55,11 @@ import com.raytheon.uf.common.datastorage.Request;
|
||||||
import com.raytheon.uf.common.datastorage.records.ByteDataRecord;
|
import com.raytheon.uf.common.datastorage.records.ByteDataRecord;
|
||||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||||
import com.raytheon.uf.common.geospatial.MapUtil;
|
import com.raytheon.uf.common.geospatial.MapUtil;
|
||||||
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
|
||||||
import com.raytheon.uf.common.time.BinOffset;
|
import com.raytheon.uf.common.time.BinOffset;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.HDF5Util;
|
import com.raytheon.uf.viz.core.HDF5Util;
|
||||||
import com.raytheon.uf.viz.core.catalog.CatalogQuery;
|
import com.raytheon.uf.viz.core.catalog.CatalogQuery;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
import com.raytheon.uf.viz.core.datastructure.DefaultDataCubeAdapter;
|
||||||
import com.raytheon.uf.viz.core.catalog.ScriptCreator;
|
|
||||||
import com.raytheon.uf.viz.core.comm.Loader;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.CubeUtil;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter;
|
import com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter;
|
||||||
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
|
@ -77,7 +72,7 @@ import com.raytheon.uf.viz.derivparam.library.DerivedParameterRequest;
|
||||||
import com.raytheon.uf.viz.derivparam.library.IDerivParamField;
|
import com.raytheon.uf.viz.derivparam.library.IDerivParamField;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO Add Description
|
* {@link IDataCubeAdapter} for satellite plugin data
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
*
|
*
|
||||||
|
@ -91,13 +86,14 @@ import com.raytheon.uf.viz.derivparam.library.IDerivParamField;
|
||||||
* Apr 08, 2013 1293 bkowal Removed references to hdffileid.
|
* Apr 08, 2013 1293 bkowal Removed references to hdffileid.
|
||||||
* Jun 04, 2013 2041 bsteffen Switch derived parameters to use
|
* Jun 04, 2013 2041 bsteffen Switch derived parameters to use
|
||||||
* concurrent python for threading.
|
* concurrent python for threading.
|
||||||
|
* Sep 9, 2013 2277 mschenke Got rid of ScriptCreator references
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author jsanchez
|
* @author jsanchez
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class SatelliteDataCubeAdapter implements IDataCubeAdapter {
|
public class SatelliteDataCubeAdapter extends DefaultDataCubeAdapter {
|
||||||
|
|
||||||
private static final String PE = "physicalElement";
|
private static final String PE = "physicalElement";
|
||||||
|
|
||||||
|
@ -105,21 +101,27 @@ public class SatelliteDataCubeAdapter implements IDataCubeAdapter {
|
||||||
|
|
||||||
private Map<String, DerivParamDesc> derParLibrary;
|
private Map<String, DerivParamDesc> derParLibrary;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param pluginName
|
||||||
|
*/
|
||||||
|
public SatelliteDataCubeAdapter() {
|
||||||
|
super(SatelliteRecord.PLUGIN_ID);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Object> getData(LayerProperty property, int timeOut)
|
public PluginDataObject[] getData(
|
||||||
|
Map<String, RequestConstraint> constraints, DataTime[] selectedTimes)
|
||||||
throws VizException {
|
throws VizException {
|
||||||
if (!property.getEntryQueryParameters(false).containsKey("DERIVED")) {
|
Map<String, RequestConstraint> originalQuery = constraints;
|
||||||
String scriptToExecute = ScriptCreator.createScript(property);
|
if (originalQuery.containsKey(DERIVED) == false) {
|
||||||
return Loader
|
return super.getData(originalQuery, selectedTimes);
|
||||||
.loadScripts(new String[] { scriptToExecute }, timeOut);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String requestedParam;
|
String requestedParam;
|
||||||
ArrayList<Object> initResponses = new ArrayList<Object>();
|
List<PluginDataObject> initResponses = new ArrayList<PluginDataObject>();
|
||||||
HashMap<String, RequestConstraint> originalQuery = property
|
List<DerivedParameterRequest> listOfRequests = new ArrayList<DerivedParameterRequest>();
|
||||||
.getEntryQueryParameters(false);
|
Map<String, RequestConstraint> modifiedQuery = new HashMap<String, RequestConstraint>(
|
||||||
ArrayList<DerivedParameterRequest> listOfRequests = new ArrayList<DerivedParameterRequest>();
|
originalQuery);
|
||||||
HashMap<String, RequestConstraint> modifiedQuery = property
|
|
||||||
.getEntryQueryParameters(false);
|
|
||||||
modifiedQuery.remove(DERIVED);
|
modifiedQuery.remove(DERIVED);
|
||||||
modifiedQuery.remove(PE);
|
modifiedQuery.remove(PE);
|
||||||
|
|
||||||
|
@ -148,12 +150,9 @@ public class SatelliteDataCubeAdapter implements IDataCubeAdapter {
|
||||||
Map<String, RequestConstraint> query = modifyQuery(
|
Map<String, RequestConstraint> query = modifyQuery(
|
||||||
modifiedQuery, field);
|
modifiedQuery, field);
|
||||||
|
|
||||||
property.setEntryQueryParameters(query, false);
|
PluginDataObject[] pdos = super.getData(query, selectedTimes);
|
||||||
String scriptToExecute = ScriptCreator.createScript(property);
|
for (PluginDataObject pdo : pdos) {
|
||||||
List<Object> responses = Loader.loadScripts(
|
SatelliteRecord record = (SatelliteRecord) pdo;
|
||||||
new String[] { scriptToExecute }, timeOut);
|
|
||||||
for (int i = 0; i < responses.size(); i++) {
|
|
||||||
SatelliteRecord record = (SatelliteRecord) responses.get(i);
|
|
||||||
if (requestInitialized) {
|
if (requestInitialized) {
|
||||||
for (DerivedParameterRequest definedRequest : listOfRequests) {
|
for (DerivedParameterRequest definedRequest : listOfRequests) {
|
||||||
if (record.getDataTime().compareTo(
|
if (record.getDataTime().compareTo(
|
||||||
|
@ -173,20 +172,16 @@ public class SatelliteDataCubeAdapter implements IDataCubeAdapter {
|
||||||
SatelliteRecord derivedRecord = new SatelliteRecord(
|
SatelliteRecord derivedRecord = new SatelliteRecord(
|
||||||
record.getDataURI());
|
record.getDataURI());
|
||||||
// Make sure to get the number of interpolation levels!
|
// Make sure to get the number of interpolation levels!
|
||||||
derivedRecord.setInterpolationLevels(record.getInterpolationLevels());
|
derivedRecord.setInterpolationLevels(record
|
||||||
|
.getInterpolationLevels());
|
||||||
|
|
||||||
derivedRecord.setPhysicalElement(originalQuery.get(PE)
|
derivedRecord.setPhysicalElement(originalQuery.get(PE)
|
||||||
.getConstraintValue());
|
.getConstraintValue());
|
||||||
derivedRecord.setMessageData(request);
|
derivedRecord.setMessageData(request);
|
||||||
derivedRecord.setCoverage(record.getCoverage());
|
derivedRecord.setCoverage(record.getCoverage());
|
||||||
// This should not be necessary but file based tile set
|
// Reset dataURI after setting fields
|
||||||
// expects it.
|
derivedRecord.setDataURI(null);
|
||||||
try {
|
|
||||||
derivedRecord.setDataURI(null);
|
|
||||||
derivedRecord.constructDataURI();
|
|
||||||
} catch (PluginException e) {
|
|
||||||
throw new VizException(e);
|
|
||||||
}
|
|
||||||
initResponses.add(derivedRecord);
|
initResponses.add(derivedRecord);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -204,31 +199,17 @@ public class SatelliteDataCubeAdapter implements IDataCubeAdapter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return initResponses;
|
return initResponses.toArray(new PluginDataObject[0]);
|
||||||
} else {
|
} else {
|
||||||
String scriptToExecute = ScriptCreator.createScript(property);
|
return super.getData(originalQuery, selectedTimes);
|
||||||
return Loader
|
|
||||||
.loadScripts(new String[] { scriptToExecute }, timeOut);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public String recordKeyGenerator(PluginDataObject pdo) {
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IDataRecord[] getRecord(PluginDataObject obj)
|
public IDataRecord[] getRecord(PluginDataObject obj)
|
||||||
throws VizDataCubeException {
|
throws VizDataCubeException {
|
||||||
if (obj.getMessageData() == null) {
|
if (obj.getMessageData() == null) {
|
||||||
IDataRecord record = null;
|
return super.getRecord(obj);
|
||||||
try {
|
|
||||||
record = CubeUtil.retrieveData(obj, obj.getPluginName());
|
|
||||||
} catch (VizException e) {
|
|
||||||
throw new VizDataCubeException(
|
|
||||||
"Error retrieving satellite record.", e);
|
|
||||||
}
|
|
||||||
return new IDataRecord[] { record };
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -238,15 +219,7 @@ public class SatelliteDataCubeAdapter implements IDataCubeAdapter {
|
||||||
public IDataRecord[] getRecord(PluginDataObject obj, Request req,
|
public IDataRecord[] getRecord(PluginDataObject obj, Request req,
|
||||||
String dataset) throws VizDataCubeException {
|
String dataset) throws VizDataCubeException {
|
||||||
if (obj.getMessageData() == null) {
|
if (obj.getMessageData() == null) {
|
||||||
IDataRecord record = null;
|
return super.getRecord(obj, req, dataset);
|
||||||
try {
|
|
||||||
record = CubeUtil.retrieveData(obj, obj.getPluginName(), req,
|
|
||||||
dataset);
|
|
||||||
} catch (VizException e) {
|
|
||||||
throw new VizDataCubeException(
|
|
||||||
"Error retrieving satellite record.", e);
|
|
||||||
}
|
|
||||||
return new IDataRecord[] { record };
|
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean interpolate = false;
|
boolean interpolate = false;
|
||||||
|
@ -344,34 +317,11 @@ public class SatelliteDataCubeAdapter implements IDataCubeAdapter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String[] getSupportedPlugins() {
|
|
||||||
return new String[] { "satellite" };
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Object getInventory() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initInventory() {
|
public void initInventory() {
|
||||||
derParLibrary = DerivedParameterGenerator.getDerParLibrary();
|
derParLibrary = DerivedParameterGenerator.getDerParLibrary();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public PointDataContainer getPoints(String plugin, String[] parameters,
|
|
||||||
Map<String, RequestConstraint> queryParams) throws VizException {
|
|
||||||
return getPoints(plugin, parameters, null, queryParams);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PointDataContainer getPoints(String plugin, String[] parameters,
|
|
||||||
String levelKey, Map<String, RequestConstraint> queryParams)
|
|
||||||
throws VizException {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getDataset(String dataUri, String dataset) {
|
private String getDataset(String dataUri, String dataset) {
|
||||||
return "/" + dataUri + "/" + dataset;
|
return "/" + dataUri + "/" + dataset;
|
||||||
}
|
}
|
||||||
|
@ -457,10 +407,7 @@ public class SatelliteDataCubeAdapter implements IDataCubeAdapter {
|
||||||
}
|
}
|
||||||
constraints.put(PE, pe);
|
constraints.put(PE, pe);
|
||||||
}
|
}
|
||||||
List<Map<String, RequestConstraint>> result = new ArrayList<Map<String, RequestConstraint>>(
|
return super.getBaseUpdateConstraints(constraints);
|
||||||
1);
|
|
||||||
result.add(constraints);
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -41,18 +41,7 @@
|
||||||
name="AWIPS" description="Command category for AWIPS">
|
name="AWIPS" description="Command category for AWIPS">
|
||||||
</category>
|
</category>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="bufr"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="taf"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="com.raytheon.uf.viz.core.component">
|
point="com.raytheon.uf.viz.core.component">
|
||||||
<component key="viz" class="com.raytheon.viz.ui.personalities.awips.CAVE"/>
|
<component key="viz" class="com.raytheon.viz.ui.personalities.awips.CAVE"/>
|
||||||
|
|
|
@ -89,13 +89,6 @@
|
||||||
</command>
|
</command>
|
||||||
</menuContribution>
|
</menuContribution>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="warngen"
|
|
||||||
scriptTemplateFile="scriptTemplates/warngenRequestTemplate.vm">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="com.raytheon.uf.viz.localization.localizationpath">
|
point="com.raytheon.uf.viz.localization.localizationpath">
|
||||||
<path
|
<path
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
|
|
||||||
#if($mode == "select")
|
|
||||||
#set($office = $scriptMetadata.get("office").constraintValue)
|
|
||||||
#set($phenomena = $scriptMetadata.get("phenomena").constraintValue)
|
|
||||||
#set($significance = $scriptMetadata.get("significance").constraintValue)
|
|
||||||
import VtecEventRetrieval
|
|
||||||
runner = VtecEventRetrieval.VtecEventRetrieval()
|
|
||||||
runner.setClientID('VTEC Retrieval')
|
|
||||||
runner.setFields('${office}','${phenomena}','${significance}')
|
|
||||||
return runner.execute()
|
|
||||||
#elseif($mode == "update")
|
|
||||||
#set($office = $scriptMetadata.get("office").constraintValue)
|
|
||||||
#set($phenomena = $scriptMetadata.get("phenomena").constraintValue)
|
|
||||||
#set($significance = $scriptMetadata.get("significance").constraintValue)
|
|
||||||
#set($sequence = $scriptMetadata.get("sequence").constraintValue)
|
|
||||||
import VtecEventUpdate
|
|
||||||
runner = VtecEventUpdate.VtecEventUpdate()
|
|
||||||
runner.setClientID('VTEC Update')
|
|
||||||
runner.setFields('${office}','${phenomena}','${significance}','${sequence}')
|
|
||||||
return runner.execute()
|
|
||||||
#end
|
|
|
@ -37,11 +37,4 @@
|
||||||
name="Warnings">
|
name="Warnings">
|
||||||
</command>
|
</command>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="warning"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
@ -32,7 +32,6 @@ import com.raytheon.uf.viz.core.IGraphicsTarget.LineStyle;
|
||||||
import com.raytheon.uf.viz.core.IGraphicsTarget.TextStyle;
|
import com.raytheon.uf.viz.core.IGraphicsTarget.TextStyle;
|
||||||
import com.raytheon.uf.viz.core.IGraphicsTarget.VerticalAlignment;
|
import com.raytheon.uf.viz.core.IGraphicsTarget.VerticalAlignment;
|
||||||
import com.raytheon.uf.viz.core.VizApp;
|
import com.raytheon.uf.viz.core.VizApp;
|
||||||
import com.raytheon.uf.viz.core.catalog.LayerProperty;
|
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.drawables.IDescriptor.FramesInfo;
|
import com.raytheon.uf.viz.core.drawables.IDescriptor.FramesInfo;
|
||||||
import com.raytheon.uf.viz.core.drawables.IFont;
|
import com.raytheon.uf.viz.core.drawables.IFont;
|
||||||
|
@ -44,7 +43,6 @@ import com.raytheon.uf.viz.core.map.MapDescriptor;
|
||||||
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
||||||
import com.raytheon.uf.viz.core.rsc.IResourceDataChanged;
|
import com.raytheon.uf.viz.core.rsc.IResourceDataChanged;
|
||||||
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
||||||
import com.raytheon.uf.viz.core.rsc.ResourceType;
|
|
||||||
import com.raytheon.uf.viz.core.rsc.capabilities.ColorableCapability;
|
import com.raytheon.uf.viz.core.rsc.capabilities.ColorableCapability;
|
||||||
import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability;
|
import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability;
|
||||||
import com.raytheon.uf.viz.core.rsc.capabilities.OutlineCapability;
|
import com.raytheon.uf.viz.core.rsc.capabilities.OutlineCapability;
|
||||||
|
@ -568,21 +566,8 @@ public abstract class AbstractWWAResource extends
|
||||||
|
|
||||||
earliestRequested = earliest;
|
earliestRequested = earliest;
|
||||||
|
|
||||||
LayerProperty property = new LayerProperty();
|
PluginDataObject[] pdos = DataCubeContainer.getData(map);
|
||||||
property.setDesiredProduct(ResourceType.PLAN_VIEW);
|
addRecord(sort(pdos));
|
||||||
property.setEntryQueryParameters(map, false);
|
|
||||||
property.setNumberOfImages(9999);
|
|
||||||
|
|
||||||
Object[] resp = null;
|
|
||||||
resp = DataCubeContainer.getData(property, 60000).toArray(
|
|
||||||
new Object[] {});
|
|
||||||
PluginDataObject[] arr = new PluginDataObject[resp.length];
|
|
||||||
int i = 0;
|
|
||||||
for (Object o : resp) {
|
|
||||||
arr[i] = (PluginDataObject) o;
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
addRecord(sort(arr));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String[] getText(AbstractWarningRecord record, double mapWidth) {
|
protected String[] getText(AbstractWarningRecord record, double mapWidth) {
|
||||||
|
|
|
@ -108,7 +108,7 @@ import com.vividsolutions.jts.geom.Geometry;
|
||||||
* Both refTime and forecastTime are included in the refTimeIndex since
|
* Both refTime and forecastTime are included in the refTimeIndex since
|
||||||
* forecastTime is unlikely to be used.
|
* forecastTime is unlikely to be used.
|
||||||
*/
|
*/
|
||||||
@org.hibernate.annotations.Table(appliesTo = "bufrua", indexes = { @Index(name = "bufrua_refTimeIndex", columnNames = {
|
@org.hibernate.annotations.Table(appliesTo = UAObs.PLUGIN_NAME, indexes = { @Index(name = "bufrua_refTimeIndex", columnNames = {
|
||||||
"refTime", "forecastTime" }) })
|
"refTime", "forecastTime" }) })
|
||||||
@XmlRootElement
|
@XmlRootElement
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
|
@ -137,6 +137,8 @@ public class UAObs extends PersistablePluginDataObject implements
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public static final String PLUGIN_NAME = "bufrua";
|
||||||
|
|
||||||
public static final Unit<Length> DISTANCE_UNIT = SI.METER;
|
public static final Unit<Length> DISTANCE_UNIT = SI.METER;
|
||||||
|
|
||||||
public static final Unit<Temperature> TEMPERATURE_UNIT = SI.KELVIN;
|
public static final Unit<Temperature> TEMPERATURE_UNIT = SI.KELVIN;
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
package com.raytheon.uf.common.dataplugin.bufrua.dao;
|
package com.raytheon.uf.common.dataplugin.bufrua.dao;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
|
@ -46,6 +47,7 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
||||||
* Aug 19, 2009 jkorman Initial creation
|
* Aug 19, 2009 jkorman Initial creation
|
||||||
* Jul 19, 2013 1992 bsteffen Remove redundant time columns from
|
* Jul 19, 2013 1992 bsteffen Remove redundant time columns from
|
||||||
* bufrua.
|
* bufrua.
|
||||||
|
* Sep 9, 2013 2277 mschenke Got rid of ScriptCreator references
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -56,61 +58,44 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
||||||
public class BufrUAPointDataTransform {
|
public class BufrUAPointDataTransform {
|
||||||
|
|
||||||
/** The logger */
|
/** The logger */
|
||||||
private static Log logger = LogFactory.getLog(BufrUAPointDataTransform.class);
|
private static Log logger = LogFactory
|
||||||
|
.getLog(BufrUAPointDataTransform.class);
|
||||||
|
|
||||||
|
public static final String[] HDR_PARAMS = new String[] { "wmoStaNum",
|
||||||
|
"staName", "validTime", "relTime", "staElev", "latitude",
|
||||||
|
"longitude", "dataURI", "sfcPressure", "rptType" };
|
||||||
|
|
||||||
public static final String HDR_PARAMS_LIST;
|
public static final String HDR_PARAMS_LIST;
|
||||||
static {
|
static {
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuffer sb = new StringBuffer();
|
||||||
|
for (int i = 0; i < HDR_PARAMS.length - 1; ++i) {
|
||||||
sb.append("wmoStaNum,");
|
sb.append(HDR_PARAMS[i]).append(",");
|
||||||
sb.append("staName,");
|
}
|
||||||
sb.append("validTime,");
|
sb.append(HDR_PARAMS[HDR_PARAMS.length - 1]);
|
||||||
sb.append("relTime,");
|
|
||||||
sb.append("staElev,");
|
|
||||||
sb.append("latitude,");
|
|
||||||
sb.append("longitude,");
|
|
||||||
sb.append("dataURI,");
|
|
||||||
sb.append("sfcPressure,");
|
|
||||||
sb.append("rptType,");
|
|
||||||
|
|
||||||
|
|
||||||
HDR_PARAMS_LIST = sb.toString();
|
HDR_PARAMS_LIST = sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final String[] OTHER_PARAMS = new String[] { "numMand",
|
||||||
|
"prMan", "htMan", "tpMan", "tdMan", "wdMan", "wsMan", "numTrop",
|
||||||
|
"prTrop", "tpTrop", "tdTrop", "wdTrop", "wsTrop", "numMwnd",
|
||||||
|
"prMaxW", "wdMaxW", "wsMaxW", "numSigT", "prSigT", "tpSigT",
|
||||||
|
"tdSigT", "numSigW", "htSigW", "wdSigW", "wsSigW" };
|
||||||
|
|
||||||
|
public static final String[] MAN_PARAMS = Arrays.copyOf(HDR_PARAMS,
|
||||||
|
HDR_PARAMS.length + OTHER_PARAMS.length);
|
||||||
|
|
||||||
public static final String MAN_PARAMS_LIST;
|
public static final String MAN_PARAMS_LIST;
|
||||||
static {
|
static {
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuffer sb = new StringBuffer();
|
||||||
sb.append(HDR_PARAMS_LIST);
|
sb.append(HDR_PARAMS_LIST).append(",");
|
||||||
sb.append("numMand,");
|
|
||||||
sb.append("prMan,");
|
for (int i = 0; i < OTHER_PARAMS.length - 1; ++i) {
|
||||||
sb.append("htMan,");
|
sb.append(OTHER_PARAMS[i]).append(",");
|
||||||
sb.append("tpMan,");
|
MAN_PARAMS[HDR_PARAMS.length + i] = OTHER_PARAMS[i];
|
||||||
sb.append("tdMan,");
|
}
|
||||||
sb.append("wdMan,");
|
sb.append(OTHER_PARAMS[OTHER_PARAMS.length - 1]);
|
||||||
sb.append("wsMan,");
|
MAN_PARAMS[MAN_PARAMS.length - 1] = OTHER_PARAMS[OTHER_PARAMS.length - 1];
|
||||||
//-------------------------
|
|
||||||
sb.append("numTrop,");
|
|
||||||
sb.append("prTrop,");
|
|
||||||
sb.append("tpTrop,");
|
|
||||||
sb.append("tdTrop,");
|
|
||||||
sb.append("wdTrop,");
|
|
||||||
sb.append("wsTrop,");
|
|
||||||
//-------------------------
|
|
||||||
sb.append("numMwnd,");
|
|
||||||
sb.append("prMaxW,");
|
|
||||||
sb.append("wdMaxW,");
|
|
||||||
sb.append("wsMaxW,");
|
|
||||||
//-------------------------
|
|
||||||
sb.append("numSigT,");
|
|
||||||
sb.append("prSigT,");
|
|
||||||
sb.append("tpSigT,");
|
|
||||||
sb.append("tdSigT,");
|
|
||||||
//-------------------------
|
|
||||||
sb.append("numSigW,");
|
|
||||||
sb.append("htSigW,");
|
|
||||||
sb.append("wdSigW,");
|
|
||||||
sb.append("wsSigW");
|
|
||||||
//-------------------------
|
|
||||||
MAN_PARAMS_LIST = sb.toString();
|
MAN_PARAMS_LIST = sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,14 +123,14 @@ public class BufrUAPointDataTransform {
|
||||||
obs.setLocation(location);
|
obs.setLocation(location);
|
||||||
Integer sfcpres = pdv.getNumber("sfcPressure").intValue();
|
Integer sfcpres = pdv.getNumber("sfcPressure").intValue();
|
||||||
obs.setPressure_station(sfcpres);
|
obs.setPressure_station(sfcpres);
|
||||||
|
|
||||||
obs.setStationName(pdv.getString("staName"));
|
obs.setStationName(pdv.getString("staName"));
|
||||||
}
|
}
|
||||||
return obs;
|
return obs;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static UAObs getManUAObsRecord(PointDataView pdv, UAObs obs) {
|
private static UAObs getManUAObsRecord(PointDataView pdv, UAObs obs) {
|
||||||
if(obs != null) {
|
if (obs != null) {
|
||||||
Number numLvls = pdv.getNumber("numMand");
|
Number numLvls = pdv.getNumber("numMand");
|
||||||
Number[] pr = pdv.getNumberAllLevels("prMan");
|
Number[] pr = pdv.getNumberAllLevels("prMan");
|
||||||
Number[] ht = pdv.getNumberAllLevels("htMan");
|
Number[] ht = pdv.getNumberAllLevels("htMan");
|
||||||
|
@ -154,7 +139,7 @@ public class BufrUAPointDataTransform {
|
||||||
Number[] wd = pdv.getNumberAllLevels("wdMan");
|
Number[] wd = pdv.getNumberAllLevels("wdMan");
|
||||||
Number[] ws = pdv.getNumberAllLevels("wsMan");
|
Number[] ws = pdv.getNumberAllLevels("wsMan");
|
||||||
|
|
||||||
if ((numLvls != null)&&(numLvls.intValue() > 0)) {
|
if ((numLvls != null) && (numLvls.intValue() > 0)) {
|
||||||
for (int i = 0; i < numLvls.intValue(); i++) {
|
for (int i = 0; i < numLvls.intValue(); i++) {
|
||||||
if (pr[i] != null) {
|
if (pr[i] != null) {
|
||||||
if ((pr[i].intValue() > 120000)
|
if ((pr[i].intValue() > 120000)
|
||||||
|
@ -163,7 +148,7 @@ public class BufrUAPointDataTransform {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UAObsLevel lvl = new UAObsLevel();
|
UAObsLevel lvl = new UAObsLevel();
|
||||||
if(pr[i].intValue() == obs.getPressure_station()) {
|
if (pr[i].intValue() == obs.getPressure_station()) {
|
||||||
lvl.setVertSig(LayerTools.SFC_LEVEL);
|
lvl.setVertSig(LayerTools.SFC_LEVEL);
|
||||||
lvl.setGeoHeight(obs.getElevation());
|
lvl.setGeoHeight(obs.getElevation());
|
||||||
} else {
|
} else {
|
||||||
|
@ -186,7 +171,7 @@ public class BufrUAPointDataTransform {
|
||||||
wd = pdv.getNumberAllLevels("wdTrop");
|
wd = pdv.getNumberAllLevels("wdTrop");
|
||||||
ws = pdv.getNumberAllLevels("wsTrop");
|
ws = pdv.getNumberAllLevels("wsTrop");
|
||||||
|
|
||||||
if ((numLvls != null)&&(numLvls.intValue() > 0)) {
|
if ((numLvls != null) && (numLvls.intValue() > 0)) {
|
||||||
for (int i = 0; i < numLvls.intValue(); i++) {
|
for (int i = 0; i < numLvls.intValue(); i++) {
|
||||||
if (pr[i] != null) {
|
if (pr[i] != null) {
|
||||||
if ((pr[i].intValue() > 120000)
|
if ((pr[i].intValue() > 120000)
|
||||||
|
@ -210,7 +195,7 @@ public class BufrUAPointDataTransform {
|
||||||
wd = pdv.getNumberAllLevels("wdMaxW");
|
wd = pdv.getNumberAllLevels("wdMaxW");
|
||||||
ws = pdv.getNumberAllLevels("wsMaxW");
|
ws = pdv.getNumberAllLevels("wsMaxW");
|
||||||
|
|
||||||
if ((numLvls != null)&&(numLvls.intValue() > 0)) {
|
if ((numLvls != null) && (numLvls.intValue() > 0)) {
|
||||||
for (int i = 0; i < numLvls.intValue(); i++) {
|
for (int i = 0; i < numLvls.intValue(); i++) {
|
||||||
if (pr[i] != null) {
|
if (pr[i] != null) {
|
||||||
if ((pr[i].intValue() > 120000)
|
if ((pr[i].intValue() > 120000)
|
||||||
|
@ -262,7 +247,7 @@ public class BufrUAPointDataTransform {
|
||||||
}
|
}
|
||||||
return obs;
|
return obs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param pdv
|
* @param pdv
|
||||||
|
@ -296,41 +281,41 @@ public class BufrUAPointDataTransform {
|
||||||
}
|
}
|
||||||
return obs;
|
return obs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param container
|
* @param container
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static UAObs [] toUAObsRecords(PointDataContainer container) {
|
public static UAObs[] toUAObsRecords(PointDataContainer container) {
|
||||||
List<UAObs> records = new ArrayList<UAObs>();
|
List<UAObs> records = new ArrayList<UAObs>();
|
||||||
container.setCurrentSz(container.getAllocatedSz());
|
container.setCurrentSz(container.getAllocatedSz());
|
||||||
for (int i = 0; i < container.getCurrentSz(); i++) {
|
for (int i = 0; i < container.getCurrentSz(); i++) {
|
||||||
PointDataView pdv = container.readRandom(i);
|
PointDataView pdv = container.readRandom(i);
|
||||||
|
|
||||||
UAObs obs = getUAObsHdr(pdv);
|
UAObs obs = getUAObsHdr(pdv);
|
||||||
if(obs != null) {
|
if (obs != null) {
|
||||||
|
|
||||||
switch(obs.getReportType()) {
|
switch (obs.getReportType()) {
|
||||||
|
|
||||||
case LayerTools.MANLVL_LO :
|
case LayerTools.MANLVL_LO:
|
||||||
case LayerTools.MANLVL_HI : {
|
case LayerTools.MANLVL_HI: {
|
||||||
obs = getManUAObsRecord(pdv,obs);
|
obs = getManUAObsRecord(pdv, obs);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case LayerTools.SIGTLVL_LO :
|
case LayerTools.SIGTLVL_LO:
|
||||||
case LayerTools.SIGTLVL_HI : {
|
case LayerTools.SIGTLVL_HI: {
|
||||||
obs = getObsSigTLevelData(pdv,obs);
|
obs = getObsSigTLevelData(pdv, obs);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case LayerTools.SIGWLVL_LO :
|
case LayerTools.SIGWLVL_LO:
|
||||||
case LayerTools.SIGWLVL_HI : {
|
case LayerTools.SIGWLVL_HI: {
|
||||||
obs = getObsSigWLevelData(pdv,obs);
|
obs = getObsSigWLevelData(pdv, obs);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
records.add(obs);
|
records.add(obs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,6 +118,10 @@ public abstract class PluginDataObject extends PersistableDataObject implements
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public static final String PLUGIN_NAME_ID = "pluginName";
|
||||||
|
|
||||||
|
public static final String DATATIME_ID = "dataTime";
|
||||||
|
|
||||||
public static final String ID_GEN = "idgen";
|
public static final String ID_GEN = "idgen";
|
||||||
|
|
||||||
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = ID_GEN)
|
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = ID_GEN)
|
||||||
|
|
|
@ -148,6 +148,14 @@ public class DbQueryRequest implements IServerRequest {
|
||||||
@DynamicSerializeElement
|
@DynamicSerializeElement
|
||||||
private Integer limit;
|
private Integer limit;
|
||||||
|
|
||||||
|
public DbQueryRequest() {
|
||||||
|
// For serialization
|
||||||
|
}
|
||||||
|
|
||||||
|
public DbQueryRequest(Map<String, RequestConstraint> constraints) {
|
||||||
|
setConstraints(new HashMap<String, RequestConstraint>(constraints));
|
||||||
|
}
|
||||||
|
|
||||||
public String getDatabase() {
|
public String getDatabase() {
|
||||||
return database;
|
return database;
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,11 @@ public class RequestConstraint implements ISerializableObject, Cloneable {
|
||||||
* Constructor
|
* Constructor
|
||||||
*/
|
*/
|
||||||
public RequestConstraint() {
|
public RequestConstraint() {
|
||||||
this.constraintType = ConstraintType.EQUALS;
|
this(ConstraintType.EQUALS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public RequestConstraint(ConstraintType constraintType) {
|
||||||
|
this.constraintType = constraintType;
|
||||||
this.asMap = new HashMap<Class<?>, Object>();
|
this.asMap = new HashMap<Class<?>, Object>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,6 +150,39 @@ public class RequestConstraint implements ISerializableObject, Cloneable {
|
||||||
this.constraintType = type;
|
this.constraintType = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a {@link RequestConstraint} with {@link ConstraintType#IN} with
|
||||||
|
* inConstraints set as the {@link #setConstraintValueList(Collection)}
|
||||||
|
*
|
||||||
|
* @param inConstraints
|
||||||
|
*/
|
||||||
|
public RequestConstraint(Collection<String> inConstraints) {
|
||||||
|
this(ConstraintType.IN);
|
||||||
|
setConstraintValueList(inConstraints);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a {@link RequestConstraint} with {@link ConstraintType#IN} with
|
||||||
|
* inConstraints set as the {@link #setConstraintValueList(String[])}
|
||||||
|
*
|
||||||
|
* @param inConstraints
|
||||||
|
*/
|
||||||
|
public RequestConstraint(String[] inConstraints) {
|
||||||
|
this(ConstraintType.IN);
|
||||||
|
setConstraintValueList(inConstraints);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a {@link RequestConstraint} with {@link ConstraintType#BETWEEN}
|
||||||
|
*
|
||||||
|
* @param low
|
||||||
|
* @param high
|
||||||
|
*/
|
||||||
|
public RequestConstraint(String low, String high) {
|
||||||
|
this(ConstraintType.BETWEEN);
|
||||||
|
setBetweenValueList(new String[] { low, high });
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RequestConstraint clone() {
|
public RequestConstraint clone() {
|
||||||
return new RequestConstraint(constraintValue, constraintType);
|
return new RequestConstraint(constraintValue, constraintType);
|
||||||
|
|
|
@ -10,13 +10,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="airmet"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -10,13 +10,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW">
|
resourceType="PLAN_VIEW">
|
||||||
</resource>
|
</resource>
|
||||||
</extension>
|
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="atcf"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
|
|
|
@ -10,13 +10,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="convsigmet"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -10,13 +10,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="ffg"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -10,13 +10,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="tcm"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -11,13 +11,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="idft"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -11,13 +11,6 @@
|
||||||
resourceType="PLAN_VIEW">
|
resourceType="PLAN_VIEW">
|
||||||
</resource>
|
</resource>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="intlsigmet"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -10,15 +10,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<!-- already extended by raytheon's lightning resource
|
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="binlightning"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
-->
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -19,13 +19,6 @@
|
||||||
</units>
|
</units>
|
||||||
</extension>
|
</extension>
|
||||||
-->
|
-->
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="mosaic"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -10,13 +10,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="ncscat"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -10,13 +10,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="nonconvsigmet"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -10,13 +10,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="ntrans"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -17,13 +17,6 @@
|
||||||
resourceType="PLAN_VIEW">
|
resourceType="PLAN_VIEW">
|
||||||
</resource>
|
</resource>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="mcidas"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -10,13 +10,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW">
|
resourceType="PLAN_VIEW">
|
||||||
</resource>
|
</resource>
|
||||||
</extension>
|
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="stormtrack"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
|
|
|
@ -11,13 +11,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="sgwh"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
|
@ -10,13 +10,6 @@
|
||||||
renderingOrderId="PLOT"
|
renderingOrderId="PLOT"
|
||||||
resourceType="PLAN_VIEW"/>
|
resourceType="PLAN_VIEW"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
|
||||||
point="com.raytheon.uf.viz.core.scriptTemplate">
|
|
||||||
<scriptTemplate
|
|
||||||
pluginName="wcp"
|
|
||||||
scriptLibrary="BaseRequest">
|
|
||||||
</scriptTemplate>
|
|
||||||
</extension>
|
|
||||||
<extension
|
<extension
|
||||||
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
point="gov.noaa.nws.ncep.viz.resources.NC-Resource">
|
||||||
<nc-resource
|
<nc-resource
|
||||||
|
|
Loading…
Add table
Reference in a new issue