net.agmodel.metDriver
Class FieldServer

java.lang.Object
  extended bynet.agmodel.dbUtility.InternetHost
      extended bynet.agmodel.dbUtility.JDBC
          extended bynet.agmodel.dbUtility.JDBCPostgres
              extended bynet.agmodel.metDriver.FieldServer
All Implemented Interfaces:
AccessMechanism, DBAccessMechanism, MetAccessMechanism

public class FieldServer
extends JDBCPostgres
implements MetAccessMechanism

Provides acccess to HortPlus' MySQL database

Author:
Matthew Laurenson

Constructor Summary
FieldServer(MetSourceForDrivers metSource, Properties properties)
           
 
Method Summary
 void checkForDatabaseUpdates()
          connect to database and check the metadata
 boolean connectForData(String username, String password)
          Called before data is retrieved from the AccessMechanism
 TimeZone getDatabaseTimeZone()
           
 int looseCompare(double a, double b, double delta)
           
 void queryForStation(MetRequest request, String stationID, StationDataSetImpl result)
          Retrieve the relevant data from a single station.
 void updateRegionList()
          Update the list of regions (if any) held by the MetSource
 void updateStationList(String fromStation)
          Update the list of stations held by the MetSource
 
Methods inherited from class net.agmodel.dbUtility.JDBCPostgres
connect
 
Methods inherited from class net.agmodel.dbUtility.JDBC
connectForMetaData, disconnectFromData, disconnectFromMetaData, getConn
 
Methods inherited from class net.agmodel.dbUtility.InternetHost
getHost, getPort
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.agmodel.brokerImpl.DBAccessMechanism
connectForMetaData, disconnectFromData, disconnectFromMetaData
 

Constructor Detail

FieldServer

public FieldServer(MetSourceForDrivers metSource,
                   Properties properties)
Method Detail

getDatabaseTimeZone

public TimeZone getDatabaseTimeZone()
Specified by:
getDatabaseTimeZone in interface MetAccessMechanism

queryForStation

public void queryForStation(MetRequest request,
                            String stationID,
                            StationDataSetImpl result)
                     throws ConnectionException
Description copied from interface: MetAccessMechanism
Retrieve the relevant data from a single station.

Specified by:
queryForStation in interface MetAccessMechanism
Parameters:
request - describes what data is required
stationID - identifies which station from the met data source to query
result - the skeletal query result (created by MetSourceImpl) for the driver fill in with data hostID is the native identifier for the station on the host database system.
If the request is a StationMetRequest, then the hostID will also be embedded in the request but should be ignored by this method. If there is no data at all for the station, this method should return the skeletal query result untouched. If there is no data for a particular element, then no corresponding sequence should be inserted into the StationDataSetImpl.
Throws:
ConnectionException

updateStationList

public void updateStationList(String fromStation)
                       throws ConnectionException
Description copied from interface: MetAccessMechanism
Update the list of stations held by the MetSource

Specified by:
updateStationList in interface MetAccessMechanism
Parameters:
fromStation - start the update from this station (the driver may ignore this value and update all stations) The fromStation parameter is intended to help with large databases where, particularly during driver development, the updating process may fail midway through. It avoids the need to start again from the beginning. Drivers are welcome to entirely ignore this parameter. A null parameter value indicates that updating should start from the beginning.
Throws:
ConnectionException

updateRegionList

public void updateRegionList()
                      throws GeneralException
Description copied from interface: MetAccessMechanism
Update the list of regions (if any) held by the MetSource

Specified by:
updateRegionList in interface MetAccessMechanism
Throws:
GeneralException

connectForData

public boolean connectForData(String username,
                              String password)
                       throws ConnectionException
Description copied from interface: DBAccessMechanism
Called before data is retrieved from the AccessMechanism

Specified by:
connectForData in interface DBAccessMechanism
Overrides:
connectForData in class JDBC
Throws:
ConnectionException

checkForDatabaseUpdates

public void checkForDatabaseUpdates()
                             throws ConnectionException
Description copied from interface: DBAccessMechanism
connect to database and check the metadata

Specified by:
checkForDatabaseUpdates in interface DBAccessMechanism
Overrides:
checkForDatabaseUpdates in class JDBC
Throws:
ConnectionException

looseCompare

public int looseCompare(double a,
                        double b,
                        double delta)


Copyright (C) NARC 2001 All Rights Reserved.