stella.xml
Class ParsedTarget

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by stella.AbstractTarget
              extended by stella.xml.ParsedTarget
All Implemented Interfaces:
Serializable, Cloneable, Comparable, Appointable, Handable, HistoryAware, Observable, TargetDefinition, Initializable, PropertySupplying, ResourceSupplying
Direct Known Subclasses:
GrbTarget

public class ParsedTarget
extends AbstractTarget
implements Handable, HistoryAware, Appointable, Observable, Comparable, Serializable

An DOM-based description of a target. This TargetDefinition can be parsed from and to an xml-file, see TargetFragment, but has no document specific elements in it. This class should be used in the STELLA observations. It is fed and can be exported to xml-files. For details of the xml-format, see DOMTarget.

See Also:
Serialized Form

Nested Class Summary
static class ParsedTarget.Constraint
          Defines one constraint for target selection.
private  class ParsedTarget.RateThread
          A thread that waits for an expression to be fulfilled, then queries its constraints and rates an observation as successful, if everthing is fulfilled.
 
Nested classes/interfaces inherited from class stella.AbstractTarget
AbstractTarget.Aim, AbstractTarget.ConstraintAdapter, AbstractTarget.FitsEntry, AbstractTarget.PickAdapter, AbstractTarget.Setup, AbstractTarget.TargetComparator
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Nested classes/interfaces inherited from interface stella.HistoryAware
HistoryAware.Pick
 
Field Summary
private  boolean abort
          A flag stating that the target should be aborted.
private  Map<String,List<String>> aborting
          Errors for immediate abort.
private  Map<Object,Object> astronomy
          The map of astronomical objects found in the target.
private  Map<String,List<String>> blocking
          Errors blocking the target.
private  ExpressionEvaluator canrate
          The expression to fulfill for a rating to take place.
private  List<Appointable.Constraint> constraints
          A list of constraints.
private  List<String> daughternames
          The daugther targets.
private  List<TargetDefinition> daughters
          The daugther targets.
private  double daymerit
          The daily high merit.
private  long daytime
          and its date.
private  boolean dbread
          For converting to xml, this field is true if target comes from db.
private  boolean dbwrite
          If true, task database is updated on execution add.
private static double DEFACCELERATE
          The default parameter name giving the remaining night-time.
private static int DEFDELAYMAX
          Default number of delays.
private static long DEFDELAYTIME
          Default time of delays.
private static String DEFIMAGETYPE
          The default parameter name giving the remaining night-time.
private static String DEFNIGHT
          The default parameter name giving the remaining night-time.
private static boolean DEFOBSBAD
          The default resources.
private static boolean DEFOBSGOOD
          The default resources.
private static int DEFRATERETRY
          The maximum number of retries to rate a target.
private static long DEFRATEWAIT
          The wait time between individual rate attempts.
private static int DEFRETRYMAX
          Default number of retries.
private  int delaycount
          The number of actual delays.
private  Map<String,List<String>> delaying
          Errors delaying the target.
private  Map<String,Integer> delaymax
          The maximum number of delayed retries allowed.
private static List<TimerTask> delays
          The timer to allow re-enabling of the target.
private  Map<String,Long> delaytime
          The delay time until target is re-enabled.
private static Timer delaytimer
          The timer to allow re-enabling of the target.
private  String description
          The abstract of the observing program.
private  ExpressionEvaluator duration
          The duration of the observation, if explicetly given.
private  List<javax.mail.Address> email
          A list of e-mail addresses.
private  boolean enabled
          True if target is enabled.
private  boolean finished
          Signals that this target has been finished.
private  Map<Object,Object> fitsheader
          The map of fits-header entries found.
private  List<Meriting> gains
          The gains of the target.
private  boolean hdbread
          For converting to xml, this field is true if history comes from db.
private  boolean hdbwrite
          If true, history database is updated on execution add.
private  double himerit
          The highest merit achieved.
private  List<HistoryAware.Pick> history
          The pick history of the target.
private  int historymax
          The maximum size of the history list.
private  boolean historyover
          If true, program is completed.
private  long hitime
          The highest merit time.
private static HistorySql hsql
          The history database.
private  Map<String,List<String>> ignoring
          Errors ignored.
private  String imagetype
          The image type.
private  UserProfile.Affil institution
          The institution the user belongs to (aka the time requestor).
static String KEY_ACCELERATE
          The key to the optional acceleration.
static String KEY_CALCULATOR
          The key to the properties of the exposure time calculator.
static String KEY_HISTORYDB
          If special history-db properties are required.
static String KEY_IMAGETYPE
          The key to the parameter name of the remaining night-time.
static String KEY_NIGHT
          The key to the parameter name of the remaining night-time.
static String KEY_OBSBAD
          Defaults to false.
static String KEY_OBSGOOD
          Defaults to false.
static String KEY_RATERETRY
          The maximum number of retries to rate a target.
static String KEY_RATEWAIT
          The wait time between individual rate attempts.
static String KEY_TASKDB
          If special task-db properties are required.
private  Appointable.Constraint<Number> lastfail
          The constraint that made observing impossible.
private  double lastmerit
          The last merit achieved.
private  Set<UserProfile.Notifies> notify
          A list of notification triggers.
private  TargetDefinition parent
          The parent target.
private  boolean picked
          True when the target gets picked.
private  String proposal
          The proposal id.
private  List<Appointable.Constraint> rate
          The list of rating constraints, if given.
private static ThreadGroup rategroup
          The rate thread groups.
private  ExpressionEvaluator requires
          The condition required for target selection.
private  boolean retry
          A flag stating that the target should be retried immediately.
private  int retrycount
          The number of actual retries.
private  Map<String,List<String>> retrying
          Errors sparking an immediate retry.
private  Map<String,Integer> retrymax
          The maximum number of immediate retries allowed.
private static long serialVersionUID
          Sometimes this must be changed!.
private  Map<Object,Object> setup
          The map of setups found in the target.
private  Date submitted
          If known, the submission date.
private  TargetDefinition successor
          The successor target.
private  String successorname
          The successor target.
private  File targetfile
          The target file when stored as an xml-file.
private  String targetname
          The target name.
private  String targettype
          The target type.
private  List<String> team
          The cois user.
private  List<Meriting> timeslots
          The time slot(s) of the target.
private  String title
          The abstract of the observing program.
private  boolean triumph
          True until an error signals unsuccessful target execution.
private static TaskSql tsql
          The task database.
private  String user
          The target user.
 
Fields inherited from class stella.AbstractTarget
expo
 
Fields inherited from class util.PropertyResources
KEY_NOINITONCREATE, localurl, locate, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_URL, urlset
 
Fields inherited from class util.PropertyContainer
KEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATOR
 
Fields inherited from interface util.ResourceSupplying
KEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOME
 
Fields inherited from interface util.PropertySupplying
CONFIG, KEY_CLASS
 
Constructor Summary
ParsedTarget()
           
ParsedTarget(Map<String,String> prop)
          Constructs a new xml target.
 
Method Summary
 void addExecution(ParameterClustering condition, Date start, long duration, String unique, String rem)
          Adds a pick to this target.
private  boolean checkOver(ParameterClustering condition, List merits)
          Checks the list of merits for possible end point-defining merits.
 void clearHistory()
          Deletes the entire history.
 int compareTo(Object o)
          Compares two parsed targets.
 boolean equals(Object that)
          Compares this target definition for equality.
 void errorDaughter(ErrorEvent success, ErrorFinalizing finish, ParameterClustering set)
          Signals that an error has occured in a daughter of this target.
 void errorMain(ErrorEvent success, ErrorFinalizing finish, ParameterClustering set)
          Signals that an error has occured in this target.
 void errorSuccessor(ErrorEvent success, ErrorFinalizing finish, ParameterClustering set)
          Signals that an error has occured in the successor to this target.
 double getActualMerit(ParameterClustering condition, Collection oftargets, long within)
          Returns the actual value of the merit of this target.
protected  Map getAstronomicalData()
          Returns all stars in this target.
 List<Appointable.Constraint> getConstraints()
          Returns the list of ParsedTarget.Constraint objects this target is subject to.
 Date getDailyDate()
          The date of the high daily merit.
 double getDailyMerit()
          The highest merit in the last 24 hours.
 boolean getDatabaseRead()
          Returns the history database-access boolean.
 boolean getDatabaseWrite()
          Returns the history database-access boolean.
 List<TargetDefinition> getDaughters()
          Returns the list of daughter targets or null if this target does not have any.
protected  Map[] getDelayAndRetry()
          Returns the mapping to the maximum number of retries, delays and the delay time.
 String getDescription()
          Returns the observing program description.
 String getDescriptionID()
          Returns the observing program id.
protected  ExpressionEvaluator getDuration()
          Returns the expression that is used to calculate the execution time of the target.
 List<javax.mail.Address> getEmailAddresses()
          Returns the e-mail addresses linked to this target.
 List<HistoryAware.Pick> getEntireHistory()
          Returns the entire history the target is aware of.
protected  Map[] getErrors()
          Returns an array of mappings of exception targets to error names.
 HistoryAware.Pick getFailure(int index)
          Returns the date of the failed pick with the given index.
 int getFailureCount()
          Returns the number of failed observations this target had.
 File getFile()
          Returns the file name stored in the DOM.
 HistoryAware.Pick getFirstFailure()
          Return the date of the first failed observation.
 HistoryAware.Pick getFirstPick()
          Returns the first pick.
 HistoryAware.Pick getFirstSuccess()
          Returns the pick of the first successful observation.
protected  Map getFitsHeader()
          Returns all fits header in this target.
 Date getHighestDate()
          The date of the highest merit.
 double getHighestMerit()
          The highest merit ever achieved.
 boolean getHistoryDatabaseRead()
          Returns the history database-access boolean.
 boolean getHistoryDatabaseWrite()
          Returns the history database-access boolean.
 int getHistoryMax()
          Returns the maximum size of the history.
 Object getImageType()
          Returns the image type or the default value, if it was not set.
 UserProfile.Affil getInstitution()
          Returns the institution the target time should account to.
 Appointable.Constraint getLastFail()
          If anybody want to query why we have been unobservable, use this method.
 HistoryAware.Pick getLastFailure()
          Returns the date of the last failed observation.
 double getLastMerit()
          If anybody wants to query the last merit the target achieved and not want to wander through the TargetMerit parameter.
 HistoryAware.Pick getLastPick()
          Returns the last pick.
 HistoryAware.Pick getLastSuccess()
          Returns the pick of the last successful observation.
protected  List[] getMerits()
          Returns the timeslot and gain merits as an array.
 String getName()
          Returns the Target description of the object.
 Set<UserProfile.Notifies> getNotify()
          Return the list of notification as tag-names.
 long getObservingTime(ParameterClustering set)
          Returns an estimate of the observing time required for this target.
 HistoryAware.Pick getPick(int nr)
          Returns the specified pick.
 int getPickCount()
          Returns the number of picks in the history.
 TargetDefinition getPrecursor()
          Returns the parent target.
protected  List<Appointable.Constraint> getRateConstraints()
          Returns the list of ParsedTarget.Constraint objects this target is subject to at rating.
protected  ExpressionEvaluator getRateRequires()
          Returns the expression that must evaluate to true for this target to get evaluated after an observation.
 long getRemainingTime(ParameterClustering set)
          Returns the remaining time of the observation time for this target.
private  long getRemainingTime(ParameterClustering set, boolean info)
          Returns the remaining time of the observation time for this target.
protected  ExpressionEvaluator getRequires()
          Returns the expression that must evaluate to true for this target to get picked.
 Map<Object,Object> getSetups()
          Returns the list of Setup objects of this target.
 Date getSubmitted()
          The date the target was originally submitted.
 HistoryAware.Pick getSuccess(int index)
          Returns the date of the succesful pick with the given index.
 int getSuccessCount()
          Returns the number of succesful observations this target had.
 TargetDefinition getSuccessor()
          Returns the successor target, if this target has one.
 URL getTargetResource()
          Return the file name stored in the DOM as an url-rsource.
 Object getTargetSpecific(Object idobj)
          Returns a special object of target-specific definitions.
 List<String> getTeam()
          Returns the list of coi or null if none given.
 String getTitle()
          Returns the observing program description.
 Object getType()
          Returns the string value of the DTDConstants.TARGETTYPE attribute.
 String getUser()
          Returns the target user.
 int hashCode()
          For entries in hash-tables.
 boolean isAbort(ParameterClustering set)
          Checks if the target should be aborted.
 boolean isEnabled()
          Test the access attribute of the Object element in the given target-DOM.
 boolean isFinished()
          Returns the finished flag.
 boolean isNotify(UserProfile.Notifies condition)
          Returns true if the condition passed over is found in the notification list.
 boolean isObservable(ParameterClustering condition)
          Determines if this target is currently observable.
 boolean isPicked()
          Returns true if this target is currently picked.
 boolean isProgramCompleted()
          Returns true if the observing program on this target is over.
 boolean isProgramOver(ParameterClustering condition)
          Checks if a target has completed is life-cycle within an observing program.
 boolean isRetry(ParameterClustering set)
          Checks if the target should be retried.
private  void processError(ErrorEvent success, ErrorFinalizing finish, ParameterClustering set, List blocklist, List delaylist, Integer delmax, Long deltime, List retrylist, Integer retmax, List ignorelist, List abortlist)
          Depending on the target the termination acts on, the different abort sections are loaded.
private  void readObject(ObjectInputStream stream)
          On deserialization, first read the hidden object definitions, then the properties of this target.
 boolean resolveChildren(Collection<? extends TargetDefinition> alltargets)
          Resolve all children.
protected  void setAstronomicalData(Map astro)
          Sets the map of astronomical targets.
protected  void setConstraints(List<Appointable.Constraint> prevent)
          Sets the target constraints.
 void setDatabaseAccess(boolean read, boolean write)
          Sets the database-access flags for read and write.
 void setDaughtersByName(List<String> dau)
          Sets this target's daughters.
protected  void setDelayAndRetry(Map<String,Integer> delmax, Map<String,Long> delfor, Map<String,Integer> retmax)
          Sets the maximum number of retries, the maximum number of delays and the delay time.
protected  void setDescription(String program)
          Sets the observing program description.
protected  void setDuration(ExpressionEvaluator durcalc)
          Sets the estimated duration of target execution.
protected  void setEmailAddresses(List<javax.mail.Address> address)
          Sets the list of e-mail addresses.
 void setEnabled(boolean to)
          Sets the access attribute to enabled.
protected  void setErrors(Map<String,List<String>> blockmap, Map<String,List<String>> delaymap, Map<String,List<String>> abortmap, Map<String,List<String>> retrymap, Map<String,List<String>> ignoremap)
          Sets the error maps.
 void setFinished(boolean isready)
          Sets the finished flag.
protected  void setFitsHeader(Map fits)
          Sets the map of fits headers.
 void setHistory(List<HistoryAware.Pick> past, int max)
          Sets the target history and its maximum size.
 void setHistoryDatabaseAccess(boolean read, boolean write)
          Sets the history database-access flags for read and write.
static void setHistorySql(HistorySql h)
          Sets the history database.
protected  void setImageType(String itype)
          Sets the image type.
protected  void setInstitution(UserProfile.Affil who)
          Sets the target institute.
 void setLoggingForFailedConstraints(boolean to)
          We set the volatile flag for extensive logging on reasons why this target is not observable during night run.
 void setLoggingForObservingTime(boolean to)
          Announce interest on logging the target's remaining observing time
protected  void setMerits(List<Meriting> multiplicative, List<Meriting> additive)
          Sets the target merits.
protected  void setNotify(Set<UserProfile.Notifies> triggers)
          Sets the list of notification triggers.
 void setPicked(boolean ispicked)
          Signals that this target has been selected for observing.
 void setPrecursor(TargetDefinition anchestor)
          Sets the parent target of this target.
 void setProgramCompleted(boolean over)
          Returns true if the observing program on this target is over.
protected  void setRateConstraints(List<Appointable.Constraint> prevent)
          Sets the target constraints.
protected  void setRateRequires(ExpressionEvaluator necessary)
          Sets the boolean condition that is check for target availability prior to any other parameter constraints.
protected  void setRequires(ExpressionEvaluator necessary)
          Sets the boolean condition that is check for target availability prior to any other parameter constraints.
protected  void setSetups(Map instrumentation)
          Sets the map of setups.
 void setSubmitted(Date submit)
          Sets the target submission date.
 void setSuccessorByName(String suck)
          Sets this target's successor.
protected  void setTargetFile(File xml)
          Sets the target xml-file.
 void setTargetName(String name, String id)
          Sets the target name.
protected  void setTargetType(String type)
          Sets the target type.
static void setTaskSql(TaskSql t)
          Sets the task database.
protected  void setTeam(List<String> who)
          Sets the target cois.
protected  void setTitle(String program)
          Sets the observing program title.
protected  void setUser(String who)
          Sets the target user.
 String toString()
          Returns a string representation of the DOM-Target.
private  void writeObject(ObjectOutputStream stream)
          We customize object serialization.
 
Methods inherited from class util.PropertyResources
clone, createFrom, createFrom, createFrom, getApplet, getAsResources, getLocalClassLoader, getPropertiesToKey, getPropertiesToKey, getResource, getResourceAsStream, getResourceFromKey, getResources, init, keyCreate, keyCreate, loadResource, reload, setApplet
 
Methods inherited from class util.PropertyContainer
augment, augment, augment, defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsEnums, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, isNew, parseObject, reload, removeProperty, rescanned, setObject, setProperties, setProperty, stringProperties
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface util.PropertySupplying
defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, parseObject, removeProperty, setObject, setProperty, stringProperties
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Sometimes this must be changed!.

See Also:
Constant Field Values

KEY_IMAGETYPE

public static final String KEY_IMAGETYPE
The key to the parameter name of the remaining night-time.

See Also:
Constant Field Values

KEY_NIGHT

public static final String KEY_NIGHT
The key to the parameter name of the remaining night-time.

See Also:
Constant Field Values

KEY_ACCELERATE

public static final String KEY_ACCELERATE
The key to the optional acceleration. Used mainly for testing.

See Also:
Constant Field Values

KEY_CALCULATOR

public static final String KEY_CALCULATOR
The key to the properties of the exposure time calculator.

See Also:
Constant Field Values

KEY_RATERETRY

public static final String KEY_RATERETRY
The maximum number of retries to rate a target.

See Also:
Constant Field Values

KEY_RATEWAIT

public static final String KEY_RATEWAIT
The wait time between individual rate attempts.

See Also:
Constant Field Values

KEY_HISTORYDB

public static final String KEY_HISTORYDB
If special history-db properties are required.

See Also:
Constant Field Values

KEY_TASKDB

public static final String KEY_TASKDB
If special task-db properties are required.

See Also:
Constant Field Values

KEY_OBSBAD

public static final String KEY_OBSBAD
Defaults to false.

See Also:
Constant Field Values

KEY_OBSGOOD

public static final String KEY_OBSGOOD
Defaults to false.

See Also:
Constant Field Values

DEFIMAGETYPE

private static final String DEFIMAGETYPE
The default parameter name giving the remaining night-time.

See Also:
Constant Field Values

DEFNIGHT

private static final String DEFNIGHT
The default parameter name giving the remaining night-time.

See Also:
Constant Field Values

DEFACCELERATE

private static final double DEFACCELERATE
The default parameter name giving the remaining night-time.

See Also:
Constant Field Values

DEFRETRYMAX

private static final int DEFRETRYMAX
Default number of retries.

See Also:
Constant Field Values

DEFDELAYMAX

private static final int DEFDELAYMAX
Default number of delays.

See Also:
Constant Field Values

DEFDELAYTIME

private static final long DEFDELAYTIME
Default time of delays.

See Also:
Constant Field Values

DEFRATERETRY

private static final int DEFRATERETRY
The maximum number of retries to rate a target.

See Also:
Constant Field Values

DEFRATEWAIT

private static final long DEFRATEWAIT
The wait time between individual rate attempts.

See Also:
Constant Field Values

DEFOBSBAD

private static final boolean DEFOBSBAD
The default resources.

See Also:
Constant Field Values

DEFOBSGOOD

private static final boolean DEFOBSGOOD
The default resources.

See Also:
Constant Field Values

finished

private boolean finished
Signals that this target has been finished. Used for target-chaining.


picked

private boolean picked
True when the target gets picked. False if not picked.


triumph

private boolean triumph
True until an error signals unsuccessful target execution.


abort

private boolean abort
A flag stating that the target should be aborted.


retry

private boolean retry
A flag stating that the target should be retried immediately.


retrycount

private int retrycount
The number of actual retries.


delaycount

private int delaycount
The number of actual delays.


lastfail

private Appointable.Constraint<Number> lastfail
The constraint that made observing impossible.


lastmerit

private double lastmerit
The last merit achieved.


himerit

private double himerit
The highest merit achieved.


hitime

private long hitime
The highest merit time.


daymerit

private double daymerit
The daily high merit.


daytime

private long daytime
and its date.


enabled

private boolean enabled
True if target is enabled. Also used in delays.


targettype

private String targettype
The target type. Responsible for observation sequence.


submitted

private Date submitted
If known, the submission date. Otherwise Date(0).


imagetype

private String imagetype
The image type. If undefined, use #KEY_IMAGETPYE.


targetname

private String targetname
The target name.


proposal

private String proposal
The proposal id.


title

private String title
The abstract of the observing program.


description

private String description
The abstract of the observing program.


targetfile

private File targetfile
The target file when stored as an xml-file.


user

private String user
The target user.


team

private List<String> team
The cois user.


email

private List<javax.mail.Address> email
A list of e-mail addresses.


notify

private Set<UserProfile.Notifies> notify
A list of notification triggers.


institution

private UserProfile.Affil institution
The institution the user belongs to (aka the time requestor).


history

private List<HistoryAware.Pick> history
The pick history of the target. Maximum size given in xml-file.


historymax

private int historymax
The maximum size of the history list.


historyover

private boolean historyover
If true, program is completed. The target will never get picked again.


dbwrite

private boolean dbwrite
If true, task database is updated on execution add.


dbread

private boolean dbread
For converting to xml, this field is true if target comes from db.


hdbwrite

private boolean hdbwrite
If true, history database is updated on execution add.


hdbread

private boolean hdbread
For converting to xml, this field is true if history comes from db.


blocking

private Map<String,List<String>> blocking
Errors blocking the target. Mapping to this, daughter, and successor.


delaying

private Map<String,List<String>> delaying
Errors delaying the target. Mapping to this, daughter, and successor.


delaymax

private Map<String,Integer> delaymax
The maximum number of delayed retries allowed. Maps to this etc.


delaytime

private Map<String,Long> delaytime
The delay time until target is re-enabled.


retrying

private Map<String,List<String>> retrying
Errors sparking an immediate retry.


retrymax

private Map<String,Integer> retrymax
The maximum number of immediate retries allowed.


ignoring

private Map<String,List<String>> ignoring
Errors ignored. Mapping to this, daughter, and successor.


aborting

private Map<String,List<String>> aborting
Errors for immediate abort. Mapping to this, daughter, and successor.


requires

private ExpressionEvaluator requires
The condition required for target selection.


constraints

private List<Appointable.Constraint> constraints
A list of constraints.


gains

private List<Meriting> gains
The gains of the target. Initialized at dom-setting.


timeslots

private List<Meriting> timeslots
The time slot(s) of the target. Initialized at dom-setting.


canrate

private ExpressionEvaluator canrate
The expression to fulfill for a rating to take place.


rate

private List<Appointable.Constraint> rate
The list of rating constraints, if given.


duration

private ExpressionEvaluator duration
The duration of the observation, if explicetly given.


parent

private TargetDefinition parent
The parent target. Set during parent construction.


successorname

private String successorname
The successor target. Set on construct from xml-file.


successor

private TargetDefinition successor
The successor target. Parsed on resolveChildren(java.util.Collection).


daughternames

private List<String> daughternames
The daugther targets. Set on construct from xml-file.


daughters

private List<TargetDefinition> daughters
The daugther targets. Parsed on resolveChildren(java.util.Collection).


setup

private Map<Object,Object> setup
The map of setups found in the target.


astronomy

private Map<Object,Object> astronomy
The map of astronomical objects found in the target.


fitsheader

private Map<Object,Object> fitsheader
The map of fits-header entries found.


delaytimer

private static transient Timer delaytimer
The timer to allow re-enabling of the target.


delays

private static transient List<TimerTask> delays
The timer to allow re-enabling of the target.


rategroup

private static transient ThreadGroup rategroup
The rate thread groups.


hsql

private static transient HistorySql hsql
The history database.


tsql

private static transient TaskSql tsql
The task database.

Constructor Detail

ParsedTarget

public ParsedTarget()

ParsedTarget

public ParsedTarget(Map<String,String> prop)
Constructs a new xml target. Defaults the KEY_NIGHT, the KEY_ACCELERATE and the KEY_CALCULATOR.

Method Detail

writeObject

private void writeObject(ObjectOutputStream stream)
                  throws IOException
We customize object serialization. We serialize out properties at the end of the file, as otherwise only the empty properties are restored via the property container default constructor.

Throws:
IOException

readObject

private void readObject(ObjectInputStream stream)
                 throws IOException,
                        ClassNotFoundException
On deserialization, first read the hidden object definitions, then the properties of this target. The target properties are then set using PropertyContainer.setProperties(java.util.Map).

Throws:
IOException
ClassNotFoundException

setLoggingForFailedConstraints

public void setLoggingForFailedConstraints(boolean to)
We set the volatile flag for extensive logging on reasons why this target is not observable during night run.

Specified by:
setLoggingForFailedConstraints in interface Observable

setLoggingForObservingTime

public void setLoggingForObservingTime(boolean to)
Description copied from interface: Observable
Announce interest on logging the target's remaining observing time

Specified by:
setLoggingForObservingTime in interface Observable

setHistorySql

public static void setHistorySql(HistorySql h)
Sets the history database. Constructed from properties on first parsed target construct, or from outside.


setTaskSql

public static void setTaskSql(TaskSql t)
Sets the task database. Constructed from properties on first parsed target construct, or from outside.


hashCode

public int hashCode()
For entries in hash-tables.

Overrides:
hashCode in class Object

getName

public String getName()
Returns the Target description of the object. Normally an easy-to-read name.

Specified by:
getName in interface TargetDefinition

getImageType

public Object getImageType()
Returns the image type or the default value, if it was not set.

Specified by:
getImageType in interface TargetDefinition

getTitle

public String getTitle()
Returns the observing program description.

Specified by:
getTitle in interface TargetDefinition

getDescription

public String getDescription()
Returns the observing program description.

Specified by:
getDescription in interface TargetDefinition

getDescriptionID

public String getDescriptionID()
Returns the observing program id. Can be used for a proposal identifier

Specified by:
getDescriptionID in interface TargetDefinition

getFile

public File getFile()
Returns the file name stored in the DOM. This is an optional parameter. If it is not present, the name of the target is returned.


getTargetResource

public URL getTargetResource()
Return the file name stored in the DOM as an url-rsource.

Specified by:
getTargetResource in interface TargetDefinition

getUser

public String getUser()
Returns the target user. This user identifies the principal investigator. Used for time shares if no getInstitution() is defined.

Specified by:
getUser in interface TargetDefinition

getTeam

public List<String> getTeam()
Returns the list of coi or null if none given.

Specified by:
getTeam in interface TargetDefinition

getEmailAddresses

public List<javax.mail.Address> getEmailAddresses()
Returns the e-mail addresses linked to this target.

Specified by:
getEmailAddresses in interface TargetDefinition

getNotify

public Set<UserProfile.Notifies> getNotify()
Return the list of notification as tag-names.


getInstitution

public UserProfile.Affil getInstitution()
Returns the institution the target time should account to. If not specified, the getUser(), which is a required element should be used for time allocation.

Specified by:
getInstitution in interface TargetDefinition

getType

public Object getType()
Returns the string value of the DTDConstants.TARGETTYPE attribute. This is a required attribute to the object tag and states the sequence type to load for this target.

Specified by:
getType in interface TargetDefinition

getSuccessor

public TargetDefinition getSuccessor()
Returns the successor target, if this target has one.

Specified by:
getSuccessor in interface TargetDefinition

setSuccessorByName

public void setSuccessorByName(String suck)
Sets this target's successor. Public due to TargetDefinition.


getDaughters

public List<TargetDefinition> getDaughters()
Returns the list of daughter targets or null if this target does not have any.

Specified by:
getDaughters in interface TargetDefinition

setDaughtersByName

public void setDaughtersByName(List<String> dau)
Sets this target's daughters.


resolveChildren

public boolean resolveChildren(Collection<? extends TargetDefinition> alltargets)
Resolve all children. As soon as all targets in the target list has been read in and parsed, this method should be called to convert previously stored children names (i.e. daughternames and successorname) into living target definition references.


getPrecursor

public TargetDefinition getPrecursor()
Returns the parent target. The parent target is only set if construction of this daughter target was done at creation of the parent target.

Specified by:
getPrecursor in interface TargetDefinition

setPrecursor

public void setPrecursor(TargetDefinition anchestor)
Sets the parent target of this target.

Specified by:
setPrecursor in interface TargetDefinition

getTargetSpecific

public Object getTargetSpecific(Object idobj)
Returns a special object of target-specific definitions. Currently only three elements carry an id. These are: Simple extension could return maps, derived e.g. from a DTDConstants.CONSTANT section.

Specified by:
getTargetSpecific in interface TargetDefinition
Parameters:
idobj - An identifier, most likely a string.
Returns:
Null, if the reference is not found.

setEnabled

public void setEnabled(boolean to)
Sets the access attribute to enabled.

Specified by:
setEnabled in interface Handable

isEnabled

public boolean isEnabled()
Test the access attribute of the Object element in the given target-DOM. Returns true if this attribute is equal to enabled.

Specified by:
isEnabled in interface Handable
Returns:
True if this target may be considered for scheduling.

setFinished

public void setFinished(boolean isready)
Sets the finished flag. Used during target chaining. Should be reset after all chain-links of the target has been executed.

Specified by:
setFinished in interface Handable

isFinished

public boolean isFinished()
Returns the finished flag. Used to avoid multiple executions in target-chaining.

Specified by:
isFinished in interface Handable

setPicked

public void setPicked(boolean ispicked)
Signals that this target has been selected for observing. If the argument is false, the selection time is reset. This time is used for adding a DTDConstants.PICK section when this method is called with a false argument. Additionally, this method clears some flags:

Specified by:
setPicked in interface Handable
See Also:
Handable.errorMain(stella.ErrorEvent, stella.ErrorFinalizing, stella.ParameterClustering)

isPicked

public boolean isPicked()
Returns true if this target is currently picked. This does not guarantee that this target is observed right now, it only reveals the fact that a scheduler has signaled the target selection via the setPicked(boolean) method.
This method check if the selection time is bigger than zero.

Specified by:
isPicked in interface Handable
Returns:
True as soon as the scheduler signals picking.
See Also:
Handable.setPicked(boolean)

isNotify

public boolean isNotify(UserProfile.Notifies condition)
Returns true if the condition passed over is found in the notification list.

Specified by:
isNotify in interface Handable
Parameters:
condition - An object-specific identifier for user notifiaction.

errorMain

public void errorMain(ErrorEvent success,
                      ErrorFinalizing finish,
                      ParameterClustering set)
Signals that an error has occured in this target. If the error event handed over is null or a status event, the observation is considered successful. In any other case, the type of the error event defines the further treatment of the target.

Specified by:
errorMain in interface Handable
Parameters:
success - The ErrorEvent outcome of the last sequence.
at - The target which was executed and produced the outcome.
See Also:
processError(stella.ErrorEvent, stella.ErrorFinalizing, stella.ParameterClustering, java.util.List, java.util.List, java.lang.Integer, java.lang.Long, java.util.List, java.lang.Integer, java.util.List, java.util.List)

errorDaughter

public void errorDaughter(ErrorEvent success,
                          ErrorFinalizing finish,
                          ParameterClustering set)
Signals that an error has occured in a daughter of this target. If the error event handed over is null or a status event, the observation is considered successful. In any other case, the type of the error event defines the further treatment of the target.

Specified by:
errorDaughter in interface Handable
Parameters:
success - The ErrorEvent outcome of the last sequence.
at - The target which was executed and produced the outcome.
See Also:
processError(stella.ErrorEvent, stella.ErrorFinalizing, stella.ParameterClustering, java.util.List, java.util.List, java.lang.Integer, java.lang.Long, java.util.List, java.lang.Integer, java.util.List, java.util.List)

errorSuccessor

public void errorSuccessor(ErrorEvent success,
                           ErrorFinalizing finish,
                           ParameterClustering set)
Signals that an error has occured in the successor to this target. If the error event handed over is null or a status event, the observation is considered successful. In any other case, the type of the error event defines the further treatment of the target.

Specified by:
errorSuccessor in interface Handable
Parameters:
success - The ErrorEvent outcome of the last sequence.
at - The target which was executed and produced the outcome.
See Also:
processError(stella.ErrorEvent, stella.ErrorFinalizing, stella.ParameterClustering, java.util.List, java.util.List, java.lang.Integer, java.lang.Long, java.util.List, java.lang.Integer, java.util.List, java.util.List)

processError

private void processError(ErrorEvent success,
                          ErrorFinalizing finish,
                          ParameterClustering set,
                          List blocklist,
                          List delaylist,
                          Integer delmax,
                          Long deltime,
                          List retrylist,
                          Integer retmax,
                          List ignorelist,
                          List abortlist)
Depending on the target the termination acts on, the different abort sections are loaded. Processes termination according to the DTDConstants.EXCEPTION section handed over. In particular, this method deals with the DTDConstants.DELAY and the DTDConstants.RETRY and the DTDConstants.ABORT section. Note that this method no longer adds a pick entry to the document, this is done whenever the addExecution(stella.ParameterClustering, java.util.Date, long, java.lang.String, java.lang.String) method is called.


getSubmitted

public Date getSubmitted()
The date the target was originally submitted.

Specified by:
getSubmitted in interface HistoryAware

isProgramCompleted

public boolean isProgramCompleted()
Returns true if the observing program on this target is over. This method differs from the Appointable.isProgramOver(stella.ParameterClustering) method in the sense that a program completion is not bound to current observing circumstances, thus the normal action is that an appointable target whose program is over, may set this flag for fast replies.

Specified by:
isProgramCompleted in interface HistoryAware

addExecution

public void addExecution(ParameterClustering condition,
                         Date start,
                         long duration,
                         String unique,
                         String rem)
Adds a pick to this target. Depending on errors that occured between the call to the last setPicked(boolean) method with true and the call to this method, either a successful or non-successful pick is added. If the current size of the history is already at the maximum history, first the one pick is removed from the list. The first successful and unsuccessful pick is always retained, the pick removed is the oldest one that is not the first successful or unsuccessful pick.
S/N is ignored, this is intended for non-STELLA operation.

Specified by:
addExecution in interface HistoryAware
start - The actual observation start.
duration - The duration of target observation, ms.
rem - An optional comment.

getEntireHistory

public List<HistoryAware.Pick> getEntireHistory()
Returns the entire history the target is aware of. This implementation always retains the first successful and unsuccessful pick (at the list head), but it might erease later picks if the maximum number of picks is exceeded.

Specified by:
getEntireHistory in interface HistoryAware

getPickCount

public int getPickCount()
Returns the number of picks in the history.

Specified by:
getPickCount in interface HistoryAware

getPick

public HistoryAware.Pick getPick(int nr)
Returns the specified pick. The index is not the index in the list, but specifies how many recent pick should be skipped.

Specified by:
getPick in interface HistoryAware

getFirstPick

public HistoryAware.Pick getFirstPick()
Returns the first pick. This is the first entry, regardless if successful or failure.

Specified by:
getFirstPick in interface HistoryAware

getLastPick

public HistoryAware.Pick getLastPick()
Returns the last pick. This is the most recent entry, regardless if successful or failure.

Specified by:
getLastPick in interface HistoryAware

getSuccessCount

public int getSuccessCount()
Returns the number of succesful observations this target had. If no succesful observations had been made, zero is returned.
Implementation note: This means that the entire history is traversed which may lead to certain delays.

Specified by:
getSuccessCount in interface HistoryAware

getFailureCount

public int getFailureCount()
Returns the number of failed observations this target had.

Specified by:
getFailureCount in interface HistoryAware

getFirstSuccess

public HistoryAware.Pick getFirstSuccess()
Returns the pick of the first successful observation. If no succesful observation has been made, null is returned.

Specified by:
getFirstSuccess in interface HistoryAware
Returns:
Null if no successful observation has been made.

getLastSuccess

public HistoryAware.Pick getLastSuccess()
Returns the pick of the last successful observation. If no successful observation has been made, null is returned.

Specified by:
getLastSuccess in interface HistoryAware
Returns:
Null if no successful observation has been made.

getSuccess

public HistoryAware.Pick getSuccess(int index)
Returns the date of the succesful pick with the given index. If this index is invalid (i.e. less succesful observations made than required), null is returned.

Specified by:
getSuccess in interface HistoryAware
Parameters:
index - The index of the queried observation. Numbering starts with zero.
Returns:
Null if no successful observation with the specified index exists.

getFirstFailure

public HistoryAware.Pick getFirstFailure()
Return the date of the first failed observation.

Specified by:
getFirstFailure in interface HistoryAware
Returns:
null if no failed observations exist.

getLastFailure

public HistoryAware.Pick getLastFailure()
Returns the date of the last failed observation.

Specified by:
getLastFailure in interface HistoryAware
Returns:
null if no failed observations exist.

getFailure

public HistoryAware.Pick getFailure(int index)
Returns the date of the failed pick with the given index. If this index is invalid (i.e. less observations failed than required), null is returned.

Specified by:
getFailure in interface HistoryAware
Parameters:
index - The index of the queried observation. Numbering starts with zero.
Returns:
Null if no unsuccessful observation with the specified index exists.

clearHistory

public void clearHistory()
Deletes the entire history.


isObservable

public boolean isObservable(ParameterClustering condition)
Determines if this target is currently observable. A target is observable if the following conditions are met (checked in the stated order)

Specified by:
isObservable in interface Appointable
Parameters:
condition - The actual observing conditions. Conditions related to the target
Returns:
True if the target is currently observable.

getActualMerit

public double getActualMerit(ParameterClustering condition,
                             Collection oftargets,
                             long within)
Returns the actual value of the merit of this target. From the TargetFragment expansion, at least one DTDConstants.GAIN and one DTDConstants.TIMESLOT Meriting instance is described. During initialization of the target, the timeslots and gains are initialized. To calculate the total merit, all gains are added and then multiplied with the timeslot. The resulting double is returned.

Specified by:
getActualMerit in interface Appointable
Parameters:
condition - A set of actual observing conditions
oftargets - All targets relavant for this target.
within - The timespan within the merit should be maximized.
Returns:
A merit.

getLastFail

public Appointable.Constraint getLastFail()
If anybody want to query why we have been unobservable, use this method.

Specified by:
getLastFail in interface Appointable

getLastMerit

public double getLastMerit()
If anybody wants to query the last merit the target achieved and not want to wander through the TargetMerit parameter.

Specified by:
getLastMerit in interface Appointable

getHighestMerit

public double getHighestMerit()
The highest merit ever achieved.

Specified by:
getHighestMerit in interface Appointable

getHighestDate

public Date getHighestDate()
The date of the highest merit.

Specified by:
getHighestDate in interface Appointable

getDailyMerit

public double getDailyMerit()
The highest merit in the last 24 hours.

Specified by:
getDailyMerit in interface Appointable

getDailyDate

public Date getDailyDate()
The date of the high daily merit.

Specified by:
getDailyDate in interface Appointable

isProgramOver

public boolean isProgramOver(ParameterClustering condition)
Checks if a target has completed is life-cycle within an observing program. This is done by cycling through all timeslots and querying any EndpointDefining instance for completeness. As soon as a program is over, also the HistoryAware implementation part toggles to program over.

Specified by:
isProgramOver in interface Appointable

checkOver

private boolean checkOver(ParameterClustering condition,
                          List merits)
Checks the list of merits for possible end point-defining merits. If any of these is completed, we change the completeness flag on the last pick and return true here.


getRemainingTime

public long getRemainingTime(ParameterClustering set)
Returns the remaining time of the observation time for this target. This method hooks onto the DTDConstants.CONSTRAINT list and determines for each DTDConstants.VARIABLE parameter a remaining time via the parameter's Increasing or Decreasing property. Even if the parameter neither implements one of this interfaces, it can still deliver a remaining time of zero, if the current parameter reading is out of bounds.

Specified by:
getRemainingTime in interface Appointable
Returns:
The minimal remaining time in ms, or Long.MAX_VALUE if none given.

getRemainingTime

private long getRemainingTime(ParameterClustering set,
                              boolean info)
Returns the remaining time of the observation time for this target. This method hooks onto the DTDConstants.CONSTRAINT list and determines for each DTDConstants.VARIABLE parameter a remaining time via the parameter's Increasing or Decreasing property. Even if the parameter neither implements one of this interfaces, it can still deliver a remaining time of zero, if the current parameter reading is out of bounds.

Returns:
The minimal remaining time in ms, or Long.MAX_VALUE if none given.

getObservingTime

public long getObservingTime(ParameterClustering set)
Returns an estimate of the observing time required for this target. If a DTDConstants.DURATION element is given, it is parsed and this value is returned. If no such element is given, all the exposure times found in the setup sections of this target are evaluated and added together. If this is a parent target class without a setup section, zero is returned.

Specified by:
getObservingTime in interface Appointable
Returns:
The estimated observation time in ms.

isAbort

public boolean isAbort(ParameterClustering set)
Checks if the target should be aborted. The target is aborted either if its abort flag was raised or if the current observing conditions block it from observation.

Specified by:
isAbort in interface Appointable

isRetry

public boolean isRetry(ParameterClustering set)
Checks if the target should be retried. A retry is only possible if an error occured that was catched in the DTDConstants.RETRY clause of the DTDConstants.EXCEPTION element, and the number of retries have not reached the maximum retry count. Retry is also prohibited if the current observation conditions block the target from observation.

Specified by:
isRetry in interface Appointable

toString

public String toString()
Returns a string representation of the DOM-Target. Returns the target name.

Overrides:
toString in class PropertyContainer

equals

public boolean equals(Object that)
Compares this target definition for equality. Two domtargets are considered equal if their unique target name matches.

Overrides:
equals in class Object

compareTo

public int compareTo(Object o)
Compares two parsed targets. If two targets are not equals, we compare the last merits of the targets. If these happen to be equal, we compare the target names, which is, by definition consistant with equal, as two target may not have the same name.

Specified by:
compareTo in interface Comparable

setTargetType

protected void setTargetType(String type)
Sets the target type. Used on initial parsing.


setSubmitted

public void setSubmitted(Date submit)
Sets the target submission date. Used on initial parsing.


setTargetName

public void setTargetName(String name,
                          String id)
Sets the target name. Used on initial parsing.


setImageType

protected void setImageType(String itype)
Sets the image type. Used on initial parsing, has default value.


setTargetFile

protected void setTargetFile(File xml)
Sets the target xml-file. Used on initial parsing.


setUser

protected void setUser(String who)
Sets the target user. Used on initial parsing.


setTeam

protected void setTeam(List<String> who)
Sets the target cois. Used on initial parsing.


setEmailAddresses

protected void setEmailAddresses(List<javax.mail.Address> address)
Sets the list of e-mail addresses. Used on initial parsing.


setNotify

protected void setNotify(Set<UserProfile.Notifies> triggers)
Sets the list of notification triggers. Used on initial parsing.


setTitle

protected void setTitle(String program)
Sets the observing program title. Used on initial parsing.


setDescription

protected void setDescription(String program)
Sets the observing program description. Used on initial parsing.


setInstitution

protected void setInstitution(UserProfile.Affil who)
Sets the target institute. Used on initial parsing.


setDatabaseAccess

public void setDatabaseAccess(boolean read,
                              boolean write)
Sets the database-access flags for read and write.


setHistoryDatabaseAccess

public void setHistoryDatabaseAccess(boolean read,
                                     boolean write)
Sets the history database-access flags for read and write.


setHistory

public void setHistory(List<HistoryAware.Pick> past,
                       int max)
Sets the target history and its maximum size. Used on initial parsing.

Parameters:
past - The pick history of the target, good and bad picks.
max - The maximum size of the history list.
db - The history-db access boolean.

setProgramCompleted

public void setProgramCompleted(boolean over)
Returns true if the observing program on this target is over. This method differs from the Appointable.isProgramOver(stella.ParameterClustering) method in the sense that a program completion is not bound to current observing circumstances, thus the normal action is that an appointable target whose program is over, may set this flag for fast replies.


getHistoryMax

public int getHistoryMax()
Returns the maximum size of the history. Was initialized on initial parsing.


getDatabaseWrite

public boolean getDatabaseWrite()
Returns the history database-access boolean. This string is initialized during xml-parsing.


getDatabaseRead

public boolean getDatabaseRead()
Returns the history database-access boolean. This string is initialized during xml-parsing.


getHistoryDatabaseWrite

public boolean getHistoryDatabaseWrite()
Returns the history database-access boolean. This string is initialized during xml-parsing.


getHistoryDatabaseRead

public boolean getHistoryDatabaseRead()
Returns the history database-access boolean. This string is initialized during xml-parsing.


setErrors

protected void setErrors(Map<String,List<String>> blockmap,
                         Map<String,List<String>> delaymap,
                         Map<String,List<String>> abortmap,
                         Map<String,List<String>> retrymap,
                         Map<String,List<String>> ignoremap)
Sets the error maps. Used on initial parsing.


getErrors

protected Map[] getErrors()
Returns an array of mappings of exception targets to error names. Exception targets are strings like 'this', 'successor', or 'daughter'. The errors returned are the blocking errors on index zero, the delaying errors on index one, the aborting erros on index two, the retry-errors on index three, and the ignorable errors on index four.

Returns:
Array of error-map, blocking, delaying, aborting, retrying, and ignoring.

setDelayAndRetry

protected void setDelayAndRetry(Map<String,Integer> delmax,
                                Map<String,Long> delfor,
                                Map<String,Integer> retmax)
Sets the maximum number of retries, the maximum number of delays and the delay time. All are maps of the target this exception applies to and the specific numer, e.g. a map from this to 3. Used on initial parsing.

Parameters:
delmax - Mapping of exception target to maximum delays.
delfor - Mapping of exception target to delay times.
retmax - Mapping of exception target to maximum retries.

getDelayAndRetry

protected Map[] getDelayAndRetry()
Returns the mapping to the maximum number of retries, delays and the delay time. Used in transforming the parsed target back to a Document. The maps returned are the maximum number of delay in index 0, the delay times in index one and the maximum number of retries in index two.

Returns:
A map array of delaymax, delaytime and retrymax.

setRequires

protected void setRequires(ExpressionEvaluator necessary)
Sets the boolean condition that is check for target availability prior to any other parameter constraints. This is an expression that will be evaluated at run-time. Used on initial parsing.


getRequires

protected ExpressionEvaluator getRequires()
Returns the expression that must evaluate to true for this target to get picked.


setConstraints

protected void setConstraints(List<Appointable.Constraint> prevent)
Sets the target constraints. Used on initial parsing.


getConstraints

public List<Appointable.Constraint> getConstraints()
Returns the list of ParsedTarget.Constraint objects this target is subject to.


setMerits

protected void setMerits(List<Meriting> multiplicative,
                         List<Meriting> additive)
Sets the target merits. The merits splits in additive gains and multiplicative timeslots. Used on initial parsing.


getMerits

protected List[] getMerits()
Returns the timeslot and gain merits as an array. First index is the timeslots list, second index is the gains list.


setRateRequires

protected void setRateRequires(ExpressionEvaluator necessary)
Sets the boolean condition that is check for target availability prior to any other parameter constraints. This is an expression that will be evaluated at run-time. Used on initial parsing.


getRateRequires

protected ExpressionEvaluator getRateRequires()
Returns the expression that must evaluate to true for this target to get evaluated after an observation.


setRateConstraints

protected void setRateConstraints(List<Appointable.Constraint> prevent)
Sets the target constraints. Used on initial parsing.


getRateConstraints

protected List<Appointable.Constraint> getRateConstraints()
Returns the list of ParsedTarget.Constraint objects this target is subject to at rating.


setDuration

protected void setDuration(ExpressionEvaluator durcalc)
Sets the estimated duration of target execution. This is an expression that will be evaluated at run-time. Used on initial parsing.


getDuration

protected ExpressionEvaluator getDuration()
Returns the expression that is used to calculate the execution time of the target. May return null.


setSetups

protected void setSetups(Map instrumentation)
Sets the map of setups. Used on initial parsing.


getSetups

public Map<Object,Object> getSetups()
Returns the list of Setup objects of this target.


setAstronomicalData

protected void setAstronomicalData(Map astro)
Sets the map of astronomical targets. Used on initial parsing.


getAstronomicalData

protected Map getAstronomicalData()
Returns all stars in this target.


setFitsHeader

protected void setFitsHeader(Map fits)
Sets the map of fits headers. Used on initial parsing.


getFitsHeader

protected Map getFitsHeader()
Returns all fits header in this target.