package org.projectapollo.demo.Jobs.JobList.Error;
 
import apollo.*;
import apollo.Template.*;
import apollo.Storable.*;
import apollo.Job.*;
 
import org.projectapollo.demo. Storable.*;
 
import java.util.*;
import java.text.*;
 
import apollo.Session.*;
 
 
public class ErrorBroker extends PageBroker {
    Vector AS;
    AcceptClause normalEntry;
    public ErrorBroker(ManagerTracker MT,String fquid,PageBroker PB) throws TemplatePageException {
        super(MT,fquid,PB);
        MT.getPM().registerTemplatePage(FQUID,
new TemplatePage(MT,this));
 
        AS =
new Vector();
        normalEntry=
new AcceptClause("NormalEntry");
        normalEntry.addAcceptClause(AcceptClause.INT,
"JobID", AcceptClause.REQUIRED);
        AS.addElement(normalEntry);
    }
 
    public HTTPResponse render(TransactionTracker TT, HTTPRequest req, WebSession thisSession) throws ApolloException {
        EntryAssertionManager EAM =
new EntryAssertionManager(MT, AS);
        EAM.evaluate(req);
          Hashtable RT =
new Hashtable();
        Job j = MT.getJM().getJob(EAM.getInt(
"JobID"));
        if (j==null) {
            RT.put(
"Error", "No such job");
            return MT.getPM().getPage(FQUID).render(RT,thisSession);
        }
        if (j.getError()==null) {
            RT.put(
"Error", "No error supplied");
        }
else {
            RT.put(
"Error", j.getError());
        }
        RT.put(
"JobName", j.getJobName());
        RT.put(
"JobID", new Integer(j.getJobID()));
        return MT.getPM().getPage(FQUID).render(RT,thisSession);
    }
}