public FinishedJobRecord(String str) {
        StringTokenizer st = new StringTokenizer(str, ":");

        int tokNumber = 0;
        while (st.hasMoreElements()) {
            tokNumber++;

            String val = st.nextToken();

            // We only get what we need, fields which are not used by
            // pipeline will not be initialized.
            switch (tokNumber) {
                case 1:
                    qname = val;
                    break;
                case 6:
                    job_number = val;
                    break;
                case 36:
                    task_number = Integer.parseInt(val);
                    break;
                case 10:
                    start_time = Long.parseLong(val) * 1000;
                    break;
                case 11:
                    end_time = Long.parseLong(val) * 1000;
                    break;
                case 13:
                    exit_status = Integer.parseInt(val);
                    break;
                case 15:
                    ru_utime = val;
                    break;
                case 16:
                    ru_stime = val;
                    break;
            }
        }
    }