Omaha #3530 cleanup of acarssounding, bufrua and fssobs
Change-Id: I99814bcb781c03e466ca4b499f90f2421651042f Former-commit-id: 10607d3f8363a63fbf60a68c2ec746b8a8536644
This commit is contained in:
parent
8c75aed841
commit
fdf20738b9
24 changed files with 65 additions and 293 deletions
|
@ -1,7 +0,0 @@
|
||||||
#Thu Jun 17 09:25:15 CDT 2010
|
|
||||||
eclipse.preferences.version=1
|
|
||||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
|
||||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
|
||||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
|
||||||
org.eclipse.jdt.core.compiler.source=1.6
|
|
|
@ -2,19 +2,14 @@ Manifest-Version: 1.0
|
||||||
Bundle-ManifestVersion: 2
|
Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: Acarssounding Plug-in
|
Bundle-Name: Acarssounding Plug-in
|
||||||
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.acarssounding
|
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.acarssounding
|
||||||
Bundle-Version: 1.14.0.qualifier
|
Bundle-Version: 1.14.1.qualifier
|
||||||
Bundle-Vendor: RAYTHEON
|
Bundle-Vendor: RAYTHEON
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||||
Require-Bundle: com.raytheon.uf.common.serialization,
|
Require-Bundle: com.raytheon.uf.common.serialization,
|
||||||
com.raytheon.uf.common.pointdata,
|
com.raytheon.uf.common.pointdata,
|
||||||
com.raytheon.uf.common.localization;bundle-version="1.12.1151",
|
|
||||||
com.raytheon.uf.common.dataplugin,
|
com.raytheon.uf.common.dataplugin,
|
||||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
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.persistence,
|
||||||
javax.measure,
|
javax.measure,
|
||||||
org.hibernate;bundle-version="1.0.0"
|
org.hibernate;bundle-version="1.0.0"
|
||||||
Export-Package: com.raytheon.uf.common.dataplugin.acarssounding,
|
Export-Package: com.raytheon.uf.common.dataplugin.acarssounding
|
||||||
com.raytheon.uf.common.dataplugin.acarssounding.tools
|
|
||||||
Import-Package: org.apache.commons.logging
|
|
||||||
|
|
|
@ -10,11 +10,8 @@ Export-Package: com.raytheon.uf.common.dataplugin.bufrua,
|
||||||
Require-Bundle: com.raytheon.uf.common.sounding;bundle-version="1.0.0",
|
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.dataplugin;bundle-version="1.12.1174",
|
||||||
com.raytheon.uf.common.serialization;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.common.pointdata;bundle-version="1.12.1174",
|
||||||
com.raytheon.uf.edex.decodertools;bundle-version="1.12.1174",
|
|
||||||
javax.persistence,
|
javax.persistence,
|
||||||
org.hibernate;bundle-version="1.0.0",
|
org.hibernate;bundle-version="1.0.0",
|
||||||
javax.measure,
|
|
||||||
com.raytheon.uf.common.dataaccess;bundle-version="1.14.0"
|
com.raytheon.uf.common.dataaccess;bundle-version="1.14.0"
|
||||||
Import-Package: org.apache.commons.logging
|
Import-Package: com.raytheon.uf.common.status
|
||||||
|
|
|
@ -22,7 +22,6 @@ package com.raytheon.uf.common.dataplugin.bufrua;
|
||||||
import static com.raytheon.uf.common.sounding.SoundingLayer.MISSING;
|
import static com.raytheon.uf.common.sounding.SoundingLayer.MISSING;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -33,7 +32,6 @@ import com.raytheon.uf.common.sounding.LayerType;
|
||||||
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.AbstractVerticalSoundingAdapter;
|
import com.raytheon.uf.common.sounding.adapter.AbstractVerticalSoundingAdapter;
|
||||||
import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adapter for convertung UAObs data into Vertical Soundings.
|
* Adapter for convertung UAObs data into Vertical Soundings.
|
||||||
|
@ -44,6 +42,7 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Jul 19, 2013 1992 bsteffen Remove redundant time columns from
|
* Jul 19, 2013 1992 bsteffen Remove redundant time columns from
|
||||||
* bufrua.
|
* bufrua.
|
||||||
|
* Aug 18, 2014 3530 bclement removed dead code
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
|
@ -433,105 +432,6 @@ public class UAObsAdapter extends AbstractVerticalSoundingAdapter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void fixupWithWinds(List<SoundingLayer> layers) {
|
|
||||||
// sort data by height
|
|
||||||
Collections.sort(layers, SoundingLayer.getHeightComparator());
|
|
||||||
for (int i = 0; i < layers.size() - 1;) {
|
|
||||||
if (checkLayers(layers, i, i + 1)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
// Interpolate temperatures if needed.
|
|
||||||
float deltaT = establishDeltaT(layers, 0, true);
|
|
||||||
if (deltaT != MISSING) {
|
|
||||||
for (int i = 1; i < layers.size() - 1; i++) {
|
|
||||||
SoundingLayer layer = layers.get(i);
|
|
||||||
if (layer.getTemperature() == MISSING) {
|
|
||||||
float dh = layer.getGeoHeight()
|
|
||||||
- layers.get(i - 1).getGeoHeight();
|
|
||||||
layer.setTemperature(layers.get(i - 1).getTemperature()
|
|
||||||
+ (dh * deltaT));
|
|
||||||
layer.setTmpInterpolated(true);
|
|
||||||
} else {
|
|
||||||
deltaT = establishDeltaT(layers, i, true);
|
|
||||||
if (deltaT == MISSING) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Interpolate dewpoints if needed.
|
|
||||||
float deltaTd = establishDeltaT(layers, 0, false);
|
|
||||||
if (deltaTd != MISSING) {
|
|
||||||
for (int i = 1; i < layers.size() - 1; i++) {
|
|
||||||
SoundingLayer layer = layers.get(i);
|
|
||||||
if (layer.getDewpoint() == MISSING) {
|
|
||||||
float dh = layer.getGeoHeight()
|
|
||||||
- layers.get(i - 1).getGeoHeight();
|
|
||||||
layer.setDewpoint(layers.get(i - 1).getDewpoint()
|
|
||||||
+ (dh * deltaTd));
|
|
||||||
layer.setDptInterpolated(true);
|
|
||||||
} else {
|
|
||||||
deltaTd = establishDeltaT(layers, i, false);
|
|
||||||
if (deltaTd == MISSING) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 1; i < layers.size(); i++) {
|
|
||||||
if (layers.get(i).getPressure() == MISSING) {
|
|
||||||
double zA = layers.get(i - 1).getGeoHeight();
|
|
||||||
double zB = layers.get(i).getGeoHeight();
|
|
||||||
double dz = zB - zA;
|
|
||||||
double tvA = layers.get(i - 1).getVirtualTemp() + 273.13;
|
|
||||||
double tvB = layers.get(i).getVirtualTemp() + 273.13;
|
|
||||||
double k = (tvA + tvB) / 2 * 28.2898;
|
|
||||||
double pA = layers.get(i - 1).getPressure();
|
|
||||||
k = (-dz / k) + Math.log(pA);
|
|
||||||
|
|
||||||
float pB = (float) Math.exp(k);
|
|
||||||
layers.get(i).setPressure(pB);
|
|
||||||
layers.get(i).setPreInterpolated(true);
|
|
||||||
}
|
|
||||||
} // for
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param layers
|
|
||||||
* @param index
|
|
||||||
* @param temp
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private static float establishDeltaT(List<SoundingLayer> layers, int index,
|
|
||||||
boolean temp) {
|
|
||||||
float delta = MISSING;
|
|
||||||
float t;
|
|
||||||
if (temp) {
|
|
||||||
t = layers.get(index).getTemperature();
|
|
||||||
} else {
|
|
||||||
t = layers.get(index).getDewpoint();
|
|
||||||
}
|
|
||||||
float h = layers.get(index).getGeoHeight();
|
|
||||||
for (int i = index + 1; i < layers.size(); i++) {
|
|
||||||
float tt;
|
|
||||||
if (temp) {
|
|
||||||
tt = layers.get(i).getTemperature();
|
|
||||||
} else {
|
|
||||||
tt = layers.get(i).getDewpoint();
|
|
||||||
}
|
|
||||||
if (tt != MISSING) {
|
|
||||||
float hh = layers.get(i).getGeoHeight();
|
|
||||||
delta = (tt - t) / (hh - h);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return delta;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param layers
|
* @param layers
|
||||||
|
@ -718,25 +618,6 @@ public class UAObsAdapter extends AbstractVerticalSoundingAdapter {
|
||||||
return retValue;
|
return retValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param p
|
|
||||||
* @param h
|
|
||||||
* @param tp
|
|
||||||
* @param td
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private static final UAObsLevel createLevel(double p, double h, double tp,
|
|
||||||
double td, int type) {
|
|
||||||
UAObsLevel level = new UAObsLevel();
|
|
||||||
level.setPressure((int) p);
|
|
||||||
level.setVertSig(type);
|
|
||||||
level.setGeoHeight((int) h);
|
|
||||||
level.setTemp(tp);
|
|
||||||
level.setDwpt(td);
|
|
||||||
return level;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param args
|
* @param args
|
||||||
|
@ -801,8 +682,6 @@ public class UAObsAdapter extends AbstractVerticalSoundingAdapter {
|
||||||
// System.out.println(it.next());
|
// System.out.println(it.next());
|
||||||
// }
|
// }
|
||||||
|
|
||||||
Calendar c = TimeTools.getSystemCalendar();
|
|
||||||
|
|
||||||
SurfaceObsLocation loc = new SurfaceObsLocation("72558");
|
SurfaceObsLocation loc = new SurfaceObsLocation("72558");
|
||||||
UAObs[] obs = new UAObs[2];
|
UAObs[] obs = new UAObs[2];
|
||||||
obs[0] = new UAObs();
|
obs[0] = new UAObs();
|
||||||
|
|
|
@ -25,7 +25,6 @@ import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
import javax.xml.bind.annotation.XmlAttribute;
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
|
|
||||||
import com.raytheon.uf.common.serialization.ISerializableObject;
|
|
||||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
||||||
|
|
||||||
|
@ -42,6 +41,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* 20071127 382 jkorman Initial Coding.
|
* 20071127 382 jkorman Initial Coding.
|
||||||
* 20080630 1215 jkorman Implemented Serializable.
|
* 20080630 1215 jkorman Implemented Serializable.
|
||||||
|
* Aug 18, 2014 3530 bclement removed ISerialableObject
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author jkorman
|
* @author jkorman
|
||||||
|
@ -49,7 +49,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
||||||
*/
|
*/
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
public class UAObsLevel implements Serializable, ISerializableObject {
|
public class UAObsLevel implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
|
@ -24,15 +24,14 @@ import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.bufrua.LayerTools;
|
import com.raytheon.uf.common.dataplugin.bufrua.LayerTools;
|
||||||
import com.raytheon.uf.common.dataplugin.bufrua.UAObs;
|
import com.raytheon.uf.common.dataplugin.bufrua.UAObs;
|
||||||
import com.raytheon.uf.common.dataplugin.bufrua.UAObsLevel;
|
import com.raytheon.uf.common.dataplugin.bufrua.UAObsLevel;
|
||||||
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
||||||
import com.raytheon.uf.common.pointdata.PointDataView;
|
import com.raytheon.uf.common.pointdata.PointDataView;
|
||||||
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
|
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
|
||||||
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.common.time.util.TimeUtil;
|
import com.raytheon.uf.common.time.util.TimeUtil;
|
||||||
|
|
||||||
|
@ -50,6 +49,7 @@ import com.raytheon.uf.common.time.util.TimeUtil;
|
||||||
* bufrua.
|
* bufrua.
|
||||||
* Sep 9, 2013 2277 mschenke Got rid of ScriptCreator references
|
* Sep 9, 2013 2277 mschenke Got rid of ScriptCreator references
|
||||||
* Jul 23, 2014 3410 bclement location changed to floats
|
* Jul 23, 2014 3410 bclement location changed to floats
|
||||||
|
* Aug 18, 2014 3530 bclement switched from commons.logging to ufstatus
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -60,8 +60,8 @@ import com.raytheon.uf.common.time.util.TimeUtil;
|
||||||
public class BufrUAPointDataTransform {
|
public class BufrUAPointDataTransform {
|
||||||
|
|
||||||
/** The logger */
|
/** The logger */
|
||||||
private static Log logger = LogFactory
|
private static final IUFStatusHandler logger = UFStatus
|
||||||
.getLog(BufrUAPointDataTransform.class);
|
.getHandler(BufrUAPointDataTransform.class);
|
||||||
|
|
||||||
public static final String[] HDR_PARAMS = new String[] { "wmoStaNum",
|
public static final String[] HDR_PARAMS = new String[] { "wmoStaNum",
|
||||||
"staName", "validTime", "relTime", "staElev", "latitude",
|
"staName", "validTime", "relTime", "staElev", "latitude",
|
||||||
|
|
|
@ -7,16 +7,9 @@ Bundle-Vendor: RAYTHEON
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||||
Export-Package: com.raytheon.uf.common.dataplugin.fssobs
|
Export-Package: com.raytheon.uf.common.dataplugin.fssobs
|
||||||
Require-Bundle: com.raytheon.uf.common.dataplugin,
|
Require-Bundle: com.raytheon.uf.common.dataplugin,
|
||||||
com.raytheon.uf.common.time,
|
|
||||||
com.raytheon.uf.common.serialization,
|
com.raytheon.uf.common.serialization,
|
||||||
com.raytheon.uf.common.status,
|
|
||||||
com.raytheon.uf.common.datastorage,
|
|
||||||
org.hibernate;bundle-version="1.0.0"
|
org.hibernate;bundle-version="1.0.0"
|
||||||
Import-Package: com.raytheon.uf.common.geospatial,
|
Import-Package: com.raytheon.uf.common.geospatial,
|
||||||
com.raytheon.uf.common.monitor.data,
|
|
||||||
com.raytheon.uf.common.pointdata,
|
com.raytheon.uf.common.pointdata,
|
||||||
com.raytheon.uf.common.pointdata.spatial,
|
com.raytheon.uf.common.pointdata.spatial,
|
||||||
com.raytheon.uf.edex.decodertools.time,
|
|
||||||
javax.measure.quantity,
|
|
||||||
javax.measure.unit,
|
|
||||||
javax.persistence
|
javax.persistence
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
#Fri Apr 03 13:52:10 GMT+00:00 2009
|
|
||||||
eclipse.preferences.version=1
|
|
||||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
|
||||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
|
||||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
|
||||||
org.eclipse.jdt.core.compiler.source=1.6
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||||
Bundle-ManifestVersion: 2
|
Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: Acarsprofiler Plug-in
|
Bundle-Name: Acarsprofiler Plug-in
|
||||||
Bundle-SymbolicName: com.raytheon.uf.edex.plugin.acarssounding
|
Bundle-SymbolicName: com.raytheon.uf.edex.plugin.acarssounding
|
||||||
Bundle-Version: 1.14.0.qualifier
|
Bundle-Version: 1.14.1.qualifier
|
||||||
Bundle-Vendor: RAYTHEON
|
Bundle-Vendor: RAYTHEON
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||||
Require-Bundle: com.raytheon.uf.edex.plugin.acars;bundle-version="1.11.4",
|
Require-Bundle: com.raytheon.uf.edex.plugin.acars;bundle-version="1.11.4",
|
||||||
|
@ -10,14 +10,11 @@ Require-Bundle: com.raytheon.uf.edex.plugin.acars;bundle-version="1.11.4",
|
||||||
com.raytheon.uf.common.localization,
|
com.raytheon.uf.common.localization,
|
||||||
javax.measure,
|
javax.measure,
|
||||||
com.raytheon.edex.common,
|
com.raytheon.edex.common,
|
||||||
org.geotools,
|
javax.persistence,
|
||||||
javax.persistence
|
com.raytheon.uf.edex.pointdata;bundle-version="1.12.1174"
|
||||||
Import-Package: com.raytheon.uf.common.dataplugin.acars,
|
Import-Package: com.raytheon.uf.common.dataplugin.acars,
|
||||||
com.raytheon.uf.common.dataplugin.acarssounding,
|
com.raytheon.uf.common.dataplugin.acarssounding,
|
||||||
com.raytheon.uf.common.dataplugin.acarssounding.tools,
|
|
||||||
com.raytheon.uf.common.pointdata,
|
|
||||||
com.raytheon.uf.common.pointdata.spatial,
|
com.raytheon.uf.common.pointdata.spatial,
|
||||||
com.raytheon.uf.common.wmo,
|
com.raytheon.uf.common.wmo,
|
||||||
com.raytheon.uf.edex.pointdata,
|
|
||||||
org.apache.commons.logging
|
org.apache.commons.logging
|
||||||
Export-Package: com.raytheon.uf.edex.plugin.acarssounding
|
Export-Package: com.raytheon.uf.edex.plugin.acarssounding
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
|
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
|
||||||
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
||||||
|
|
||||||
<bean id="acarsAirports" class="com.raytheon.uf.common.dataplugin.acarssounding.tools.AirportsBean" depends-on="acarsSoundingPluginName" >
|
<bean id="acarsAirports" class="com.raytheon.uf.edex.plugin.acarssounding.tools.AirportsBean" depends-on="acarsSoundingPluginName" >
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="acarsPersistObs" class="com.raytheon.uf.edex.plugin.acarssounding.ACARSPersistObs" depends-on="acarsRegistered, acarsAirports" >
|
<bean id="acarsPersistObs" class="com.raytheon.uf.edex.plugin.acarssounding.ACARSPersistObs" depends-on="acarsRegistered, acarsAirports" >
|
||||||
|
|
|
@ -29,7 +29,6 @@ import org.apache.commons.logging.LogFactory;
|
||||||
import com.raytheon.edex.exception.DecoderException;
|
import com.raytheon.edex.exception.DecoderException;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.acars.ACARSRecord;
|
import com.raytheon.uf.common.dataplugin.acars.ACARSRecord;
|
||||||
import com.raytheon.uf.common.dataplugin.acarssounding.tools.AirportsBean;
|
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext;
|
import com.raytheon.uf.common.localization.LocalizationContext;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
||||||
|
@ -37,6 +36,7 @@ import com.raytheon.uf.common.localization.PathManager;
|
||||||
import com.raytheon.uf.common.localization.PathManagerFactory;
|
import com.raytheon.uf.common.localization.PathManagerFactory;
|
||||||
import com.raytheon.uf.common.wmo.WMOTimeParser;
|
import com.raytheon.uf.common.wmo.WMOTimeParser;
|
||||||
import com.raytheon.uf.edex.plugin.acarssounding.tools.ACARSSoundingTools;
|
import com.raytheon.uf.edex.plugin.acarssounding.tools.ACARSSoundingTools;
|
||||||
|
import com.raytheon.uf.edex.plugin.acarssounding.tools.AirportsBean;
|
||||||
import com.raytheon.uf.edex.plugin.acarssounding.tools.SoundingBuilder;
|
import com.raytheon.uf.edex.plugin.acarssounding.tools.SoundingBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -24,32 +24,29 @@ import static com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingConst
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.FileWriter;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Collections;
|
import java.util.Date;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
import com.raytheon.edex.util.Util;
|
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.acars.ACARSRecord;
|
import com.raytheon.uf.common.dataplugin.acars.ACARSRecord;
|
||||||
import com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingRecord;
|
import com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingRecord;
|
||||||
import com.raytheon.uf.edex.plugin.acarssounding.dao.ACARSSoundingDao;
|
|
||||||
import com.raytheon.uf.common.dataplugin.acarssounding.tools.AirportsBean;
|
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext;
|
import com.raytheon.uf.common.localization.LocalizationContext;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
||||||
import com.raytheon.uf.common.localization.PathManager;
|
import com.raytheon.uf.common.localization.PathManager;
|
||||||
import com.raytheon.uf.common.localization.PathManagerFactory;
|
import com.raytheon.uf.common.localization.PathManagerFactory;
|
||||||
import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
import com.raytheon.uf.common.time.util.TimeUtil;
|
||||||
import com.raytheon.uf.edex.plugin.acars.dao.ACARSDao;
|
import com.raytheon.uf.edex.plugin.acars.dao.ACARSDao;
|
||||||
|
import com.raytheon.uf.edex.plugin.acarssounding.dao.ACARSSoundingDao;
|
||||||
import com.raytheon.uf.edex.plugin.acarssounding.tools.ACARSAircraftInfo;
|
import com.raytheon.uf.edex.plugin.acarssounding.tools.ACARSAircraftInfo;
|
||||||
import com.raytheon.uf.edex.plugin.acarssounding.tools.ACARSSoundingTools;
|
import com.raytheon.uf.edex.plugin.acarssounding.tools.ACARSSoundingTools;
|
||||||
|
import com.raytheon.uf.edex.plugin.acarssounding.tools.AirportsBean;
|
||||||
import com.raytheon.uf.edex.plugin.acarssounding.tools.IntermediateData;
|
import com.raytheon.uf.edex.plugin.acarssounding.tools.IntermediateData;
|
||||||
import com.raytheon.uf.edex.plugin.acarssounding.tools.SoundingBuilder;
|
import com.raytheon.uf.edex.plugin.acarssounding.tools.SoundingBuilder;
|
||||||
|
|
||||||
|
@ -62,6 +59,7 @@ import com.raytheon.uf.edex.plugin.acarssounding.tools.SoundingBuilder;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Jan 21, 2009 1939 jkorman Initial creation
|
* Jan 21, 2009 1939 jkorman Initial creation
|
||||||
|
* Aug 18, 2014 3530 bclement removed TimeTools usage
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -203,11 +201,12 @@ public class ACARSSounding {
|
||||||
if ((uris.size() >= ACARSSoundingTools.MIN_OBS_FOR_SOUNDING)) {
|
if ((uris.size() >= ACARSSoundingTools.MIN_OBS_FOR_SOUNDING)) {
|
||||||
String s = uris.get(0);
|
String s = uris.get(0);
|
||||||
Long startTime = Long.parseLong(s.substring(0,20).trim());
|
Long startTime = Long.parseLong(s.substring(0,20).trim());
|
||||||
Calendar start = TimeTools.newCalendar(startTime);
|
Calendar start = TimeUtil
|
||||||
|
.newGmtCalendar(new Date(startTime));
|
||||||
|
|
||||||
s = uris.get(uris.size() - 1);
|
s = uris.get(uris.size() - 1);
|
||||||
Long stopTime = Long.parseLong(s.substring(0,20).trim());
|
Long stopTime = Long.parseLong(s.substring(0,20).trim());
|
||||||
Calendar end = TimeTools.newCalendar(stopTime);
|
Calendar end = TimeUtil.newGmtCalendar(new Date(stopTime));
|
||||||
|
|
||||||
List<ACARSRecord> obs = acarsDAO.getReports(
|
List<ACARSRecord> obs = acarsDAO.getReports(
|
||||||
acftInfo.getTailNumber(), start, end);
|
acftInfo.getTailNumber(), start, end);
|
||||||
|
@ -236,7 +235,7 @@ public class ACARSSounding {
|
||||||
String msg = "attempting " + acftInfo.getTailNumber() + " ";
|
String msg = "attempting " + acftInfo.getTailNumber() + " ";
|
||||||
String tailNumber = acftInfo.getTailNumber();
|
String tailNumber = acftInfo.getTailNumber();
|
||||||
|
|
||||||
Calendar c = TimeTools.newCalendar(acftInfo.getStartTime());
|
Calendar c = TimeUtil.newGmtCalendar(new Date(acftInfo.getStartTime()));
|
||||||
msg += String.format(ACARSSoundingTools.STD_TM_FMT,c);
|
msg += String.format(ACARSSoundingTools.STD_TM_FMT,c);
|
||||||
|
|
||||||
c.setTimeInMillis(acftInfo.getStopTime());
|
c.setTimeInMillis(acftInfo.getStopTime());
|
||||||
|
|
|
@ -28,6 +28,7 @@ import java.io.RandomAccessFile;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
@ -59,6 +60,7 @@ import com.raytheon.uf.edex.plugin.acarssounding.tools.ACARSSoundingTools;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Sep 23, 2010 jkorman Initial creation
|
* Sep 23, 2010 jkorman Initial creation
|
||||||
* May 14, 2014 2536 bclement removed TimeTools usage
|
* May 14, 2014 2536 bclement removed TimeTools usage
|
||||||
|
* Aug 18, 2014 3530 bclement removed rest of TimeTools usage
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -229,8 +231,8 @@ public class ACARSSoundingSplitter implements Iterator<Object> {
|
||||||
String[] parts = splitBuilder(s);
|
String[] parts = splitBuilder(s);
|
||||||
if (parts != null) {
|
if (parts != null) {
|
||||||
ACARSRecord rec = new ACARSRecord(parts[2]);
|
ACARSRecord rec = new ACARSRecord(parts[2]);
|
||||||
rec.setTimeObs(TimeTools.newCalendar(Long
|
rec.setTimeObs(TimeUtil.newGmtCalendar(new Date(
|
||||||
.parseLong(parts[1])));
|
Long.parseLong(parts[1]))));
|
||||||
recs.add(rec);
|
recs.add(rec);
|
||||||
}
|
}
|
||||||
// tag items what we have read.
|
// tag items what we have read.
|
||||||
|
|
|
@ -30,7 +30,6 @@ import com.raytheon.edex.db.dao.DefaultPluginDao;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginException;
|
import com.raytheon.uf.common.dataplugin.PluginException;
|
||||||
import com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingRecord;
|
import com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingRecord;
|
||||||
import com.raytheon.uf.edex.database.DataAccessLayerException;
|
import com.raytheon.uf.edex.database.DataAccessLayerException;
|
||||||
import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
|
||||||
import com.raytheon.uf.edex.plugin.acarssounding.tools.ACARSSoundingTools;
|
import com.raytheon.uf.edex.plugin.acarssounding.tools.ACARSSoundingTools;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -42,6 +41,7 @@ import com.raytheon.uf.edex.plugin.acarssounding.tools.ACARSSoundingTools;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Jan 21, 2009 1939 jkorman Initial creation
|
* Jan 21, 2009 1939 jkorman Initial creation
|
||||||
|
* Aug 18, 2014 3530 bclement removed warning from executeSoundingQuery()
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -104,7 +104,7 @@ public class ACARSSoundingDao extends DefaultPluginDao {
|
||||||
public List<?> executeSoundingQuery(final String hqlQuery) {
|
public List<?> executeSoundingQuery(final String hqlQuery) {
|
||||||
|
|
||||||
List<?> result = (List<?>) txTemplate
|
List<?> result = (List<?>) txTemplate
|
||||||
.execute(new TransactionCallback() {
|
.execute(new TransactionCallback<Object>() {
|
||||||
public List<?> doInTransaction(TransactionStatus status) {
|
public List<?> doInTransaction(TransactionStatus status) {
|
||||||
Query hibQuery = getSession(false)
|
Query hibQuery = getSession(false)
|
||||||
.createQuery(hqlQuery);
|
.createQuery(hqlQuery);
|
||||||
|
|
|
@ -26,8 +26,6 @@ import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
import com.raytheon.uf.common.serialization.ISerializableObject;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO Add Description
|
* TODO Add Description
|
||||||
*
|
*
|
||||||
|
@ -38,6 +36,7 @@ import com.raytheon.uf.common.serialization.ISerializableObject;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Nov 22, 2010 jkorman Initial creation
|
* Nov 22, 2010 jkorman Initial creation
|
||||||
|
* Aug 18, 2014 3530 bclement removed ISerializableObject
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -46,7 +45,7 @@ import com.raytheon.uf.common.serialization.ISerializableObject;
|
||||||
*/
|
*/
|
||||||
@XmlRootElement
|
@XmlRootElement
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
public class ACARSAircraftInfo implements Serializable, ISerializableObject {
|
public class ACARSAircraftInfo implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
|
@ -8,21 +8,20 @@ import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
|
||||||
import com.raytheon.uf.common.dataplugin.acars.ACARSRecord;
|
import com.raytheon.uf.common.dataplugin.acars.ACARSRecord;
|
||||||
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.pointdata.spatial.AircraftObsLocation;
|
import com.raytheon.uf.common.pointdata.spatial.AircraftObsLocation;
|
||||||
import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
import com.raytheon.uf.common.time.util.TimeUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* <pre>
|
||||||
* SOFTWARE HISTORY
|
* SOFTWARE HISTORY
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
@ -30,13 +29,15 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
||||||
* Feb 24, 2014 DR15038 M.Porricelli Modified 'accept' to
|
* Feb 24, 2014 DR15038 M.Porricelli Modified 'accept' to
|
||||||
* not discard sounding data
|
* not discard sounding data
|
||||||
* based on altitude here
|
* based on altitude here
|
||||||
|
* Aug 18, 2014 3530 bclement removed TimeTools usage and dead code
|
||||||
|
* </pre>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public final class ACARSSoundingTools {
|
public final class ACARSSoundingTools {
|
||||||
|
|
||||||
// 30 minute offset to apply to observation time.
|
// 30 minute offset to apply to observation time.
|
||||||
public static final String TIMEOFFSET = Long
|
public static final String TIMEOFFSET = Long
|
||||||
.toString(TimeTools.MILLIS_HOUR / 2L);
|
.toString(TimeUtil.MILLIS_PER_HOUR / 2L);
|
||||||
|
|
||||||
public static final String FMT = "%s%2$tY%2$tm%2$td%2$tH";
|
public static final String FMT = "%s%2$tY%2$tm%2$td%2$tH";
|
||||||
|
|
||||||
|
@ -188,7 +189,7 @@ public final class ACARSSoundingTools {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static final String getFileName() {
|
public static final String getFileName() {
|
||||||
return String.format(FMT, DATAFILE, TimeTools.getSystemCalendar());
|
return String.format(FMT, DATAFILE, TimeUtil.newGmtCalendar());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -317,7 +318,8 @@ public final class ACARSSoundingTools {
|
||||||
if (!dups.contains(uri)) {
|
if (!dups.contains(uri)) {
|
||||||
dups.add(uri);
|
dups.add(uri);
|
||||||
ACARSRecord r = new ACARSRecord(uri);
|
ACARSRecord r = new ACARSRecord(uri);
|
||||||
r.setTimeObs(TimeTools.newCalendar(obsTime));
|
r.setTimeObs(TimeUtil.newGmtCalendar(new Date(
|
||||||
|
obsTime)));
|
||||||
obs.add(r);
|
obs.add(r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -464,8 +466,8 @@ public final class ACARSSoundingTools {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static final long getCutoffTime(int cutOffHours) {
|
public static final long getCutoffTime(int cutOffHours) {
|
||||||
long cTime = TimeTools.getSystemCalendar().getTimeInMillis();
|
long cTime = TimeUtil.newGmtCalendar().getTimeInMillis();
|
||||||
cTime -= (TimeTools.MILLIS_HOUR * cutOffHours);
|
cTime -= (TimeUtil.MILLIS_PER_HOUR * cutOffHours);
|
||||||
|
|
||||||
return cTime;
|
return cTime;
|
||||||
}
|
}
|
||||||
|
@ -513,45 +515,6 @@ public final class ACARSSoundingTools {
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean test_betweenTimes() {
|
|
||||||
boolean result = true;
|
|
||||||
|
|
||||||
long t = System.currentTimeMillis();
|
|
||||||
|
|
||||||
Calendar cA = TimeTools.newCalendar(t - 1);
|
|
||||||
Calendar cB = TimeTools.newCalendar(t);
|
|
||||||
Calendar cC = TimeTools.newCalendar(t + 1);
|
|
||||||
|
|
||||||
result &= betweenTimes(cA,cB,cC);
|
|
||||||
|
|
||||||
cA = TimeTools.newCalendar(t);
|
|
||||||
cB = TimeTools.newCalendar(t - 1);
|
|
||||||
cC = TimeTools.newCalendar(t + 1);
|
|
||||||
result &= !betweenTimes(cA,cB,cC);
|
|
||||||
|
|
||||||
cA = TimeTools.newCalendar(t-1);
|
|
||||||
cB = TimeTools.newCalendar(t + 1);
|
|
||||||
cC = TimeTools.newCalendar(t);
|
|
||||||
result &= !betweenTimes(cA,cB,cC);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean test_betweenFlightLevel() {
|
|
||||||
boolean result = true;
|
|
||||||
|
|
||||||
Integer [] fA = { 2000, 3000, 2500, 3000, 2500, 2000, };
|
|
||||||
Integer [] fB = { 2500, 2500, 2000, 2000, 3000, 3000, };
|
|
||||||
Integer [] fC = { 3000, 2000, 3000, 2500, 2000, 2500, };
|
|
||||||
boolean [] rs = { true, true, false, false, false, false, };
|
|
||||||
|
|
||||||
for(int i = 0;i < fA.length;i++) {
|
|
||||||
result &= (betweenFlightLevel(fA[i],fB[i],fC[i]) == rs[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final String removeTrailingSpace(String target) {
|
public static final String removeTrailingSpace(String target) {
|
||||||
String value = null;
|
String value = null;
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
* further licensing information.
|
* further licensing information.
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.common.dataplugin.acarssounding.tools;
|
package com.raytheon.uf.edex.plugin.acarssounding.tools;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
@ -33,6 +33,7 @@ import javax.xml.bind.annotation.XmlElement;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Apr 16, 2009 jkorman Initial creation
|
* Apr 16, 2009 jkorman Initial creation
|
||||||
* Jul 23, 2014 3410 bclement location changed to floats
|
* Jul 23, 2014 3410 bclement location changed to floats
|
||||||
|
* Aug 18, 2014 3530 bclement moved from common to edex
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
|
@ -17,7 +17,7 @@
|
||||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
* further licensing information.
|
* further licensing information.
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.common.dataplugin.acarssounding.tools;
|
package com.raytheon.uf.edex.plugin.acarssounding.tools;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -45,6 +45,7 @@ import com.raytheon.uf.edex.decodertools.core.LatLonPoint;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Apr 16, 2009 jkorman Initial creation
|
* Apr 16, 2009 jkorman Initial creation
|
||||||
* Oct 22, 2013 2361 njensen Use JAXBManager for XML
|
* Oct 22, 2013 2361 njensen Use JAXBManager for XML
|
||||||
|
* Aug 18, 2014 3530 bclement moved from common to edex
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -56,7 +57,7 @@ import com.raytheon.uf.edex.decodertools.core.LatLonPoint;
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
public class Airports {
|
public class Airports {
|
||||||
|
|
||||||
private Log logger = LogFactory.getLog(getClass());
|
private final Log logger = LogFactory.getLog(getClass());
|
||||||
|
|
||||||
// Average earth radius, fine for what we are doing.
|
// Average earth radius, fine for what we are doing.
|
||||||
private static final double E_RADIUS = 6371.2213;
|
private static final double E_RADIUS = 6371.2213;
|
|
@ -17,7 +17,7 @@
|
||||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
* further licensing information.
|
* further licensing information.
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.common.dataplugin.acarssounding.tools;
|
package com.raytheon.uf.edex.plugin.acarssounding.tools;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
@ -40,6 +40,7 @@ import com.raytheon.uf.edex.decodertools.core.LatLonPoint;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Sep 23, 2010 jkorman Initial creation
|
* Sep 23, 2010 jkorman Initial creation
|
||||||
|
* Aug 18, 2014 3530 bclement moved from common to edex
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -49,7 +50,7 @@ import com.raytheon.uf.edex.decodertools.core.LatLonPoint;
|
||||||
|
|
||||||
public class AirportsBean {
|
public class AirportsBean {
|
||||||
|
|
||||||
private Log logger = LogFactory.getLog(getClass());
|
private final Log logger = LogFactory.getLog(getClass());
|
||||||
|
|
||||||
private static final String PATH_EXT = "stations";
|
private static final String PATH_EXT = "stations";
|
||||||
|
|
|
@ -20,11 +20,7 @@
|
||||||
package com.raytheon.uf.edex.plugin.acarssounding.tools;
|
package com.raytheon.uf.edex.plugin.acarssounding.tools;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileWriter;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
@ -32,7 +28,6 @@ import java.util.Set;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.acars.ACARSRecord;
|
import com.raytheon.uf.common.dataplugin.acars.ACARSRecord;
|
||||||
import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO Add Description
|
* TODO Add Description
|
||||||
|
@ -44,6 +39,7 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Nov 29, 2010 jkorman Initial creation
|
* Nov 29, 2010 jkorman Initial creation
|
||||||
|
* Aug 18, 2014 3530 bclement removed dead code
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -151,8 +147,6 @@ public class IntermediateData {
|
||||||
*/
|
*/
|
||||||
public final void reconcile(Log logger) {
|
public final void reconcile(Log logger) {
|
||||||
|
|
||||||
long cTime = ACARSSoundingTools.getCutoffTime(ACARSSoundingTools.CUTOFF_HOURS);
|
|
||||||
|
|
||||||
if ((recordList != null) && (acarsDataURIs != null)) {
|
if ((recordList != null) && (acarsDataURIs != null)) {
|
||||||
List<Integer> deletions = new ArrayList<Integer>();
|
List<Integer> deletions = new ArrayList<Integer>();
|
||||||
for(int i = 0;i < recordList.size();i++) {
|
for(int i = 0;i < recordList.size();i++) {
|
||||||
|
@ -228,8 +222,6 @@ public class IntermediateData {
|
||||||
if (acarsDataURIs != null) {
|
if (acarsDataURIs != null) {
|
||||||
File out = new File(acftInfo.getFilePath());
|
File out = new File(acftInfo.getFilePath());
|
||||||
|
|
||||||
String tNum = acftInfo.getTailNumber();
|
|
||||||
|
|
||||||
boolean writeURIs = false;
|
boolean writeURIs = false;
|
||||||
for(String s : acarsDataURIs) {
|
for(String s : acarsDataURIs) {
|
||||||
if(s != null) {
|
if(s != null) {
|
||||||
|
|
|
@ -35,8 +35,6 @@ import com.raytheon.uf.common.dataplugin.acars.ACARSRecord;
|
||||||
import com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingConstants;
|
import com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingConstants;
|
||||||
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.dataplugin.acarssounding.tools.Airport;
|
|
||||||
import com.raytheon.uf.common.dataplugin.acarssounding.tools.AirportsBean;
|
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext;
|
import com.raytheon.uf.common.localization.LocalizationContext;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
||||||
|
@ -44,7 +42,7 @@ import com.raytheon.uf.common.localization.PathManager;
|
||||||
import com.raytheon.uf.common.localization.PathManagerFactory;
|
import com.raytheon.uf.common.localization.PathManagerFactory;
|
||||||
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
|
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
import com.raytheon.uf.common.time.util.TimeUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO Add Description
|
* TODO Add Description
|
||||||
|
@ -61,6 +59,7 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
||||||
* level and airport elevation
|
* level and airport elevation
|
||||||
* to determine which airport
|
* to determine which airport
|
||||||
* to use
|
* to use
|
||||||
|
* Aug 18, 2014 3530 bclement removed dead code
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -240,18 +239,12 @@ public class SoundingBuilder {
|
||||||
sounding.setLocation(loc);
|
sounding.setLocation(loc);
|
||||||
sounding.setTailNumber(data.getTailNumber());
|
sounding.setTailNumber(data.getTailNumber());
|
||||||
|
|
||||||
try {
|
// we have a sounding, so add the layer data.
|
||||||
sounding.constructDataURI();
|
for (ACARSRecord r : obsData) {
|
||||||
// we have a sounding, so add the layer data.
|
r.setUsedInSounding(true);
|
||||||
for (ACARSRecord r : obsData) {
|
sounding.addLevel(ACARSSoundingTools.createLayer(r));
|
||||||
r.setUsedInSounding(true);
|
|
||||||
sounding.addLevel(ACARSSoundingTools.createLayer(r));
|
|
||||||
}
|
|
||||||
determineFlightPhase(sounding);
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error("Unable to construct datauri", e);
|
|
||||||
sounding = null;
|
|
||||||
}
|
}
|
||||||
|
determineFlightPhase(sounding);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -471,14 +464,8 @@ public class SoundingBuilder {
|
||||||
}
|
}
|
||||||
Calendar c = r.getTimeObs();
|
Calendar c = r.getTimeObs();
|
||||||
c.set(Calendar.SECOND, (dt * i));
|
c.set(Calendar.SECOND, (dt * i));
|
||||||
r.setDataTime(new DataTime(TimeTools.copy(c)));
|
r.setDataTime(new DataTime(TimeUtil.newCalendar(c)));
|
||||||
try {
|
r.setDataURI(null);
|
||||||
r.setDataURI(null);
|
|
||||||
r.constructDataURI();
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error("Unable to construct datauri in assignTimes",
|
|
||||||
e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
#Fri Oct 22 13:55:35 EDT 2010
|
|
||||||
eclipse.preferences.version=1
|
|
||||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
|
||||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
|
||||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
|
||||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
|
||||||
org.eclipse.jdt.core.compiler.source=1.6
|
|
|
@ -7,18 +7,12 @@ Bundle-Vendor: RAYTHEON
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||||
Require-Bundle: com.raytheon.uf.edex.cpgsrv;bundle-version="1.12.1153",
|
Require-Bundle: com.raytheon.uf.edex.cpgsrv;bundle-version="1.12.1153",
|
||||||
com.raytheon.edex.common;bundle-version="1.12.1153",
|
com.raytheon.edex.common;bundle-version="1.12.1153",
|
||||||
com.raytheon.uf.common.monitor.cpg;bundle-version="1.12.1153",
|
|
||||||
org.geotools;bundle-version="2.6.4",
|
|
||||||
com.raytheon.uf.common.dataplugin.fssobs;bundle-version="1.0.0",
|
com.raytheon.uf.common.dataplugin.fssobs;bundle-version="1.0.0",
|
||||||
com.raytheon.edex.plugin.obs;bundle-version="1.12.1172",
|
|
||||||
com.raytheon.uf.common.dataplugin.sfcobs;bundle-version="1.12.1174",
|
|
||||||
com.raytheon.uf.edex.decodertools
|
com.raytheon.uf.edex.decodertools
|
||||||
Bundle-ActivationPolicy: lazy
|
|
||||||
Export-Package: com.raytheon.uf.edex.plugin.fssobs,
|
Export-Package: com.raytheon.uf.edex.plugin.fssobs,
|
||||||
com.raytheon.uf.edex.plugin.fssobs.common
|
com.raytheon.uf.edex.plugin.fssobs.common
|
||||||
Import-Package: com.raytheon.edex.exception,
|
Import-Package: com.raytheon.uf.common.monitor.config,
|
||||||
com.raytheon.uf.common.monitor.config,
|
com.raytheon.uf.common.monitor.cpg,
|
||||||
com.raytheon.uf.common.monitor.data,
|
|
||||||
com.raytheon.uf.common.pointdata,
|
com.raytheon.uf.common.pointdata,
|
||||||
com.raytheon.uf.common.pointdata.spatial,
|
com.raytheon.uf.common.pointdata.spatial,
|
||||||
com.raytheon.uf.common.status,
|
com.raytheon.uf.common.status,
|
||||||
|
|
|
@ -24,7 +24,6 @@ import java.util.ArrayList;
|
||||||
|
|
||||||
import com.raytheon.edex.urifilter.URIFilter;
|
import com.raytheon.edex.urifilter.URIFilter;
|
||||||
import com.raytheon.edex.urifilter.URIGenerateMessage;
|
import com.raytheon.edex.urifilter.URIGenerateMessage;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginException;
|
|
||||||
import com.raytheon.uf.common.dataplugin.fssobs.FSSObsRecord;
|
import com.raytheon.uf.common.dataplugin.fssobs.FSSObsRecord;
|
||||||
import com.raytheon.uf.common.monitor.config.FSSObsMonitorConfigurationManager.MonName;
|
import com.raytheon.uf.common.monitor.config.FSSObsMonitorConfigurationManager.MonName;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
|
@ -45,6 +44,7 @@ import com.raytheon.uf.edex.plugin.fssobs.common.FSSObsConfig;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Oct 26, 2010 skorolev Initial creation
|
* Oct 26, 2010 skorolev Initial creation
|
||||||
* May 23, 2014 3086 skorolev Cleaned code.
|
* May 23, 2014 3086 skorolev Cleaned code.
|
||||||
|
* Aug 18, 2014 3530 bclement removed constructDataURI() call
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -90,12 +90,6 @@ public class FSSObsGenerator extends CompositeProductGenerator {
|
||||||
for (String uri : genMessage.getUris()) {
|
for (String uri : genMessage.getUris()) {
|
||||||
FSSObsRecord fssObsRec = new FSSObsRecord();
|
FSSObsRecord fssObsRec = new FSSObsRecord();
|
||||||
fssObsRec = fss_config.getTableRow(uri);
|
fssObsRec = fss_config.getTableRow(uri);
|
||||||
try {
|
|
||||||
fssObsRec.constructDataURI();
|
|
||||||
} catch (PluginException e) {
|
|
||||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
|
||||||
e);
|
|
||||||
}
|
|
||||||
FSSObsDataTransform.buildView(fssObsRec);
|
FSSObsDataTransform.buildView(fssObsRec);
|
||||||
fssRecs[i] = fssObsRec;
|
fssRecs[i] = fssObsRec;
|
||||||
i++;
|
i++;
|
||||||
|
|
Loading…
Add table
Reference in a new issue