Issue #2190 Cleaned up sounding and cloud height dependencies

Change-Id: If07406f7e618fca0ea001b56a81b8552d9d44546

Former-commit-id: 767ecfd7f2930de641d532d08120d5023b6e38e4
This commit is contained in:
Max Schenkelberg 2013-07-11 17:52:45 -05:00
parent 2e3f246a9b
commit d4c7a0c302
52 changed files with 318 additions and 1831 deletions

View file

@ -7,37 +7,20 @@ Bundle-Activator: com.raytheon.uf.viz.acarssounding.Activator
Bundle-Vendor: RAYTHEON
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core
Import-Package: com.raytheon.edex.meteoLib,
com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.dataplugin.acarssounding,
com.raytheon.uf.common.dataplugin.level,
com.raytheon.uf.common.dataquery.requests,
com.raytheon.uf.common.datastorage,
com.raytheon.uf.common.datastorage.records,
com.raytheon.uf.common.derivparam.tree,
com.raytheon.uf.common.localization,
com.raytheon.uf.common.pointdata,
com.raytheon.uf.common.pointdata.spatial,
com.raytheon.uf.common.serialization,
com.raytheon.uf.common.status,
com.raytheon.uf.common.time,
com.raytheon.uf.viz.core.alerts,
com.raytheon.uf.viz.core.catalog,
com.raytheon.uf.viz.core.comm,
com.raytheon.uf.viz.core.datastructure,
com.raytheon.uf.viz.core.exception,
com.raytheon.uf.viz.core.level,
com.raytheon.uf.viz.derivparam,
com.raytheon.uf.viz.derivparam.data,
com.raytheon.uf.viz.derivparam.inv,
com.raytheon.uf.viz.derivparam.library,
com.raytheon.uf.viz.derivparam.tree,
com.raytheon.viz.alerts,
com.raytheon.viz.pointdata.util,
javax.measure.unit,
org.eclipse.core.runtime,
org.eclipse.core.runtime.jobs,
org.osgi.framework
Require-Bundle: com.raytheon.uf.common.sounding;bundle-version="1.0.0"
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization, com.raytheon.uf.viz.sounding
Export-Package: com.raytheon.uf.viz.acarssounding
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.acarssounding;bundle-version="1.12.1174",
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
com.raytheon.uf.common.derivparam;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
com.raytheon.uf.common.sounding;bundle-version="1.12.1174",
com.raytheon.uf.viz.core;bundle-version="1.12.1174",
com.raytheon.uf.viz.derivparam;bundle-version="1.12.1174",
com.raytheon.viz.pointdata;bundle-version="1.12.1174",
com.raytheon.edex.meteolib;bundle-version="1.12.1174"

View file

@ -24,7 +24,7 @@
point="com.raytheon.uf.viz.sounding.verticalSoundingAdapter">
<verticalSoundingAdapter
adapter="com.raytheon.uf.viz.acarssounding.AcarsSoundingAdapter"
class="com.raytheon.uf.edex.plugin.acarssounding.common.ACARSSoundingRecord"
class="com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingRecord"
name="ACARSSoundingAdapter">
</verticalSoundingAdapter>
</extension>

View file

@ -5,26 +5,30 @@ Bundle-SymbolicName: com.raytheon.uf.viz.cloudheight;singleton:=true
Bundle-Version: 1.12.1174.qualifier
Bundle-Activator: com.raytheon.uf.viz.cloudheight.Activator
Bundle-Vendor: RAYTHEON
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core
Eclipse-BuddyPolicy: ext, global
Require-Bundle: org.eclipse.ui,
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Require-Bundle: org.eclipse.ui;bundle-version="3.8.2",
org.eclipse.core.runtime,
com.raytheon.uf.common.pointdata,
com.raytheon.uf.viz.d2d.core;bundle-version="1.11.17",
com.raytheon.viz.ui;bundle-version="1.11.17",
com.raytheon.viz.skewt;bundle-version="1.11.17",
com.raytheon.viz.core;bundle-version="1.11.17",
com.raytheon.uf.common.dataplugin.bufrua;bundle-version="1.11.22",
com.raytheon.uf.common.sounding;bundle-version="1.0.0",
javax.measure;bundle-version="1.0.0",
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.0.0",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.colormap;bundle-version="1.12.1174",
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
com.raytheon.uf.common.sounding;bundle-version="1.12.1174",
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.grid;bundle-version="1.0.0",
com.raytheon.uf.common.parameter;bundle-version="1.0.0",
com.raytheon.uf.common.colormap;bundle-version="1.12.1174"
com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.0.0",
com.raytheon.uf.common.dataplugin.bufrua;bundle-version="1.12.1174",
com.raytheon.uf.viz.core;bundle-version="1.12.1174",
com.raytheon.viz.ui;bundle-version="1.12.1174",
com.raytheon.uf.viz.d2d.core;bundle-version="1.12.1174",
com.raytheon.viz.skewt;bundle-version="1.12.1174",
javax.measure;bundle-version="1.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: com.raytheon.uf.viz.cloudheight,
com.raytheon.uf.viz.cloudheight.data,
com.raytheon.uf.viz.cloudheight.rsc,
com.raytheon.uf.viz.cloudheight.ui
Import-Package: com.raytheon.viz.core.map

View file

@ -214,10 +214,18 @@ public class ModelCloudHeightSourceImplementation extends
e);
}
for (PluginDataObject gr : pdos) {
IDataRecord[] drs = (IDataRecord[]) gr
.getMessageData();
if (drs != null && drs.length > 0) {
gr.setMessageData(((FloatDataRecord) drs[0])
Object messageData = gr.getMessageData();
IDataRecord record = null;
if (messageData instanceof IDataRecord[]) {
IDataRecord[] records = (IDataRecord[]) messageData;
if (records.length > 0) {
record = records[0];
}
} else if (messageData instanceof IDataRecord) {
record = (IDataRecord) messageData;
}
if (record != null) {
gr.setMessageData(((FloatDataRecord) record)
.getFloatData());
}
}

View file

@ -86,7 +86,6 @@ Export-Package: com.raytheon.uf.viz.core,
com.raytheon.uf.viz.core.style.level,
com.raytheon.uf.viz.core.tile,
com.raytheon.uf.viz.core.time,
com.raytheon.viz.core.slice,
com.raytheon.viz.core.slice.request,
com.raytheon.viz.core.units
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -1,44 +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.core.datastructure;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
/**
* Abstract factory for creating data cubes
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 28, 2007 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public abstract class AbstractDataCubeFactory {
public abstract DataCube construct(PluginDataObject[] pdos,
DataCube.Mode mode) throws VizDataCubeException;
}

View file

@ -1,667 +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.core.datastructure;
import java.awt.Point;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.measure.unit.Unit;
import org.geotools.coverage.grid.GeneralGridEnvelope;
import org.geotools.coverage.grid.GridGeometry2D;
import org.geotools.geometry.DirectPosition2D;
import org.geotools.geometry.GeneralDirectPosition;
import org.geotools.geometry.GeneralEnvelope;
import org.geotools.geometry.jts.JTS;
import org.opengis.geometry.DirectPosition;
import org.opengis.geometry.MismatchedDimensionException;
import org.opengis.referencing.FactoryException;
import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.TransformException;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.geospatial.ISpatialObject;
import com.raytheon.uf.common.geospatial.MapUtil;
import com.raytheon.uf.common.geospatial.PointUtil;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.common.util.GridUtil;
import com.raytheon.uf.viz.core.Activator;
import com.raytheon.uf.viz.core.exception.VizException;
import com.raytheon.uf.viz.core.interp.IInterpolation;
import com.raytheon.uf.viz.core.interp.InterpolationRequest;
import com.raytheon.uf.viz.core.interp.InterpolationResult;
import com.raytheon.uf.viz.core.interp.PythonInterpolation;
import com.raytheon.uf.viz.core.status.StatusConstants;
import com.raytheon.uf.viz.core.style.level.SingleLevel;
import com.raytheon.viz.core.slice.AbstractSlice;
import com.raytheon.viz.core.slice.FloatSlice;
import com.raytheon.viz.core.slice.ISliceable;
import com.raytheon.viz.core.slice.request.SliceRequest;
import com.raytheon.viz.core.slice.request.VerticalPlaneRequest;
import com.raytheon.viz.core.slice.request.VerticalPointRequest;
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;
import com.vividsolutions.jts.geom.LineString;
import com.vividsolutions.jts.geom.LinearRing;
import com.vividsolutions.jts.geom.Polygon;
/**
* 4 dimensional data cube that holds data in x, y, z, and time dimensions. All
* data in the cube should be of the same parameter and grid geometry.
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 28, 2007 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class DataCube implements ISliceable {
private static final transient IUFStatusHandler statusHandler = UFStatus.getHandler(DataCube.class);
public enum Mode {
EAGER, ON_DEMAND
};
protected Mode mode;
protected String type;
protected String parameter;
protected Unit<?> units;
protected ISpatialObject spatialArea;
protected HashMap<DataCubeKey, Object> data = new HashMap<DataCubeKey, Object>();
// /** elevations */
// private double lowerElevation;
//
// private double upperElevation;
protected MathTransform crsFromLatLon = null;
protected Polygon cubeGeometry;
public DataCube(String aType, Mode aMode) {
type = aType;
mode = aMode;
}
@Override
public AbstractSlice[] slice(SliceRequest request) throws VizException {
AbstractSlice[] sliceArray = null;
if (request instanceof VerticalPlaneRequest) {
sliceArray = verticalPlaneSlice((VerticalPlaneRequest) request);
} else if (request instanceof VerticalPointRequest) {
sliceArray = verticalPointSlice((VerticalPointRequest) request);
} else {
throw new VizException(
"Data cube does not yet support slice requests of type "
+ request.getClass().getName());
}
return sliceArray;
}
protected AbstractSlice[] verticalPlaneSlice(VerticalPlaneRequest vReq)
throws VizException {
Point startPosition = null;
Point endPosition = null;
GeometryFactory gf = new GeometryFactory();
LineString sliceReq = gf.createLineString(vReq.getCoordinates());
try {
sliceReq = (LineString) JTS.transform(sliceReq, crsFromLatLon);
} catch (Exception e) {
statusHandler.handle(Priority.PROBLEM,
"Error converting slice coordinates", e);
}
double totalDistance = sliceReq.getLength();
Geometry intersection = sliceReq.intersection(cubeGeometry);
if (intersection == null || intersection.getCoordinates().length == 0) {
System.out.println("No intersection");
return null;
}
List<Point> dataPoints = new ArrayList<Point>();
List<Point> uniquePoints = new ArrayList<Point>();
Coordinate[] coords = vReq.getCoordinates();
for (int i = 0; i < coords.length - 1; ++i) {
Coordinate start = coords[i];
Coordinate end = coords[i + 1];
try {
startPosition = PointUtil.determineIndex(start, spatialArea
.getCrs(), MapUtil.getGridGeometry(spatialArea));
endPosition = PointUtil.determineIndex(end, spatialArea
.getCrs(), MapUtil.getGridGeometry(spatialArea));
} catch (Exception e) {
throw new VizException("Error determining index in grid.", e);
}
// determine points in 2 dimensional grid space of the line
ArrayList<Point> points = GridUtil.bresenham(startPosition,
endPosition);
// TODO maybe fill in their values with interpolation
// if the points are outside the grid, drop them
List<Point> pointsToRemove = new ArrayList<Point>();
for (Point c : points) {
if (c.x < 0 || c.y < 0 || c.x >= spatialArea.getNx()
|| c.y >= spatialArea.getNy()) {
pointsToRemove.add(c);
}
}
points.removeAll(pointsToRemove);
for (Point p : points) {
if (uniquePoints.contains(p) == false) {
uniquePoints.add(p);
}
}
dataPoints.addAll(uniquePoints);
}
int nPoints = dataPoints.size();
Coordinate[] sliceCoords = new Coordinate[dataPoints.size()];
MathTransform gridToCrs = MapUtil.getGridGeometry(spatialArea)
.getGridToCRS();
MathTransform crsToLL;
try {
crsToLL = MapUtil.getTransformToLatLon(spatialArea.getCrs());
} catch (FactoryException e) {
throw new VizException(
"Error Determining Coordinates of Grid Point.", e);
}
for (int i = 0; i < dataPoints.size(); i++) {
Point p = dataPoints.get(i);
DirectPosition2D result = new DirectPosition2D();
try {
DirectPosition2D crsDP = new DirectPosition2D();
gridToCrs.transform(new DirectPosition2D(p.x, p.y), crsDP);
crsToLL.transform(crsDP, result);
} catch (Exception e) {
throw new VizException(
"Error Determining Coordinates of Grid Point.", e);
}
sliceCoords[i] = new Coordinate(result.x, result.y);
}
SingleLevel[] reqLevels = vReq.getLevels();
Arrays.sort(reqLevels);
double lowestLevel = Math.min(reqLevels[0].getValue(),
reqLevels[reqLevels.length - 1].getValue());
double highestLevel = Math.max(reqLevels[0].getValue(),
reqLevels[reqLevels.length - 1].getValue());
// TODO fix max distance when slice req endpoints are outside datacube
GeneralEnvelope env = new GeneralEnvelope(
new double[] { 0, lowestLevel }, new double[] { totalDistance,
highestLevel });
GeneralGridEnvelope range = new GeneralGridEnvelope(new int[] { 0, 0 },
new int[] { nPoints, reqLevels.length }, false);
// create a slice for each time
ArrayList<AbstractSlice> sliceList = new ArrayList<AbstractSlice>();
for (DataTime time : vReq.getTimes()) {
GridGeometry2D sliceGeom = new GridGeometry2D(range, env);
FloatSlice slice = new FloatSlice();
slice = new FloatSlice();
slice.setGridGeometry(sliceGeom);
int dataLength = nPoints * reqLevels.length;
PluginDataObject[] organizedData = new PluginDataObject[reqLevels.length];
int n = 0;
for (int i = 0; i < reqLevels.length; i++) {
organizedData[n] = (PluginDataObject) data.get(new DataCubeKey(
time, reqLevels[i]));
n++;
}
// retrieve the organized data values
float[] result = new float[dataLength];
if (mode == Mode.EAGER) {
// determine indices in 1 dimensional grid space of the line
int[] indices = new int[nPoints];
for (int i = 0; i < nPoints; i++) {
Point point = dataPoints.get(i);
indices[i] = point.y * spatialArea.getNx() + point.x;
}
float[] sliceLevelData = new float[nPoints];
for (int i = 0; i < organizedData.length; i++) {
float[] levelData = ((float[]) organizedData[i]
.getMessageData());
for (int k = 0; k < nPoints; k++) {
sliceLevelData[k] = levelData[indices[k]];
}
System.arraycopy(sliceLevelData, 0, result, i * nPoints,
nPoints);
}
} else if (mode == Mode.ON_DEMAND) {
float[] tmp = CubeUtil
.retrieveData(organizedData, uniquePoints);
if (dataPoints.size() != uniquePoints.size()) {
result = new float[dataPoints.size() * organizedData.length];
for (int i = 0; i < dataPoints.size(); ++i) {
int idx = uniquePoints.indexOf(dataPoints.get(i));
for (int j = 0; j < organizedData.length; ++j) {
result[i + j * dataPoints.size()] = tmp[idx + j
* uniquePoints.size()];
}
}
} else {
result = tmp;
}
}
InterpolationRequest request = vReq.getRequest();
float[] xValues = new float[sliceGeom.getGridRange2D().width];
for (int i = 0; i < xValues.length; ++i) {
xValues[i] = i;
}
request.setXData(xValues);
request.setMinX(0);
request.setMaxX(xValues[xValues.length - 1]);
request.setZData(result);
scaleData(request);
float interpFactor = 1.0f;
IInterpolation interp = new PythonInterpolation(vReq.getScale());
InterpolationResult iResults = interp.interpolate(request);
result = iResults.getValues();
sliceGeom = iResults.getGeometry();
slice.setGridGeometry(sliceGeom);
slice.setInterpolationFactor(interpFactor);
slice.setSliceData(result);
slice.setDataTime(new DataTime[] { time });
slice.setLevels(vReq.getLevels());
slice.setCoordinates(sliceCoords);
sliceList.add(slice);
}
return sliceList.toArray(new AbstractSlice[sliceList.size()]);
}
protected AbstractSlice[] verticalPointSlice(VerticalPointRequest vReq)
throws VizException {
if (!this.contains(vReq.getCoordinate())) {
return new AbstractSlice[0];
}
Point position = null;
try {
position = PointUtil.determineIndex(vReq.getCoordinate(),
spatialArea.getCrs(), MapUtil.getGridGeometry(spatialArea));
} catch (Exception e) {
throw new VizException("Error determining index in grid.", e);
}
DataTime[] times = vReq.getTimes();
Arrays.sort(times);
int nPoints = times.length;
double earliestTime = times[0].getValidTime().getTimeInMillis();
SingleLevel[] reqLevels = vReq.getLevels();
Arrays.sort(reqLevels);
double lowestLevel = Math.min(reqLevels[0].getValue(),
reqLevels[reqLevels.length - 1].getValue());
double highestLevel = Math.max(reqLevels[0].getValue(),
reqLevels[reqLevels.length - 1].getValue());
GeneralEnvelope env = new GeneralEnvelope(
new double[] { 0, lowestLevel }, new double[] { earliestTime,
highestLevel });
GeneralGridEnvelope range = new GeneralGridEnvelope(new int[] { 0, 0 },
new int[] { nPoints, reqLevels.length }, false);
GridGeometry2D sliceGeom = new GridGeometry2D(range, env);
ArrayList<AbstractSlice> sliceList = new ArrayList<AbstractSlice>();
FloatSlice slice = new FloatSlice();
slice = new FloatSlice();
slice.setGridGeometry(sliceGeom);
int dataLength = nPoints * reqLevels.length;
PluginDataObject[] organizedData = new PluginDataObject[dataLength];
int n = 0;
for (int i = 0; i < reqLevels.length; i++) {
if (vReq.getTimeDirection() == TimeDirection.LEFT_TO_RIGHT) {
for (int k = 0; k < times.length; k++) {
organizedData[n] = (PluginDataObject) data
.get(new DataCubeKey(times[k], reqLevels[i]));
n++;
}
} else if (vReq.getTimeDirection() == TimeDirection.RIGHT_TO_LEFT) {
for (int k = times.length - 1; k > -1; k--) {
organizedData[n] = (PluginDataObject) data
.get(new DataCubeKey(times[k], reqLevels[i]));
n++;
}
}
}
float[] result = new float[dataLength];
if (mode == Mode.EAGER) {
// determine indices in 1 dimensional grid space of the line
int index = position.y * spatialArea.getNx() + position.x;
for (int i = 0; i < dataLength; i++) {
result[i] = ((float[]) organizedData[i].getMessageData())[index];
}
} else if (mode == Mode.ON_DEMAND) {
result = CubeUtil.retrieveData(organizedData, position.x,
position.y);
}
InterpolationRequest request = vReq.getRequest();
if (request != null) {
float[] xValues = new float[sliceGeom.getGridRange2D().width];
for (int i = 0; i < xValues.length; ++i) {
xValues[i] = i;
}
request.setXData(xValues);
request.setMinX(0);
request.setMaxX(xValues[xValues.length - 1]);
request.setZData(result);
scaleData(request);
IInterpolation interp = new PythonInterpolation(vReq.getScale());
InterpolationResult iResults = interp.interpolate(request);
result = iResults.getValues();
sliceGeom = iResults.getGeometry();
}
slice.setGridGeometry(sliceGeom);
slice.setSliceData(result);
slice.setDataTime(times);
slice.setLevels(vReq.getLevels());
sliceList.add(slice);
return sliceList.toArray(new AbstractSlice[sliceList.size()]);
}
public void addData(DataTime aTime, SingleLevel aLevel, Object aData) {
DataCubeKey key = new DataCubeKey(aTime, aLevel);
data.put(key, aData);
}
/**
* @return the parameter
*/
public String getParameter() {
return parameter;
}
/**
* @param parameter
* the parameter to set
*/
public void setParameter(String parameter) {
this.parameter = parameter;
}
/**
* @return the spatialArea
*/
public ISpatialObject getSpatialArea() {
return spatialArea;
}
/**
* @param spatialArea
* the spatialArea to set
*/
public void setSpatialArea(ISpatialObject spatialArea) {
this.spatialArea = spatialArea;
}
/**
* Get the data levels
*
* @param sort
* returned levels are in ascending order
* @return
*/
public SingleLevel[] getAvailableLevels(boolean sort) {
Set<SingleLevel> set = new HashSet<SingleLevel>();
Set<DataCubeKey> cubeKeys = data.keySet();
for (DataCubeKey key : cubeKeys) {
set.add(key.getLevel());
}
SingleLevel[] levels = set.toArray(new SingleLevel[set.size()]);
if (sort) {
Arrays.sort(levels);
}
return levels;
}
/**
* Get the available times
*
* @param sort
* returned data times are in ascending order
* @return
*/
public DataTime[] getAvailableTimes(boolean sort) {
Set<DataTime> set = new HashSet<DataTime>();
Set<DataCubeKey> cubeKeys = data.keySet();
for (DataCubeKey key : cubeKeys) {
set.add(key.getTime());
}
DataTime[] times = set.toArray(new DataTime[set.size()]);
if (sort) {
Arrays.sort(times);
}
return times;
}
/**
* @return the units
*/
public Unit<?> getUnits() {
return units;
}
/**
* @param units
* the units to set
*/
public void setUnits(Unit<?> units) {
this.units = units;
}
/**
* Get the raw data for all levels
*/
public Object getData(DataTime time) {
SingleLevel[] levels = getAvailableLevels(true);
DataTime[] times = getAvailableTimes(false);
Arrays.sort(times);
int index = 0;
for (DataTime d : times) {
if (d.equals(time)) {
break;
}
index++;
}
float[] cubeData = (float[]) ((PluginDataObject) data
.get(new DataCubeKey(times[index], levels[0])))
.getMessageData();
float[][] theData = new float[levels.length][cubeData.length];
for (int i = 0; i < levels.length; ++i) {
cubeData = (float[]) ((PluginDataObject) this.data
.get(new DataCubeKey(times[index], levels[i])))
.getMessageData();
System.arraycopy(cubeData, 0, theData[i], 0, cubeData.length);
}
return theData;
}
/**
* Determine if coordinate is inside the data cube
*
* @param c
* @return
*/
public boolean contains(Coordinate c) {
DirectPosition ll = new GeneralDirectPosition(MapUtil.LATLON_PROJECTION);
ll.setOrdinate(0, c.x);
ll.setOrdinate(1, c.y);
DirectPosition crs = new GeneralDirectPosition(spatialArea.getCrs());
try {
crsFromLatLon.transform(ll, crs);
} catch (MismatchedDimensionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Coordinate newC = new Coordinate(crs.getOrdinate(0), crs.getOrdinate(1));
GeometryFactory gf = new GeometryFactory();
com.vividsolutions.jts.geom.Point p = gf.createPoint(newC);
return this.cubeGeometry.contains(p);
}
public void initGeometry() {
try {
crsFromLatLon = MapUtil
.getTransformFromLatLon(spatialArea.getCrs());
} catch (FactoryException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DirectPosition lowerCorner = MapUtil.getGridGeometry(spatialArea)
.getEnvelope().getLowerCorner();
DirectPosition upperCorner = MapUtil.getGridGeometry(spatialArea)
.getEnvelope().getUpperCorner();
GeometryFactory gf = new GeometryFactory();
Coordinate p1 = new Coordinate(lowerCorner.getOrdinate(0), lowerCorner
.getOrdinate(1));
Coordinate p2 = new Coordinate(lowerCorner.getOrdinate(0), upperCorner
.getOrdinate(1));
Coordinate p3 = new Coordinate(upperCorner.getOrdinate(0), upperCorner
.getOrdinate(1));
Coordinate p4 = new Coordinate(upperCorner.getOrdinate(0), lowerCorner
.getOrdinate(1));
LinearRing lr = gf.createLinearRing(new Coordinate[] { p1, p2, p3, p4,
p1 });
cubeGeometry = gf.createPolygon(lr, null);
}
private void scaleData(InterpolationRequest request)
throws VizDataCubeException {
int maxPoints = 1000;
float[] xData = request.getXData();
float[] yData = request.getYData();
float[] zValues = request.getZData();
int xlen = xData.length;
int ylen = yData.length;
int totalSize = xlen * ylen;
float inc = totalSize / maxPoints;
Set<Integer> keep = new HashSet<Integer>();
if (inc > 1) {
keep.add(0);
for (int i = (int) inc; i < totalSize && keep.size() < maxPoints; i += inc) {
keep.add(i);
}
totalSize = maxPoints;
}
int skipped = 0;
float[] tmpZ = new float[totalSize];
float[] tmpX = new float[totalSize];
float[] tmpY = new float[totalSize];
int actualSize = 0;
for (int i = 0; i < yData.length; ++i) {
for (int j = 0; j < xData.length; ++j) {
int index = i * xData.length + j;
if ((inc <= 1 || keep.contains(index))
&& (zValues[index] > CubeUtil.MISSING)) {
tmpX[index - skipped] = xData[j];
tmpY[index - skipped] = yData[i];
tmpZ[index - skipped] = zValues[index];
++actualSize;
} else {
skipped++;
}
}
}
if (actualSize == 0) {
throw new VizDataCubeException(
"No Valid data found for interpolation");
}
zValues = new float[actualSize];
xData = new float[actualSize];
yData = new float[actualSize];
System.arraycopy(tmpZ, 0, zValues, 0, actualSize);
System.arraycopy(tmpX, 0, xData, 0, actualSize);
System.arraycopy(tmpY, 0, yData, 0, actualSize);
request.setXData(xData);
request.setYData(yData);
request.setZData(zValues);
}
}

View file

@ -1,47 +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.core.rsc.capabilities;
import com.raytheon.uf.viz.core.exception.VizException;
import com.raytheon.viz.core.slice.AbstractSlice;
import com.raytheon.viz.core.slice.request.SliceRequest;
/**
* Interface for sliceable resources
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 29, 2007 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public interface ISliceableResource {
public void slice(SliceRequest request) throws VizException;
public AbstractSlice getSlice();
}

View file

@ -1,138 +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.viz.core.slice;
import org.opengis.coverage.grid.GridGeometry;
import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.viz.core.interp.InterpolationResult;
import com.raytheon.uf.viz.core.style.level.SingleLevel;
import com.vividsolutions.jts.geom.Coordinate;
/**
* A slice of data
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 28, 2007 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public abstract class AbstractSlice {
protected GridGeometry gridGeometry;
protected DataTime[] dataTimes;
protected float interpolationFactor = 1.0f;
protected SingleLevel[] levels;
protected InterpolationResult interpResult;
protected Coordinate[] coordinates;
public abstract Object getSliceData();
public abstract void setSliceData(Object data);
public InterpolationResult getInterpResult() {
return interpResult;
}
public void setInterpResult(InterpolationResult interpResult) {
this.interpResult = interpResult;
}
/**
* @return the gridGeometry
*/
public GridGeometry getGridGeometry() {
return gridGeometry;
}
public void setLevels(SingleLevel[] levels) {
this.levels = levels;
}
public SingleLevel[] getLevels() {
return this.levels;
}
/**
* @param gridGeometry
* the gridGeometry to set
*/
public void setGridGeometry(GridGeometry gridGeometry) {
this.gridGeometry = gridGeometry;
}
/**
* @return the dataTime
*/
public DataTime[] getDataTime() {
return dataTimes;
}
/**
* @param dataTime
* the dataTime to set
*/
public void setDataTime(DataTime[] dataTimes) {
this.dataTimes = dataTimes;
}
/**
* @return the interpolationFactor
*/
public float getInterpolationFactor() {
return interpolationFactor;
}
/**
* @param interpolationFactor
* the interpolationFactor to set
*/
public void setInterpolationFactor(float interpolationFactor) {
this.interpolationFactor = interpolationFactor;
}
/**
* @return the coordinates
*/
public Coordinate[] getCoordinates() {
return coordinates;
}
/**
* @param coordinates
* the coordinates to set
*/
public void setCoordinates(Coordinate[] coordinates) {
this.coordinates = coordinates;
}
}

View file

@ -1,56 +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.viz.core.slice;
/**
* A slice of data where the data is floats
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 28, 2007 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class FloatSlice extends AbstractSlice {
protected float[] sliceData;
/**
* @return the sliceData
*/
public float[] getSliceData() {
return sliceData;
}
/**
* @param sliceData
* the sliceData to set
*/
public void setSliceData(Object sliceData) {
this.sliceData = (float[]) sliceData;
}
}

View file

@ -1,52 +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.viz.core.slice;
import com.raytheon.uf.viz.core.exception.VizException;
import com.raytheon.viz.core.slice.request.SliceRequest;
/**
* Interface for sliceable data
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 28, 2007 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public interface ISliceable {
/**
* Slices data, returning an AbstractSlice for each time requested
*
* @param aRequest
* the slice request
* @return a slice for each time
* @throws VizException
*/
public AbstractSlice[] slice(SliceRequest aRequest) throws VizException;
}

View file

@ -1,69 +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.viz.core.slice.request;
import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.viz.core.interp.InterpolationRequest;
/**
* A request to slice data
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 28, 2007 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public abstract class SliceRequest {
protected DataTime[] times;
protected InterpolationRequest request;
/**
* @return the times
*/
public DataTime[] getTimes() {
return times;
}
/**
* @param times
* the times to set
*/
public void setTimes(DataTime[] times) {
this.times = times;
}
public InterpolationRequest getRequest() {
return request;
}
public void setRequest(InterpolationRequest request) {
this.request = request;
}
}

View file

@ -1,60 +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.viz.core.slice.request;
import com.vividsolutions.jts.geom.Coordinate;
/**
* Slice request for a vertical plane (i.e. cross section). The results returned
* from this slice contain grids where y represents the height in the atmosphere
* and x represents point on a line on the earth.
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 28, 2007 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class VerticalPlaneRequest extends VerticalRequest {
protected Coordinate[] coordinates;
/**
* @return the startCoordinate
*/
public Coordinate[] getCoordinates() {
return coordinates;
}
/**
* @param startCoordinate
* the startCoordinate to set
*/
public void setCoordinates(Coordinate[] coordinates) {
this.coordinates = coordinates;
}
}

View file

@ -1,81 +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.viz.core.slice.request;
import com.vividsolutions.jts.geom.Coordinate;
/**
* Slice request for data at a single point at multiple heights and times.
* Slices returned from this contain grids where y represents the height in the
* atmosphere and x represents successive data times.
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 11, 2007 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class VerticalPointRequest extends VerticalRequest {
public enum TimeDirection {
RIGHT_TO_LEFT, LEFT_TO_RIGHT
};
protected Coordinate coordinate;
protected TimeDirection timeDirection = TimeDirection.LEFT_TO_RIGHT;
/**
* @return the coordinate
*/
public Coordinate getCoordinate() {
return coordinate;
}
/**
* @param coordinate
* the coordinate to set
*/
public void setCoordinate(Coordinate coordinate) {
this.coordinate = coordinate;
}
/**
* @return the timeDirection
*/
public TimeDirection getTimeDirection() {
return timeDirection;
}
/**
* @param timeDirection
* the timeDirection to set
*/
public void setTimeDirection(TimeDirection timeDirection) {
this.timeDirection = timeDirection;
}
}

View file

@ -1,76 +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.viz.core.slice.request;
import com.raytheon.uf.viz.core.style.level.SingleLevel;
import com.raytheon.viz.core.slice.request.HeightScale.ScaleType;
/**
* Slice request for vertical representation of data
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 11, 2007 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public abstract class VerticalRequest extends SliceRequest {
protected SingleLevel[] levels;
protected ScaleType scale;
/**
* @return the levels
*/
public SingleLevel[] getLevels() {
return levels;
}
/**
* @param levels
* the levels to set
*/
public void setLevels(SingleLevel[] levels) {
this.levels = levels;
}
/**
* @return the scale
*/
public ScaleType getScale() {
return scale;
}
/**
* @param scale
* the scale to set
*/
public void setScale(ScaleType scale) {
this.scale = scale;
}
}

View file

@ -18,8 +18,8 @@
</license>
<requires>
<import feature="com.raytheon.uf.viz.common.core.feature" version="1.0.0.qualifier" />
<import feature="com.raytheon.uf.viz.core.feature" version="1.0.0.qualifier" />
<import feature="com.raytheon.uf.viz.base.feature" version="1.0.0.qualifier"/>
<import feature="com.raytheon.uf.common.base.feature" version="1.0.0.qualifier"/>
</requires>
<plugin

View file

@ -6,31 +6,26 @@ Bundle-Version: 1.12.1174.qualifier
Bundle-Activator: com.raytheon.uf.viz.sounding.Activator
Bundle-Vendor: RAYTHEON
Require-Bundle: org.eclipse.core.runtime,
javax.measure;bundle-version="1.0.0",
com.raytheon.edex.common;bundle-version="1.11.17",
com.raytheon.uf.common.sounding;bundle-version="1.0.0",
com.raytheon.uf.common.sounding;bundle-version="1.12.1174";visibility:=reexport,
com.raytheon.uf.common.status;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
com.raytheon.uf.common.dataplugin.grid;bundle-version="1.0.0",
com.raytheon.uf.common.dataplugin.goessounding;bundle-version="1.0.0",
com.raytheon.uf.common.dataplugin.poessounding;bundle-version="1.0.0",
com.raytheon.uf.common.dataplugin.profiler;bundle-version="1.12.1174",
com.raytheon.uf.common.topo;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
com.raytheon.uf.common.parameter;bundle-version="1.0.0",
com.raytheon.uf.viz.acarssounding;bundle-version="1.12.1174"
com.raytheon.viz.pointdata;bundle-version="1.12.1174",
com.raytheon.uf.viz.core;bundle-version="1.12.1174",
com.raytheon.edex.meteolib;bundle-version="1.12.1174",
com.raytheon.edex.plugin.modelsounding;bundle-version="1.12.1174",
javax.measure;bundle-version="1.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Eclipse-BuddyPolicy: registered
Export-Package: com.raytheon.uf.viz.sounding,
com.raytheon.uf.viz.sounding.adapters
Import-Package: com.raytheon.edex.meteoLib,
com.raytheon.edex.plugin.modelsounding.common,
com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.dataplugin.goessounding,
com.raytheon.uf.common.dataplugin.poessounding,
com.raytheon.uf.common.dataplugin.profiler,
com.raytheon.uf.common.geospatial,
com.raytheon.uf.common.pointdata,
com.raytheon.uf.common.pointdata.spatial,
com.raytheon.uf.common.status,
com.raytheon.uf.common.time,
com.raytheon.uf.viz.core.datastructure,
com.raytheon.uf.viz.core.exception,
com.raytheon.uf.viz.core.status,
com.raytheon.viz.core.map,
com.raytheon.viz.pointdata
Import-Package: com.raytheon.viz.core.map

View file

@ -53,10 +53,5 @@
class="com.raytheon.uf.common.dataplugin.radar.RadarRecord"
name="VwpSoundingAdapter">
</verticalSoundingAdapter>
<verticalSoundingAdapter
adapter="com.raytheon.uf.viz.acarssounding.AcarsSoundingAdapter"
class="com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingRecord"
name="AcarsSoundingAdapter">
</verticalSoundingAdapter>
</extension>
</plugin>

View file

@ -34,7 +34,6 @@ import com.raytheon.uf.viz.xy.map.rsc.IGraphableResource;
import com.raytheon.uf.viz.xy.timeheight.graph.TimeHeightGraph;
import com.raytheon.uf.viz.xy.timeheight.rsc.AbstractTimeHeightResource;
import com.raytheon.viz.core.slice.request.HeightScale;
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
/**
* TODO Add Description
@ -57,6 +56,10 @@ public class TimeHeightDescriptor extends XyGraphDescriptor {
public static final int REAL_FRAME_COUNT_TO_USE_WHEN_FRAME_COUNT_IS_ONE = 999;
public static enum TimeDirection {
RIGHT_TO_LEFT, LEFT_TO_RIGHT;
}
@XmlAttribute
public TimeDirection timeDirection;

View file

@ -39,10 +39,10 @@ import com.raytheon.uf.viz.d2d.ui.AbstractHeightDisplay;
import com.raytheon.uf.viz.xy.map.rsc.GraphResource;
import com.raytheon.uf.viz.xy.map.rsc.GraphResourceData;
import com.raytheon.uf.viz.xy.map.rsc.GraphResourceData.OverlayMode;
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor.TimeDirection;
import com.raytheon.viz.core.imagery.ImageCombiner;
import com.raytheon.viz.core.slice.request.HeightScale;
import com.raytheon.viz.core.slice.request.HeightScales;
import com.raytheon.viz.core.slice.request.VerticalPointRequest;
/**
* TODO Add Description
@ -63,6 +63,7 @@ import com.raytheon.viz.core.slice.request.VerticalPointRequest;
@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement
public class TimeHeightRenderableDisplay extends AbstractHeightDisplay {
private static final transient IUFStatusHandler statusHandler = UFStatus
.getHandler(TimeHeightRenderableDisplay.class);
@ -106,8 +107,8 @@ public class TimeHeightRenderableDisplay extends AbstractHeightDisplay {
getDescriptor().setHeightScale(scale);
}
public void setTimeDirection(VerticalPointRequest.TimeDirection direction) {
((TimeHeightDescriptor) getDescriptor()).setTimeDirection(direction);
public void setTimeDirection(TimeDirection direction) {
getDescriptor().setTimeDirection(direction);
}
@Override

View file

@ -37,10 +37,10 @@ import com.raytheon.uf.viz.xy.graph.axis.LogarithmicAxisPlacer;
import com.raytheon.uf.viz.xy.graph.labeling.IGraphLabel;
import com.raytheon.uf.viz.xy.map.rsc.IGraphableResource;
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor;
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor.TimeDirection;
import com.raytheon.uf.viz.xy.timeheight.rsc.AbstractTimeHeightResource;
import com.raytheon.viz.core.slice.request.HeightScale;
import com.raytheon.viz.core.slice.request.HeightScale.ScaleType;
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
import com.vividsolutions.jts.geom.Coordinate;
/**

View file

@ -60,6 +60,7 @@ import com.raytheon.uf.viz.xy.map.rsc.IGraphableResource;
import com.raytheon.uf.viz.xy.map.rsc.IInsetMapResource;
import com.raytheon.uf.viz.xy.map.rsc.PointRenderable;
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor;
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor.TimeDirection;
import com.raytheon.uf.viz.xy.varheight.adapter.AbstractVarHeightAdapter;
import com.raytheon.viz.core.graphing.util.GraphPrefsFactory;
import com.raytheon.viz.core.graphing.xy.XYData;
@ -67,7 +68,6 @@ import com.raytheon.viz.core.map.GeoUtil;
import com.raytheon.viz.core.rsc.ICombinedResourceData;
import com.raytheon.viz.core.rsc.ICombinedResourceData.CombineOperation;
import com.raytheon.viz.core.slice.request.HeightScale;
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
import com.vividsolutions.jts.geom.Geometry;
/**

View file

@ -51,11 +51,11 @@ import com.raytheon.uf.viz.core.style.VizStyleException;
import com.raytheon.uf.viz.xy.InterpUtils;
import com.raytheon.uf.viz.xy.graph.IGraph;
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor;
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor.TimeDirection;
import com.raytheon.uf.viz.xy.varheight.adapter.AbstractVarHeightAdapter;
import com.raytheon.viz.core.contours.util.VectorGraphicsRenderable;
import com.raytheon.viz.core.graphing.xy.XYData;
import com.raytheon.viz.core.graphing.xy.XYWindImageData;
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
import com.raytheon.viz.core.style.arrow.ArrowPreferences;
import com.vividsolutions.jts.geom.Coordinate;

View file

@ -5,119 +5,48 @@ Bundle-SymbolicName: com.raytheon.viz.radar;singleton:=true
Bundle-Version: 1.12.1174.qualifier
Bundle-Activator: com.raytheon.viz.radar.Activator
Bundle-Vendor: Raytheon
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core, com.raytheon.uf.viz.ui.menus
Require-Bundle: org.apache.batik;bundle-version="1.6.0",
org.eclipse.ui,
org.eclipse.core.runtime,
com.raytheon.viz.core,
com.raytheon.uf.viz.core,
org.geotools,
com.raytheon.viz.ui,
javax.measure,
com.raytheon.viz.pointdata;bundle-version="1.10.13",
com.raytheon.uf.viz.d2d.ui;bundle-version="1.0.0",
com.raytheon.viz.core.graphing;bundle-version="1.11.1",
com.raytheon.viz.awipstools;bundle-version="1.11.11",
com.raytheon.uf.viz.xy,
com.raytheon.uf.common.serialization.comm;bundle-version="1.11.22",
com.raytheon.uf.viz.productbrowser;bundle-version="1.11.31",
com.raytheon.uf.viz.d2d.core;bundle-version="1.12.1130",
com.raytheon.uf.common.dataplugin.radar;bundle-version="1.0.0",
com.raytheon.uf.common.menus;bundle-version="1.12.1174",
com.raytheon.uf.viz.ui.menus;bundle-version="1.12.1174",
com.raytheon.uf.viz.points;bundle-version="1.0.0",
com.raytheon.uf.common.units;bundle-version="1.0.0",
com.raytheon.uf.common.colormap;bundle-version="1.12.1174"
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization, com.raytheon.uf.viz.core
Bundle-ActivationPolicy: lazy
Import-Package: com.raytheon.edex.meteoLib,
com.raytheon.uf.common.dataplugin.level,
com.raytheon.uf.common.derivparam.tree,
com.raytheon.uf.common.message.response,
com.raytheon.uf.common.pointdata,
com.raytheon.uf.common.topo,
com.raytheon.uf.viz.derivparam,
com.raytheon.uf.viz.derivparam.data,
com.raytheon.uf.viz.derivparam.inv,
com.raytheon.uf.viz.derivparam.library,
com.raytheon.uf.viz.derivparam.tree,
com.raytheon.viz.core.contours.util
Export-Package: com.raytheon.viz.radar;
uses:="com.raytheon.viz.core.rsc,
com.raytheon.uf.viz.core.rsc,
com.raytheon.uf.viz.core.data,
com.raytheon.uf.viz.core.data.resp,
com.raytheon.edex.util.radar,
com.raytheon.uf.viz.core,
com.raytheon.uf.viz.core.drawables,
com.raytheon.uf.viz.core.map,
com.raytheon.uf.common.dataplugin.radar.level3,
com.raytheon.viz.awipstools.common,
org.geotools.coverage.grid,
org.eclipse.ui.plugin,
com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.geospatial,
org.eclipse.jface.preference,
com.raytheon.viz.core.rsc.hdf5,
org.eclipse.swt.graphics,
com.vividsolutions.jts.geom,
org.osgi.framework,
org.opengis.referencing.crs",
Export-Package: com.raytheon.viz.radar,
com.raytheon.viz.radar.interrogators,
com.raytheon.viz.radar.rsc;
uses:="com.raytheon.viz.awipstools.capabilityInterfaces,
com.raytheon.viz.core.rsc,
com.raytheon.uf.viz.core.map,
com.raytheon.uf.viz.core.rsc.capabilities,
com.raytheon.uf.viz.core.rsc,
com.raytheon.viz.radar,
com.raytheon.uf.viz.productbrowser,
com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.geospatial,
com.raytheon.uf.viz.core,
com.vividsolutions.jts.geom,
com.raytheon.uf.viz.core.drawables,
org.opengis.referencing.crs,
com.raytheon.uf.common.time",
com.raytheon.viz.radar.rsc,
com.raytheon.viz.radar.rsc.graphic,
com.raytheon.viz.radar.rsc.image,
com.raytheon.viz.radar.rsc.mosaic,
com.raytheon.viz.radar.ui;
uses:="com.raytheon.viz.radar,
com.raytheon.viz.ui.dialogs,
org.eclipse.core.commands,
org.eclipse.swt.widgets,
com.raytheon.uf.viz.core.procedures",
com.raytheon.viz.radar.ui.xy;
uses:="com.raytheon.uf.viz.core.rsc,
com.raytheon.viz.core.graphing.axis,
com.raytheon.viz.ui.editor,
com.raytheon.viz.radar.rsc,
com.raytheon.uf.viz.core,
com.raytheon.uf.viz.xy,
com.raytheon.uf.viz.core.drawables,
com.raytheon.uf.common.time,
com.raytheon.uf.viz.core.map,
com.raytheon.viz.core.graphing.rsc,
com.raytheon.uf.viz.xy.map.rsc,
com.raytheon.viz.core.slice.request,
com.raytheon.viz.core.graphing,
com.raytheon.uf.common.dataplugin,
org.eclipse.swt.layout,
com.raytheon.uf.viz.d2d.ui,
com.raytheon.viz.core.style.graph,
org.eclipse.swt.graphics,
com.vividsolutions.jts.geom,
org.eclipse.swt.widgets,
com.raytheon.viz.ui.input,
com.raytheon.viz.core.graphing.xy",
com.raytheon.viz.radar.util;
uses:="com.raytheon.viz.pointdata.util,
com.raytheon.uf.viz.core.rsc,
com.raytheon.uf.viz.core.alerts,
javax.measure.converter,
com.raytheon.viz.pointdata,
com.raytheon.uf.viz.core.catalog,
javax.measure.unit,
com.raytheon.uf.viz.core.drawables,
com.raytheon.uf.common.pointdata"
com.raytheon.viz.radar.ui,
com.raytheon.viz.radar.ui.xy,
com.raytheon.viz.radar.util
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
org.eclipse.ui;bundle-version="3.8.2",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.units;bundle-version="1.0.0",
com.raytheon.uf.common.colormap;bundle-version="1.12.1174",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.util;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.radar;bundle-version="1.0.0";visibility:=reexport,
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
com.raytheon.uf.common.derivparam;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
com.raytheon.uf.common.topo;bundle-version="1.12.1174",
com.raytheon.uf.viz.core;bundle-version="1.12.1174",
com.raytheon.uf.viz.d2d.core;bundle-version="1.12.1174",
com.raytheon.uf.viz.d2d.ui;bundle-version="1.12.1174",
com.raytheon.viz.ui;bundle-version="1.12.1174",
com.raytheon.uf.viz.xy;bundle-version="1.12.1174",
com.raytheon.viz.pointdata;bundle-version="1.12.1174",
com.raytheon.uf.viz.productbrowser;bundle-version="1.12.1174",
com.raytheon.uf.viz.derivparam;bundle-version="1.12.1174",
com.raytheon.viz.core.graphing;bundle-version="1.12.1174",
com.raytheon.uf.viz.points;bundle-version="1.0.0",
com.raytheon.uf.viz.ui.menus;bundle-version="1.12.1174",
com.raytheon.viz.awipstools;bundle-version="1.12.1174",
com.raytheon.edex.meteolib;bundle-version="1.12.1174",
org.apache.batik;bundle-version="1.6.0"
Import-Package: com.raytheon.viz.core.contours.util,
com.raytheon.viz.core.drawables,
com.raytheon.viz.core.rsc,
com.raytheon.viz.core.rsc.jts,
com.raytheon.viz.core.style.image

View file

@ -18,10 +18,9 @@
</license>
<requires>
<import feature="com.raytheon.uf.viz.cots.feature" version="1.0.0.qualifier"/>
<import feature="com.raytheon.uf.viz.base.feature" version="1.0.0.qualifier"/>
<import feature="com.raytheon.uf.viz.core.feature" version="1.0.0.qualifier"/>
<import feature="com.raytheon.uf.viz.common.core.feature" version="1.0.0.qualifier"/>
<import feature="com.raytheon.uf.viz.d2d.core.feature" version="1.0.0.qualifier"/>
<import feature="com.raytheon.uf.common.base.feature" version="1.0.0.qualifier"/>
</requires>
<plugin

View file

@ -5,18 +5,22 @@ Bundle-SymbolicName: com.raytheon.viz.skewt;singleton:=true
Bundle-Version: 1.12.1174.qualifier
Bundle-Activator: com.raytheon.viz.skewt.Activator
Bundle-Vendor: Raytheon
Eclipse-RegisterBuddy: com.raytheon.viz.core, org.geotools, com.raytheon.uf.common.serialization
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
com.raytheon.viz.core,
com.raytheon.viz.ui,
org.geotools,
com.raytheon.viz.core.graphing,
javax.measure,
com.raytheon.edex.meteolib,
org.apache.commons.lang;bundle-version="2.3.0",
com.raytheon.uf.viz.xy;bundle-version="1.11.31",
com.raytheon.uf.common.sounding;bundle-version="1.0.0"
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
com.raytheon.uf.viz.core;bundle-version="1.12.1174",
com.raytheon.viz.ui;bundle-version="1.12.1174",
com.raytheon.uf.viz.sounding;bundle-version="1.12.1174",
com.raytheon.viz.core.graphing;bundle-version="1.12.1174",
com.raytheon.uf.viz.d2d.core;bundle-version="1.12.1174",
com.raytheon.uf.viz.xy;bundle-version="1.12.1174",
com.raytheon.edex.meteolib;bundle-version="1.12.1174",
javax.measure;bundle-version="1.0.0"
Bundle-ActivationPolicy: lazy
Export-Package: com.raytheon.viz.skewt,
com.raytheon.viz.skewt.mockdata,
@ -24,9 +28,5 @@ Export-Package: com.raytheon.viz.skewt,
com.raytheon.viz.skewt.rsc,
com.raytheon.viz.skewt.rscdata,
com.raytheon.viz.skewt.ui
Import-Package: com.raytheon.uf.viz.d2d.core,
com.raytheon.uf.viz.d2d.core.legend,
com.raytheon.uf.viz.d2d.core.time,
com.raytheon.uf.viz.sounding,
com.raytheon.uf.viz.sounding.adapters
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.raytheon.viz.core

View file

@ -25,7 +25,6 @@
<resource
class="com.raytheon.viz.skewt.rsc.SkewTResource"
name="SkewT Data"
recordClass="com.raytheon.uf.common.dataplugin.bufrua.UAObs"
renderingOrderId="PLOT"
resourceType="SOUNDING"/>
<resource

View file

@ -76,6 +76,7 @@ import com.raytheon.uf.viz.d2d.nsharp.rsc.D2DNSharpResourceData;
import com.raytheon.uf.viz.xy.crosssection.display.CrossSectionDescriptor;
import com.raytheon.uf.viz.xy.crosssection.display.CrossSectionRenderableDisplay;
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor;
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor.TimeDirection;
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightRenderableDisplay;
import com.raytheon.uf.viz.xy.timeseries.display.TimeSeriesRenderableDisplay;
import com.raytheon.uf.viz.xy.varheight.display.VarHeightDescriptor;
@ -86,11 +87,10 @@ import com.raytheon.viz.awipstools.ToolsDataManager;
import com.raytheon.viz.core.rsc.ICombinedResourceData;
import com.raytheon.viz.core.rsc.ICombinedResourceData.CombineOperation;
import com.raytheon.viz.core.slice.request.HeightScales;
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
import com.raytheon.viz.skewt.SkewtDisplay;
import com.raytheon.viz.skewt.rscdata.SkewTResourceData;
import com.raytheon.viz.ui.EditorUtil;
import com.raytheon.viz.ui.BundleProductLoader;
import com.raytheon.viz.ui.EditorUtil;
import com.raytheon.viz.ui.UiUtil;
import com.raytheon.viz.ui.dialogs.ICloseCallback;
import com.raytheon.viz.ui.editor.AbstractEditor;

View file

@ -3,25 +3,29 @@ Bundle-ManifestVersion: 2
Bundle-Name: Modelsounding Plug-in
Bundle-SymbolicName: com.raytheon.edex.plugin.modelsounding
Bundle-Version: 1.12.1174.qualifier
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Bundle-Vendor: RAYTHEON
Require-Bundle: com.raytheon.edex.common,
com.raytheon.uf.edex.decodertools;bundle-version="1.0.0",
com.raytheon.uf.common.localization,
org.geotools,
org.apache.commons.logging,
javax.persistence,
com.raytheon.uf.common.site;bundle-version="1.12.1174",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
org.apache.commons.lang;bundle-version="2.3.0"
Export-Package: com.raytheon.edex.plugin.modelsounding,
com.raytheon.edex.plugin.modelsounding.common,
com.raytheon.edex.plugin.modelsounding.dao,
com.raytheon.edex.plugin.modelsounding.decoder
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.raytheon.uf.common.geospatial.spi,
com.raytheon.uf.common.pointdata,
com.raytheon.uf.common.pointdata.spatial,
com.raytheon.uf.common.pointdata.vadriver,
com.raytheon.uf.edex.pointdata
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
com.raytheon.uf.common.site;bundle-version="1.12.1174",
com.raytheon.uf.edex.core;bundle-version="1.12.1174",
com.raytheon.uf.edex.database;bundle-version="1.0.0",
com.raytheon.uf.edex.pointdata;bundle-version="1.12.1174",
com.raytheon.uf.edex.decodertools;bundle-version="1.12.1174",
javax.persistence;bundle-version="1.0.0",
org.hibernate;bundle-version="1.0.0",
org.springframework;bundle-version="3.1.4"
Import-Package: com.raytheon.edex.esb,
com.raytheon.edex.exception,
com.raytheon.edex.plugin,
org.apache.commons.logging

View file

@ -1,7 +0,0 @@
<project basedir="." default="deploy" name="com.raytheon.edex.plugin.modelsounding">
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project>

View file

@ -3,20 +3,28 @@ Bundle-ManifestVersion: 2
Bundle-Name: Satellite Plug-in
Bundle-SymbolicName: com.raytheon.edex.plugin.satellite
Bundle-Version: 1.12.1174.qualifier
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Bundle-Vendor: RAYTHEON
Require-Bundle: com.raytheon.edex.common,
com.raytheon.uf.edex.decodertools;bundle-version="1.0.0",
org.apache.commons.logging,
javax.measure,
javax.persistence,
com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.0.0",
com.raytheon.uf.edex.menus;bundle-version="1.0.0"
Export-Package: com.raytheon.edex.plugin.satellite,
com.raytheon.edex.plugin.satellite.dao,
com.raytheon.edex.util.satellite
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.raytheon.uf.common.localization,
com.raytheon.uf.common.awipstools,
com.raytheon.uf.common.status,
com.raytheon.uf.edex.awipstools
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.0.0",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
com.raytheon.uf.common.util;bundle-version="1.12.1174",
com.raytheon.uf.common.awipstools;bundle-version="1.12.1174",
com.raytheon.uf.edex.core;bundle-version="1.12.1174",
com.raytheon.uf.edex.database;bundle-version="1.0.0",
com.raytheon.uf.edex.menus;bundle-version="1.0.0",
org.springframework;bundle-version="3.1.4",
javax.persistence;bundle-version="1.0.0",
org.hibernate;bundle-version="1.0.0"
Import-Package: com.raytheon.edex.exception,
org.apache.commons.logging

View file

@ -28,12 +28,10 @@ import java.nio.ByteBuffer;
import java.util.Calendar;
import java.util.TimeZone;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.zip.DataFormatException;
import java.util.zip.Inflater;
import com.raytheon.edex.exception.DecoderException;
import com.raytheon.edex.plugin.AbstractDecoder;
import com.raytheon.edex.plugin.satellite.dao.SatelliteDao;
import com.raytheon.edex.util.satellite.SatSpatialFactory;
import com.raytheon.edex.util.satellite.SatellitePosition;
@ -44,13 +42,14 @@ import com.raytheon.uf.common.dataplugin.satellite.SatelliteMessageData;
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
import com.raytheon.uf.common.datastorage.records.IDataRecord;
import com.raytheon.uf.common.status.IPerformanceStatusHandler;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.PerformanceStatus;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.common.util.ArraysUtil;
import com.raytheon.uf.common.time.util.ITimer;
import com.raytheon.uf.common.time.util.TimeUtil;
import com.raytheon.uf.edex.decodertools.time.TimeTools;
import com.raytheon.uf.edex.wmo.message.WMOHeader;
import com.raytheon.uf.common.util.ArraysUtil;
import com.raytheon.uf.common.util.header.WMOHeaderFinder;
/**
* Decoder implementation for satellite plugin.
@ -88,7 +87,9 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader;
* @author bphillip
* @version 1
*/
public class SatelliteDecoder extends AbstractDecoder {
public class SatelliteDecoder {
private IUFStatusHandler statusHandler = UFStatus.getHandler(getClass());
private String traceId = "";
@ -125,11 +126,12 @@ public class SatelliteDecoder extends AbstractDecoder {
try {
removeWmoHeader(byteBuffer);
} catch (DecoderException e) {
logger.error(e);
statusHandler.error("Error removing WMO header", e);
byteBuffer = null;
}
if (byteBuffer != null) {
int offsetOfDataInFile = byteBuffer.position() + GINI_HEADER_SIZE;
int offsetOfDataInFile = byteBuffer.position()
+ GINI_HEADER_SIZE;
Calendar calendar = Calendar.getInstance(TimeZone
.getTimeZone("GMT"));
int intValue = 0;
@ -140,20 +142,23 @@ public class SatelliteDecoder extends AbstractDecoder {
record = new SatelliteRecord();
if (isCompressed(byteBuffer)) {
/* If the data is compressed, we assume it came from the SBN
/*
* If the data is compressed, we assume it came from the SBN
* and will have a reasonable size such that we can have two
* copies of the data in memory at the same time. Ideally,
* SBN decompression should be performed upstream from EDEX
* and this code would be removed.
*/
byte[] data = new byte[(int) file.length() - byteBuffer.position()];
byte[] data = new byte[(int) file.length()
- byteBuffer.position()];
f.seek(byteBuffer.position());
f.readFully(data);
byte[][] retVal = decompressSatellite(data);
byteBuffer = ByteBuffer.wrap(retVal[0]);
tempBytes = retVal[1];
} else {
/* The code bellow performs absolute gets on the buffer, so
/*
* The code bellow performs absolute gets on the buffer, so
* it needs to be compacted.
*/
byteBuffer.compact();
@ -268,7 +273,8 @@ public class SatelliteDecoder extends AbstractDecoder {
SatellitePosition position = dao
.getSatellitePosition(record.getCreatingEntity());
if (position == null) {
logger.info("Unable to determine geostationary location of ["
statusHandler
.info("Unable to determine geostationary location of ["
+ record.getCreatingEntity()
+ "]. Zeroing out fields.");
} else {
@ -279,7 +285,8 @@ public class SatelliteDecoder extends AbstractDecoder {
}
if (navCalIndicator != 0) {
logger.info("Nav/Cal info provided. Currently unused.");
statusHandler
.info("Nav/Cal info provided. Currently unused.");
}
// get number of points along x-axis
@ -287,8 +294,9 @@ public class SatelliteDecoder extends AbstractDecoder {
// get number of points along y-axis
int ny = byteBuffer.getShort(18);
/* If input was SBN-compressed, we already have the data
* loaded. If not, load it now.
/*
* If input was SBN-compressed, we already have the data loaded.
* If not, load it now.
*/
if (tempBytes == null) {
tempBytes = new byte[nx * ny];
@ -431,10 +439,6 @@ public class SatelliteDecoder extends AbstractDecoder {
if (record != null) {
record.setTraceId(traceId);
record.setCoverage(mapCoverage);
record.setPersistenceTime(TimeTools.getSystemCalendar()
.getTime());
record.setPluginName("satellite");
record.constructDataURI();
// Create the data record.
IDataRecord dataRec = messageData.getStorageRecord(record,
SatelliteRecord.SAT_DATASET_NAME);
@ -466,10 +470,11 @@ public class SatelliteDecoder extends AbstractDecoder {
* @throws DecoderException
* If WMO header is not found, or is incorrect.
* @param messageData
* Contains the start of the satellite data file. On return,
* the position is set the beginning of the GINI header.
* Contains the start of the satellite data file. On return, the
* position is set the beginning of the GINI header.
*/
private void removeWmoHeader(ByteBuffer messageData) throws DecoderException {
private void removeWmoHeader(ByteBuffer messageData)
throws DecoderException {
// Copy to a char [], carefully, as creating a string from
// a byte [] with binary data can create erroneous data
@ -478,8 +483,7 @@ public class SatelliteDecoder extends AbstractDecoder {
message[i] = (char) (messageData.get() & 0xFF);
}
String msgStr = new String(message);
Matcher matcher = null;
matcher = Pattern.compile(WMOHeader.WMO_HEADER).matcher(msgStr);
Matcher matcher = WMOHeaderFinder.WMO_PATTERN.matcher(msgStr);
if (matcher.find()) {
int headerStart = matcher.start();
if (SAT_HDR_TT.equals(msgStr
@ -508,8 +512,8 @@ public class SatelliteDecoder extends AbstractDecoder {
byte[] placeholder = new byte[10];
Inflater decompressor = new Inflater();
try {
decompressor.setInput(messageData.array(),
messageData.position(), messageData.remaining());
decompressor.setInput(messageData.array(), messageData.position(),
messageData.remaining());
decompressor.inflate(placeholder);
} catch (DataFormatException e) {
compressed = false;

View file

@ -33,9 +33,9 @@ import com.raytheon.uf.common.geospatial.SpatialQueryFactory;
import com.raytheon.uf.common.menus.xml.CommonIncludeMenuContribution;
import com.raytheon.uf.common.menus.xml.MenuTemplateFile;
import com.raytheon.uf.common.menus.xml.VariableSubstitution;
import com.raytheon.uf.common.serialization.comm.RequestRouter;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.edex.awipstools.GetWfoCenterHandler;
import com.raytheon.uf.edex.menus.AbstractMenuUtil;
import com.vividsolutions.jts.geom.Coordinate;
@ -90,12 +90,13 @@ public class SatelliteMenuUtil extends AbstractMenuUtil {
Coordinate coord = null;
ISpatialQuery sp = null;
try {
coord = new GetWfoCenterHandler().handleRequest(centerPointRequest);
coord = (Coordinate) RequestRouter.route(centerPointRequest);
sp = SpatialQueryFactory.create();
} catch (Exception e1) {
statusHandler.error("Unable to send request for lat/lon values");
return;
}
try {
lat = coord.y;
lon = coord.x;

View file

@ -3,17 +3,14 @@ Bundle-ManifestVersion: 2
Bundle-Name: Acars Plug-in
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.acars
Bundle-Version: 1.12.1174.qualifier
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Bundle-Vendor: RAYTHEON
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.apache.commons.logging,
Require-Bundle: com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.pointdata,
org.geotools,
javax.persistence,
javax.measure,
com.raytheon.uf.common.serialization,
com.raytheon.uf.common.dataplugin,
org.hibernate;bundle-version="1.0.0"
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
javax.persistence,
org.hibernate;bundle-version="1.0.0",
javax.measure;bundle-version="1.0.0"
Export-Package: com.raytheon.uf.common.dataplugin.acars
Import-Package: com.raytheon.uf.common.geospatial,
com.raytheon.uf.common.time

View file

@ -1,7 +0,0 @@
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.acars">
<available file="../build.edex" property="build.dir.location" value="../build.edex" />
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project>

View file

@ -6,18 +6,16 @@ Bundle-Version: 1.12.1174.qualifier
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Bundle-Vendor: RAYTHEON
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.apache.commons.logging,
Require-Bundle: com.raytheon.uf.common.serialization,
com.raytheon.uf.common.pointdata,
com.raytheon.uf.common.localization;bundle-version="1.12.1151",
com.raytheon.uf.edex.decodertools,
org.geotools,
com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.acars;bundle-version="1.12.1174",
com.raytheon.uf.edex.decodertools;bundle-version="1.12.1174",
javax.persistence,
javax.measure,
com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.serialization,
org.hibernate;bundle-version="1.0.0"
Export-Package: com.raytheon.uf.common.dataplugin.acarssounding,
com.raytheon.uf.common.dataplugin.acarssounding.tools
Import-Package: com.raytheon.uf.common.dataplugin.acars,
com.raytheon.uf.common.geospatial,
com.raytheon.uf.common.time
Import-Package: org.apache.commons.logging

View file

@ -3,20 +3,18 @@ Bundle-ManifestVersion: 2
Bundle-Name: Bufrua Plug-in
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.bufrua
Bundle-Version: 1.12.1174.qualifier
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Bundle-Vendor: RAYTHEON
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: com.raytheon.uf.common.dataplugin.bufrua,
com.raytheon.uf.common.dataplugin.bufrua.dao
Require-Bundle: com.raytheon.edex.common,
org.geotools,
org.apache.commons.logging,
Require-Bundle: com.raytheon.uf.common.sounding;bundle-version="1.0.0",
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
com.raytheon.uf.edex.decodertools;bundle-version="1.12.1174",
javax.persistence,
javax.measure,
com.raytheon.uf.common.sounding;bundle-version="1.0.0"
Import-Package: com.raytheon.uf.common.dataplugin.bufrua,
com.raytheon.uf.common.pointdata,
com.raytheon.uf.common.pointdata.spatial,
com.raytheon.uf.edex.decodertools.time,
com.raytheon.uf.edex.decodertools.core,
com.raytheon.uf.edex.pointdata
org.hibernate;bundle-version="1.0.0",
javax.measure
Import-Package: org.apache.commons.logging

View file

@ -1,7 +0,0 @@
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.bufrua">
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project>

View file

@ -6,20 +6,10 @@ Bundle-Version: 1.0.0.qualifier
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Bundle-Vendor: RAYTHEON
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.dataplugin.annotations,
com.raytheon.uf.common.dataplugin.persist,
com.raytheon.uf.common.geospatial,
com.raytheon.uf.common.pointdata,
com.raytheon.uf.common.pointdata.spatial,
com.raytheon.uf.common.serialization,
com.raytheon.uf.common.serialization.adapters,
com.raytheon.uf.common.serialization.annotations,
com.raytheon.uf.common.time,
com.vividsolutions.jts.geom,
javax.measure.quantity,
javax.measure.unit,
javax.persistence
Export-Package: com.raytheon.uf.common.dataplugin.goessounding
Require-Bundle: com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
javax.persistence;bundle-version="1.0.0",
org.hibernate;bundle-version="1.0.0"

View file

@ -1,7 +0,0 @@
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.goessounding">
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project>

View file

@ -6,21 +6,6 @@ Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: RAYTHEON
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Eclipse-BuddyPolicy: registered, ext, global
Import-Package: com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.dataplugin.annotations,
com.raytheon.uf.common.dataplugin.persist,
com.raytheon.uf.common.geospatial,
com.raytheon.uf.common.localization,
com.raytheon.uf.common.serialization,
com.raytheon.uf.common.serialization.annotations,
com.raytheon.uf.common.serialization.comm,
com.raytheon.uf.common.status,
com.raytheon.uf.common.time,
com.vividsolutions.jts.geom,
javax.persistence,
org.hibernate.annotations,
org.opengis.metadata.spatial
Export-Package: com.raytheon.uf.common.dataplugin.grid,
com.raytheon.uf.common.dataplugin.grid.dataquery,
com.raytheon.uf.common.dataplugin.grid.dataset,
@ -29,15 +14,20 @@ Export-Package: com.raytheon.uf.common.dataplugin.grid,
com.raytheon.uf.common.dataplugin.grid.request,
com.raytheon.uf.common.dataplugin.grid.units,
com.raytheon.uf.common.dataplugin.grid.util
Require-Bundle: javax.measure,
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.gridcoverage;bundle-version="1.0.0";visibility:=reexport,
com.raytheon.uf.common.parameter;bundle-version="1.0.0";visibility:=reexport,
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174";visibility:=reexport,
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.geospatial,
org.geotools,
com.raytheon.uf.common.localization,
com.raytheon.uf.common.datastorage,
com.raytheon.uf.common.gridcoverage;bundle-version="1.0.0",
com.raytheon.uf.common.parameter;bundle-version="1.0.0",
com.raytheon.uf.common.comm;bundle-version="1.12.1174",
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
com.raytheon.uf.common.util;bundle-version="1.12.1174",
com.raytheon.uf.common.dataaccess;bundle-version="1.0.0"
com.raytheon.uf.common.dataaccess;bundle-version="1.0.0",
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
javax.measure,
javax.persistence;bundle-version="1.0.0",
org.hibernate;bundle-version="1.0.0"

View file

@ -6,19 +6,10 @@ Bundle-Version: 1.0.0.qualifier
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Bundle-Vendor: RAYTHEON
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.dataplugin.annotations,
com.raytheon.uf.common.dataplugin.persist,
com.raytheon.uf.common.geospatial,
com.raytheon.uf.common.pointdata,
com.raytheon.uf.common.pointdata.spatial,
com.raytheon.uf.common.serialization,
com.raytheon.uf.common.serialization.annotations,
com.raytheon.uf.common.time,
com.vividsolutions.jts.geom,
javax.measure.quantity,
javax.measure.unit,
javax.persistence
Export-Package: com.raytheon.uf.common.dataplugin.poessounding
Require-Bundle: com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
javax.persistence;bundle-version="1.0.0",
org.hibernate;bundle-version="1.0.0"

View file

@ -1,7 +0,0 @@
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.poessounding">
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project>

View file

@ -4,18 +4,21 @@ Bundle-Name: Profiler Plug-in
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.profiler
Bundle-Version: 1.12.1174.qualifier
Bundle-Vendor: RAYTHEON
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: com.raytheon.uf.common.dataplugin.profiler,
com.raytheon.uf.common.dataplugin.profiler.dao
Require-Bundle: com.raytheon.edex.common,
com.raytheon.uf.common.pointdata;bundle-version="1.11.8",
com.raytheon.uf.edex.pointdata;bundle-version="1.11.8",
org.geotools,
org.apache.commons.logging,
javax.persistence,
javax.measure,
com.raytheon.uf.common.localization;bundle-version="1.11.16"
Import-Package: com.raytheon.uf.common.status,
com.raytheon.uf.edex.decodertools.core,
com.raytheon.uf.edex.decodertools.time
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
com.raytheon.uf.edex.core;bundle-version="1.12.1174",
com.raytheon.uf.edex.database;bundle-version="1.0.0",
com.raytheon.uf.edex.pointdata;bundle-version="1.12.1174",
com.raytheon.uf.edex.decodertools;bundle-version="1.12.1174",
org.springframework;bundle-version="3.1.4",
javax.persistence;bundle-version="1.0.0",
org.hibernate;bundle-version="1.0.0",
javax.measure;bundle-version="1.0.0"
Import-Package: org.apache.commons.logging

View file

@ -1,7 +0,0 @@
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.profiler">
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project>

View file

@ -3,62 +3,27 @@ Bundle-ManifestVersion: 2
Bundle-Name: Radar
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.radar
Bundle-Version: 1.0.0.qualifier
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization, com.raytheon.viz.core, org.geotools
Bundle-Activator: com.raytheon.uf.common.dataplugin.radar.Activator
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization, org.geotools
Bundle-Vendor: RAYTHEON
Require-Bundle: org.eclipse.core.runtime,
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.datastorage,
org.geotools;bundle-version="2.6.4",
javax.measure,
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.edex.common,
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174",
com.raytheon.uf.common.site;bundle-version="1.12.1174",
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
com.raytheon.uf.common.dataaccess;bundle-version="1.0.0",
com.raytheon.uf.common.units;bundle-version="1.0.0"
com.raytheon.uf.common.units;bundle-version="1.0.0",
com.raytheon.uf.common.util;bundle-version="1.12.1174",
javax.persistence;bundle-version="1.0.0",
org.hibernate;bundle-version="1.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: com.raytheon.uf.common.dataplugin.radar;
uses:="com.raytheon.uf.common.dataplugin.persist,
Export-Package: com.raytheon.uf.common.dataplugin.radar,
com.raytheon.uf.common.dataplugin.radar.level3,
com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.geospatial,
javax.measure.unit,
org.osgi.framework,
com.vividsolutions.jts.geom,
com.raytheon.uf.common.dataplugin.radar.util,
org.opengis.referencing.crs,
com.raytheon.uf.common.serialization,
com.raytheon.uf.common.time",
com.raytheon.uf.common.dataplugin.radar.level3;uses:="com.raytheon.uf.common.dataplugin.radar.level3.generic,com.raytheon.uf.common.serialization",
com.raytheon.uf.common.dataplugin.radar.level3.generic;uses:="com.raytheon.uf.common.serialization",
com.raytheon.uf.common.dataplugin.radar.projection,
com.raytheon.uf.common.dataplugin.radar.request;uses:="com.raytheon.uf.common.serialization.comm",
com.raytheon.uf.common.dataplugin.radar.units,
com.raytheon.uf.common.dataplugin.radar.util;
uses:="com.raytheon.uf.common.dataplugin.radar,
com.raytheon.uf.common.datastorage,
org.geotools.coverage.grid,
com.raytheon.uf.common.dataplugin.radar.level3,
javax.measure.converter,
com.raytheon.uf.common.dataplugin.radar.level3.generic,
com.vividsolutions.jts.geom,
com.raytheon.uf.edex.wmo.message,
org.opengis.referencing.crs"
Import-Package: com.raytheon.edex.exception,
com.raytheon.edex.util,
com.raytheon.uf.common.dataplugin.level,
com.raytheon.uf.common.dataplugin.text,
com.raytheon.uf.common.dataplugin.text.db,
com.raytheon.uf.common.derivparam.tree,
com.raytheon.uf.common.geospatial,
com.raytheon.uf.common.localization,
com.raytheon.uf.common.menus.xml,
com.raytheon.uf.common.status,
com.raytheon.uf.common.time,
com.raytheon.uf.edex.wmo.message,
javax.measure.converter,
javax.persistence,
org.apache.commons.logging,
org.opengis.referencing.crs
com.raytheon.uf.common.dataplugin.radar.projection,
com.raytheon.uf.common.dataplugin.radar.request,
com.raytheon.uf.common.dataplugin.radar.units,
com.raytheon.uf.common.dataplugin.radar.util

View file

@ -1,6 +0,0 @@
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.radar">
<available file="../build.edex" property="build.dir.location" value="../build.edex" />
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project>

View file

@ -1,30 +0,0 @@
package com.raytheon.uf.common.dataplugin.radar;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class Activator implements BundleActivator {
private static BundleContext context;
static BundleContext getContext() {
return context;
}
/*
* (non-Javadoc)
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext bundleContext) throws Exception {
Activator.context = bundleContext;
}
/*
* (non-Javadoc)
* @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext bundleContext) throws Exception {
Activator.context = null;
}
}

View file

@ -209,6 +209,25 @@ public class SatelliteRecord extends PersistablePluginDataObject implements
@DynamicSerializeElement
private SatMapCoverage coverage;
/**
* No-arg constructor.
*/
public SatelliteRecord() {
setPluginName(PLUGIN_ID);
}
/**
* Constructs a satellite record from a dataURI
*
* @param uri
* The dataURI
* @param tableDef
* The table definition associated with this class
*/
public SatelliteRecord(String uri) {
super(uri);
}
@Override
public SatMapCoverage getSpatialObject() {
return coverage;
@ -254,25 +273,6 @@ public class SatelliteRecord extends PersistablePluginDataObject implements
this.upperRightLon = upperRightLon;
}
/**
* No-arg constructor.
*/
public SatelliteRecord() {
setPluginName(PLUGIN_ID);
}
/**
* Constructs a satellite record from a dataURI
*
* @param uri
* The dataURI
* @param tableDef
* The table definition associated with this class
*/
public SatelliteRecord(String uri) {
super(uri);
}
public Integer getNumRecords() {
return numRecords;
}

View file

@ -6,15 +6,13 @@ Bundle-Version: 1.12.1174.qualifier
Bundle-Vendor: RAYTHEON
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: javax.measure;bundle-version="1.0.0",
org.geotools;bundle-version="2.5.8",
com.raytheon.uf.common.time;bundle-version="1.11.31",
com.raytheon.uf.common.pointdata;bundle-version="1.11.31",
com.raytheon.uf.common.dataplugin;bundle-version="1.11.31"
Require-Bundle: com.raytheon.uf.common.pointdata;bundle-version="1.11.31",
com.raytheon.uf.common.dataplugin;bundle-version="1.11.31",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
javax.measure;bundle-version="1.0.0"
Export-Package: com.raytheon.uf.common.sounding,
com.raytheon.uf.common.sounding.adapter,
com.raytheon.uf.common.sounding.util
Import-Package: com.raytheon.uf.common.localization,
com.raytheon.uf.common.serialization,
com.raytheon.uf.common.status,
org.apache.commons.logging

View file

@ -1,7 +0,0 @@
<project basedir="." default="deploy" name="com.raytheon.uf.common.topo">
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
</project>

View file

@ -47,7 +47,7 @@ import java.util.regex.Pattern;
public class WMOHeaderFinder {
private static Pattern WMOPATTERN = Pattern
public static Pattern WMO_PATTERN = Pattern
.compile("([A-Z]{3}[A-Z0-9](\\d{0,2}|[A-Z]{0,2}) [A-Z0-9 ]{4} "
+ "\\d{6}[^\\r\\n]*)[\\r\\n]+");
@ -89,7 +89,7 @@ public class WMOHeaderFinder {
byte[] header = new byte[100];
in.read(header);
String sHeader = new String(header, "ISO-8859-1");
Matcher wmoSearch = WMOPATTERN.matcher(sHeader);
Matcher wmoSearch = WMO_PATTERN.matcher(sHeader);
String messageHeader = null;
if (wmoSearch.find()) {
messageHeader = wmoSearch.group();