faa.tg.aidl
Class AidlAcWriter

java.lang.Object
  extended by faa.tg.filters.AbstractFilter
      extended by faa.tg.aidl.AidlAcWriter
All Implemented Interfaces:
Filter, FilterableListener, java.io.Serializable, java.util.EventListener

public class AidlAcWriter
extends AbstractFilter

create aidl XML for a single aircraft See the source AidlAcWriter.java

Version:
$Id: AidlAcWriter.java,v 1.12 2008/09/30 20:29:32 danaw Exp $
Author:
Sam Fullerton, L-3 Titan
See Also:
Serialized Form

Field Summary
private  Acid acid
           
private  AidlObjectMgr aidlMgr
           
static java.lang.String CVS_VERSION_ID
          The CVS Version ID
private  double energyShareFactor
           
private static java.lang.String FIX_SEPERATOR
           
private  java.util.Vector<AidlObject> fixesAndLines
           
private  java.util.Vector<AidlInstruction> flapsThread
           
private  java.util.Vector<AidlInstruction> landingGearThread
           
private  java.util.Vector<AidlInstruction> lateralThread
           
private  java.util.Vector<AidlInstruction> longitudinalThread_1
           
private  java.util.Vector<AidlInstruction> longitudinalThread_2
           
private  java.io.File outputFile
           
private  AircraftState previousState
           
private static java.lang.String ROUTE_SEG_MARKER
           
(package private) static long serialVersionUID
           
private  java.util.Vector<AidlInstruction> speedBrakeThread
           
private static java.lang.String TEMP_FIX_NAME
           
 
Fields inherited from class faa.tg.filters.AbstractFilter
DEFAULT_PASS_THROUGH, listeners, passThrough
 
Constructor Summary
AidlAcWriter(Acid acid, java.lang.String outputFileTemplate)
          Constructor
 
Method Summary
private  void addGlideSlope(java.lang.String outerMarkerName, AircraftState acState)
          Add glide slope
private  void addLine(java.lang.String fix1, java.lang.String fix2, AircraftState previousState, AircraftState acState)
          Add a line to the lateral thread and list of fixes and lines
private  void checkValidity()
          Validates output file against schema and xslt
private  void finishHeadingMan(AircraftState previousState, AircraftState acState)
          finish up a heading manuever
private  int getSpeedType(java.lang.String str)
          Returns an int representing the type of the speed found in the given string
 void handleObject(Filterable evt)
          handle incoming event
private  void highLiftThread(AircraftState previousState, AircraftState acState)
          Add any changes in flaps to the high lift thread
private  boolean isClimbMan(java.lang.String manName)
          Returns whether the given manuever name is a climbing manuever
 boolean isHeadingMan(java.lang.String manName)
          Returns whether the given manuever name is a heading man
private  boolean isLevelAtAlt(AircraftState previousState, AircraftState acState)
          Returns whether an aircraft leveled off at the previous state's desired altitude
private  boolean isRouteMan(java.lang.String manName)
          Returns whether the given manuever name is a route manuever
private  void landingGearThread(AircraftState previousState, AircraftState acState)
          Add any changes in landing gear to the landing gear thread
private  void lateralThread(AircraftState previousState, AircraftState acState)
          add lateral manuevers to the lateral thread
private  void lonThreads(AircraftState previousState, AircraftState acState)
          Add speed and altitude manuevers to longitudinal thread
static void main(java.lang.String[] args)
          Main Method For TESTING ONLY
private  void setEnergyShareFactor(java.lang.Integer link)
          Set energy share factor
private  void speedBrakeThread(AircraftState previousState, AircraftState acState)
          Add any changes in speed brakes to the speed brake thread
private  void startHeadingMan(AircraftState acState)
          Start a heading manuever
private  void writeXml()
          Write out aidl xml.
 
Methods inherited from class faa.tg.filters.AbstractFilter
addFilterableListener, fire, getPassThrough, removeFilterableListener, setPassThrough, substituteFileVariables
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

CVS_VERSION_ID

public static final java.lang.String CVS_VERSION_ID
The CVS Version ID

See Also:
Constant Field Values

acid

private Acid acid

outputFile

private java.io.File outputFile

aidlMgr

private AidlObjectMgr aidlMgr

previousState

private AircraftState previousState

energyShareFactor

private double energyShareFactor

speedBrakeThread

private java.util.Vector<AidlInstruction> speedBrakeThread

landingGearThread

private java.util.Vector<AidlInstruction> landingGearThread

lateralThread

private java.util.Vector<AidlInstruction> lateralThread

longitudinalThread_1

private java.util.Vector<AidlInstruction> longitudinalThread_1

longitudinalThread_2

private java.util.Vector<AidlInstruction> longitudinalThread_2

flapsThread

private java.util.Vector<AidlInstruction> flapsThread

fixesAndLines

private java.util.Vector<AidlObject> fixesAndLines

ROUTE_SEG_MARKER

private static final java.lang.String ROUTE_SEG_MARKER
See Also:
Constant Field Values

FIX_SEPERATOR

private static final java.lang.String FIX_SEPERATOR
See Also:
Constant Field Values

TEMP_FIX_NAME

private static final java.lang.String TEMP_FIX_NAME
See Also:
Constant Field Values
Constructor Detail

AidlAcWriter

public AidlAcWriter(Acid acid,
                    java.lang.String outputFileTemplate)
Constructor

Parameters:
acid - - the aircraft to look for
outputFileTemplate - - the template for the output file name
Method Detail

handleObject

public void handleObject(Filterable evt)
handle incoming event

Specified by:
handleObject in interface FilterableListener
Specified by:
handleObject in class AbstractFilter
Parameters:
evt - The event containing the Filterable object.

finishHeadingMan

private void finishHeadingMan(AircraftState previousState,
                              AircraftState acState)
finish up a heading manuever

Parameters:
previousState - - the previous aircraft state
acState - - the current aircraft state

isLevelAtAlt

private boolean isLevelAtAlt(AircraftState previousState,
                             AircraftState acState)
Returns whether an aircraft leveled off at the previous state's desired altitude

Parameters:
previousState - - the previous state of the aircraft
acState - - the current state of the aircraft

startHeadingMan

private void startHeadingMan(AircraftState acState)
Start a heading manuever

Parameters:
acState - - the current ac state

lateralThread

private void lateralThread(AircraftState previousState,
                           AircraftState acState)
add lateral manuevers to the lateral thread

Parameters:
previousState -
acState -

isRouteMan

private boolean isRouteMan(java.lang.String manName)
Returns whether the given manuever name is a route manuever

Parameters:
manName - - the name to look at
Returns:
Returns true if the manuever name starts with RouteFollowing and contains a .

addGlideSlope

private void addGlideSlope(java.lang.String outerMarkerName,
                           AircraftState acState)
Add glide slope

Parameters:
outerMarkerName -

lonThreads

private void lonThreads(AircraftState previousState,
                        AircraftState acState)
Add speed and altitude manuevers to longitudinal thread

Parameters:
previousState - - previous aircraft state
acState - - current aircraft state

setEnergyShareFactor

private void setEnergyShareFactor(java.lang.Integer link)
Set energy share factor

Parameters:
link - - a link to another instruction

highLiftThread

private void highLiftThread(AircraftState previousState,
                            AircraftState acState)
Add any changes in flaps to the high lift thread

Parameters:
previousState - - the previouse aircraft state
acState - - the current aircraft state

speedBrakeThread

private void speedBrakeThread(AircraftState previousState,
                              AircraftState acState)
Add any changes in speed brakes to the speed brake thread

Parameters:
previousState - - the previouse aircraft state
acState - - the current aircraft state

landingGearThread

private void landingGearThread(AircraftState previousState,
                               AircraftState acState)
Add any changes in landing gear to the landing gear thread

Parameters:
previousState - - the previouse aircraft state
acState - - the current aircraft state

addLine

private void addLine(java.lang.String fix1,
                     java.lang.String fix2,
                     AircraftState previousState,
                     AircraftState acState)
Add a line to the lateral thread and list of fixes and lines

Parameters:
fix1 - - the name of the first fix on the line
fix2 - - the name of the second fix on the line
previousState - - the previouse aircraft state
acState - - the current aircraft state

checkValidity

private void checkValidity()
Validates output file against schema and xslt


writeXml

private void writeXml()
Write out aidl xml.


isHeadingMan

public boolean isHeadingMan(java.lang.String manName)
Returns whether the given manuever name is a heading man

Parameters:
manName - - the manuever name to check
Returns:
Returns true if the name given is a for a heading manuever, otherwise false

getSpeedType

private int getSpeedType(java.lang.String str)
Returns an int representing the type of the speed found in the given string

Parameters:
str - - the string to look for a speed in
Returns:
Returns the following: -1 if unable to determine speed type 0 if speed is IAS 1 if speed type is Mach 2 if speed type is TAS

isClimbMan

private boolean isClimbMan(java.lang.String manName)
Returns whether the given manuever name is a climbing manuever

Parameters:
manName - - the name to look at

main

public static void main(java.lang.String[] args)
Main Method For TESTING ONLY

Parameters:
args - - command line args