Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/projectapollo/demo/Jobs/RandomNumbersJob.java


1   /*
2    * RandomNumbersJob.java
3    *
4    */
5   
6   package org.projectapollo.demo.Jobs;
7   
8   import apollo.Job.*;
9   import apollo.Template.*;
10  import apollo.*;
11  
12  import java.util.*;
13  
14  import org.projectapollo.demo.Storable.*;
15  
16  /**
17   *
18   * @author  kislo
19   * @version 
20   */
21  public class RandomNumbersJob implements Job {
22  
23  
24      /** Creates new DemoJob */
25      private double percentage;
26      private int jobID;
27      private String jobName;
28      private String error;
29      private JobResult jobResult;
30      private int status;
31      private ManagerTracker MT;
32    private Date startDate;
33    private User user;
34    private int returnFormat;
35    private int pauseTime;
36    private String extendedStatus;
37    private boolean foregroundOperation;
38    private boolean crash;
39  
40      public RandomNumbersJob(ManagerTracker MT, String jobName, User user, int returnFormat, int pauseTime, boolean crash) {
41      this.MT=MT;
42          this.jobName=jobName;
43      this.user=user;
44          this.percentage=0.0;
45      this.returnFormat=returnFormat;
46      this.pauseTime=pauseTime;
47      this.crash=crash;
48          status=JobManager.JOB_UNINITIALIZED;
49      }
50  
51    private void crash() throws UserException{
52      Vector a = null;
53      try {
54        a.addElement("Uh-oh, Nullpointer exception!");
55      } catch (Exception e) {
56        throw new UserException("Oh my goodness, we crashed!",e);
57      }
58    }
59  
60      public JobResult execute() throws Exception {
61  
62      //Attach this job to a UserID for tracking
63          JobMembership jm = new JobMembership(user.getUserID(), new Integer(jobID));
64      jm.insert(MT);
65  
66      status=JobManager.JOB_RUNNING;
67      extendedStatus="Initalizing";
68  
69      Vector randomNumbers = new Vector();
70          for (int i=0;i<25;i++) {
71        extendedStatus="Calculating Random Number "+Integer.toString(i);
72        if (i>10 && crash) {
73          crash();
74        }
75              percentage=percentage+.04;
76              randomNumbers.addElement(new Integer((int)(Math.random()*1000)));
77        Thread.sleep(pauseTime);
78          }
79  
80          jobResult = new JobResult();
81      
82      TemplatePage mainPage;
83      TemplatePage row;
84  
85      if (returnFormat==JobMembership.RETURN_TYPE_MS_WORD) {
86        mainPage = MT.getPM().getPage("Jobs.RandomNumbers.doc");
87        row = MT.getPM().getPage("Jobs.RandomNumbers_Row.doc");
88        jobResult.setFilename("randomnumbers.doc");
89        jobResult.setResultTypeID(JobMembership.RETURN_TYPE_MS_WORD);
90      } else if (returnFormat==JobMembership.RETURN_TYPE_MS_EXCEL) {
91        row= MT.getPM().getPage("Jobs.RandomNumbers_Row.xls");
92        mainPage= MT.getPM().getPage("Jobs.RandomNumbers.xls");
93        jobResult.setFilename("randomnumbers.xls");
94        jobResult.setResultTypeID(JobMembership.RETURN_TYPE_MS_EXCEL);
95      } else if (returnFormat==JobMembership.RETURN_TYPE_HTML) {
96        row=MT.getPM().getPage("Jobs.RandomNumbers_Row.html");
97        mainPage= MT.getPM().getPage("Jobs.RandomNumbers.html");
98        jobResult.setResultTypeID(JobMembership.RETURN_TYPE_HTML);
99      } else {
100       row=MT.getPM().getPage("Jobs.RandomNumbers_Row.txt");
101       mainPage=MT.getPM().getPage("Jobs.RandomNumbers.txt");
102       jobResult.setResultTypeID(JobMembership.RETURN_TYPE_TEXT);
103     }
104 
105 
106     StringBuffer sb = new StringBuffer();
107     Hashtable RT = new Hashtable();
108     int i=0;
109     for (Enumeration e = randomNumbers.elements();e.hasMoreElements();) {
110       i++;
111       RT.put("RandomNumber", e.nextElement());
112       RT.put("Count", new Integer(i));
113       sb.append(row.toString(RT, null));
114     }
115     RT=new Hashtable();
116     RT.put("RandomRows", sb);
117     jobResult.setResult(mainPage.toString(RT, null));
118 
119         status=JobManager.JOB_FINISHED;
120         return jobResult;
121     }
122     
123     public double getPercentage() {
124         return percentage;
125     }
126     
127     public int getStatusID() {
128         return status;
129     }
130     
131   public void setStatusID(int statusID) {
132     this.status=statusID;
133   }
134     public JobResult getJobResult() {
135         return jobResult;
136     }
137     
138     public void setJobID(int jobID) {
139         this.jobID=jobID;
140     }
141     
142     public int getJobID() {
143         return jobID;
144     }
145     
146     public String getJobName() {
147         return jobName;
148     }
149     
150     public String getError() {
151         return error;
152     }
153   public void setError(String error) {
154     this.error=error;
155   }
156   public Date getStartDate() {
157     return startDate;
158   }
159 
160   public String getExtendedStatus() {
161     return extendedStatus;
162   }
163 
164   public void setStartDate(Date startDate) {
165     this.startDate=startDate;
166   }
167 }