private void extractField(String[] array, int line)
    {
        try
        {
            Integer obj = null;

            // get the job number
            int id = 0;
            if (JOB_NUM == IRRELEVANT) {
                id = gridletID_;
            }
            else
            {
                obj = new Integer( array[JOB_NUM].trim() );
                id = obj.intValue();
            }

            // get the submit time
            Long l = new Long( array[SUBMIT_TIME].trim() );
            long submitTime = l.intValue();

            // get the run time
            obj = new Integer( array[REQ_RUN_TIME].trim() );
            int runTime = obj.intValue();

            // if the required run time field is ignored, then use
            // the actual run time
            if (runTime == IRRELEVANT)
            {
                obj = new Integer( array[RUN_TIME].trim() );
                runTime = obj.intValue();
            }

            // according to the SWF manual, runtime of 0 is possible due
            // to rounding down. E.g. runtime is 0.4 seconds -> runtime = 0
            if (runTime == 0) {
                runTime = 1;    // change to 1 second
            }

            // get the number of allocated processors
            obj = new Integer( array[REQ_NUM_PROC].trim() );
            int numProc = obj.intValue();

            // if the required num of allocated processors field is ignored
            // or zero, then use the actual field
            if (numProc == IRRELEVANT || numProc == 0)
            {
                obj = new Integer( array[NUM_PROC].trim() );
                numProc = obj.intValue();
            }

            // finally, check if the num of PEs required is valid or not
            if (numProc <= 0)
            {
                System.out.println(super.get_name() + ": Warning - job #"
                        + id + " at line " + line + " requires " + numProc
                        + " CPU. Change to 1 CPU.");
                numProc = 1;
            }

            // submit a Gridlet
            submitGridlet(id, submitTime, runTime, numProc);
        }
        catch (Exception e)
        {
            System.out.println(super.get_name() +
                    ": Exception in reading file at line #" + line + 
                    ", exception: " + e.getMessage());
        }
    }