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

Quick Search    Search Deep

Source code: org/projectapollo/demo/Jobs/JobList/Result/ResultBroker.java


1   package org.projectapollo.demo.Jobs.JobList.Result;
2   
3   import apollo.*;
4   import apollo.Template.*;
5   import apollo.Storable.*;
6   import apollo.Job.*;
7   
8   import org.projectapollo.demo.Storable.*;
9   
10  import java.util.*;
11  import java.text.*;
12  
13  import apollo.Session.*;
14  
15  public class ResultBroker extends PageBroker {
16    Vector AS;
17    AcceptClause normalEntry;
18  
19    public ResultBroker(ManagerTracker MT,String fquid,PageBroker PB) throws TemplatePageException {
20      super(MT,fquid,PB);
21      MT.getPM().registerTemplatePage(FQUID, new TemplatePage(MT,this));
22  
23      AS = new Vector();
24      normalEntry= new AcceptClause("NormalEntry");
25      normalEntry.addAcceptClause(AcceptClause.INT, "JobID", AcceptClause.REQUIRED);
26      AS.addElement(normalEntry);
27    }
28    
29    public HTTPResponse render(TransactionTracker TT, HTTPRequest req, WebSession thisSession) throws ApolloException {
30      EntryAssertionManager EAM = new EntryAssertionManager(MT, AS);
31      EAM.evaluate(req);
32      Hashtable RT = new Hashtable();
33      Job j = MT.getJM().getJob(EAM.getInt("JobID"));
34      if (j==null) {
35        RT.put("Result", "No such job");
36        return MT.getPM().getPage(FQUID).render(RT,thisSession);
37      }
38      JobResult jr = j.getJobResult();
39      if (jr.getResultTypeID()==JobMembership.RETURN_TYPE_HTML) {
40        RT.put("Result", jr.getResult());
41        RT.put("JobName", j.getJobName());
42        RT.put("JobID", new Integer(j.getJobID()));
43        return MT.getPM().getPage(FQUID).render(RT,thisSession);      
44      } else if (jr.getResultTypeID()==JobMembership.RETURN_TYPE_TEXT) {
45        HTTPResponse res = new HTTPResponse(MT, jr.getResult());
46        res.setUseManualHeaders(true);
47        res.setManualHeaders("Content-type", "text/plain");
48        return res;
49      } else if (jr.getResultTypeID()==JobMembership.RETURN_TYPE_MS_WORD) {
50        HTTPResponse res = new HTTPResponse(MT, jr.getResult());
51        res.setUseManualHeaders(true);
52        res.setManualHeaders("Content-type", "application.vnd/msword");
53        if (jr.getFilename()!=null) { // set filename!
54          res.setManualHeaders("content-disposition", "filename=\""+jr.getFilename()+"\";attachment");
55        }
56        res.setGZIPEncoding(false);
57        return res;
58      } else if (jr.getResultTypeID()==JobMembership.RETURN_TYPE_MS_EXCEL) {
59        HTTPResponse res = new HTTPResponse(MT, jr.getResult());
60        res.setUseManualHeaders(true);
61        res.setManualHeaders("Content-type", "application.vnd/msexcel");
62        if (jr.getFilename()!=null) { // set filename!
63          res.setManualHeaders("content-disposition", "filename=\""+jr.getFilename()+"\";attachment");
64        }
65        res.setGZIPEncoding(false);
66        return res;
67      } else if (jr.getResultTypeID()==JobMembership.RETURN_TYPE_FQUID) {
68        String s = jr.getResult();
69        if (s==null) {
70          s="";
71        }
72        RT.put("Result", "Result was an FQUID return to: "+s);
73        RT.put("JobName", j.getJobName());
74        RT.put("JobID", new Integer(j.getJobID()));
75        return MT.getPM().getPage(FQUID).render(RT,thisSession);
76      } else if (jr.getResultTypeID()==JobMembership.RETURN_TYPE_NONE) {
77        RT.put("Result", "There was no return value");
78        RT.put("JobName", j.getJobName());
79        RT.put("JobID", new Integer(j.getJobID()));
80        return MT.getPM().getPage(FQUID).render(RT,thisSession);      
81      } else {
82        RT.put("Result", "Unknown job type!"+Integer.toString(jr.getResultTypeID()));
83        return MT.getPM().getPage(FQUID).render(RT,thisSession);      
84      }
85    }
86  }