Issue #2811 - Added check for empty message. Updated logger.
Former-commit-id:24895b9308
[formerly9ac8a7a2f3
] [formerly24895b9308
[formerly9ac8a7a2f3
] [formerly982735561c
[formerly e0010578785dd88861e8c9ef229e3e6452a5bd0e]]] Former-commit-id:982735561c
Former-commit-id:0b04fb80e3
[formerlyb5fb10a84d
] Former-commit-id:08be3d0f45
This commit is contained in:
parent
a64288b37d
commit
6efb1f4f5c
6 changed files with 251 additions and 195 deletions
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Acars Plug-in
|
||||
Bundle-SymbolicName: com.raytheon.uf.edex.plugin.acars
|
||||
Bundle-Version: 1.12.1174.qualifier
|
||||
Bundle-Version: 1.14.0.qualifier
|
||||
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Require-Bundle: com.raytheon.edex.common,
|
||||
|
@ -16,4 +16,4 @@ Export-Package: com.raytheon.uf.edex.plugin.acars,
|
|||
com.raytheon.uf.edex.plugin.acars.dao
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Import-Package: com.raytheon.uf.common.dataplugin.acars,
|
||||
org.apache.commons.logging
|
||||
com.raytheon.uf.common.status
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
**/
|
||||
package com.raytheon.uf.edex.plugin.acars;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
|
@ -27,14 +26,29 @@ import javax.management.MBeanServer;
|
|||
import javax.management.ObjectName;
|
||||
import javax.management.StandardMBean;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import com.raytheon.edex.esb.Headers;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
|
||||
/**
|
||||
* ACARS Archiver.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Mar 27, 2014 2811 skorolev Updated logger.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author
|
||||
* @version 1.0
|
||||
*/
|
||||
public class ACARSArchiver implements ACARSArchiverMBean {
|
||||
|
||||
protected transient Log logger = LogFactory.getLog(getClass());
|
||||
private IUFStatusHandler logger = UFStatus.getHandler(ACARSDecoder.class);
|
||||
|
||||
private static AtomicInteger serviceInstanceId = new AtomicInteger();
|
||||
|
||||
|
@ -56,8 +70,7 @@ public class ACARSArchiver implements ACARSArchiverMBean {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param path
|
||||
* @param headers
|
||||
*/
|
||||
public void checkForArchive(Headers headers) {
|
||||
String traceId = serviceName;
|
||||
|
@ -67,8 +80,12 @@ public class ACARSArchiver implements ACARSArchiverMBean {
|
|||
logger.info(traceId);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.edex.plugin.acars.ACARSArchiverMBean#execute(java.lang
|
||||
* .String)
|
||||
*/
|
||||
public void execute(String command) {
|
||||
|
||||
|
@ -76,8 +93,11 @@ public class ACARSArchiver implements ACARSArchiverMBean {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.edex.plugin.acars.ACARSArchiverMBean#getServiceName()
|
||||
*/
|
||||
@Override
|
||||
public String getServiceName() {
|
||||
|
@ -86,6 +106,8 @@ public class ACARSArchiver implements ACARSArchiverMBean {
|
|||
|
||||
/**
|
||||
* Register this service with the JMX management.
|
||||
*
|
||||
* @param name
|
||||
*/
|
||||
protected void register(String name) {
|
||||
if (serviceRegistered) {
|
||||
|
@ -111,6 +133,8 @@ public class ACARSArchiver implements ACARSArchiverMBean {
|
|||
/**
|
||||
* Unregister this service from the JMX server. This should be called prior
|
||||
* to shutting down the service.
|
||||
*
|
||||
* @param name
|
||||
*/
|
||||
protected void unRegister(String name) {
|
||||
if (!serviceRegistered) {
|
||||
|
|
|
@ -19,26 +19,25 @@
|
|||
**/
|
||||
package com.raytheon.uf.edex.plugin.acars;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import com.raytheon.edex.esb.Headers;
|
||||
import com.raytheon.edex.exception.DecoderException;
|
||||
import com.raytheon.edex.plugin.AbstractDecoder;
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.common.dataplugin.acars.ACARSRecord;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.edex.decodertools.core.IDecoderInput;
|
||||
import com.raytheon.uf.edex.plugin.acars.decoder.ACARSDataAdapter;
|
||||
|
||||
/**
|
||||
*
|
||||
* ACARS Decoder.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jan 21, 2009 1939 jkorman Initial creation
|
||||
* Jan 21, 2009 1939 jkorman Initial creation
|
||||
* Mar 27, 2014 2811 skorolev Updated logger.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -48,7 +47,7 @@ import com.raytheon.uf.edex.plugin.acars.decoder.ACARSDataAdapter;
|
|||
|
||||
public class ACARSDecoder extends AbstractDecoder {
|
||||
|
||||
private Log logger = LogFactory.getLog(getClass());
|
||||
private IUFStatusHandler logger = UFStatus.getHandler(ACARSDecoder.class);
|
||||
|
||||
private String pluginName = "acars";
|
||||
|
||||
|
@ -63,9 +62,9 @@ public class ACARSDecoder extends AbstractDecoder {
|
|||
/**
|
||||
* Get the next decoded data record.
|
||||
*
|
||||
* @param data
|
||||
* @param headers
|
||||
* @return One record of decoded data.
|
||||
* @throws DecoderException
|
||||
* Thrown if no data is available.
|
||||
*/
|
||||
public PluginDataObject[] decode(byte[] data, Headers headers) {
|
||||
|
||||
|
@ -98,7 +97,7 @@ public class ACARSDecoder extends AbstractDecoder {
|
|||
|
||||
/**
|
||||
* @param input
|
||||
* @param decodeProperties
|
||||
* @return
|
||||
*/
|
||||
public PluginDataObject[] decodeInput(IDecoderInput input) {
|
||||
logger.error("decodeInput method not supported");
|
||||
|
@ -112,11 +111,12 @@ public class ACARSDecoder extends AbstractDecoder {
|
|||
return pluginName;
|
||||
}
|
||||
|
||||
public static final void main(String [] args) {
|
||||
public static final void main(String[] args) {
|
||||
|
||||
com.raytheon.uf.common.util.StringUtil.isEmptyString(" ");
|
||||
|
||||
ACARSRecord r = new ACARSRecord("/acars/2011-03-21_17:58:32.0/2TPYR4JA/null/42.85/-84.92/9754");
|
||||
ACARSRecord r = new ACARSRecord(
|
||||
"/acars/2011-03-21_17:58:32.0/2TPYR4JA/null/42.85/-84.92/9754");
|
||||
System.out.println(r.getLatitude());
|
||||
}
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
|
|||
* Oct 10, 2012 1261 djohnson Add some generics wildcarding.
|
||||
* Nov 02, 2012 1302 djohnson Add Javadoc.
|
||||
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
|
||||
* Mar 27, 2014 2811 skorolev Updated logger.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -155,9 +156,9 @@ public class ACARSDao extends DefaultPluginDao {
|
|||
|
||||
String query = String.format(queryTemplate, tailNumber, startTime);
|
||||
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug(query);
|
||||
}
|
||||
// if (logger.isDebugEnabled()) {
|
||||
// logger.debug(query);
|
||||
// }
|
||||
|
||||
List<?> result = executeACARSQuery(query);
|
||||
|
||||
|
@ -177,6 +178,7 @@ public class ACARSDao extends DefaultPluginDao {
|
|||
*
|
||||
* @param tailNumber
|
||||
* @param startTime
|
||||
* @param stopTime
|
||||
* @return
|
||||
*/
|
||||
public List<ACARSRecord> getReports(String tailNumber, Calendar startTime,
|
||||
|
@ -192,9 +194,9 @@ public class ACARSDao extends DefaultPluginDao {
|
|||
String query = String.format(queryTemplate, tailNumber, startTime,
|
||||
stopTime);
|
||||
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug(query);
|
||||
}
|
||||
// if (logger.isDebugEnabled()) {
|
||||
// logger.debug(query);
|
||||
// }
|
||||
|
||||
List<?> result = executeACARSQuery(query);
|
||||
|
||||
|
|
|
@ -30,13 +30,12 @@ import java.util.HashSet;
|
|||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import com.raytheon.edex.esb.Headers;
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.common.dataplugin.acars.ACARSRecord;
|
||||
import com.raytheon.uf.common.pointdata.spatial.AircraftObsLocation;
|
||||
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.edex.decodertools.bufr.BUFRDataDocument;
|
||||
import com.raytheon.uf.edex.decodertools.bufr.descriptors.BUFRDescriptor;
|
||||
|
@ -55,6 +54,7 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader;
|
|||
* Jan 22, 2009 1939 jkorman Initial creation
|
||||
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
|
||||
* Sep 18, 2013 2339 njensen Index safety check in getTailNumber()
|
||||
* Mar 27, 2014 2811 skorolev Added check for empty message.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -64,6 +64,9 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader;
|
|||
|
||||
public class ACARSDataAdapter {
|
||||
|
||||
private IUFStatusHandler logger = UFStatus
|
||||
.getHandler(ACARSDataAdapter.class);
|
||||
|
||||
private static final int MONTH_OFFSET = 1;
|
||||
|
||||
private static final int DAY_OFFSET = 2;
|
||||
|
@ -74,8 +77,6 @@ public class ACARSDataAdapter {
|
|||
|
||||
private static final int SECOND_OFFSET = 5;
|
||||
|
||||
private final Log logger = LogFactory.getLog(getClass());
|
||||
|
||||
// Map detailed flight phase [0-08-009] to flight phase [0-08-004]
|
||||
private static final int[] DETAIL_PHASE_MAP = { 3, 4, 2, 3, 4, 5, 6, 5, 5,
|
||||
5, 5, 6, 6, 6, 6, 7, };
|
||||
|
@ -93,8 +94,9 @@ public class ACARSDataAdapter {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param rawData
|
||||
* @param traceId
|
||||
* @param headers
|
||||
* @return
|
||||
*/
|
||||
public PluginDataObject[] getACARSData(byte[] rawData, String traceId,
|
||||
|
@ -158,179 +160,180 @@ public class ACARSDataAdapter {
|
|||
Calendar timeObs = null;
|
||||
AircraftObsLocation loc = null;
|
||||
String tailNumber = null;
|
||||
if (!subList.isEmpty()) {
|
||||
IBUFRDataPacket packet = subList.get(0);
|
||||
int d = packet.getReferencingDescriptor().getDescriptor();
|
||||
if (d == BUFRDescriptor.createDescriptor(0, 1, 6)) {
|
||||
packet = subList.get(1);
|
||||
d = packet.getReferencingDescriptor().getDescriptor();
|
||||
if (d == BUFRDescriptor.createDescriptor(0, 2, 61)) {
|
||||
timeObs = getTimeObs(subList, 2, false);
|
||||
if (timeObs != null) {
|
||||
loc = getObsLocationFine(subList, 7);
|
||||
tailNumber = getTailNumber(subList, 21);
|
||||
if (loc != null) {
|
||||
if (tailNumber != null) {
|
||||
|
||||
IBUFRDataPacket packet = subList.get(0);
|
||||
int d = packet.getReferencingDescriptor().getDescriptor();
|
||||
if (d == BUFRDescriptor.createDescriptor(0, 1, 6)) {
|
||||
packet = subList.get(1);
|
||||
d = packet.getReferencingDescriptor().getDescriptor();
|
||||
if (d == BUFRDescriptor.createDescriptor(0, 2, 61)) {
|
||||
timeObs = getTimeObs(subList, 2, false);
|
||||
if (timeObs != null) {
|
||||
loc = getObsLocationFine(subList, 7);
|
||||
tailNumber = getTailNumber(subList, 21);
|
||||
if (loc != null) {
|
||||
if (tailNumber != null) {
|
||||
rpt = new ACARSRecord();
|
||||
|
||||
rpt = new ACARSRecord();
|
||||
rpt.setTailNumber(tailNumber.trim());
|
||||
rpt.setLocation(loc);
|
||||
|
||||
rpt.setTailNumber(tailNumber.trim());
|
||||
rpt.setLocation(loc);
|
||||
rpt.setTimeObs(timeObs);
|
||||
DataTime t = new DataTime(
|
||||
TimeTools.copy(timeObs));
|
||||
rpt.setDataTime(t);
|
||||
|
||||
rpt.setTimeObs(timeObs);
|
||||
DataTime t = new DataTime(
|
||||
TimeTools.copy(timeObs));
|
||||
rpt.setDataTime(t);
|
||||
getFlightPhase(subList, rpt, 9);
|
||||
getWxDataA(subList, rpt);
|
||||
|
||||
getFlightPhase(subList, rpt, 9);
|
||||
getWxDataA(subList, rpt);
|
||||
|
||||
logger.debug(traceId + " -Observation time = "
|
||||
+ timeObs);
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft tail number was found");
|
||||
}
|
||||
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft location was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Observation time was found");
|
||||
}
|
||||
} else if (d == BUFRDescriptor.createDescriptor(0, 1, 8)) {
|
||||
timeObs = getTimeObs(subList, 8, true);
|
||||
if (timeObs != null) {
|
||||
loc = getObsLocationCoarse(subList, 14);
|
||||
tailNumber = getTailNumber(subList, 1);
|
||||
if (loc != null) {
|
||||
if (tailNumber != null) {
|
||||
rpt = new ACARSRecord();
|
||||
|
||||
rpt.setTailNumber(tailNumber.trim());
|
||||
rpt.setLocation(loc);
|
||||
|
||||
getReceiver(subList, rpt, 7);
|
||||
|
||||
rpt.setTimeObs(timeObs);
|
||||
DataTime t = new DataTime(
|
||||
TimeTools.copy(timeObs));
|
||||
rpt.setDataTime(t);
|
||||
|
||||
getFlightPhase(subList, rpt, 18);
|
||||
getWxDataC(subList, rpt, loc);
|
||||
getPressure(subList, rpt, 16);
|
||||
|
||||
logger.debug(traceId + " -Observation time = "
|
||||
+ timeObs);
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft tail number was found");
|
||||
}
|
||||
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft location was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Observation time was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " - Unknown observation data following [0-01-006]");
|
||||
}
|
||||
} else if (d == BUFRDescriptor.createDescriptor(0, 1, 8)) {
|
||||
|
||||
packet = subList.get(1);
|
||||
d = packet.getReferencingDescriptor().getDescriptor();
|
||||
if (d == BUFRDescriptor.createDescriptor(0, 4, 1)) {
|
||||
timeObs = getTimeObs(subList, 1, true);
|
||||
if (timeObs != null) {
|
||||
|
||||
loc = getObsLocationFine(subList, 7);
|
||||
tailNumber = getTailNumber(subList, 0);
|
||||
|
||||
if (loc != null) {
|
||||
if (tailNumber != null) {
|
||||
rpt = new ACARSRecord();
|
||||
|
||||
rpt.setTailNumber(tailNumber.trim());
|
||||
rpt.setLocation(loc);
|
||||
|
||||
rpt.setTimeObs(timeObs);
|
||||
DataTime t = new DataTime(
|
||||
TimeTools.copy(timeObs));
|
||||
rpt.setDataTime(t);
|
||||
|
||||
getFlightPhase(subList, rpt, 9);
|
||||
|
||||
IBUFRDataPacket wxData = subList.get(10);
|
||||
if (RepSubList.getPacketType().equals(
|
||||
wxData.getUnits())) {
|
||||
List<IBUFRDataPacket> dataList = (List<IBUFRDataPacket>) wxData
|
||||
.getValue();
|
||||
|
||||
getWxDataB(dataList, rpt, loc);
|
||||
logger.debug(traceId
|
||||
+ " -Observation time = " + timeObs);
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft tail number was found");
|
||||
}
|
||||
|
||||
logger.debug(traceId + " -Observation time = "
|
||||
+ timeObs);
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft tail number was found");
|
||||
+ " -No Aircraft location was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft location was found");
|
||||
+ " -No Observation time was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Observation time was found");
|
||||
}
|
||||
} else if (d == BUFRDescriptor.createDescriptor(0, 1, 23)) {
|
||||
} else if (d == BUFRDescriptor.createDescriptor(0, 1, 8)) {
|
||||
timeObs = getTimeObs(subList, 8, true);
|
||||
if (timeObs != null) {
|
||||
loc = getObsLocationCoarse(subList, 14);
|
||||
tailNumber = getTailNumber(subList, 1);
|
||||
if (loc != null) {
|
||||
if (tailNumber != null) {
|
||||
rpt = new ACARSRecord();
|
||||
|
||||
timeObs = getTimeObs(subList, 4, true);
|
||||
if (timeObs != null) {
|
||||
rpt.setTailNumber(tailNumber.trim());
|
||||
rpt.setLocation(loc);
|
||||
|
||||
loc = getObsLocationFine(subList, 2);
|
||||
tailNumber = getTailNumber(subList, 0);
|
||||
getReceiver(subList, rpt, 7);
|
||||
|
||||
if (loc != null) {
|
||||
if (tailNumber != null) {
|
||||
rpt = new ACARSRecord();
|
||||
rpt.setTimeObs(timeObs);
|
||||
DataTime t = new DataTime(
|
||||
TimeTools.copy(timeObs));
|
||||
rpt.setDataTime(t);
|
||||
|
||||
rpt.setTailNumber(tailNumber.trim());
|
||||
rpt.setLocation(loc);
|
||||
getFlightPhase(subList, rpt, 18);
|
||||
getWxDataC(subList, rpt, loc);
|
||||
getPressure(subList, rpt, 16);
|
||||
|
||||
rpt.setTimeObs(timeObs);
|
||||
DataTime t = new DataTime(
|
||||
TimeTools.copy(timeObs));
|
||||
rpt.setDataTime(t);
|
||||
logger.debug(traceId
|
||||
+ " -Observation time = " + timeObs);
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft tail number was found");
|
||||
}
|
||||
|
||||
getFlightPhaseD(subList, rpt, 11);
|
||||
|
||||
getWxDataD(subList, rpt, loc, 12);
|
||||
|
||||
logger.debug(traceId + " -Observation time = "
|
||||
+ timeObs);
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft tail number was found");
|
||||
+ " -No Aircraft location was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft location was found");
|
||||
+ " -No Observation time was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Observation time was found");
|
||||
+ " - Unknown observation data following [0-01-006]");
|
||||
}
|
||||
} else if (d == BUFRDescriptor.createDescriptor(0, 1, 8)) {
|
||||
|
||||
packet = subList.get(1);
|
||||
d = packet.getReferencingDescriptor().getDescriptor();
|
||||
if (d == BUFRDescriptor.createDescriptor(0, 4, 1)) {
|
||||
timeObs = getTimeObs(subList, 1, true);
|
||||
if (timeObs != null) {
|
||||
|
||||
loc = getObsLocationFine(subList, 7);
|
||||
tailNumber = getTailNumber(subList, 0);
|
||||
|
||||
if (loc != null) {
|
||||
if (tailNumber != null) {
|
||||
rpt = new ACARSRecord();
|
||||
|
||||
rpt.setTailNumber(tailNumber.trim());
|
||||
rpt.setLocation(loc);
|
||||
|
||||
rpt.setTimeObs(timeObs);
|
||||
DataTime t = new DataTime(
|
||||
TimeTools.copy(timeObs));
|
||||
rpt.setDataTime(t);
|
||||
|
||||
getFlightPhase(subList, rpt, 9);
|
||||
|
||||
IBUFRDataPacket wxData = subList.get(10);
|
||||
if (RepSubList.getPacketType().equals(
|
||||
wxData.getUnits())) {
|
||||
List<IBUFRDataPacket> dataList = (List<IBUFRDataPacket>) wxData
|
||||
.getValue();
|
||||
|
||||
getWxDataB(dataList, rpt, loc);
|
||||
}
|
||||
|
||||
logger.debug(traceId
|
||||
+ " -Observation time = " + timeObs);
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft tail number was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft location was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Observation time was found");
|
||||
}
|
||||
} else if (d == BUFRDescriptor.createDescriptor(0, 1, 23)) {
|
||||
|
||||
timeObs = getTimeObs(subList, 4, true);
|
||||
if (timeObs != null) {
|
||||
|
||||
loc = getObsLocationFine(subList, 2);
|
||||
tailNumber = getTailNumber(subList, 0);
|
||||
|
||||
if (loc != null) {
|
||||
if (tailNumber != null) {
|
||||
rpt = new ACARSRecord();
|
||||
|
||||
rpt.setTailNumber(tailNumber.trim());
|
||||
rpt.setLocation(loc);
|
||||
|
||||
rpt.setTimeObs(timeObs);
|
||||
DataTime t = new DataTime(
|
||||
TimeTools.copy(timeObs));
|
||||
rpt.setDataTime(t);
|
||||
|
||||
getFlightPhaseD(subList, rpt, 11);
|
||||
|
||||
getWxDataD(subList, rpt, loc, 12);
|
||||
|
||||
logger.debug(traceId
|
||||
+ " -Observation time = " + timeObs);
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft tail number was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Aircraft location was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " -No Observation time was found");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " - Unknown observation data following [0-01-008]");
|
||||
}
|
||||
} else {
|
||||
logger.error(traceId
|
||||
+ " - Unknown observation data following [0-01-008]");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -345,9 +348,9 @@ public class ACARSDataAdapter {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param packets
|
||||
* @param yearPos
|
||||
* @param getSeconds
|
||||
* @return
|
||||
*/
|
||||
private Calendar getTimeObs(List<IBUFRDataPacket> packets, int yearPos,
|
||||
|
@ -637,10 +640,10 @@ public class ACARSDataAdapter {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param dataList
|
||||
* @param record
|
||||
* @return
|
||||
* @param loc
|
||||
* @return ACARS Record
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
private ACARSRecord getWxDataB(List<IBUFRDataPacket> dataList,
|
||||
|
@ -709,9 +712,9 @@ public class ACARSDataAdapter {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param dataList
|
||||
* @param record
|
||||
* @param loc
|
||||
* @return
|
||||
*/
|
||||
private ACARSRecord getWxDataC(List<IBUFRDataPacket> dataList,
|
||||
|
@ -781,9 +784,10 @@ public class ACARSDataAdapter {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param dataList
|
||||
* @param record
|
||||
* @param loc
|
||||
* @param pos
|
||||
* @return
|
||||
*/
|
||||
private ACARSRecord getWxDataD(List<IBUFRDataPacket> dataList,
|
||||
|
@ -852,6 +856,12 @@ public class ACARSDataAdapter {
|
|||
return record;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param dataList
|
||||
* @param record
|
||||
* @param pos
|
||||
* @return
|
||||
*/
|
||||
private ACARSRecord getFlightPhaseD(List<IBUFRDataPacket> dataList,
|
||||
ACARSRecord record, int pos) {
|
||||
|
||||
|
@ -892,6 +902,12 @@ public class ACARSDataAdapter {
|
|||
return tailNumber;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param dataList
|
||||
* @param record
|
||||
* @param pos
|
||||
* @return
|
||||
*/
|
||||
private ACARSRecord getFlightPhase(List<IBUFRDataPacket> dataList,
|
||||
ACARSRecord record, int pos) {
|
||||
|
||||
|
@ -906,6 +922,11 @@ public class ACARSDataAdapter {
|
|||
return record;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param dataList
|
||||
* @param record
|
||||
* @param pos
|
||||
*/
|
||||
private void getReceiver(List<IBUFRDataPacket> dataList,
|
||||
ACARSRecord record, int pos) {
|
||||
|
||||
|
@ -921,6 +942,11 @@ public class ACARSDataAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param dataList
|
||||
* @param record
|
||||
* @param pos
|
||||
*/
|
||||
private void getPressure(List<IBUFRDataPacket> dataList,
|
||||
ACARSRecord record, int pos) {
|
||||
|
||||
|
@ -933,6 +959,10 @@ public class ACARSDataAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param data
|
||||
* @return
|
||||
*/
|
||||
private static final String cleanString(String data) {
|
||||
String retValue = null;
|
||||
if (data != null) {
|
||||
|
|
|
@ -23,10 +23,9 @@ import java.util.ArrayList;
|
|||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import com.raytheon.edex.esb.Headers;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.edex.decodertools.bufr.BUFRDataDocument;
|
||||
import com.raytheon.uf.edex.decodertools.bufr.BUFRDocument;
|
||||
import com.raytheon.uf.edex.decodertools.bufr.BUFRFile;
|
||||
|
@ -38,15 +37,16 @@ import com.raytheon.uf.edex.decodertools.bufr.packets.IBUFRDataPacket;
|
|||
import com.raytheon.uf.edex.wmo.message.WMOHeader;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
* ACARS Parser.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jan 21, 2009 1939 jkorman Initial creation
|
||||
* Jan 21, 2009 1939 jkorman Initial creation
|
||||
* Mar 27, 2014 2811 skorolev Updated logger.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -57,7 +57,7 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader;
|
|||
public class ACARSParser implements Iterator<BUFRDataDocument>,
|
||||
Iterable<BUFRDataDocument>, IDescriptorFactorySelector {
|
||||
|
||||
private Log logger = LogFactory.getLog(getClass());
|
||||
private IUFStatusHandler logger = UFStatus.getHandler(ACARSParser.class);
|
||||
|
||||
// WMO header of the message containing the BUFR data.
|
||||
private WMOHeader wmoHeader = null;
|
||||
|
|
Loading…
Add table
Reference in a new issue