<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/**
 * 
 * You can add code anywhere in this file - except in the areas that are
 * written by the editor. You should not change the relative ordering of
 * the code.
 * 
 * You can remove this comment block or replace it with another.
 * 
 * @see        
 * @version    
 * @author    
 */

import java.awt.*;
import java.awt.event.*;
import java.beans.*;
import java.io.*;
import java.net.*;
import java.util.*;
import java.text.*;
import com.supercede.forms.*;
import TimePeriod;
import LunarMonth;
import Week;
import Day;
import Parameters;
import HASP_Report_Runner;
import Report;
import java.sql.SQLException;
import ErrorScreen;
import StatusForm;

public class ParameterScreen extends SuperCedeFrame implements Runnable, Serializable
{

    private Parameters pms;
    private TimePeriod periods [];
    private TimePeriod subPeriods [];
    private HASP_Report_Runner dbIF = new HASP_Report_Runner ();
    private static StatusForm stat = null;
    private ErrorScreen errT;
    public static ParameterScreen form;
    
    void parameterScreenPreInit()
    {
        // You can add code anywhere in this method.
        // This method is called PRIOR to form initialization.
        // NOTE: The form has NOT been initialized yet. Do not modify 
        // the form itself in this method.

        // Put up a start-up message first
        try {
            stat = new StatusForm (this);
            stat.setVisible (true);
        } catch (Throwable t) {
            try {
                errT = new ErrorScreen (this);
                errT.addError ("Cannot construct the status form: " + t);
                errT.setVisible (true);
            } catch (Throwable e) {
                ;
            }
        }
        // Set the message
        stat.SetStatusLine ("Status: Loading origins and destinations " +
          "from database");
    }
    /** ParameterScreenPostInit
     * Fill the Fiscal Year block with legal Fiscal Years (currently
     * 1996-2004) and initialize the Database Interface.
     */
    void parameterScreenPostInit()
    {
        setLocation (100, 100);
        GregorianCalendar now = new GregorianCalendar ();
                    //Get today's date
        // DO for FYs 1996-2004
        for (int i = 1996; i &lt;= 2004; i++) {
            Week first = new Week (i, 1);
            if (first.EndDate ().after (now)) break;
            listFYs.add (String.valueOf (i));
        }
        // Initialize the Database Interface
        try {
            dbIF.init ();
        } catch (SQLException e) {
            try {
                errT = new ErrorScreen (this);
                errT.addError ("Cannot open database connection");
                errT.setVisible (true);
            } catch (Throwable t) {
                ;
            }
        }
        // Bring down the status screen, if there is one
        if (stat != null)
            stat.SuperCedeWindowClosing (null);
    }
    
public static void main(String args[])
    {
        // You can add code anywhere in this method.

        // Re-assign stderr &amp; stdout to files
        try {
            System.setOut (new PrintStream (new FileOutputStream (new File ("stdout.log"))));
            System.setErr (new PrintStream (new FileOutputStream (new File ("stderr.log"))));
        } catch (Throwable t) {
            System.out.println ("Cannot redirect stdout &amp; stderr");
        }
        try
        {
            form = new ParameterScreen();
            form.setLocation (100,100);
            form.setVisible(true);
        }
        catch(Throwable t)
        {
            System.out.println ("Cannot construct the form: " + t);
            System.exit(1);
        }
    }


    public boolean parameterScreenWindowClosing(WindowEvent arg0)
    {
        // Put event handler code here. Return false for normal 
        // processing, true to override

        return false;
    }

    public boolean parameterScreenWindowClosed(WindowEvent arg0)
    {
        // Put event handler code here. Return false for normal 
        // processing, true to override

        return false;
    }

    /** Stop the main thread. */
    public void stop()
    {
        // You can add code anywhere in this method.

        SuperCedeStop();   // Do not remove this line.
    }
           
    /** Start the main thread. */
    public void start()
    {
        // You can add code anywhere in this method.

        SuperCedeStart();   // Do not remove this line.
    }

    public void run()
    {
        // This method is called when the thread is started.
        // Thread execution is controlled by the start and stop methods.

        // You can add code anywhere in this method.
    }

    /** Called when a character is typed into the "Origin" text
     * field. Get the anticipated description, along with the
     * anticipated code, and put in the right fields. */
    public void textOriginKeyReleased(KeyEvent arg0)
    {
        // Do nothing if a modifier key was released
        int keyCode = arg0.getKeyCode ();
        if ((keyCode == KeyEvent.VK_SHIFT) || 
          (keyCode == KeyEvent.VK_CAPS_LOCK) || 
          (keyCode == KeyEvent.VK_NUM_LOCK) || 
          (keyCode == KeyEvent.VK_META) ||
          (keyCode == KeyEvent.VK_UP) ||
          (keyCode == KeyEvent.VK_DOWN) ||
          (keyCode == KeyEvent.VK_LEFT) ||
          (keyCode == KeyEvent.VK_RIGHT))
            return;
        
        // Get the new value of the text field
        String typedText = textOrigin.getText ();
        // If backspace, get rid previous typed character, unless @ begin
        if ((keyCode == KeyEvent.VK_BACK_SPACE) &amp;&amp;
          (typedText.length () &gt; 0)) {
            String sub = textOrigin.getText ();
            typedText = sub.substring (0, sub.length () - 1);
            textOrigin.setText (typedText);
        }
        // Upcase the typed text
        typedText = typedText.toUpperCase ();    
        // Look up probable additional text
        String fullText [] = dbIF.originDescriptions (typedText);
        if (fullText [1].length () == 0)
            fullText [1] = typedText + " ";
        // Add the additional text to the typed text, select the new text.
        textOrigin.setText (fullText [1]);
        textOrigin.setSelectionStart (typedText.length ());
        textOrigin.setSelectionEnd (fullText [1].length ());
        // Look up and display the site ID
        textOriginZip.setText (fullText [0]);
        
        // Clear out old entries
        listDestText.removeAll ();
        listDestNums.removeAll ();
        // Clear out old destination list
        labelDestAll.setText ("No destinations chosen.");
        // Fill the Destination Text box
        Vector destTexts = dbIF.destDescriptions ();
        // Fill the Destination Codes box
        Vector destCodes = dbIF.destCodes ();
        for (int i = 0; i &lt; destTexts.size (); i++) {
            listDestText.add ((String)destTexts.elementAt (i));
            listDestNums.add ((String)destCodes.elementAt (i));
        }
            
    }

    /** Called when a character is typed into the "Origin Code" text
     * field. Get the anticipated description, along with the
     * anticipated code, and put in the right fields. */
    public void textOriginZipKeyReleased(KeyEvent arg0)
    {
        // Do nothing if a modifier key was released
        int keyCode = arg0.getKeyCode ();
        if ((keyCode == KeyEvent.VK_SHIFT) || 
          (keyCode == KeyEvent.VK_CAPS_LOCK) || 
          (keyCode == KeyEvent.VK_NUM_LOCK) || 
          (keyCode == KeyEvent.VK_META) ||
          (keyCode == KeyEvent.VK_DOWN) ||
          (keyCode == KeyEvent.VK_LEFT) ||
          (keyCode == KeyEvent.VK_RIGHT))
            return;
            
        // Get the new value of the code field
        String typedText = textOriginZip.getText ();
        // If backspace, get rid previous typed character, unless @ begin
        if ((keyCode == KeyEvent.VK_BACK_SPACE) &amp;&amp;
          (typedText.length () &gt; 0)) {
            String sub = textOriginZip.getText ();
            typedText = sub.substring (0, sub.length () - 1);
            textOriginZip.setText (typedText);
        }    
        // Upcase the typed text
        typedText = typedText.toUpperCase ();    
        // Look up probable additional text
        String fullText [] = dbIF.originCodes (typedText);
        if (fullText [0].length () == 0)
            fullText [0] = typedText + " ";
        // Add the additional text to the typed text, select the new text.
        textOriginZip.setText (fullText [0]);
        textOriginZip.setSelectionStart (typedText.length ());
        textOriginZip.setSelectionEnd (fullText [0].length ());
        // Look up and display the site ID
        textOrigin.setText (fullText [1]);
        
        // Clear out old entries
        listDestText.removeAll ();
        listDestNums.removeAll ();
        // Clear out old destination list
        labelDestAll.setText ("No destinations chosen.");
        // Fill the Destination Text box
        Vector destTexts = dbIF.destDescriptions ();
        // Fill the Destination Codes box
        Vector destCodes = dbIF.destCodes ();
        for (int i = 0; i &lt; destTexts.size (); i++) {
            listDestText.add ((String)destTexts.elementAt (i));
            listDestNums.add ((String)destCodes.elementAt (i));
        }
            
    }

    /** Called when the "Weekly" period button is pressed. Clear the
     * Period list box, and fill with a list of Weeks from the chosen
     * Fiscal Years. */
    public void radioWeeklyPdItemStateChanged(ItemEvent arg0)
    {
        String FYs [] = listFYs.getSelectedItems ();
        int i, k;
        // Clear the period list box &amp; date text first
        listPeriods.removeAll ();
        textDate.setText ("");
        // Find the state. If true (selected),...
        boolean state = radioWeeklyPd.getState ();
        if (state == true) {
            // Create list of lunar months
            periods = new Week [52 * FYs.length];
            int fy;
            for (k = 0; k &lt; FYs.length; k++) {
                fy = Integer.valueOf (FYs [k]).intValue ();
                Week period;
                String str;
                GregorianCalendar now = new GregorianCalendar ();
                    // Get today's date
                int j = 0;
                for (i = 0; i &lt; 52; i++, j++) {
                    period = new Week (fy, i+1);
                    periods [(k*52)+j] = period;
            // Add lines for each period created
            // NOTE: Lines not added if part or all in the future
                    if (period.EndDate ().after (now))
                        break;
                    str = "FY:"+fy+", Week:";
                    if (i &lt; 9)
                        str = str.concat ("0");
                    str = str.concat (String.valueOf (i+1));
                    str = str.concat (",   ");
                    str = str.concat(period.PrintDate(period.BeginningDate()));
                    str = str.concat (" - ");
                    str = str.concat (period.PrintDate (period.EndDate ()));
                    listPeriods.add (str);
                }
            }                
        }
    }

    /** Called when the "Accounting Period" period button is pressed.
     * Clear the Period list box, and fill with a list of Weeks from
     * the chosen Fiscal Years. */
    public void radioAccountingPdItemStateChanged(ItemEvent arg0)
    {
        String FYs [] = listFYs.getSelectedItems ();
        int i, k;
        // Clear the period list box &amp; text date first
        listPeriods.removeAll ();
        textDate.setText ("");
        // Find the state. If true (selected),...
        boolean state = radioAccountingPd.getState ();
        if (state == true) {
            // Create list of lunar months
            periods = new LunarMonth [13 * FYs.length];
            int fy;
            for (k = 0; k &lt; FYs.length; k++) {
                fy = Integer.valueOf (FYs [k]).intValue();
                LunarMonth period;
                String str;
                GregorianCalendar now = new GregorianCalendar ();
                        // Get today's date
                int j = 0;
                for (i = 0; i &lt; 13; i++, j++) {
                    period = new LunarMonth (fy, i+1);
                    periods [(k*13)+j] = period;
            // Add lines for each period created
            // NOTE: Lines not added if part or all in the future
                    if (period.EndDate ().after (now))
                        break;
                    str = "FY:"+fy+", AP:";
                    if (i &lt; 9)
                        str = str.concat ("0");
                    str = str.concat (String.valueOf (i+1));
                    str = str.concat (",   ");
                    str = str.concat(period.PrintDate(period.BeginningDate()));
                    str = str.concat (" - ");
                    str = str.concat (period.PrintDate (period.EndDate ()));
                    listPeriods.add (str);
                }
            }                
        }
    }

    /** Called when the "Daily" period button is pressed. Clear the
     * Period list box, and initialize the chosen date with Jan. 1 of
     * the first chosen Fiscal Year. */
    public void radioDailyPdItemStateChanged(ItemEvent arg0)
    {
        // Clear the period list box first
        listPeriods.removeAll ();
        // Set up a fake date - Jan 1 of year chosen
        String fy = listFYs.getSelectedItems ()[0];
        textDate.setText ("01/01/"+fy);
    }

    /** Called when the "Reset" button is pressed. Clear all the
     * parameters by switching to a new blank ParameterScreen. */
    public void buttonResetMouseReleased(MouseEvent arg0)
    {
        // Reset as many parameters as is possible
        int i = 0;
        for (i = 0; i &lt; listFYs.getItemCount (); i++)
            listFYs.deselect (i);
        listPeriods.removeAll ();
        textDate.setText ("");
        textOrigin.setText ("");
        textOriginZip.setText ("");
        listDestText.removeAll ();
        listDestNums.removeAll ();
        labelDestAll.setText ("No destinations chosen.");
    }

    public void init()
    {
        // You can add code anywhere in this method.
        SuperCedeInit();   // Do not remove this line.
    }

    /** Called when a change in selections in the Destination
     * text box is made. A corresponding change is made in the
     * Destination Code text box. */
    public void listDestTextItemStateChanged(ItemEvent arg0)
    {
        // Clear all selections in the zip box first
        for (int i = 0; i &lt; listDestNums.getItemCount (); i++) {
            listDestNums.deselect (i);
        }
        // Select the corresponding zip in the next box
        int selections [];
        selections = listDestText.getSelectedIndexes ();
        for (int i = 0; i &lt; selections.length; i++) {
            listDestNums.select (selections [i]);
        }
        // Put together the destination text label
        String selText [] = listDestText.getSelectedItems ();
        if (selText.length == 0) {
            labelDestAll.setText ("No destinations chosen.");
        } else {
            String allLabel = new String ("Destinations: ");
            for (int i = 0; i &lt; selections.length; i++) {
                if (i &gt; 0) {
                    allLabel = allLabel.concat (", ");
                }
                allLabel = allLabel.concat (selText [i]);
            }
            labelDestAll.setText (allLabel);
        }
    }

    /** Called when a change in selections in the Destination
     * Code text box is made. A corresponding change is made in the
     * Destination text box. */
    public void listDestNumsItemStateChanged(ItemEvent arg0)
    {
        // Clear all selections in the text box first
        for (int i = 0; i &lt; listDestText.getItemCount (); i++) {
            listDestText.deselect (i);
        }
        // Select the corresponding text in the previous box
        int selections [];
        selections = listDestNums.getSelectedIndexes ();
        for (int i = 0; i &lt; selections.length; i++) {
            listDestText.select (selections [i]);
        }
        // Put together the destination text label
        String selText [] = listDestText.getSelectedItems ();
        if (selText.length == 0) {
            labelDestAll.setText ("No destinations chosen.");
        } else {
            String allLabel = new String ("Destinations: ");
            for (int i = 0; i &lt; selections.length; i++) {
                if (i &gt; 0) {
                    allLabel = allLabel.concat (", ");
                }
                allLabel = allLabel.concat (selText [i]);
            }
            labelDestAll.setText (allLabel);
        }
    }

    public void buttonSubmitActionPerformed(ActionEvent arg0)
    {
        // Check to make sure parameters were chosen
        // o First, check for a report period.
        int indexes [] = listPeriods.getSelectedIndexes ();
        ErrorScreen err = null;
        if ((indexes.length == 0) &amp;&amp; (textDate.getText().length()==0)){
            try {
                err = new ErrorScreen (this);
                err.addError ("Please specify a report period.");
                err.setVisible (true);
            } catch (Throwable e) {
                ;
            }
        }
        // o If a date was typed in, parse and check validity
        String dateStr = textDate.getText ();
        if (dateStr.length () != 0) {
            ParsePosition parse = new ParsePosition (0);
            DecimalFormat df = new DecimalFormat ();
            Long month;
            Long day;
            Long year;
            try {
                month = (Long)df.parse (dateStr, parse);
                parse.setIndex (parse.getIndex () + 1);//Ignore '/'
                day = (Long)df.parse (dateStr, parse);
                parse.setIndex (parse.getIndex () + 1);//Ignore '/'
                year = (Long)df.parse (dateStr, parse);
                if ((day == null) || (month == null) ||
                  (year == null)) {
                    if (err == null)
                        err = new ErrorScreen (this);
                    err.addError (
                      "Please correct the date. Format required: 01/23/1995");
                    err.setVisible (true);
                    year = new Long (1995);
                        // so code doesn't blow up below!
                }
            } catch (Throwable e) {
                try {
                    if (err == null)
                        err = new ErrorScreen (this);
                    err.addError (
                      "Please correct the date. Format required: 01/23/1995");
                    err.setVisible (true);
                } catch (Throwable f) {
                    ;
                }
                year = new Long (1995);// so code doesn't blow up below!
            }
            if (year.longValue () &lt; 1995) {
                try {
                    if (err == null)
                        err = new ErrorScreen (this);
                    err.addError ("Please correct the year. 4 digits only!!");
                    err.setVisible (true);
                } catch (Throwable g) {
                    ;
                }
            }
        }
        // o An origin must be specified
        //textOrigin.setText ("BUSSE");
        //textOriginZip.setText ("06H");
        if ((textOrigin.getText().length() == 0) ||
          (textOriginZip.getText().length() == 0)) {
            try {
                if (err == null)
                    err = new ErrorScreen (this);
                err.addError ("Please specify an origin.");
                err.setVisible (true);
            } catch (Throwable g) {
                ;
            }
        }
        // o At least one destination must be specified, and the number
        //   selected in both list boxes must be equal.
        int destTextIndexes [] = listDestText.getSelectedIndexes ();
        int destNumIndexes [] = listDestNums.getSelectedIndexes ();
        //int destTextIndexes [] = new int [1];
        //int destNumIndexes [] = new int [1];
        //destTextIndexes [0] = 0;
        //destNumIndexes [0] = 0;
        if ((destTextIndexes.length == 0) || (destNumIndexes.length == 0)
          || (destTextIndexes.length != destNumIndexes.length)) {
            try {
                if (err == null)
                    err = new ErrorScreen (this);
                err.addError (
                  "Please specify at least one destination.");
                err.setVisible (true);
            } catch (Throwable g) {
                ;
            }
        }
        
        // Stop processing if an error screen was thrown up
        if (err != null)
            return;

        // Put parameters chosen in a Parameters object
        pms = getParameters ();

        // Start the report generator thread
        Report rep = new Report (this, pms, dbIF);
        Thread reportThread = new Thread (rep);
        reportThread.start ();
    }

    private Parameters getParameters () {
        TimePeriod pds [] = null;
        Parameters pms = null;
        int indexes [] = null;
        // IF the report type is Daily THEN
        if (radioDailyPd.getState () == true) {
        
            // Create a valid day for the report period
            ParsePosition parse = new ParsePosition (0);
            DecimalFormat df = new DecimalFormat ();
            Long year;
            Long month;
            Long day;
            String dateStr = textDate.getText ();
            try {
                month = (Long)df.parse (dateStr, parse);
                parse.setIndex (parse.getIndex () + 1);//Ignore '/'
                day = (Long)df.parse (dateStr, parse);
                parse.setIndex (parse.getIndex () + 1);//Ignore '/'
                year = (Long)df.parse (dateStr, parse);
                pds = new TimePeriod [1];
                pds [0] = new Day (year.intValue (), month.intValue (),
                  day.intValue ());
            } catch (Throwable e) {
                ;
            }
            
        // ELSE (Weekly or AP)
        } else {
        
            // DO FOR each selected period
            indexes = listPeriods.getSelectedIndexes ();
            pds = new TimePeriod [indexes.length];
            for (int i = 0; i &lt; indexes.length; i++) {
            
                // Fetch the selected period object and save
                pds [i] = periods [indexes [i]];
                
            // ENDDO
            }
            
        // ENDIF
        }
        
        // IF the report type is NOT AP THEN
        if (radioAccountingPd.getState () == false) {
        
            // Copy the subperiod array from the period array
            subPeriods = pds;
            
        // ELSE
        } else {
        
            // DO FOR each accounting period
            subPeriods = new TimePeriod [indexes.length * 4];
            for (int i = 0; i &lt; indexes.length; i++) {
            
                // Create 4 week objects for the subperiod array
                subPeriods [(i*4) + 0] =
                  new Week (pds [i].GetFiscalYear (),
                  (pds [i].GetID () - 1) * 4 + 1);
                subPeriods [(i*4) + 1] =
                  new Week (pds [i].GetFiscalYear (),
                  (pds [i].GetID () - 1) * 4 + 2);
                subPeriods [(i*4) + 2] =
                  new Week (pds [i].GetFiscalYear (),
                  (pds [i].GetID () - 1) * 4 + 3);
                subPeriods [(i*4) + 3] =
                  new Week (pds [i].GetFiscalYear (),
                  (pds [i].GetID () - 1) * 4 + 4);
                  
            // ENDDO
            }
            
        // ENDIF
        }
        
        // Fetch the Origin and OriginCode strings
        String origin = textOrigin.getText ();
        String originCode = textOriginZip.getText ();
        
        // Fetch the Destination and Destination Code string arrays
        String dests [] = listDestText.getSelectedItems ();
        String destsCode [] = listDestNums.getSelectedItems ();
        
        // Fetch the HASP name
        String HASP = choiceHasp.getSelectedItem ();
        // Create the Parameters object and return it
        try {
            pms = new Parameters (pds, subPeriods, origin, originCode,
              dests, destsCode, "HUB");
        } catch (Throwable p) {
            ;
        }
        return pms;
    }
    public void buttonSelectAllActionPerformed(ActionEvent arg0)
    {
        // Select all items in the Destination Number and
        // Destination Text boxes
        int count = listDestNums.getItemCount ();
        for (int i = 0; i &lt; count; i++) {
            listDestNums.select (i);
            listDestText.select (i);
        }
        // Set the text version of destinations chosen
        String allLabel = new String ("Destinations: ");
        String selText [] = listDestText.getSelectedItems ();
        for (int i = 0; i &lt; selText.length; i++) {
            if (i &gt; 0) {
                allLabel = allLabel.concat (", ");
            }
            allLabel = allLabel.concat (selText [i]);
        }
        labelDestAll.setText (allLabel);
    }

    public void buttonFYallActionPerformed(ActionEvent arg0)
    {
        // Select all fiscal years
        int count = listFYs.getItemCount ();
        for (int i = 0; i &lt; count; i++) {
            listFYs.select (i);
        }
        // Enable all 3 radio buttons
        radioAccountingPd.setEnabled (true);
        radioWeeklyPd.setEnabled (true);
        radioDailyPd.setEnabled (true);
    }

    public void buttonExitMouseReleased(MouseEvent arg0)
    {
        // We're done, get out of here
        System.exit (0);
    }

    public void listFYsMouseReleased(MouseEvent arg0)
    {
        // If AP or Weekly or Daily is chosen already, and selected, re-get their periods
        if ((radioAccountingPd.isEnabled () == true) &amp;&amp;
          (radioAccountingPd.getState () == true)) {
            radioAccountingPdItemStateChanged (null);
        } else if ((radioWeeklyPd.isEnabled () == true) &amp;&amp;
          (radioWeeklyPd.getState () == true)) {
            radioWeeklyPdItemStateChanged (null);
        } else if ((radioDailyPd.isEnabled () == true) &amp;&amp;
          (radioDailyPd.getState () == true)) {
            radioDailyPdItemStateChanged (null);
        }
        
        // Enable all 3 radio buttons
        radioAccountingPd.setEnabled (true);
        radioWeeklyPd.setEnabled (true);
        radioDailyPd.setEnabled (true);
    }

    // SuperCede Begin 2.0 Form Members
    // Do not remove the Begin and End markers.
    // The editor will rewrite the contents of this section each time the form is saved.

    // References to Beans within the Form.

    com.supercede.beans.stdawt.RadioButton radioAccountingPd;
    com.supercede.beans.stdawt.RadioButton radioWeeklyPd;
    com.supercede.beans.stdawt.RadioButton radioDailyPd;
    TextField textDate;
    Label labelFY;
    Label labelType;
    Label labelPeriod;
    Label labelOrigin;
    Label labelHASP;
    Label labelDest;
    TextField textOrigin;
    Choice choiceHasp;
    List listDestText;
    TextField textOriginZip;
    List listDestNums;
    Button buttonSubmit;
    Button buttonReset;
    List listPeriods;
    Button buttonSelectAll;
    List listFYs;
    Button buttonFYall;
    Button buttonExit;
    TextField labelDestAll;
    Label labelVia;
    Label labelViaHasp;

    public Thread myThread;

    private void SuperCedeConstructor() throws IOException, ClassNotFoundException, ClassCastException, SuperCedeInvalidStateException
    {
        // Construct the actual connectors to give to our base class.

        Vector connectors = new Vector(15);
        connectors.addElement(new ParameterScreenEventConnector7(this));
        connectors.addElement(new ParameterScreenEventConnector14(this));
        connectors.addElement(new ParameterScreenEventConnector15(this));
        connectors.addElement(new ParameterScreenEventConnector16(this));
        connectors.addElement(new ParameterScreenEventConnector17(this));
        connectors.addElement(new ParameterScreenWindowClosingConnector18(this));
        connectors.addElement(new ParameterScreenWindowClosedConnector19(this));
        connectors.addElement(new ParameterScreenEventConnector20(this));
        connectors.addElement(new ParameterScreenEventConnector21(this));
        connectors.addElement(new ParameterScreenEventConnector24(this));
        connectors.addElement(new ParameterScreenEventConnector25(this));
        connectors.addElement(new ParameterScreenEventConnector26(this));
        connectors.addElement(new ParameterScreenEventConnector28(this));
        connectors.addElement(new ParameterScreenEventConnector29(this));
        connectors.addElement(new ParameterScreenEventConnector32(this));

        super.initializeThis(connectors);

        // Make references to Beans within the Form.

        int i = 0;

        radioAccountingPd = (com.supercede.beans.stdawt.RadioButton) getComponent(i++);
        radioWeeklyPd = (com.supercede.beans.stdawt.RadioButton) getComponent(i++);
        radioDailyPd = (com.supercede.beans.stdawt.RadioButton) getComponent(i++);
        textDate = (TextField) getComponent(i++);
        labelFY = (Label) getComponent(i++);
        labelType = (Label) getComponent(i++);
        labelPeriod = (Label) getComponent(i++);
        labelOrigin = (Label) getComponent(i++);
        labelHASP = (Label) getComponent(i++);
        labelDest = (Label) getComponent(i++);
        textOrigin = (TextField) getComponent(i++);
        choiceHasp = (Choice) getComponent(i++);
        listDestText = (List) getComponent(i++);
        textOriginZip = (TextField) getComponent(i++);
        listDestNums = (List) getComponent(i++);
        buttonSubmit = (Button) getComponent(i++);
        buttonReset = (Button) getComponent(i++);
        listPeriods = (List) getComponent(i++);
        buttonSelectAll = (Button) getComponent(i++);
        listFYs = (List) getComponent(i++);
        buttonFYall = (Button) getComponent(i++);
        buttonExit = (Button) getComponent(i++);
        labelDestAll = (TextField) getComponent(i++);
        labelVia = (Label) getComponent(i++);
        labelViaHasp = (Label) getComponent(i++);
    }

    private void SuperCedeStart()
    {
        if (myThread == null)
        {
            myThread = new Thread( this );
            myThread.start();
        }
    }

    private void SuperCedeStop()
    {
        if (myThread != null)
        {
            myThread.stop();
            myThread = null;
        }
    }

    private void SuperCedeInit()
    {
    }

    public ParameterScreen() throws IOException, ClassNotFoundException, ClassCastException, SuperCedeInvalidStateException
    {
        super();

        parameterScreenPreInit();
        SuperCedeConstructor();
        parameterScreenPostInit();
    }

    public void SuperCedeWindowClosing(WindowEvent arg0)
    {
        if (parameterScreenWindowClosing(arg0) == false)
        {
            dispose();
        }
    }

    public void SuperCedeWindowClosed(WindowEvent arg0)
    {
        if (parameterScreenWindowClosed(arg0) == false)
        {
            System.exit(0);
        }
    }

    // SuperCede End 2.0 Form Members
}

// SuperCede Begin 2.0 Form Connectors
// Do not remove the Begin and End markers.
// The editor will rewrite the contents of this section each time the form is saved.
// Connections for ParameterScreen:
//    ParameterScreenEventConnector7: from textOrigin.keyReleased to ParameterScreen.textOriginKeyReleased
//    ParameterScreenEventConnector14: from radioWeeklyPd.itemStateChanged to ParameterScreen.radioWeeklyPdItemStateChanged
//    ParameterScreenEventConnector15: from radioAccountingPd.itemStateChanged to ParameterScreen.radioAccountingPdItemStateChanged
//    ParameterScreenEventConnector16: from radioDailyPd.itemStateChanged to ParameterScreen.radioDailyPdItemStateChanged
//    ParameterScreenEventConnector17: from buttonReset.mouseReleased to ParameterScreen.buttonResetMouseReleased
//    ParameterScreenWindowClosingConnector18: from ParameterScreen.windowClosing to ParameterScreen.SuperCedeWindowClosing
//    ParameterScreenWindowClosedConnector19: from ParameterScreen.windowClosed to ParameterScreen.SuperCedeWindowClosed
//    ParameterScreenEventConnector20: from listDestText.itemStateChanged to ParameterScreen.listDestTextItemStateChanged
//    ParameterScreenEventConnector21: from listDestNums.itemStateChanged to ParameterScreen.listDestNumsItemStateChanged
//    ParameterScreenEventConnector24: from buttonSubmit.actionPerformed to ParameterScreen.buttonSubmitActionPerformed
//    ParameterScreenEventConnector25: from buttonSelectAll.actionPerformed to ParameterScreen.buttonSelectAllActionPerformed
//    ParameterScreenEventConnector26: from buttonFYall.actionPerformed to ParameterScreen.buttonFYallActionPerformed
//    ParameterScreenEventConnector28: from textOriginZip.keyReleased to ParameterScreen.textOriginZipKeyReleased
//    ParameterScreenEventConnector29: from buttonExit.mouseReleased to ParameterScreen.buttonExitMouseReleased
//    ParameterScreenEventConnector32: from listFYs.mouseReleased to ParameterScreen.listFYsMouseReleased

final class ParameterScreenEventConnector7 extends KeyAdapter implements SuperCedeConnector, Serializable
{
    private ParameterScreen target;

    public ParameterScreenEventConnector7(ParameterScreen target)
    {
        this.target = target;
    }

    public void keyReleased(KeyEvent arg0)
    {
        target.textOriginKeyReleased(arg0);
    }
}

final class ParameterScreenEventConnector14 implements SuperCedeConnector, Serializable, java.awt.event.ItemListener
{
    private ParameterScreen target;

    public ParameterScreenEventConnector14(ParameterScreen target)
    {
        this.target = target;
    }

    public void itemStateChanged(ItemEvent arg0)
    {
        target.radioWeeklyPdItemStateChanged(arg0);
    }
}

final class ParameterScreenEventConnector15 implements SuperCedeConnector, Serializable, java.awt.event.ItemListener
{
    private ParameterScreen target;

    public ParameterScreenEventConnector15(ParameterScreen target)
    {
        this.target = target;
    }

    public void itemStateChanged(ItemEvent arg0)
    {
        target.radioAccountingPdItemStateChanged(arg0);
    }
}

final class ParameterScreenEventConnector16 implements SuperCedeConnector, Serializable, java.awt.event.ItemListener
{
    private ParameterScreen target;

    public ParameterScreenEventConnector16(ParameterScreen target)
    {
        this.target = target;
    }

    public void itemStateChanged(ItemEvent arg0)
    {
        target.radioDailyPdItemStateChanged(arg0);
    }
}

final class ParameterScreenEventConnector17 extends MouseAdapter implements SuperCedeConnector, Serializable
{
    private ParameterScreen target;

    public ParameterScreenEventConnector17(ParameterScreen target)
    {
        this.target = target;
    }

    public void mouseReleased(MouseEvent arg0)
    {
        target.buttonResetMouseReleased(arg0);
    }
}

final class ParameterScreenWindowClosingConnector18 extends WindowAdapter implements SuperCedeConnector, Serializable
{
    private ParameterScreen target;

    public ParameterScreenWindowClosingConnector18(ParameterScreen target)
    {
        this.target = target;
    }

    public void windowClosing(WindowEvent arg0)
    {
        target.SuperCedeWindowClosing(arg0);
    }
}

final class ParameterScreenWindowClosedConnector19 extends WindowAdapter implements SuperCedeConnector, Serializable
{
    private ParameterScreen target;

    public ParameterScreenWindowClosedConnector19(ParameterScreen target)
    {
        this.target = target;
    }

    public void windowClosed(WindowEvent arg0)
    {
        target.SuperCedeWindowClosed(arg0);
    }
}

final class ParameterScreenEventConnector20 implements SuperCedeConnector, Serializable, java.awt.event.ItemListener
{
    private ParameterScreen target;

    public ParameterScreenEventConnector20(ParameterScreen target)
    {
        this.target = target;
    }

    public void itemStateChanged(ItemEvent arg0)
    {
        target.listDestTextItemStateChanged(arg0);
    }
}

final class ParameterScreenEventConnector21 implements SuperCedeConnector, Serializable, java.awt.event.ItemListener
{
    private ParameterScreen target;

    public ParameterScreenEventConnector21(ParameterScreen target)
    {
        this.target = target;
    }

    public void itemStateChanged(ItemEvent arg0)
    {
        target.listDestNumsItemStateChanged(arg0);
    }
}

final class ParameterScreenEventConnector24 implements SuperCedeConnector, Serializable, java.awt.event.ActionListener
{
    private ParameterScreen target;

    public ParameterScreenEventConnector24(ParameterScreen target)
    {
        this.target = target;
    }

    public void actionPerformed(ActionEvent arg0)
    {
        target.buttonSubmitActionPerformed(arg0);
    }
}

final class ParameterScreenEventConnector25 implements SuperCedeConnector, Serializable, java.awt.event.ActionListener
{
    private ParameterScreen target;

    public ParameterScreenEventConnector25(ParameterScreen target)
    {
        this.target = target;
    }

    public void actionPerformed(ActionEvent arg0)
    {
        target.buttonSelectAllActionPerformed(arg0);
    }
}

final class ParameterScreenEventConnector26 implements SuperCedeConnector, Serializable, java.awt.event.ActionListener
{
    private ParameterScreen target;

    public ParameterScreenEventConnector26(ParameterScreen target)
    {
        this.target = target;
    }

    public void actionPerformed(ActionEvent arg0)
    {
        target.buttonFYallActionPerformed(arg0);
    }
}

final class ParameterScreenEventConnector28 extends KeyAdapter implements SuperCedeConnector, Serializable
{
    private ParameterScreen target;

    public ParameterScreenEventConnector28(ParameterScreen target)
    {
        this.target = target;
    }

    public void keyReleased(KeyEvent arg0)
    {
        target.textOriginZipKeyReleased(arg0);
    }
}

final class ParameterScreenEventConnector29 extends MouseAdapter implements SuperCedeConnector, Serializable
{
    private ParameterScreen target;

    public ParameterScreenEventConnector29(ParameterScreen target)
    {
        this.target = target;
    }

    public void mouseReleased(MouseEvent arg0)
    {
        target.buttonExitMouseReleased(arg0);
    }
}

final class ParameterScreenEventConnector32 extends MouseAdapter implements SuperCedeConnector, Serializable
{
    private ParameterScreen target;

    public ParameterScreenEventConnector32(ParameterScreen target)
    {
        this.target = target;
    }

    public void mouseReleased(MouseEvent arg0)
    {
        target.listFYsMouseReleased(arg0);
    }
}

// The following line must be the last line in the file.
// SuperCede End 2.0 Form Connectors
</pre></body></html>